summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.in494
-rw-r--r--src/config.h.in44
-rw-r--r--src/contrib/Makefile.inc1
-rw-r--r--src/contrib/asan.h13
-rw-r--r--src/contrib/atomic.h73
-rw-r--r--src/contrib/files.c23
-rw-r--r--src/contrib/files.h9
-rw-r--r--src/contrib/json.c7
-rw-r--r--src/contrib/json.h7
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c2
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.h5
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c302
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.h11
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c8
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c20
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.h10
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.c17
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.h29
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c199
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.h46
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_macro.h2
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c168
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.h59
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c4
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.h9
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c47
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.h65
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c3
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_range.c2
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_range.h2
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c15
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.h18
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.c18
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.h8
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.h1
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c29
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.h38
-rw-r--r--src/contrib/libngtcp2/ngtcp2/version.h4
-rw-r--r--src/contrib/mempattern.c10
-rw-r--r--src/contrib/spinlock.h80
-rw-r--r--src/contrib/string.c20
-rw-r--r--src/contrib/string.h4
-rw-r--r--src/contrib/time.h5
-rw-r--r--src/knot/Makefile.inc12
-rw-r--r--src/knot/catalog/catalog_db.c4
-rw-r--r--src/knot/catalog/catalog_update.c4
-rw-r--r--src/knot/catalog/interpret.c4
-rw-r--r--src/knot/common/dbus.c243
-rw-r--r--src/knot/common/dbus.h86
-rw-r--r--src/knot/common/fdset.c9
-rw-r--r--src/knot/common/fdset.h13
-rw-r--r--src/knot/common/stats.c356
-rw-r--r--src/knot/common/stats.h61
-rw-r--r--src/knot/common/systemd.c98
-rw-r--r--src/knot/common/systemd.h66
-rw-r--r--src/knot/conf/base.c19
-rw-r--r--src/knot/conf/base.h3
-rw-r--r--src/knot/conf/conf.c15
-rw-r--r--src/knot/conf/conf.h17
-rw-r--r--src/knot/conf/schema.c37
-rw-r--r--src/knot/conf/schema.h26
-rw-r--r--src/knot/conf/tools.c93
-rw-r--r--src/knot/ctl/commands.c556
-rw-r--r--src/knot/ctl/commands.h4
-rw-r--r--src/knot/ctl/process.c17
-rw-r--r--src/knot/ctl/process.h12
-rw-r--r--src/knot/dnssec/context.c17
-rw-r--r--src/knot/dnssec/context.h16
-rw-r--r--src/knot/dnssec/ds_query.c4
-rw-r--r--src/knot/dnssec/kasp/kasp_zone.c22
-rw-r--r--src/knot/dnssec/kasp/kasp_zone.h4
-rw-r--r--src/knot/dnssec/key-events.c10
-rw-r--r--src/knot/dnssec/key_records.c23
-rw-r--r--src/knot/dnssec/key_records.h6
-rw-r--r--src/knot/dnssec/nsec-chain.c21
-rw-r--r--src/knot/dnssec/rrset-sign.c17
-rw-r--r--src/knot/dnssec/rrset-sign.h6
-rw-r--r--src/knot/dnssec/zone-events.c95
-rw-r--r--src/knot/dnssec/zone-events.h25
-rw-r--r--src/knot/dnssec/zone-sign.c98
-rw-r--r--src/knot/dnssec/zone-sign.h14
-rw-r--r--src/knot/events/events.c3
-rw-r--r--src/knot/events/events.h3
-rw-r--r--src/knot/events/handlers.h4
-rw-r--r--src/knot/events/handlers/dnskey_sync.c4
-rw-r--r--src/knot/events/handlers/ds_push.c6
-rw-r--r--src/knot/events/handlers/load.c7
-rw-r--r--src/knot/events/handlers/notify.c4
-rw-r--r--src/knot/events/handlers/refresh.c66
-rw-r--r--src/knot/events/handlers/update.c86
-rw-r--r--src/knot/events/handlers/validate.c34
-rw-r--r--src/knot/events/replan.c5
-rw-r--r--src/knot/include/module.h55
-rw-r--r--src/knot/modules/authsignal/authsignal.rst6
-rw-r--r--src/knot/modules/cookies/cookies.c19
-rw-r--r--src/knot/modules/dnsproxy/dnsproxy.c52
-rw-r--r--src/knot/modules/probe/probe.c13
-rw-r--r--src/knot/modules/rrl/Makefile.inc9
-rw-r--r--src/knot/modules/rrl/functions.c589
-rw-r--r--src/knot/modules/rrl/functions.h88
-rw-r--r--src/knot/modules/rrl/kru-avx2.c66
-rw-r--r--src/knot/modules/rrl/kru-generic.c20
-rw-r--r--src/knot/modules/rrl/kru.h90
-rw-r--r--src/knot/modules/rrl/kru.inc.c615
-rw-r--r--src/knot/modules/rrl/rrl.c243
-rw-r--r--src/knot/modules/rrl/rrl.rst169
-rw-r--r--src/knot/modules/stats/stats.c14
-rw-r--r--src/knot/modules/stats/stats.rst2
-rw-r--r--src/knot/nameserver/axfr.c6
-rw-r--r--src/knot/nameserver/axfr.h6
-rw-r--r--src/knot/nameserver/internet.c50
-rw-r--r--src/knot/nameserver/internet.h17
-rw-r--r--src/knot/nameserver/ixfr.c10
-rw-r--r--src/knot/nameserver/ixfr.h8
-rw-r--r--src/knot/nameserver/log.h2
-rw-r--r--src/knot/nameserver/notify.c6
-rw-r--r--src/knot/nameserver/notify.h7
-rw-r--r--src/knot/nameserver/nsec_proofs.c6
-rw-r--r--src/knot/nameserver/process_query.c83
-rw-r--r--src/knot/nameserver/process_query.h13
-rw-r--r--src/knot/nameserver/query_module.c50
-rw-r--r--src/knot/nameserver/query_module.h31
-rw-r--r--src/knot/nameserver/update.c35
-rw-r--r--src/knot/nameserver/update.h6
-rw-r--r--src/knot/nameserver/xfr.h6
-rw-r--r--src/knot/query/quic-requestor.c13
-rw-r--r--src/knot/query/quic-requestor.h8
-rw-r--r--src/knot/query/requestor.c62
-rw-r--r--src/knot/query/requestor.h38
-rw-r--r--src/knot/query/tls-requestor.c59
-rw-r--r--src/knot/query/tls-requestor.h51
-rw-r--r--src/knot/server/handler.c13
-rw-r--r--src/knot/server/handler.h35
-rw-r--r--src/knot/server/quic-handler.c11
-rw-r--r--src/knot/server/server.c220
-rw-r--r--src/knot/server/server.h17
-rw-r--r--src/knot/server/tcp-handler.c115
-rw-r--r--src/knot/server/udp-handler.c25
-rw-r--r--src/knot/server/xdp-handler.c61
-rw-r--r--src/knot/updates/acl.c29
-rw-r--r--src/knot/updates/acl.h33
-rw-r--r--src/knot/updates/ddns.c181
-rw-r--r--src/knot/updates/ddns.h14
-rw-r--r--src/knot/updates/zone-update.c26
-rw-r--r--src/knot/updates/zone-update.h2
-rw-r--r--src/knot/zone/backup.c10
-rw-r--r--src/knot/zone/backup.h6
-rw-r--r--src/knot/zone/backup_dir.c42
-rw-r--r--src/knot/zone/contents.c10
-rw-r--r--src/knot/zone/contents.h4
-rw-r--r--src/knot/zone/digest.c6
-rw-r--r--src/knot/zone/semantic-check.c10
-rw-r--r--src/knot/zone/semantic-check.h3
-rw-r--r--src/knot/zone/zone-load.c7
-rw-r--r--src/knot/zone/zone-load.h4
-rw-r--r--src/knot/zone/zone-tree.c4
-rw-r--r--src/knot/zone/zone.c10
-rw-r--r--src/knot/zone/zone.h6
-rw-r--r--src/knot/zone/zonedb-load.c10
-rw-r--r--src/knot/zone/zonedb.c4
-rw-r--r--src/knot/zone/zonefile.c21
-rw-r--r--src/knot/zone/zonefile.h8
-rw-r--r--src/libdnssec/Makefile.inc3
-rw-r--r--src/libdnssec/key/algorithm.c12
-rw-r--r--src/libdnssec/key/convert.c22
-rw-r--r--src/libdnssec/pem.c21
-rw-r--r--src/libdnssec/sample_keys.h498
-rw-r--r--src/libdnssec/sign/sign.c41
-rw-r--r--src/libdnssec/version.h4
-rwxr-xr-xsrc/libknot/Makefile.inc4
-rw-r--r--src/libknot/attribute.h14
-rw-r--r--src/libknot/codes.c6
-rw-r--r--src/libknot/consts.h7
-rw-r--r--src/libknot/control/control.c23
-rw-r--r--src/libknot/control/control.h24
-rw-r--r--src/libknot/descriptor.c4
-rw-r--r--src/libknot/descriptor.h4
-rw-r--r--src/libknot/dname.c36
-rw-r--r--src/libknot/dname.h9
-rw-r--r--src/libknot/errcode.h6
-rw-r--r--src/libknot/error.c6
-rw-r--r--src/libknot/packet/pkt.h1
-rw-r--r--src/libknot/packet/rrset-wire.c45
-rw-r--r--src/libknot/packet/rrset-wire.h6
-rw-r--r--src/libknot/packet/wire.h21
-rw-r--r--src/libknot/quic/quic.c343
-rw-r--r--src/libknot/quic/quic.h59
-rw-r--r--src/libknot/quic/quic_conn.c35
-rw-r--r--src/libknot/quic/quic_conn.h20
-rw-r--r--src/libknot/quic/tls.c262
-rw-r--r--src/libknot/quic/tls.h135
-rw-r--r--src/libknot/quic/tls_common.c472
-rw-r--r--src/libknot/quic/tls_common.h134
-rw-r--r--src/libknot/rrset-dump.c147
-rw-r--r--src/libknot/rrtype/tsig.c6
-rw-r--r--src/libknot/version.h4
-rw-r--r--src/libknot/xdp/Makefile.in5
-rw-r--r--src/libknot/xdp/bpf-user.c6
-rw-r--r--src/libknot/xdp/bpf-user.h12
-rw-r--r--src/libknot/xdp/tcp.c263
-rw-r--r--src/libknot/xdp/tcp.h13
-rw-r--r--src/libknot/xdp/xdp.c253
-rw-r--r--src/libknot/xdp/xdp.h58
-rw-r--r--src/libknot/yparser/ypschema.h2
-rw-r--r--src/libknot/yparser/yptrafo.c60
-rw-r--r--src/libzscanner/scanner.c.g264385
-rw-r--r--src/libzscanner/scanner.c.t011131
-rw-r--r--src/libzscanner/scanner_body.rl28
-rw-r--r--src/libzscanner/version.h4
-rw-r--r--src/utils/Makefile.inc8
-rw-r--r--src/utils/common/msg.h16
-rw-r--r--src/utils/common/netio.c7
-rw-r--r--src/utils/common/params.c2
-rw-r--r--src/utils/common/params.h13
-rw-r--r--src/utils/common/quic.h4
-rw-r--r--src/utils/common/tls.c7
-rw-r--r--src/utils/kcatalogprint/main.c14
-rw-r--r--src/utils/kdig/kdig_params.c13
-rw-r--r--src/utils/keymgr/bind_privkey.c8
-rw-r--r--src/utils/keymgr/keystore.c395
-rw-r--r--src/utils/keymgr/keystore.h24
-rw-r--r--src/utils/keymgr/main.c49
-rw-r--r--src/utils/keymgr/offline_ksk.c33
-rw-r--r--src/utils/khost/khost_params.c10
-rw-r--r--src/utils/kjournalprint/main.c17
-rw-r--r--src/utils/knotc/commands.c9
-rw-r--r--src/utils/knotc/main.c6
-rw-r--r--src/utils/knotd/main.c256
-rw-r--r--src/utils/knsec3hash/knsec3hash.c12
-rw-r--r--src/utils/knsupdate/knsupdate_exec.c12
-rw-r--r--src/utils/knsupdate/knsupdate_params.c160
-rw-r--r--src/utils/knsupdate/knsupdate_params.h8
-rw-r--r--src/utils/kxdpgun/load_queries.c241
-rw-r--r--src/utils/kxdpgun/load_queries.h14
-rw-r--r--src/utils/kxdpgun/main.c594
-rw-r--r--src/utils/kxdpgun/main.h87
-rw-r--r--src/utils/kxdpgun/stats.c292
-rw-r--r--src/utils/kxdpgun/stats.h78
-rw-r--r--src/utils/kzonecheck/main.c10
-rw-r--r--src/utils/kzonecheck/zone_check.c4
-rw-r--r--src/utils/kzonecheck/zone_check.h2
-rw-r--r--src/utils/kzonesign/main.c10
242 files changed, 47825 insertions, 41100 deletions
diff --git a/src/Makefile.in b/src/Makefile.in
index 0018a7d..8630517 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -160,28 +160,29 @@ host_triplet = @host@
@STATIC_MODULE_queryacl_TRUE@am__append_41 = $(knot_modules_queryacl_la_SOURCES)
@SHARED_MODULE_queryacl_TRUE@am__append_42 = knot/modules/queryacl.la
@STATIC_MODULE_rrl_TRUE@am__append_43 = $(knot_modules_rrl_la_SOURCES)
-@SHARED_MODULE_rrl_TRUE@am__append_44 = knot/modules/rrl.la
-@STATIC_MODULE_stats_TRUE@am__append_45 = $(knot_modules_stats_la_SOURCES)
-@SHARED_MODULE_stats_TRUE@am__append_46 = knot/modules/stats.la
-@STATIC_MODULE_synthrecord_TRUE@am__append_47 = $(knot_modules_synthrecord_la_SOURCES)
-@SHARED_MODULE_synthrecord_TRUE@am__append_48 = knot/modules/synthrecord.la
-@STATIC_MODULE_whoami_TRUE@am__append_49 = $(knot_modules_whoami_la_SOURCES)
-@SHARED_MODULE_whoami_TRUE@am__append_50 = knot/modules/whoami.la
+@STATIC_MODULE_rrl_TRUE@am__append_44 = $(math_LIBS)
+@SHARED_MODULE_rrl_TRUE@am__append_45 = knot/modules/rrl.la
+@STATIC_MODULE_stats_TRUE@am__append_46 = $(knot_modules_stats_la_SOURCES)
+@SHARED_MODULE_stats_TRUE@am__append_47 = knot/modules/stats.la
+@STATIC_MODULE_synthrecord_TRUE@am__append_48 = $(knot_modules_synthrecord_la_SOURCES)
+@SHARED_MODULE_synthrecord_TRUE@am__append_49 = knot/modules/synthrecord.la
+@STATIC_MODULE_whoami_TRUE@am__append_50 = $(knot_modules_whoami_la_SOURCES)
+@SHARED_MODULE_whoami_TRUE@am__append_51 = knot/modules/whoami.la
bin_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2)
sbin_PROGRAMS = $(am__EXEEXT_3) $(am__EXEEXT_4) $(am__EXEEXT_5)
-@HAVE_LIBUTILS_TRUE@am__append_51 = libknotus.la
-@EMBEDDED_LIBNGTCP2_TRUE@@HAVE_LIBUTILS_TRUE@am__append_52 = $(libembngtcp2_LIBS)
-@HAVE_UTILS_TRUE@am__append_53 = kdig khost knsec3hash knsupdate
-@HAVE_DNSTAP_TRUE@@HAVE_UTILS_TRUE@am__append_54 = $(DNSTAP_CFLAGS)
-@HAVE_DNSTAP_TRUE@@HAVE_UTILS_TRUE@am__append_55 = $(libdnstap_LIBS)
-@HAVE_DNSTAP_TRUE@@HAVE_UTILS_TRUE@am__append_56 = $(DNSTAP_CFLAGS)
-@HAVE_DNSTAP_TRUE@@HAVE_UTILS_TRUE@am__append_57 = $(libdnstap_LIBS)
-@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@am__append_58 = kxdpgun
-@ENABLE_QUIC_TRUE@@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@am__append_59 = $(gnutls_CFLAGS)
-@ENABLE_QUIC_TRUE@@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@am__append_60 = $(gnutls_LIBS)
-@HAVE_DAEMON_TRUE@am__append_61 = knotc knotd
-@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@am__append_62 = kzonecheck kzonesign
-@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@am__append_63 = keymgr kjournalprint kcatalogprint
+@HAVE_LIBUTILS_TRUE@am__append_52 = libknotus.la
+@EMBEDDED_LIBNGTCP2_TRUE@@HAVE_LIBUTILS_TRUE@am__append_53 = $(libembngtcp2_LIBS)
+@HAVE_UTILS_TRUE@am__append_54 = kdig khost knsec3hash knsupdate
+@HAVE_DNSTAP_TRUE@@HAVE_UTILS_TRUE@am__append_55 = $(DNSTAP_CFLAGS)
+@HAVE_DNSTAP_TRUE@@HAVE_UTILS_TRUE@am__append_56 = $(libdnstap_LIBS)
+@HAVE_DNSTAP_TRUE@@HAVE_UTILS_TRUE@am__append_57 = $(DNSTAP_CFLAGS)
+@HAVE_DNSTAP_TRUE@@HAVE_UTILS_TRUE@am__append_58 = $(libdnstap_LIBS)
+@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@am__append_59 = kxdpgun
+@ENABLE_QUIC_TRUE@@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@am__append_60 = $(gnutls_CFLAGS)
+@ENABLE_QUIC_TRUE@@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@am__append_61 = $(gnutls_LIBS)
+@HAVE_DAEMON_TRUE@am__append_62 = knotc knotd
+@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@am__append_63 = kzonecheck kzonesign
+@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@am__append_64 = keymgr kjournalprint kcatalogprint
subdir = src
SUBDIRS =
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -198,7 +199,8 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(include_libdnssec_HEADERS) \
$(include_libknotd_HEADERS) $(include_libzscanner_HEADERS) \
- $(am__nobase_include_libknot_HEADERS_DIST) $(am__DIST_COMMON)
+ $(am__nobase_include_libknot_HEADERS_DIST) $(noinst_HEADERS) \
+ $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = knotd.pc libknot.pc libdnssec.pc libzscanner.pc
@@ -359,9 +361,12 @@ knot_modules_queryacl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
@SHARED_MODULE_queryacl_TRUE@am_knot_modules_queryacl_la_rpath = \
@SHARED_MODULE_queryacl_TRUE@ -rpath $(pkglibdir)
@SHARED_MODULE_rrl_TRUE@knot_modules_rrl_la_DEPENDENCIES = \
-@SHARED_MODULE_rrl_TRUE@ $(am__DEPENDENCIES_3)
+@SHARED_MODULE_rrl_TRUE@ $(am__DEPENDENCIES_3) \
+@SHARED_MODULE_rrl_TRUE@ $(am__DEPENDENCIES_1)
am_knot_modules_rrl_la_OBJECTS = knot/modules/rrl/la-rrl.lo \
- knot/modules/rrl/la-functions.lo
+ knot/modules/rrl/la-functions.lo \
+ knot/modules/rrl/la-kru-generic.lo \
+ knot/modules/rrl/la-kru-avx2.lo
knot_modules_rrl_la_OBJECTS = $(am_knot_modules_rrl_la_OBJECTS)
knot_modules_rrl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
@@ -627,17 +632,19 @@ am__libknot_la_SOURCES_DIST = libknot/codes.c \
libknot/descriptor.c libknot/dname.c libknot/error.c \
libknot/db/db_lmdb.c libknot/db/db_trie.c libknot/packet/pkt.c \
libknot/packet/rrset-wire.c libknot/probe/data.c \
- libknot/probe/probe.c libknot/rdataset.c libknot/rrset-dump.c \
- libknot/rrset.c libknot/rrtype/naptr.c libknot/rrtype/opt.c \
- libknot/rrtype/tsig.c libknot/tsig-op.c libknot/tsig.c \
- libknot/yparser/yparser.c libknot/yparser/ypbody.c \
- libknot/yparser/ypformat.c libknot/yparser/ypschema.c \
- libknot/yparser/yptrafo.c libknot/xdp/tcp_iobuf.c \
- libknot/xdp/bpf-kernel-obj.c libknot/xdp/bpf-kernel-obj.h \
- libknot/xdp/bpf-user.c libknot/xdp/bpf-user.h \
- libknot/xdp/eth.c libknot/xdp/msg_init.h \
- libknot/xdp/protocols.h libknot/xdp/tcp.c libknot/xdp/xdp.c \
- libknot/quic/quic.c libknot/quic/quic_conn.c
+ libknot/probe/probe.c libknot/quic/tls.c \
+ libknot/quic/tls_common.c libknot/rdataset.c \
+ libknot/rrset-dump.c libknot/rrset.c libknot/rrtype/naptr.c \
+ libknot/rrtype/opt.c libknot/rrtype/tsig.c libknot/tsig-op.c \
+ libknot/tsig.c libknot/yparser/yparser.c \
+ libknot/yparser/ypbody.c libknot/yparser/ypformat.c \
+ libknot/yparser/ypschema.c libknot/yparser/yptrafo.c \
+ libknot/xdp/tcp_iobuf.c libknot/xdp/bpf-kernel-obj.c \
+ libknot/xdp/bpf-kernel-obj.h libknot/xdp/bpf-user.c \
+ libknot/xdp/bpf-user.h libknot/xdp/eth.c \
+ libknot/xdp/msg_init.h libknot/xdp/protocols.h \
+ libknot/xdp/tcp.c libknot/xdp/xdp.c libknot/quic/quic.c \
+ libknot/quic/quic_conn.c
@ENABLE_XDP_TRUE@am__objects_1 = libknot/xdp/la-bpf-kernel-obj.lo \
@ENABLE_XDP_TRUE@ libknot/xdp/la-bpf-user.lo \
@ENABLE_XDP_TRUE@ libknot/xdp/la-eth.lo libknot/xdp/la-tcp.lo \
@@ -650,7 +657,8 @@ am_libknot_la_OBJECTS = libknot/la-codes.lo \
libknot/la-error.lo libknot/db/la-db_lmdb.lo \
libknot/db/la-db_trie.lo libknot/packet/la-pkt.lo \
libknot/packet/la-rrset-wire.lo libknot/probe/la-data.lo \
- libknot/probe/la-probe.lo libknot/la-rdataset.lo \
+ libknot/probe/la-probe.lo libknot/quic/la-tls.lo \
+ libknot/quic/la-tls_common.lo libknot/la-rdataset.lo \
libknot/la-rrset-dump.lo libknot/la-rrset.lo \
libknot/rrtype/la-naptr.lo libknot/rrtype/la-opt.lo \
libknot/rrtype/la-tsig.lo libknot/la-tsig-op.lo \
@@ -665,10 +673,11 @@ libknot_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
@STATIC_MODULE_dnstap_TRUE@am__DEPENDENCIES_10 = \
@STATIC_MODULE_dnstap_TRUE@ $(am__DEPENDENCIES_4)
@STATIC_MODULE_geoip_TRUE@am__DEPENDENCIES_11 = $(am__DEPENDENCIES_1)
+@STATIC_MODULE_rrl_TRUE@am__DEPENDENCIES_12 = $(am__DEPENDENCIES_1)
libknotd_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_7) $(am__DEPENDENCIES_10) \
- $(am__DEPENDENCIES_11)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_7) \
+ $(am__DEPENDENCIES_10) $(am__DEPENDENCIES_11) \
+ $(am__DEPENDENCIES_12)
am__libknotd_la_SOURCES_DIST = knot/catalog/catalog_db.c \
knot/catalog/catalog_db.h knot/catalog/catalog_update.c \
knot/catalog/catalog_update.h knot/catalog/generate.c \
@@ -705,15 +714,15 @@ am__libknotd_la_SOURCES_DIST = knot/catalog/catalog_db.c \
knot/events/handlers/flush.c \
knot/events/handlers/freeze_thaw.c knot/events/handlers/load.c \
knot/events/handlers/notify.c knot/events/handlers/refresh.c \
- knot/events/handlers/update.c knot/events/replan.c \
- knot/events/replan.h knot/nameserver/axfr.c \
- knot/nameserver/axfr.h knot/nameserver/chaos.c \
- knot/nameserver/chaos.h knot/nameserver/internet.c \
- knot/nameserver/internet.h knot/nameserver/ixfr.c \
- knot/nameserver/ixfr.h knot/nameserver/log.h \
- knot/nameserver/notify.c knot/nameserver/notify.h \
- knot/nameserver/nsec_proofs.c knot/nameserver/nsec_proofs.h \
- knot/nameserver/process_query.c \
+ knot/events/handlers/update.c knot/events/handlers/validate.c \
+ knot/events/replan.c knot/events/replan.h \
+ knot/nameserver/axfr.c knot/nameserver/axfr.h \
+ knot/nameserver/chaos.c knot/nameserver/chaos.h \
+ knot/nameserver/internet.c knot/nameserver/internet.h \
+ knot/nameserver/ixfr.c knot/nameserver/ixfr.h \
+ knot/nameserver/log.h knot/nameserver/notify.c \
+ knot/nameserver/notify.h knot/nameserver/nsec_proofs.c \
+ knot/nameserver/nsec_proofs.h knot/nameserver/process_query.c \
knot/nameserver/process_query.h knot/nameserver/query_module.c \
knot/nameserver/query_module.h knot/nameserver/tsig_ctx.c \
knot/nameserver/tsig_ctx.h knot/nameserver/update.c \
@@ -721,14 +730,15 @@ am__libknotd_la_SOURCES_DIST = knot/catalog/catalog_db.c \
knot/nameserver/xfr.h knot/query/capture.c \
knot/query/capture.h knot/query/layer.h knot/query/query.c \
knot/query/query.h knot/query/requestor.c \
- knot/query/requestor.h knot/common/evsched.c \
- knot/common/evsched.h knot/common/fdset.c knot/common/fdset.h \
- knot/common/log.c knot/common/log.h knot/common/process.c \
- knot/common/process.h knot/common/stats.c knot/common/stats.h \
- knot/common/systemd.c knot/common/systemd.h \
- knot/common/unreachable.c knot/common/unreachable.h \
- knot/journal/journal_basic.c knot/journal/journal_basic.h \
- knot/journal/journal_metadata.c \
+ knot/query/requestor.h knot/query/tls-requestor.c \
+ knot/query/tls-requestor.h knot/common/dbus.c \
+ knot/common/dbus.h knot/common/evsched.c knot/common/evsched.h \
+ knot/common/fdset.c knot/common/fdset.h knot/common/log.c \
+ knot/common/log.h knot/common/process.c knot/common/process.h \
+ knot/common/stats.c knot/common/stats.h knot/common/systemd.c \
+ knot/common/systemd.h knot/common/unreachable.c \
+ knot/common/unreachable.h knot/journal/journal_basic.c \
+ knot/journal/journal_basic.h knot/journal/journal_metadata.c \
knot/journal/journal_metadata.h knot/journal/journal_read.c \
knot/journal/journal_read.h knot/journal/journal_write.c \
knot/journal/journal_write.h knot/journal/knot_lmdb.c \
@@ -774,7 +784,8 @@ am__libknotd_la_SOURCES_DIST = knot/catalog/catalog_db.c \
knot/modules/onlinesign/nsec_next.h knot/modules/probe/probe.c \
knot/modules/queryacl/queryacl.c knot/modules/rrl/rrl.c \
knot/modules/rrl/functions.c knot/modules/rrl/functions.h \
- knot/modules/stats/stats.c \
+ knot/modules/rrl/kru-generic.c knot/modules/rrl/kru-avx2.c \
+ knot/modules/rrl/kru.h knot/modules/stats/stats.c \
knot/modules/synthrecord/synthrecord.c \
knot/modules/whoami/whoami.c
@ENABLE_QUIC_TRUE@am__objects_3 = \
@@ -801,7 +812,9 @@ am__objects_18 = knot/modules/probe/libknotd_la-probe.lo
am__objects_20 = knot/modules/queryacl/libknotd_la-queryacl.lo
@STATIC_MODULE_queryacl_TRUE@am__objects_21 = $(am__objects_20)
am__objects_22 = knot/modules/rrl/libknotd_la-rrl.lo \
- knot/modules/rrl/libknotd_la-functions.lo
+ knot/modules/rrl/libknotd_la-functions.lo \
+ knot/modules/rrl/libknotd_la-kru-generic.lo \
+ knot/modules/rrl/libknotd_la-kru-avx2.lo
@STATIC_MODULE_rrl_TRUE@am__objects_23 = $(am__objects_22)
am__objects_24 = knot/modules/stats/libknotd_la-stats.lo
@STATIC_MODULE_stats_TRUE@am__objects_25 = $(am__objects_24)
@@ -850,6 +863,7 @@ am_libknotd_la_OBJECTS = knot/catalog/libknotd_la-catalog_db.lo \
knot/events/handlers/libknotd_la-notify.lo \
knot/events/handlers/libknotd_la-refresh.lo \
knot/events/handlers/libknotd_la-update.lo \
+ knot/events/handlers/libknotd_la-validate.lo \
knot/events/libknotd_la-replan.lo \
knot/nameserver/libknotd_la-axfr.lo \
knot/nameserver/libknotd_la-chaos.lo \
@@ -865,6 +879,8 @@ am_libknotd_la_OBJECTS = knot/catalog/libknotd_la-catalog_db.lo \
knot/query/libknotd_la-capture.lo \
knot/query/libknotd_la-query.lo \
knot/query/libknotd_la-requestor.lo \
+ knot/query/libknotd_la-tls-requestor.lo \
+ knot/common/libknotd_la-dbus.lo \
knot/common/libknotd_la-evsched.lo \
knot/common/libknotd_la-fdset.lo \
knot/common/libknotd_la-log.lo \
@@ -921,12 +937,11 @@ libknotd_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libknotd_la_LDFLAGS) $(LDFLAGS) -o $@
@HAVE_DAEMON_TRUE@am_libknotd_la_rpath =
-@EMBEDDED_LIBNGTCP2_TRUE@@HAVE_LIBUTILS_TRUE@am__DEPENDENCIES_12 = $(am__DEPENDENCIES_6)
+@EMBEDDED_LIBNGTCP2_TRUE@@HAVE_LIBUTILS_TRUE@am__DEPENDENCIES_13 = $(am__DEPENDENCIES_6)
@HAVE_LIBUTILS_TRUE@libknotus_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
@HAVE_LIBUTILS_TRUE@ $(am__DEPENDENCIES_1) \
@HAVE_LIBUTILS_TRUE@ $(am__DEPENDENCIES_1) \
-@HAVE_LIBUTILS_TRUE@ $(am__DEPENDENCIES_1) \
-@HAVE_LIBUTILS_TRUE@ $(am__DEPENDENCIES_12)
+@HAVE_LIBUTILS_TRUE@ $(am__DEPENDENCIES_13)
am__libknotus_la_SOURCES_DIST = utils/common/exec.c \
utils/common/exec.h utils/common/hex.c utils/common/hex.h \
utils/common/https.c utils/common/https.h \
@@ -972,17 +987,17 @@ libzscanner_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
am__kcatalogprint_SOURCES_DIST = utils/kcatalogprint/main.c
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@am_kcatalogprint_OBJECTS = utils/kcatalogprint/kcatalogprint-main.$(OBJEXT)
kcatalogprint_OBJECTS = $(am_kcatalogprint_OBJECTS)
-am__DEPENDENCIES_13 = libknotd.la libknot.la libdnssec.la \
+am__DEPENDENCIES_14 = libknotd.la libknot.la libdnssec.la \
libzscanner.la $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1)
-@HAVE_LIBUTILS_TRUE@am__DEPENDENCIES_14 = libknotus.la libknot.la \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+@HAVE_LIBUTILS_TRUE@am__DEPENDENCIES_15 = libknotus.la libknot.la \
@HAVE_LIBUTILS_TRUE@ libdnssec.la $(am__DEPENDENCIES_3) \
@HAVE_LIBUTILS_TRUE@ $(am__DEPENDENCIES_1) \
@HAVE_LIBUTILS_TRUE@ $(am__DEPENDENCIES_1)
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@kcatalogprint_DEPENDENCIES = \
-@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_13) \
-@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_14)
+@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_14) \
+@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_15)
kcatalogprint_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(kcatalogprint_LDFLAGS) $(LDFLAGS) -o $@
@@ -994,22 +1009,24 @@ am__kdig_SOURCES_DIST = utils/kdig/kdig_exec.c utils/kdig/kdig_exec.h \
@HAVE_UTILS_TRUE@ utils/kdig/kdig-kdig_main.$(OBJEXT) \
@HAVE_UTILS_TRUE@ utils/kdig/kdig-kdig_params.$(OBJEXT)
kdig_OBJECTS = $(am_kdig_OBJECTS)
-@HAVE_DNSTAP_TRUE@@HAVE_UTILS_TRUE@am__DEPENDENCIES_15 = \
+@HAVE_DNSTAP_TRUE@@HAVE_UTILS_TRUE@am__DEPENDENCIES_16 = \
@HAVE_DNSTAP_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_4)
-@HAVE_UTILS_TRUE@kdig_DEPENDENCIES = $(am__DEPENDENCIES_14) \
-@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_15)
+@HAVE_UTILS_TRUE@kdig_DEPENDENCIES = $(am__DEPENDENCIES_15) \
+@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_16)
am__keymgr_SOURCES_DIST = utils/keymgr/bind_privkey.c \
utils/keymgr/bind_privkey.h utils/keymgr/functions.c \
- utils/keymgr/functions.h utils/keymgr/offline_ksk.c \
+ utils/keymgr/functions.h utils/keymgr/keystore.c \
+ utils/keymgr/keystore.h utils/keymgr/offline_ksk.c \
utils/keymgr/offline_ksk.h utils/keymgr/main.c
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@am_keymgr_OBJECTS = utils/keymgr/keymgr-bind_privkey.$(OBJEXT) \
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ utils/keymgr/keymgr-functions.$(OBJEXT) \
+@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ utils/keymgr/keymgr-keystore.$(OBJEXT) \
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ utils/keymgr/keymgr-offline_ksk.$(OBJEXT) \
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ utils/keymgr/keymgr-main.$(OBJEXT)
keymgr_OBJECTS = $(am_keymgr_OBJECTS)
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@keymgr_DEPENDENCIES = \
-@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_13) \
-@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_14)
+@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_14) \
+@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_15)
keymgr_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(keymgr_LDFLAGS) $(LDFLAGS) -o $@
@@ -1023,14 +1040,14 @@ am__khost_SOURCES_DIST = utils/kdig/kdig_exec.c utils/kdig/kdig_exec.h \
@HAVE_UTILS_TRUE@ utils/khost/khost-khost_main.$(OBJEXT) \
@HAVE_UTILS_TRUE@ utils/khost/khost-khost_params.$(OBJEXT)
khost_OBJECTS = $(am_khost_OBJECTS)
-@HAVE_UTILS_TRUE@khost_DEPENDENCIES = $(am__DEPENDENCIES_14) \
-@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_15)
+@HAVE_UTILS_TRUE@khost_DEPENDENCIES = $(am__DEPENDENCIES_15) \
+@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_16)
am__kjournalprint_SOURCES_DIST = utils/kjournalprint/main.c
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@am_kjournalprint_OBJECTS = utils/kjournalprint/kjournalprint-main.$(OBJEXT)
kjournalprint_OBJECTS = $(am_kjournalprint_OBJECTS)
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@kjournalprint_DEPENDENCIES = \
-@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_13) \
-@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_14)
+@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_14) \
+@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_15)
kjournalprint_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(kjournalprint_LDFLAGS) $(LDFLAGS) -o $@
@@ -1043,8 +1060,8 @@ am__knotc_SOURCES_DIST = utils/knotc/commands.c utils/knotc/commands.h \
@HAVE_DAEMON_TRUE@ utils/knotc/knotc-process.$(OBJEXT) \
@HAVE_DAEMON_TRUE@ utils/knotc/knotc-main.$(OBJEXT)
knotc_OBJECTS = $(am_knotc_OBJECTS)
-@HAVE_DAEMON_TRUE@knotc_DEPENDENCIES = $(am__DEPENDENCIES_13) \
-@HAVE_DAEMON_TRUE@ $(am__DEPENDENCIES_14)
+@HAVE_DAEMON_TRUE@knotc_DEPENDENCIES = $(am__DEPENDENCIES_14) \
+@HAVE_DAEMON_TRUE@ $(am__DEPENDENCIES_15)
knotc_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(knotc_LDFLAGS) $(LDFLAGS) -o $@
@@ -1052,7 +1069,7 @@ am__knotd_SOURCES_DIST = utils/knotd/main.c
@HAVE_DAEMON_TRUE@am_knotd_OBJECTS = utils/knotd/knotd-main.$(OBJEXT)
knotd_OBJECTS = $(am_knotd_OBJECTS)
@HAVE_DAEMON_TRUE@knotd_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-@HAVE_DAEMON_TRUE@ $(am__DEPENDENCIES_13) $(am__DEPENDENCIES_1)
+@HAVE_DAEMON_TRUE@ $(am__DEPENDENCIES_14) $(am__DEPENDENCIES_1)
knotd_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(knotd_LDFLAGS) $(LDFLAGS) -o $@
@@ -1073,28 +1090,31 @@ am__knsupdate_SOURCES_DIST = utils/knsupdate/knsupdate_exec.c \
@HAVE_UTILS_TRUE@ utils/knsupdate/knsupdate-knsupdate_main.$(OBJEXT) \
@HAVE_UTILS_TRUE@ utils/knsupdate/knsupdate-knsupdate_params.$(OBJEXT)
knsupdate_OBJECTS = $(am_knsupdate_OBJECTS)
-@HAVE_UTILS_TRUE@knsupdate_DEPENDENCIES = $(am__DEPENDENCIES_14) \
+@HAVE_UTILS_TRUE@knsupdate_DEPENDENCIES = $(am__DEPENDENCIES_15) \
@HAVE_UTILS_TRUE@ libzscanner.la
am__kxdpgun_SOURCES_DIST = utils/kxdpgun/ip_route.c \
utils/kxdpgun/ip_route.h utils/kxdpgun/load_queries.c \
- utils/kxdpgun/load_queries.h utils/kxdpgun/main.c
+ utils/kxdpgun/load_queries.h utils/kxdpgun/main.c \
+ utils/kxdpgun/main.h utils/kxdpgun/stats.c \
+ utils/kxdpgun/stats.h
@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@am_kxdpgun_OBJECTS = utils/kxdpgun/kxdpgun-ip_route.$(OBJEXT) \
@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ utils/kxdpgun/kxdpgun-load_queries.$(OBJEXT) \
-@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ utils/kxdpgun/kxdpgun-main.$(OBJEXT)
+@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ utils/kxdpgun/kxdpgun-main.$(OBJEXT) \
+@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ utils/kxdpgun/kxdpgun-stats.$(OBJEXT)
kxdpgun_OBJECTS = $(am_kxdpgun_OBJECTS)
-@ENABLE_QUIC_TRUE@@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@am__DEPENDENCIES_16 = $(am__DEPENDENCIES_1)
+@ENABLE_QUIC_TRUE@@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@am__DEPENDENCIES_17 = $(am__DEPENDENCIES_1)
@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@kxdpgun_DEPENDENCIES = libknot.la \
@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_3) \
@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_1) \
@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_1) \
-@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_16)
+@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_17)
am__kzonecheck_SOURCES_DIST = utils/kzonecheck/main.c \
utils/kzonecheck/zone_check.c utils/kzonecheck/zone_check.h
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@am_kzonecheck_OBJECTS = utils/kzonecheck/kzonecheck-main.$(OBJEXT) \
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ utils/kzonecheck/kzonecheck-zone_check.$(OBJEXT)
kzonecheck_OBJECTS = $(am_kzonecheck_OBJECTS)
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@kzonecheck_DEPENDENCIES = \
-@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_13)
+@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_14)
kzonecheck_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(kzonecheck_LDFLAGS) $(LDFLAGS) -o $@
@@ -1102,8 +1122,8 @@ am__kzonesign_SOURCES_DIST = utils/kzonesign/main.c
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@am_kzonesign_OBJECTS = utils/kzonesign/kzonesign-main.$(OBJEXT)
kzonesign_OBJECTS = $(am_kzonesign_OBJECTS)
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@kzonesign_DEPENDENCIES = \
-@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_13) \
-@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_14)
+@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_14) \
+@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ $(am__DEPENDENCIES_15)
kzonesign_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(kzonesign_LDFLAGS) $(LDFLAGS) -o $@
@@ -1198,6 +1218,7 @@ am__depfiles_remade = contrib/$(DEPDIR)/libcontrib_la-base32hex.Plo \
knot/catalog/$(DEPDIR)/libknotd_la-catalog_update.Plo \
knot/catalog/$(DEPDIR)/libknotd_la-generate.Plo \
knot/catalog/$(DEPDIR)/libknotd_la-interpret.Plo \
+ knot/common/$(DEPDIR)/libknotd_la-dbus.Plo \
knot/common/$(DEPDIR)/libknotd_la-evsched.Plo \
knot/common/$(DEPDIR)/libknotd_la-fdset.Plo \
knot/common/$(DEPDIR)/libknotd_la-log.Plo \
@@ -1245,6 +1266,7 @@ am__depfiles_remade = contrib/$(DEPDIR)/libcontrib_la-base32hex.Plo \
knot/events/handlers/$(DEPDIR)/libknotd_la-notify.Plo \
knot/events/handlers/$(DEPDIR)/libknotd_la-refresh.Plo \
knot/events/handlers/$(DEPDIR)/libknotd_la-update.Plo \
+ knot/events/handlers/$(DEPDIR)/libknotd_la-validate.Plo \
knot/journal/$(DEPDIR)/libknotd_la-journal_basic.Plo \
knot/journal/$(DEPDIR)/libknotd_la-journal_metadata.Plo \
knot/journal/$(DEPDIR)/libknotd_la-journal_read.Plo \
@@ -1274,8 +1296,12 @@ am__depfiles_remade = contrib/$(DEPDIR)/libcontrib_la-base32hex.Plo \
knot/modules/queryacl/$(DEPDIR)/la-queryacl.Plo \
knot/modules/queryacl/$(DEPDIR)/libknotd_la-queryacl.Plo \
knot/modules/rrl/$(DEPDIR)/la-functions.Plo \
+ knot/modules/rrl/$(DEPDIR)/la-kru-avx2.Plo \
+ knot/modules/rrl/$(DEPDIR)/la-kru-generic.Plo \
knot/modules/rrl/$(DEPDIR)/la-rrl.Plo \
knot/modules/rrl/$(DEPDIR)/libknotd_la-functions.Plo \
+ knot/modules/rrl/$(DEPDIR)/libknotd_la-kru-avx2.Plo \
+ knot/modules/rrl/$(DEPDIR)/libknotd_la-kru-generic.Plo \
knot/modules/rrl/$(DEPDIR)/libknotd_la-rrl.Plo \
knot/modules/stats/$(DEPDIR)/la-stats.Plo \
knot/modules/stats/$(DEPDIR)/libknotd_la-stats.Plo \
@@ -1298,6 +1324,7 @@ am__depfiles_remade = contrib/$(DEPDIR)/libcontrib_la-base32hex.Plo \
knot/query/$(DEPDIR)/libknotd_la-query.Plo \
knot/query/$(DEPDIR)/libknotd_la-quic-requestor.Plo \
knot/query/$(DEPDIR)/libknotd_la-requestor.Plo \
+ knot/query/$(DEPDIR)/libknotd_la-tls-requestor.Plo \
knot/server/$(DEPDIR)/libknotd_la-dthreads.Plo \
knot/server/$(DEPDIR)/libknotd_la-handler.Plo \
knot/server/$(DEPDIR)/libknotd_la-proxyv2.Plo \
@@ -1378,6 +1405,8 @@ am__depfiles_remade = contrib/$(DEPDIR)/libcontrib_la-base32hex.Plo \
libknot/probe/$(DEPDIR)/la-probe.Plo \
libknot/quic/$(DEPDIR)/la-quic.Plo \
libknot/quic/$(DEPDIR)/la-quic_conn.Plo \
+ libknot/quic/$(DEPDIR)/la-tls.Plo \
+ libknot/quic/$(DEPDIR)/la-tls_common.Plo \
libknot/rrtype/$(DEPDIR)/la-naptr.Plo \
libknot/rrtype/$(DEPDIR)/la-opt.Plo \
libknot/rrtype/$(DEPDIR)/la-tsig.Plo \
@@ -1417,6 +1446,7 @@ am__depfiles_remade = contrib/$(DEPDIR)/libcontrib_la-base32hex.Plo \
utils/kdig/$(DEPDIR)/khost-kdig_params.Po \
utils/keymgr/$(DEPDIR)/keymgr-bind_privkey.Po \
utils/keymgr/$(DEPDIR)/keymgr-functions.Po \
+ utils/keymgr/$(DEPDIR)/keymgr-keystore.Po \
utils/keymgr/$(DEPDIR)/keymgr-main.Po \
utils/keymgr/$(DEPDIR)/keymgr-offline_ksk.Po \
utils/khost/$(DEPDIR)/khost-khost_main.Po \
@@ -1435,6 +1465,7 @@ am__depfiles_remade = contrib/$(DEPDIR)/libcontrib_la-base32hex.Plo \
utils/kxdpgun/$(DEPDIR)/kxdpgun-ip_route.Po \
utils/kxdpgun/$(DEPDIR)/kxdpgun-load_queries.Po \
utils/kxdpgun/$(DEPDIR)/kxdpgun-main.Po \
+ utils/kxdpgun/$(DEPDIR)/kxdpgun-stats.Po \
utils/kzonecheck/$(DEPDIR)/kzonecheck-main.Po \
utils/kzonecheck/$(DEPDIR)/kzonecheck-zone_check.Po \
utils/kzonesign/$(DEPDIR)/kzonesign-main.Po
@@ -1525,7 +1556,8 @@ am__nobase_include_libknot_HEADERS_DIST = libknot/attribute.h \
libknot/db/db_trie.h libknot/packet/compr.h \
libknot/packet/pkt.h libknot/packet/rrset-wire.h \
libknot/packet/wire.h libknot/probe/data.h \
- libknot/probe/probe.h libknot/rdata.h libknot/rdataset.h \
+ libknot/probe/probe.h libknot/quic/tls.h \
+ libknot/quic/tls_common.h libknot/rdata.h libknot/rdataset.h \
libknot/rrset-dump.h libknot/rrset.h libknot/rrtype/dnskey.h \
libknot/rrtype/ds.h libknot/rrtype/naptr.h \
libknot/rrtype/nsec.h libknot/rrtype/nsec3.h \
@@ -1542,7 +1574,7 @@ am__nobase_include_libknot_HEADERS_DIST = libknot/attribute.h \
libknot/quic/quic_conn.h
HEADERS = $(include_libdnssec_HEADERS) $(include_libknotd_HEADERS) \
$(include_libzscanner_HEADERS) \
- $(nobase_include_libknot_HEADERS)
+ $(nobase_include_libknot_HEADERS) $(noinst_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
@@ -1748,6 +1780,8 @@ infodir = @infodir@
install_sh = @install_sh@
libbpf_CFLAGS = @libbpf_CFLAGS@
libbpf_LIBS = @libbpf_LIBS@
+libdbus_CFLAGS = @libdbus_CFLAGS@
+libdbus_LIBS = @libdbus_LIBS@
libdir = @libdir@
libdnssec_SONAME = @libdnssec_SONAME@
libdnssec_SOVERSION = @libdnssec_SOVERSION@
@@ -1759,8 +1793,6 @@ libfstrm_CFLAGS = @libfstrm_CFLAGS@
libfstrm_LIBS = @libfstrm_LIBS@
libidn2_CFLAGS = @libidn2_CFLAGS@
libidn2_LIBS = @libidn2_LIBS@
-libidn_CFLAGS = @libidn_CFLAGS@
-libidn_LIBS = @libidn_LIBS@
libknot_SONAME = @libknot_SONAME@
libknot_SOVERSION = @libknot_SOVERSION@
libknot_VERSION_INFO = @libknot_VERSION_INFO@
@@ -1778,7 +1810,6 @@ libprotobuf_c_CFLAGS = @libprotobuf_c_CFLAGS@
libprotobuf_c_LIBS = @libprotobuf_c_LIBS@
liburcu_CFLAGS = @liburcu_CFLAGS@
liburcu_LIBS = @liburcu_LIBS@
-liburcu_PKGCONFIG = @liburcu_PKGCONFIG@
libxdp_CFLAGS = @libxdp_CFLAGS@
libxdp_LIBS = @libxdp_LIBS@
libzscanner_SONAME = @libzscanner_SONAME@
@@ -1828,9 +1859,9 @@ EXTRA_DIST = contrib/licenses/0BSD contrib/licenses/BSD-3-Clause \
contrib/musl/LICENSE contrib/libngtcp2/LICENSE \
contrib/openbsd/LICENSE contrib/ucw/LICENSE \
contrib/url-parser/LICENSE contrib/url-parser/README.md \
- contrib/dnstap/dnstap.proto libzscanner/scanner.rl \
- libzscanner/scanner_body.rl libzscanner/scanner.c.g2 \
- libzscanner/scanner.c.t0 \
+ contrib/dnstap/dnstap.proto libdnssec/sample_keys.h \
+ libzscanner/scanner.rl libzscanner/scanner_body.rl \
+ libzscanner/scanner.c.g2 libzscanner/scanner.c.t0 \
knot/modules/authsignal/authsignal.rst \
knot/modules/cookies/cookies.rst \
knot/modules/dnsproxy/dnsproxy.rst \
@@ -1846,7 +1877,7 @@ CLEANFILES = $(am__append_5) libzscanner/scanner.c
BUILT_SOURCES = $(am__append_4) libzscanner/scanner.c
lib_LTLIBRARIES = libdnssec.la libknot.la libzscanner.la
noinst_LTLIBRARIES = libcontrib.la $(am__append_3) $(am__append_6) \
- $(am__append_19) $(am__append_51)
+ $(am__append_19) $(am__append_52)
pkgconfig_DATA = libdnssec.pc libknot.pc libzscanner.pc \
$(am__append_20)
libcontrib_la_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAG_VISIBILITY) \
@@ -1856,6 +1887,7 @@ libcontrib_la_LIBADD = $(pthread_LIBS)
libcontrib_LIBS = libcontrib.la $(am__append_2)
libcontrib_la_SOURCES = \
contrib/asan.h \
+ contrib/atomic.h \
contrib/base32hex.c \
contrib/base32hex.h \
contrib/base64.c \
@@ -2118,25 +2150,26 @@ nobase_include_libknot_HEADERS = libknot/attribute.h libknot/codes.h \
libknot/db/db.h libknot/db/db_lmdb.h libknot/db/db_trie.h \
libknot/packet/compr.h libknot/packet/pkt.h \
libknot/packet/rrset-wire.h libknot/packet/wire.h \
- libknot/probe/data.h libknot/probe/probe.h libknot/rdata.h \
- libknot/rdataset.h libknot/rrset-dump.h libknot/rrset.h \
- libknot/rrtype/dnskey.h libknot/rrtype/ds.h \
- libknot/rrtype/naptr.h libknot/rrtype/nsec.h \
- libknot/rrtype/nsec3.h libknot/rrtype/nsec3param.h \
- libknot/rrtype/opt.h libknot/rrtype/rdname.h \
- libknot/rrtype/rrsig.h libknot/rrtype/soa.h \
- libknot/rrtype/svcb.h libknot/rrtype/tsig.h \
- libknot/rrtype/zonemd.h libknot/tsig-op.h libknot/tsig.h \
- libknot/wire.h libknot/yparser/yparser.h \
- libknot/yparser/ypformat.h libknot/yparser/ypschema.h \
- libknot/yparser/yptrafo.h libknot/version.h \
- libknot/xdp/tcp_iobuf.h libknot/xdp.h $(am__append_11) \
- $(am__append_15)
+ libknot/probe/data.h libknot/probe/probe.h libknot/quic/tls.h \
+ libknot/quic/tls_common.h libknot/rdata.h libknot/rdataset.h \
+ libknot/rrset-dump.h libknot/rrset.h libknot/rrtype/dnskey.h \
+ libknot/rrtype/ds.h libknot/rrtype/naptr.h \
+ libknot/rrtype/nsec.h libknot/rrtype/nsec3.h \
+ libknot/rrtype/nsec3param.h libknot/rrtype/opt.h \
+ libknot/rrtype/rdname.h libknot/rrtype/rrsig.h \
+ libknot/rrtype/soa.h libknot/rrtype/svcb.h \
+ libknot/rrtype/tsig.h libknot/rrtype/zonemd.h \
+ libknot/tsig-op.h libknot/tsig.h libknot/wire.h \
+ libknot/yparser/yparser.h libknot/yparser/ypformat.h \
+ libknot/yparser/ypschema.h libknot/yparser/yptrafo.h \
+ libknot/version.h libknot/xdp/tcp_iobuf.h libknot/xdp.h \
+ $(am__append_11) $(am__append_15)
libknot_la_SOURCES = libknot/codes.c libknot/control/control.c \
libknot/cookies.c libknot/descriptor.c libknot/dname.c \
libknot/error.c libknot/db/db_lmdb.c libknot/db/db_trie.c \
libknot/packet/pkt.c libknot/packet/rrset-wire.c \
- libknot/probe/data.c libknot/probe/probe.c libknot/rdataset.c \
+ libknot/probe/data.c libknot/probe/probe.c libknot/quic/tls.c \
+ libknot/quic/tls_common.c libknot/rdataset.c \
libknot/rrset-dump.c libknot/rrset.c libknot/rrtype/naptr.c \
libknot/rrtype/opt.c libknot/rrtype/tsig.c libknot/tsig-op.c \
libknot/tsig.c libknot/yparser/yparser.c \
@@ -2166,15 +2199,15 @@ nodist_libzscanner_la_SOURCES = \
libknotd_la_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAG_VISIBILITY) \
$(libkqueue_CFLAGS) $(liburcu_CFLAGS) $(lmdb_CFLAGS) \
- $(systemd_CFLAGS) $(gnutls_CFLAGS) $(libngtcp2_CFLAGS) \
+ $(systemd_CFLAGS) $(libdbus_CFLAGS) $(gnutls_CFLAGS) \
-DKNOTD_MOD_STATIC $(am__append_28) $(am__append_32)
libknotd_la_LDFLAGS = $(AM_LDFLAGS) -export-symbols-regex '^knotd_'
libknotd_la_LIBADD = $(dlopen_LIBS) $(libkqueue_LIBS) $(pthread_LIBS) \
- $(libngtcp2_LIBS) $(am__append_17) $(am__append_29) \
- $(am__append_33)
+ $(am__append_17) $(am__append_29) $(am__append_33) \
+ $(am__append_44)
libknotd_LIBS = libknotd.la libknot.la libdnssec.la libzscanner.la \
$(libcontrib_LIBS) $(liburcu_LIBS) $(lmdb_LIBS) \
- $(systemd_LIBS) $(gnutls_LIBS)
+ $(systemd_LIBS) $(libdbus_LIBS) $(gnutls_LIBS)
include_libknotddir = $(includedir)/knot
include_libknotd_HEADERS = \
@@ -2216,15 +2249,15 @@ libknotd_la_SOURCES = knot/catalog/catalog_db.c \
knot/events/handlers/flush.c \
knot/events/handlers/freeze_thaw.c knot/events/handlers/load.c \
knot/events/handlers/notify.c knot/events/handlers/refresh.c \
- knot/events/handlers/update.c knot/events/replan.c \
- knot/events/replan.h knot/nameserver/axfr.c \
- knot/nameserver/axfr.h knot/nameserver/chaos.c \
- knot/nameserver/chaos.h knot/nameserver/internet.c \
- knot/nameserver/internet.h knot/nameserver/ixfr.c \
- knot/nameserver/ixfr.h knot/nameserver/log.h \
- knot/nameserver/notify.c knot/nameserver/notify.h \
- knot/nameserver/nsec_proofs.c knot/nameserver/nsec_proofs.h \
- knot/nameserver/process_query.c \
+ knot/events/handlers/update.c knot/events/handlers/validate.c \
+ knot/events/replan.c knot/events/replan.h \
+ knot/nameserver/axfr.c knot/nameserver/axfr.h \
+ knot/nameserver/chaos.c knot/nameserver/chaos.h \
+ knot/nameserver/internet.c knot/nameserver/internet.h \
+ knot/nameserver/ixfr.c knot/nameserver/ixfr.h \
+ knot/nameserver/log.h knot/nameserver/notify.c \
+ knot/nameserver/notify.h knot/nameserver/nsec_proofs.c \
+ knot/nameserver/nsec_proofs.h knot/nameserver/process_query.c \
knot/nameserver/process_query.h knot/nameserver/query_module.c \
knot/nameserver/query_module.h knot/nameserver/tsig_ctx.c \
knot/nameserver/tsig_ctx.h knot/nameserver/update.c \
@@ -2232,14 +2265,15 @@ libknotd_la_SOURCES = knot/catalog/catalog_db.c \
knot/nameserver/xfr.h knot/query/capture.c \
knot/query/capture.h knot/query/layer.h knot/query/query.c \
knot/query/query.h knot/query/requestor.c \
- knot/query/requestor.h knot/common/evsched.c \
- knot/common/evsched.h knot/common/fdset.c knot/common/fdset.h \
- knot/common/log.c knot/common/log.h knot/common/process.c \
- knot/common/process.h knot/common/stats.c knot/common/stats.h \
- knot/common/systemd.c knot/common/systemd.h \
- knot/common/unreachable.c knot/common/unreachable.h \
- knot/journal/journal_basic.c knot/journal/journal_basic.h \
- knot/journal/journal_metadata.c \
+ knot/query/requestor.h knot/query/tls-requestor.c \
+ knot/query/tls-requestor.h knot/common/dbus.c \
+ knot/common/dbus.h knot/common/evsched.c knot/common/evsched.h \
+ knot/common/fdset.c knot/common/fdset.h knot/common/log.c \
+ knot/common/log.h knot/common/process.c knot/common/process.h \
+ knot/common/stats.c knot/common/stats.h knot/common/systemd.c \
+ knot/common/systemd.h knot/common/unreachable.c \
+ knot/common/unreachable.h knot/journal/journal_basic.c \
+ knot/journal/journal_basic.h knot/journal/journal_metadata.c \
knot/journal/journal_metadata.h knot/journal/journal_read.c \
knot/journal/journal_read.h knot/journal/journal_write.c \
knot/journal/journal_write.h knot/journal/knot_lmdb.c \
@@ -2276,15 +2310,15 @@ libknotd_la_SOURCES = knot/catalog/catalog_db.c \
$(am__append_21) $(am__append_23) $(am__append_25) \
$(am__append_27) $(am__append_31) $(am__append_35) \
$(am__append_37) $(am__append_39) $(am__append_41) \
- $(am__append_43) $(am__append_45) $(am__append_47) \
- $(am__append_49)
+ $(am__append_43) $(am__append_46) $(am__append_48) \
+ $(am__append_50)
KNOTD_MOD_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAG_VISIBILITY)
KNOTD_MOD_LDFLAGS = $(AM_LDFLAGS) -module -shared -avoid-version
pkglib_LTLIBRARIES = $(am__append_22) $(am__append_24) \
$(am__append_26) $(am__append_30) $(am__append_34) \
$(am__append_36) $(am__append_38) $(am__append_40) \
- $(am__append_42) $(am__append_44) $(am__append_46) \
- $(am__append_48) $(am__append_50)
+ $(am__append_42) $(am__append_45) $(am__append_47) \
+ $(am__append_49) $(am__append_51)
knot_modules_authsignal_la_SOURCES = knot/modules/authsignal/authsignal.c
@SHARED_MODULE_authsignal_TRUE@knot_modules_authsignal_la_LDFLAGS = $(KNOTD_MOD_LDFLAGS)
@SHARED_MODULE_authsignal_TRUE@knot_modules_authsignal_la_CPPFLAGS = $(KNOTD_MOD_CPPFLAGS)
@@ -2325,11 +2359,15 @@ knot_modules_queryacl_la_SOURCES = knot/modules/queryacl/queryacl.c
@SHARED_MODULE_queryacl_TRUE@knot_modules_queryacl_la_CPPFLAGS = $(KNOTD_MOD_CPPFLAGS)
knot_modules_rrl_la_SOURCES = knot/modules/rrl/rrl.c \
knot/modules/rrl/functions.c \
- knot/modules/rrl/functions.h
+ knot/modules/rrl/functions.h \
+ knot/modules/rrl/kru-generic.c \
+ knot/modules/rrl/kru-avx2.c \
+ knot/modules/rrl/kru.h
+noinst_HEADERS = knot/modules/rrl/kru.inc.c
@SHARED_MODULE_rrl_TRUE@knot_modules_rrl_la_LDFLAGS = $(KNOTD_MOD_LDFLAGS)
@SHARED_MODULE_rrl_TRUE@knot_modules_rrl_la_CPPFLAGS = $(KNOTD_MOD_CPPFLAGS)
-@SHARED_MODULE_rrl_TRUE@knot_modules_rrl_la_LIBADD = $(libcontrib_LIBS)
+@SHARED_MODULE_rrl_TRUE@knot_modules_rrl_la_LIBADD = $(libcontrib_LIBS) $(math_LIBS)
knot_modules_stats_la_SOURCES = knot/modules/stats/stats.c
@SHARED_MODULE_stats_TRUE@knot_modules_stats_la_LDFLAGS = $(KNOTD_MOD_LDFLAGS)
@SHARED_MODULE_stats_TRUE@knot_modules_stats_la_CPPFLAGS = $(KNOTD_MOD_CPPFLAGS)
@@ -2350,7 +2388,7 @@ knot_modules_whoami_la_SOURCES = knot/modules/whoami/whoami.c
@HAVE_LIBUTILS_TRUE@libknotus_la_LDFLAGS = $(AM_LDFLAGS) $(LDFLAG_EXCLUDE_LIBS)
@HAVE_LIBUTILS_TRUE@libknotus_la_LIBADD = $(libidn2_LIBS) \
@HAVE_LIBUTILS_TRUE@ $(libidn_LIBS) $(libnghttp2_LIBS) \
-@HAVE_LIBUTILS_TRUE@ $(libngtcp2_LIBS) $(am__append_52)
+@HAVE_LIBUTILS_TRUE@ $(libngtcp2_LIBS) $(am__append_53)
@HAVE_LIBUTILS_TRUE@libknotus_LIBS = libknotus.la libknot.la libdnssec.la $(libcontrib_LIBS) \
@HAVE_LIBUTILS_TRUE@ $(gnutls_LIBS) $(libedit_LIBS)
@@ -2413,11 +2451,11 @@ knot_modules_whoami_la_SOURCES = knot/modules/whoami/whoami.c
@HAVE_UTILS_TRUE@ utils/knsupdate/knsupdate_params.h
@HAVE_UTILS_TRUE@kdig_CPPFLAGS = $(libknotus_la_CPPFLAGS) \
-@HAVE_UTILS_TRUE@ $(am__append_54)
-@HAVE_UTILS_TRUE@kdig_LDADD = $(libknotus_LIBS) $(am__append_55)
+@HAVE_UTILS_TRUE@ $(am__append_55)
+@HAVE_UTILS_TRUE@kdig_LDADD = $(libknotus_LIBS) $(am__append_56)
@HAVE_UTILS_TRUE@khost_CPPFLAGS = $(libknotus_la_CPPFLAGS) \
-@HAVE_UTILS_TRUE@ $(am__append_56)
-@HAVE_UTILS_TRUE@khost_LDADD = $(libknotus_LIBS) $(am__append_57)
+@HAVE_UTILS_TRUE@ $(am__append_57)
+@HAVE_UTILS_TRUE@khost_LDADD = $(libknotus_LIBS) $(am__append_58)
@HAVE_UTILS_TRUE@knsec3hash_CPPFLAGS = $(libknotus_la_CPPFLAGS)
@HAVE_UTILS_TRUE@knsec3hash_LDADD = libknot.la libdnssec.la $(libcontrib_LIBS)
@HAVE_UTILS_TRUE@knsupdate_CPPFLAGS = $(libknotus_la_CPPFLAGS)
@@ -2427,17 +2465,20 @@ knot_modules_whoami_la_SOURCES = knot/modules/whoami/whoami.c
@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ utils/kxdpgun/ip_route.h \
@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ utils/kxdpgun/load_queries.c \
@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ utils/kxdpgun/load_queries.h \
-@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ utils/kxdpgun/main.c
+@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ utils/kxdpgun/main.c \
+@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ utils/kxdpgun/main.h \
+@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ utils/kxdpgun/stats.c \
+@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ utils/kxdpgun/stats.h
@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@kxdpgun_CPPFLAGS = \
@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ $(libknotus_la_CPPFLAGS) \
@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ $(libmnl_CFLAGS) \
-@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ $(am__append_59)
+@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ $(am__append_60)
@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@kxdpgun_LDADD = libknot.la \
@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ $(libcontrib_LIBS) \
@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ $(libmnl_LIBS) \
@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ $(pthread_LIBS) \
-@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ $(am__append_60)
+@ENABLE_XDP_TRUE@@HAVE_UTILS_TRUE@ $(am__append_61)
@HAVE_DAEMON_TRUE@knotc_SOURCES = \
@HAVE_DAEMON_TRUE@ utils/knotc/commands.c \
@HAVE_DAEMON_TRUE@ utils/knotc/commands.h \
@@ -2469,6 +2510,8 @@ knot_modules_whoami_la_SOURCES = knot/modules/whoami/whoami.c
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ utils/keymgr/bind_privkey.h \
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ utils/keymgr/functions.c \
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ utils/keymgr/functions.h \
+@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ utils/keymgr/keystore.c \
+@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ utils/keymgr/keystore.h \
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ utils/keymgr/offline_ksk.c \
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ utils/keymgr/offline_ksk.h \
@HAVE_DAEMON_TRUE@@HAVE_UTILS_TRUE@ utils/keymgr/main.c
@@ -2885,6 +2928,10 @@ knot/modules/rrl/la-rrl.lo: knot/modules/rrl/$(am__dirstamp) \
knot/modules/rrl/$(DEPDIR)/$(am__dirstamp)
knot/modules/rrl/la-functions.lo: knot/modules/rrl/$(am__dirstamp) \
knot/modules/rrl/$(DEPDIR)/$(am__dirstamp)
+knot/modules/rrl/la-kru-generic.lo: knot/modules/rrl/$(am__dirstamp) \
+ knot/modules/rrl/$(DEPDIR)/$(am__dirstamp)
+knot/modules/rrl/la-kru-avx2.lo: knot/modules/rrl/$(am__dirstamp) \
+ knot/modules/rrl/$(DEPDIR)/$(am__dirstamp)
knot/modules/rrl.la: $(knot_modules_rrl_la_OBJECTS) $(knot_modules_rrl_la_DEPENDENCIES) $(EXTRA_knot_modules_rrl_la_DEPENDENCIES) knot/modules/$(am__dirstamp)
$(AM_V_CCLD)$(knot_modules_rrl_la_LINK) $(am_knot_modules_rrl_la_rpath) $(knot_modules_rrl_la_OBJECTS) $(knot_modules_rrl_la_LIBADD) $(LIBS)
@@ -3347,6 +3394,16 @@ libknot/probe/la-data.lo: libknot/probe/$(am__dirstamp) \
libknot/probe/$(DEPDIR)/$(am__dirstamp)
libknot/probe/la-probe.lo: libknot/probe/$(am__dirstamp) \
libknot/probe/$(DEPDIR)/$(am__dirstamp)
+libknot/quic/$(am__dirstamp):
+ @$(MKDIR_P) libknot/quic
+ @: > libknot/quic/$(am__dirstamp)
+libknot/quic/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) libknot/quic/$(DEPDIR)
+ @: > libknot/quic/$(DEPDIR)/$(am__dirstamp)
+libknot/quic/la-tls.lo: libknot/quic/$(am__dirstamp) \
+ libknot/quic/$(DEPDIR)/$(am__dirstamp)
+libknot/quic/la-tls_common.lo: libknot/quic/$(am__dirstamp) \
+ libknot/quic/$(DEPDIR)/$(am__dirstamp)
libknot/la-rdataset.lo: libknot/$(am__dirstamp) \
libknot/$(DEPDIR)/$(am__dirstamp)
libknot/la-rrset-dump.lo: libknot/$(am__dirstamp) \
@@ -3403,12 +3460,6 @@ libknot/xdp/la-tcp.lo: libknot/xdp/$(am__dirstamp) \
libknot/xdp/$(DEPDIR)/$(am__dirstamp)
libknot/xdp/la-xdp.lo: libknot/xdp/$(am__dirstamp) \
libknot/xdp/$(DEPDIR)/$(am__dirstamp)
-libknot/quic/$(am__dirstamp):
- @$(MKDIR_P) libknot/quic
- @: > libknot/quic/$(am__dirstamp)
-libknot/quic/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) libknot/quic/$(DEPDIR)
- @: > libknot/quic/$(DEPDIR)/$(am__dirstamp)
libknot/quic/la-quic.lo: libknot/quic/$(am__dirstamp) \
libknot/quic/$(DEPDIR)/$(am__dirstamp)
libknot/quic/la-quic_conn.lo: libknot/quic/$(am__dirstamp) \
@@ -3561,6 +3612,9 @@ knot/events/handlers/libknotd_la-refresh.lo: \
knot/events/handlers/libknotd_la-update.lo: \
knot/events/handlers/$(am__dirstamp) \
knot/events/handlers/$(DEPDIR)/$(am__dirstamp)
+knot/events/handlers/libknotd_la-validate.lo: \
+ knot/events/handlers/$(am__dirstamp) \
+ knot/events/handlers/$(DEPDIR)/$(am__dirstamp)
knot/events/libknotd_la-replan.lo: knot/events/$(am__dirstamp) \
knot/events/$(DEPDIR)/$(am__dirstamp)
knot/nameserver/$(am__dirstamp):
@@ -3610,12 +3664,16 @@ knot/query/libknotd_la-query.lo: knot/query/$(am__dirstamp) \
knot/query/$(DEPDIR)/$(am__dirstamp)
knot/query/libknotd_la-requestor.lo: knot/query/$(am__dirstamp) \
knot/query/$(DEPDIR)/$(am__dirstamp)
+knot/query/libknotd_la-tls-requestor.lo: knot/query/$(am__dirstamp) \
+ knot/query/$(DEPDIR)/$(am__dirstamp)
knot/common/$(am__dirstamp):
@$(MKDIR_P) knot/common
@: > knot/common/$(am__dirstamp)
knot/common/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) knot/common/$(DEPDIR)
@: > knot/common/$(DEPDIR)/$(am__dirstamp)
+knot/common/libknotd_la-dbus.lo: knot/common/$(am__dirstamp) \
+ knot/common/$(DEPDIR)/$(am__dirstamp)
knot/common/libknotd_la-evsched.lo: knot/common/$(am__dirstamp) \
knot/common/$(DEPDIR)/$(am__dirstamp)
knot/common/libknotd_la-fdset.lo: knot/common/$(am__dirstamp) \
@@ -3787,6 +3845,12 @@ knot/modules/rrl/libknotd_la-rrl.lo: knot/modules/rrl/$(am__dirstamp) \
knot/modules/rrl/libknotd_la-functions.lo: \
knot/modules/rrl/$(am__dirstamp) \
knot/modules/rrl/$(DEPDIR)/$(am__dirstamp)
+knot/modules/rrl/libknotd_la-kru-generic.lo: \
+ knot/modules/rrl/$(am__dirstamp) \
+ knot/modules/rrl/$(DEPDIR)/$(am__dirstamp)
+knot/modules/rrl/libknotd_la-kru-avx2.lo: \
+ knot/modules/rrl/$(am__dirstamp) \
+ knot/modules/rrl/$(DEPDIR)/$(am__dirstamp)
knot/modules/stats/libknotd_la-stats.lo: \
knot/modules/stats/$(am__dirstamp) \
knot/modules/stats/$(DEPDIR)/$(am__dirstamp)
@@ -3891,6 +3955,8 @@ utils/keymgr/keymgr-bind_privkey.$(OBJEXT): \
utils/keymgr/$(DEPDIR)/$(am__dirstamp)
utils/keymgr/keymgr-functions.$(OBJEXT): utils/keymgr/$(am__dirstamp) \
utils/keymgr/$(DEPDIR)/$(am__dirstamp)
+utils/keymgr/keymgr-keystore.$(OBJEXT): utils/keymgr/$(am__dirstamp) \
+ utils/keymgr/$(DEPDIR)/$(am__dirstamp)
utils/keymgr/keymgr-offline_ksk.$(OBJEXT): \
utils/keymgr/$(am__dirstamp) \
utils/keymgr/$(DEPDIR)/$(am__dirstamp)
@@ -4010,6 +4076,8 @@ utils/kxdpgun/kxdpgun-load_queries.$(OBJEXT): \
utils/kxdpgun/$(DEPDIR)/$(am__dirstamp)
utils/kxdpgun/kxdpgun-main.$(OBJEXT): utils/kxdpgun/$(am__dirstamp) \
utils/kxdpgun/$(DEPDIR)/$(am__dirstamp)
+utils/kxdpgun/kxdpgun-stats.$(OBJEXT): utils/kxdpgun/$(am__dirstamp) \
+ utils/kxdpgun/$(DEPDIR)/$(am__dirstamp)
kxdpgun$(EXEEXT): $(kxdpgun_OBJECTS) $(kxdpgun_DEPENDENCIES) $(EXTRA_kxdpgun_DEPENDENCIES)
@rm -f kxdpgun$(EXEEXT)
@@ -4252,6 +4320,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@knot/catalog/$(DEPDIR)/libknotd_la-catalog_update.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/catalog/$(DEPDIR)/libknotd_la-generate.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/catalog/$(DEPDIR)/libknotd_la-interpret.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@knot/common/$(DEPDIR)/libknotd_la-dbus.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/common/$(DEPDIR)/libknotd_la-evsched.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/common/$(DEPDIR)/libknotd_la-fdset.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/common/$(DEPDIR)/libknotd_la-log.Plo@am__quote@ # am--include-marker
@@ -4299,6 +4368,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@knot/events/handlers/$(DEPDIR)/libknotd_la-notify.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/events/handlers/$(DEPDIR)/libknotd_la-refresh.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/events/handlers/$(DEPDIR)/libknotd_la-update.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@knot/events/handlers/$(DEPDIR)/libknotd_la-validate.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/journal/$(DEPDIR)/libknotd_la-journal_basic.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/journal/$(DEPDIR)/libknotd_la-journal_metadata.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/journal/$(DEPDIR)/libknotd_la-journal_read.Plo@am__quote@ # am--include-marker
@@ -4328,8 +4398,12 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@knot/modules/queryacl/$(DEPDIR)/la-queryacl.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/modules/queryacl/$(DEPDIR)/libknotd_la-queryacl.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/modules/rrl/$(DEPDIR)/la-functions.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@knot/modules/rrl/$(DEPDIR)/la-kru-avx2.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@knot/modules/rrl/$(DEPDIR)/la-kru-generic.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/modules/rrl/$(DEPDIR)/la-rrl.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/modules/rrl/$(DEPDIR)/libknotd_la-functions.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@knot/modules/rrl/$(DEPDIR)/libknotd_la-kru-avx2.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@knot/modules/rrl/$(DEPDIR)/libknotd_la-kru-generic.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/modules/rrl/$(DEPDIR)/libknotd_la-rrl.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/modules/stats/$(DEPDIR)/la-stats.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/modules/stats/$(DEPDIR)/libknotd_la-stats.Plo@am__quote@ # am--include-marker
@@ -4352,6 +4426,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@knot/query/$(DEPDIR)/libknotd_la-query.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/query/$(DEPDIR)/libknotd_la-quic-requestor.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/query/$(DEPDIR)/libknotd_la-requestor.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@knot/query/$(DEPDIR)/libknotd_la-tls-requestor.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/server/$(DEPDIR)/libknotd_la-dthreads.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/server/$(DEPDIR)/libknotd_la-handler.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@knot/server/$(DEPDIR)/libknotd_la-proxyv2.Plo@am__quote@ # am--include-marker
@@ -4434,6 +4509,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@libknot/probe/$(DEPDIR)/la-probe.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@libknot/quic/$(DEPDIR)/la-quic.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@libknot/quic/$(DEPDIR)/la-quic_conn.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@libknot/quic/$(DEPDIR)/la-tls.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@libknot/quic/$(DEPDIR)/la-tls_common.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@libknot/rrtype/$(DEPDIR)/la-naptr.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@libknot/rrtype/$(DEPDIR)/la-opt.Plo@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@libknot/rrtype/$(DEPDIR)/la-tsig.Plo@am__quote@ # am--include-marker
@@ -4473,6 +4550,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@utils/kdig/$(DEPDIR)/khost-kdig_params.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@utils/keymgr/$(DEPDIR)/keymgr-bind_privkey.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@utils/keymgr/$(DEPDIR)/keymgr-functions.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@utils/keymgr/$(DEPDIR)/keymgr-keystore.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@utils/keymgr/$(DEPDIR)/keymgr-main.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@utils/keymgr/$(DEPDIR)/keymgr-offline_ksk.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@utils/khost/$(DEPDIR)/khost-khost_main.Po@am__quote@ # am--include-marker
@@ -4491,6 +4569,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@utils/kxdpgun/$(DEPDIR)/kxdpgun-ip_route.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@utils/kxdpgun/$(DEPDIR)/kxdpgun-load_queries.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@utils/kxdpgun/$(DEPDIR)/kxdpgun-main.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@utils/kxdpgun/$(DEPDIR)/kxdpgun-stats.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@utils/kzonecheck/$(DEPDIR)/kzonecheck-main.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@utils/kzonecheck/$(DEPDIR)/kzonecheck-zone_check.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@utils/kzonesign/$(DEPDIR)/kzonesign-main.Po@am__quote@ # am--include-marker
@@ -4616,6 +4695,20 @@ knot/modules/rrl/la-functions.lo: knot/modules/rrl/functions.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(knot_modules_rrl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o knot/modules/rrl/la-functions.lo `test -f 'knot/modules/rrl/functions.c' || echo '$(srcdir)/'`knot/modules/rrl/functions.c
+knot/modules/rrl/la-kru-generic.lo: knot/modules/rrl/kru-generic.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(knot_modules_rrl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT knot/modules/rrl/la-kru-generic.lo -MD -MP -MF knot/modules/rrl/$(DEPDIR)/la-kru-generic.Tpo -c -o knot/modules/rrl/la-kru-generic.lo `test -f 'knot/modules/rrl/kru-generic.c' || echo '$(srcdir)/'`knot/modules/rrl/kru-generic.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) knot/modules/rrl/$(DEPDIR)/la-kru-generic.Tpo knot/modules/rrl/$(DEPDIR)/la-kru-generic.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='knot/modules/rrl/kru-generic.c' object='knot/modules/rrl/la-kru-generic.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(knot_modules_rrl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o knot/modules/rrl/la-kru-generic.lo `test -f 'knot/modules/rrl/kru-generic.c' || echo '$(srcdir)/'`knot/modules/rrl/kru-generic.c
+
+knot/modules/rrl/la-kru-avx2.lo: knot/modules/rrl/kru-avx2.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(knot_modules_rrl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT knot/modules/rrl/la-kru-avx2.lo -MD -MP -MF knot/modules/rrl/$(DEPDIR)/la-kru-avx2.Tpo -c -o knot/modules/rrl/la-kru-avx2.lo `test -f 'knot/modules/rrl/kru-avx2.c' || echo '$(srcdir)/'`knot/modules/rrl/kru-avx2.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) knot/modules/rrl/$(DEPDIR)/la-kru-avx2.Tpo knot/modules/rrl/$(DEPDIR)/la-kru-avx2.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='knot/modules/rrl/kru-avx2.c' object='knot/modules/rrl/la-kru-avx2.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(knot_modules_rrl_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o knot/modules/rrl/la-kru-avx2.lo `test -f 'knot/modules/rrl/kru-avx2.c' || echo '$(srcdir)/'`knot/modules/rrl/kru-avx2.c
+
knot/modules/stats/la-stats.lo: knot/modules/stats/stats.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(knot_modules_stats_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT knot/modules/stats/la-stats.lo -MD -MP -MF knot/modules/stats/$(DEPDIR)/la-stats.Tpo -c -o knot/modules/stats/la-stats.lo `test -f 'knot/modules/stats/stats.c' || echo '$(srcdir)/'`knot/modules/stats/stats.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) knot/modules/stats/$(DEPDIR)/la-stats.Tpo knot/modules/stats/$(DEPDIR)/la-stats.Plo
@@ -5421,6 +5514,20 @@ libknot/probe/la-probe.lo: libknot/probe/probe.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknot_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libknot/probe/la-probe.lo `test -f 'libknot/probe/probe.c' || echo '$(srcdir)/'`libknot/probe/probe.c
+libknot/quic/la-tls.lo: libknot/quic/tls.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknot_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libknot/quic/la-tls.lo -MD -MP -MF libknot/quic/$(DEPDIR)/la-tls.Tpo -c -o libknot/quic/la-tls.lo `test -f 'libknot/quic/tls.c' || echo '$(srcdir)/'`libknot/quic/tls.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libknot/quic/$(DEPDIR)/la-tls.Tpo libknot/quic/$(DEPDIR)/la-tls.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libknot/quic/tls.c' object='libknot/quic/la-tls.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknot_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libknot/quic/la-tls.lo `test -f 'libknot/quic/tls.c' || echo '$(srcdir)/'`libknot/quic/tls.c
+
+libknot/quic/la-tls_common.lo: libknot/quic/tls_common.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknot_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libknot/quic/la-tls_common.lo -MD -MP -MF libknot/quic/$(DEPDIR)/la-tls_common.Tpo -c -o libknot/quic/la-tls_common.lo `test -f 'libknot/quic/tls_common.c' || echo '$(srcdir)/'`libknot/quic/tls_common.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libknot/quic/$(DEPDIR)/la-tls_common.Tpo libknot/quic/$(DEPDIR)/la-tls_common.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libknot/quic/tls_common.c' object='libknot/quic/la-tls_common.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknot_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libknot/quic/la-tls_common.lo `test -f 'libknot/quic/tls_common.c' || echo '$(srcdir)/'`libknot/quic/tls_common.c
+
libknot/la-rdataset.lo: libknot/rdataset.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknot_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libknot/la-rdataset.lo -MD -MP -MF libknot/$(DEPDIR)/la-rdataset.Tpo -c -o libknot/la-rdataset.lo `test -f 'libknot/rdataset.c' || echo '$(srcdir)/'`libknot/rdataset.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libknot/$(DEPDIR)/la-rdataset.Tpo libknot/$(DEPDIR)/la-rdataset.Plo
@@ -5869,6 +5976,13 @@ knot/events/handlers/libknotd_la-update.lo: knot/events/handlers/update.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknotd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o knot/events/handlers/libknotd_la-update.lo `test -f 'knot/events/handlers/update.c' || echo '$(srcdir)/'`knot/events/handlers/update.c
+knot/events/handlers/libknotd_la-validate.lo: knot/events/handlers/validate.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknotd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT knot/events/handlers/libknotd_la-validate.lo -MD -MP -MF knot/events/handlers/$(DEPDIR)/libknotd_la-validate.Tpo -c -o knot/events/handlers/libknotd_la-validate.lo `test -f 'knot/events/handlers/validate.c' || echo '$(srcdir)/'`knot/events/handlers/validate.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) knot/events/handlers/$(DEPDIR)/libknotd_la-validate.Tpo knot/events/handlers/$(DEPDIR)/libknotd_la-validate.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='knot/events/handlers/validate.c' object='knot/events/handlers/libknotd_la-validate.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknotd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o knot/events/handlers/libknotd_la-validate.lo `test -f 'knot/events/handlers/validate.c' || echo '$(srcdir)/'`knot/events/handlers/validate.c
+
knot/events/libknotd_la-replan.lo: knot/events/replan.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknotd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT knot/events/libknotd_la-replan.lo -MD -MP -MF knot/events/$(DEPDIR)/libknotd_la-replan.Tpo -c -o knot/events/libknotd_la-replan.lo `test -f 'knot/events/replan.c' || echo '$(srcdir)/'`knot/events/replan.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) knot/events/$(DEPDIR)/libknotd_la-replan.Tpo knot/events/$(DEPDIR)/libknotd_la-replan.Plo
@@ -5974,6 +6088,20 @@ knot/query/libknotd_la-requestor.lo: knot/query/requestor.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknotd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o knot/query/libknotd_la-requestor.lo `test -f 'knot/query/requestor.c' || echo '$(srcdir)/'`knot/query/requestor.c
+knot/query/libknotd_la-tls-requestor.lo: knot/query/tls-requestor.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknotd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT knot/query/libknotd_la-tls-requestor.lo -MD -MP -MF knot/query/$(DEPDIR)/libknotd_la-tls-requestor.Tpo -c -o knot/query/libknotd_la-tls-requestor.lo `test -f 'knot/query/tls-requestor.c' || echo '$(srcdir)/'`knot/query/tls-requestor.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) knot/query/$(DEPDIR)/libknotd_la-tls-requestor.Tpo knot/query/$(DEPDIR)/libknotd_la-tls-requestor.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='knot/query/tls-requestor.c' object='knot/query/libknotd_la-tls-requestor.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknotd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o knot/query/libknotd_la-tls-requestor.lo `test -f 'knot/query/tls-requestor.c' || echo '$(srcdir)/'`knot/query/tls-requestor.c
+
+knot/common/libknotd_la-dbus.lo: knot/common/dbus.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknotd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT knot/common/libknotd_la-dbus.lo -MD -MP -MF knot/common/$(DEPDIR)/libknotd_la-dbus.Tpo -c -o knot/common/libknotd_la-dbus.lo `test -f 'knot/common/dbus.c' || echo '$(srcdir)/'`knot/common/dbus.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) knot/common/$(DEPDIR)/libknotd_la-dbus.Tpo knot/common/$(DEPDIR)/libknotd_la-dbus.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='knot/common/dbus.c' object='knot/common/libknotd_la-dbus.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknotd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o knot/common/libknotd_la-dbus.lo `test -f 'knot/common/dbus.c' || echo '$(srcdir)/'`knot/common/dbus.c
+
knot/common/libknotd_la-evsched.lo: knot/common/evsched.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknotd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT knot/common/libknotd_la-evsched.lo -MD -MP -MF knot/common/$(DEPDIR)/libknotd_la-evsched.Tpo -c -o knot/common/libknotd_la-evsched.lo `test -f 'knot/common/evsched.c' || echo '$(srcdir)/'`knot/common/evsched.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) knot/common/$(DEPDIR)/libknotd_la-evsched.Tpo knot/common/$(DEPDIR)/libknotd_la-evsched.Plo
@@ -6408,6 +6536,20 @@ knot/modules/rrl/libknotd_la-functions.lo: knot/modules/rrl/functions.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknotd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o knot/modules/rrl/libknotd_la-functions.lo `test -f 'knot/modules/rrl/functions.c' || echo '$(srcdir)/'`knot/modules/rrl/functions.c
+knot/modules/rrl/libknotd_la-kru-generic.lo: knot/modules/rrl/kru-generic.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknotd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT knot/modules/rrl/libknotd_la-kru-generic.lo -MD -MP -MF knot/modules/rrl/$(DEPDIR)/libknotd_la-kru-generic.Tpo -c -o knot/modules/rrl/libknotd_la-kru-generic.lo `test -f 'knot/modules/rrl/kru-generic.c' || echo '$(srcdir)/'`knot/modules/rrl/kru-generic.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) knot/modules/rrl/$(DEPDIR)/libknotd_la-kru-generic.Tpo knot/modules/rrl/$(DEPDIR)/libknotd_la-kru-generic.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='knot/modules/rrl/kru-generic.c' object='knot/modules/rrl/libknotd_la-kru-generic.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknotd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o knot/modules/rrl/libknotd_la-kru-generic.lo `test -f 'knot/modules/rrl/kru-generic.c' || echo '$(srcdir)/'`knot/modules/rrl/kru-generic.c
+
+knot/modules/rrl/libknotd_la-kru-avx2.lo: knot/modules/rrl/kru-avx2.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknotd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT knot/modules/rrl/libknotd_la-kru-avx2.lo -MD -MP -MF knot/modules/rrl/$(DEPDIR)/libknotd_la-kru-avx2.Tpo -c -o knot/modules/rrl/libknotd_la-kru-avx2.lo `test -f 'knot/modules/rrl/kru-avx2.c' || echo '$(srcdir)/'`knot/modules/rrl/kru-avx2.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) knot/modules/rrl/$(DEPDIR)/libknotd_la-kru-avx2.Tpo knot/modules/rrl/$(DEPDIR)/libknotd_la-kru-avx2.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='knot/modules/rrl/kru-avx2.c' object='knot/modules/rrl/libknotd_la-kru-avx2.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknotd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o knot/modules/rrl/libknotd_la-kru-avx2.lo `test -f 'knot/modules/rrl/kru-avx2.c' || echo '$(srcdir)/'`knot/modules/rrl/kru-avx2.c
+
knot/modules/stats/libknotd_la-stats.lo: knot/modules/stats/stats.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libknotd_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT knot/modules/stats/libknotd_la-stats.lo -MD -MP -MF knot/modules/stats/$(DEPDIR)/libknotd_la-stats.Tpo -c -o knot/modules/stats/libknotd_la-stats.lo `test -f 'knot/modules/stats/stats.c' || echo '$(srcdir)/'`knot/modules/stats/stats.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) knot/modules/stats/$(DEPDIR)/libknotd_la-stats.Tpo knot/modules/stats/$(DEPDIR)/libknotd_la-stats.Plo
@@ -6632,6 +6774,20 @@ utils/keymgr/keymgr-functions.obj: utils/keymgr/functions.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(keymgr_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o utils/keymgr/keymgr-functions.obj `if test -f 'utils/keymgr/functions.c'; then $(CYGPATH_W) 'utils/keymgr/functions.c'; else $(CYGPATH_W) '$(srcdir)/utils/keymgr/functions.c'; fi`
+utils/keymgr/keymgr-keystore.o: utils/keymgr/keystore.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(keymgr_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT utils/keymgr/keymgr-keystore.o -MD -MP -MF utils/keymgr/$(DEPDIR)/keymgr-keystore.Tpo -c -o utils/keymgr/keymgr-keystore.o `test -f 'utils/keymgr/keystore.c' || echo '$(srcdir)/'`utils/keymgr/keystore.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) utils/keymgr/$(DEPDIR)/keymgr-keystore.Tpo utils/keymgr/$(DEPDIR)/keymgr-keystore.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils/keymgr/keystore.c' object='utils/keymgr/keymgr-keystore.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(keymgr_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o utils/keymgr/keymgr-keystore.o `test -f 'utils/keymgr/keystore.c' || echo '$(srcdir)/'`utils/keymgr/keystore.c
+
+utils/keymgr/keymgr-keystore.obj: utils/keymgr/keystore.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(keymgr_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT utils/keymgr/keymgr-keystore.obj -MD -MP -MF utils/keymgr/$(DEPDIR)/keymgr-keystore.Tpo -c -o utils/keymgr/keymgr-keystore.obj `if test -f 'utils/keymgr/keystore.c'; then $(CYGPATH_W) 'utils/keymgr/keystore.c'; else $(CYGPATH_W) '$(srcdir)/utils/keymgr/keystore.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) utils/keymgr/$(DEPDIR)/keymgr-keystore.Tpo utils/keymgr/$(DEPDIR)/keymgr-keystore.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils/keymgr/keystore.c' object='utils/keymgr/keymgr-keystore.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(keymgr_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o utils/keymgr/keymgr-keystore.obj `if test -f 'utils/keymgr/keystore.c'; then $(CYGPATH_W) 'utils/keymgr/keystore.c'; else $(CYGPATH_W) '$(srcdir)/utils/keymgr/keystore.c'; fi`
+
utils/keymgr/keymgr-offline_ksk.o: utils/keymgr/offline_ksk.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(keymgr_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT utils/keymgr/keymgr-offline_ksk.o -MD -MP -MF utils/keymgr/$(DEPDIR)/keymgr-offline_ksk.Tpo -c -o utils/keymgr/keymgr-offline_ksk.o `test -f 'utils/keymgr/offline_ksk.c' || echo '$(srcdir)/'`utils/keymgr/offline_ksk.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) utils/keymgr/$(DEPDIR)/keymgr-offline_ksk.Tpo utils/keymgr/$(DEPDIR)/keymgr-offline_ksk.Po
@@ -6912,6 +7068,20 @@ utils/kxdpgun/kxdpgun-main.obj: utils/kxdpgun/main.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kxdpgun_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o utils/kxdpgun/kxdpgun-main.obj `if test -f 'utils/kxdpgun/main.c'; then $(CYGPATH_W) 'utils/kxdpgun/main.c'; else $(CYGPATH_W) '$(srcdir)/utils/kxdpgun/main.c'; fi`
+utils/kxdpgun/kxdpgun-stats.o: utils/kxdpgun/stats.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kxdpgun_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT utils/kxdpgun/kxdpgun-stats.o -MD -MP -MF utils/kxdpgun/$(DEPDIR)/kxdpgun-stats.Tpo -c -o utils/kxdpgun/kxdpgun-stats.o `test -f 'utils/kxdpgun/stats.c' || echo '$(srcdir)/'`utils/kxdpgun/stats.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) utils/kxdpgun/$(DEPDIR)/kxdpgun-stats.Tpo utils/kxdpgun/$(DEPDIR)/kxdpgun-stats.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils/kxdpgun/stats.c' object='utils/kxdpgun/kxdpgun-stats.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kxdpgun_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o utils/kxdpgun/kxdpgun-stats.o `test -f 'utils/kxdpgun/stats.c' || echo '$(srcdir)/'`utils/kxdpgun/stats.c
+
+utils/kxdpgun/kxdpgun-stats.obj: utils/kxdpgun/stats.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kxdpgun_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT utils/kxdpgun/kxdpgun-stats.obj -MD -MP -MF utils/kxdpgun/$(DEPDIR)/kxdpgun-stats.Tpo -c -o utils/kxdpgun/kxdpgun-stats.obj `if test -f 'utils/kxdpgun/stats.c'; then $(CYGPATH_W) 'utils/kxdpgun/stats.c'; else $(CYGPATH_W) '$(srcdir)/utils/kxdpgun/stats.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) utils/kxdpgun/$(DEPDIR)/kxdpgun-stats.Tpo utils/kxdpgun/$(DEPDIR)/kxdpgun-stats.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='utils/kxdpgun/stats.c' object='utils/kxdpgun/kxdpgun-stats.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kxdpgun_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o utils/kxdpgun/kxdpgun-stats.obj `if test -f 'utils/kxdpgun/stats.c'; then $(CYGPATH_W) 'utils/kxdpgun/stats.c'; else $(CYGPATH_W) '$(srcdir)/utils/kxdpgun/stats.c'; fi`
+
utils/kzonecheck/kzonecheck-main.o: utils/kzonecheck/main.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(kzonecheck_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT utils/kzonecheck/kzonecheck-main.o -MD -MP -MF utils/kzonecheck/$(DEPDIR)/kzonecheck-main.Tpo -c -o utils/kzonecheck/kzonecheck-main.o `test -f 'utils/kzonecheck/main.c' || echo '$(srcdir)/'`utils/kzonecheck/main.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) utils/kzonecheck/$(DEPDIR)/kzonecheck-main.Tpo utils/kzonecheck/$(DEPDIR)/kzonecheck-main.Po
@@ -7555,6 +7725,7 @@ distclean: distclean-recursive
-rm -f knot/catalog/$(DEPDIR)/libknotd_la-catalog_update.Plo
-rm -f knot/catalog/$(DEPDIR)/libknotd_la-generate.Plo
-rm -f knot/catalog/$(DEPDIR)/libknotd_la-interpret.Plo
+ -rm -f knot/common/$(DEPDIR)/libknotd_la-dbus.Plo
-rm -f knot/common/$(DEPDIR)/libknotd_la-evsched.Plo
-rm -f knot/common/$(DEPDIR)/libknotd_la-fdset.Plo
-rm -f knot/common/$(DEPDIR)/libknotd_la-log.Plo
@@ -7602,6 +7773,7 @@ distclean: distclean-recursive
-rm -f knot/events/handlers/$(DEPDIR)/libknotd_la-notify.Plo
-rm -f knot/events/handlers/$(DEPDIR)/libknotd_la-refresh.Plo
-rm -f knot/events/handlers/$(DEPDIR)/libknotd_la-update.Plo
+ -rm -f knot/events/handlers/$(DEPDIR)/libknotd_la-validate.Plo
-rm -f knot/journal/$(DEPDIR)/libknotd_la-journal_basic.Plo
-rm -f knot/journal/$(DEPDIR)/libknotd_la-journal_metadata.Plo
-rm -f knot/journal/$(DEPDIR)/libknotd_la-journal_read.Plo
@@ -7631,8 +7803,12 @@ distclean: distclean-recursive
-rm -f knot/modules/queryacl/$(DEPDIR)/la-queryacl.Plo
-rm -f knot/modules/queryacl/$(DEPDIR)/libknotd_la-queryacl.Plo
-rm -f knot/modules/rrl/$(DEPDIR)/la-functions.Plo
+ -rm -f knot/modules/rrl/$(DEPDIR)/la-kru-avx2.Plo
+ -rm -f knot/modules/rrl/$(DEPDIR)/la-kru-generic.Plo
-rm -f knot/modules/rrl/$(DEPDIR)/la-rrl.Plo
-rm -f knot/modules/rrl/$(DEPDIR)/libknotd_la-functions.Plo
+ -rm -f knot/modules/rrl/$(DEPDIR)/libknotd_la-kru-avx2.Plo
+ -rm -f knot/modules/rrl/$(DEPDIR)/libknotd_la-kru-generic.Plo
-rm -f knot/modules/rrl/$(DEPDIR)/libknotd_la-rrl.Plo
-rm -f knot/modules/stats/$(DEPDIR)/la-stats.Plo
-rm -f knot/modules/stats/$(DEPDIR)/libknotd_la-stats.Plo
@@ -7655,6 +7831,7 @@ distclean: distclean-recursive
-rm -f knot/query/$(DEPDIR)/libknotd_la-query.Plo
-rm -f knot/query/$(DEPDIR)/libknotd_la-quic-requestor.Plo
-rm -f knot/query/$(DEPDIR)/libknotd_la-requestor.Plo
+ -rm -f knot/query/$(DEPDIR)/libknotd_la-tls-requestor.Plo
-rm -f knot/server/$(DEPDIR)/libknotd_la-dthreads.Plo
-rm -f knot/server/$(DEPDIR)/libknotd_la-handler.Plo
-rm -f knot/server/$(DEPDIR)/libknotd_la-proxyv2.Plo
@@ -7737,6 +7914,8 @@ distclean: distclean-recursive
-rm -f libknot/probe/$(DEPDIR)/la-probe.Plo
-rm -f libknot/quic/$(DEPDIR)/la-quic.Plo
-rm -f libknot/quic/$(DEPDIR)/la-quic_conn.Plo
+ -rm -f libknot/quic/$(DEPDIR)/la-tls.Plo
+ -rm -f libknot/quic/$(DEPDIR)/la-tls_common.Plo
-rm -f libknot/rrtype/$(DEPDIR)/la-naptr.Plo
-rm -f libknot/rrtype/$(DEPDIR)/la-opt.Plo
-rm -f libknot/rrtype/$(DEPDIR)/la-tsig.Plo
@@ -7776,6 +7955,7 @@ distclean: distclean-recursive
-rm -f utils/kdig/$(DEPDIR)/khost-kdig_params.Po
-rm -f utils/keymgr/$(DEPDIR)/keymgr-bind_privkey.Po
-rm -f utils/keymgr/$(DEPDIR)/keymgr-functions.Po
+ -rm -f utils/keymgr/$(DEPDIR)/keymgr-keystore.Po
-rm -f utils/keymgr/$(DEPDIR)/keymgr-main.Po
-rm -f utils/keymgr/$(DEPDIR)/keymgr-offline_ksk.Po
-rm -f utils/khost/$(DEPDIR)/khost-khost_main.Po
@@ -7794,6 +7974,7 @@ distclean: distclean-recursive
-rm -f utils/kxdpgun/$(DEPDIR)/kxdpgun-ip_route.Po
-rm -f utils/kxdpgun/$(DEPDIR)/kxdpgun-load_queries.Po
-rm -f utils/kxdpgun/$(DEPDIR)/kxdpgun-main.Po
+ -rm -f utils/kxdpgun/$(DEPDIR)/kxdpgun-stats.Po
-rm -f utils/kzonecheck/$(DEPDIR)/kzonecheck-main.Po
-rm -f utils/kzonecheck/$(DEPDIR)/kzonecheck-zone_check.Po
-rm -f utils/kzonesign/$(DEPDIR)/kzonesign-main.Po
@@ -7923,6 +8104,7 @@ maintainer-clean: maintainer-clean-recursive
-rm -f knot/catalog/$(DEPDIR)/libknotd_la-catalog_update.Plo
-rm -f knot/catalog/$(DEPDIR)/libknotd_la-generate.Plo
-rm -f knot/catalog/$(DEPDIR)/libknotd_la-interpret.Plo
+ -rm -f knot/common/$(DEPDIR)/libknotd_la-dbus.Plo
-rm -f knot/common/$(DEPDIR)/libknotd_la-evsched.Plo
-rm -f knot/common/$(DEPDIR)/libknotd_la-fdset.Plo
-rm -f knot/common/$(DEPDIR)/libknotd_la-log.Plo
@@ -7970,6 +8152,7 @@ maintainer-clean: maintainer-clean-recursive
-rm -f knot/events/handlers/$(DEPDIR)/libknotd_la-notify.Plo
-rm -f knot/events/handlers/$(DEPDIR)/libknotd_la-refresh.Plo
-rm -f knot/events/handlers/$(DEPDIR)/libknotd_la-update.Plo
+ -rm -f knot/events/handlers/$(DEPDIR)/libknotd_la-validate.Plo
-rm -f knot/journal/$(DEPDIR)/libknotd_la-journal_basic.Plo
-rm -f knot/journal/$(DEPDIR)/libknotd_la-journal_metadata.Plo
-rm -f knot/journal/$(DEPDIR)/libknotd_la-journal_read.Plo
@@ -7999,8 +8182,12 @@ maintainer-clean: maintainer-clean-recursive
-rm -f knot/modules/queryacl/$(DEPDIR)/la-queryacl.Plo
-rm -f knot/modules/queryacl/$(DEPDIR)/libknotd_la-queryacl.Plo
-rm -f knot/modules/rrl/$(DEPDIR)/la-functions.Plo
+ -rm -f knot/modules/rrl/$(DEPDIR)/la-kru-avx2.Plo
+ -rm -f knot/modules/rrl/$(DEPDIR)/la-kru-generic.Plo
-rm -f knot/modules/rrl/$(DEPDIR)/la-rrl.Plo
-rm -f knot/modules/rrl/$(DEPDIR)/libknotd_la-functions.Plo
+ -rm -f knot/modules/rrl/$(DEPDIR)/libknotd_la-kru-avx2.Plo
+ -rm -f knot/modules/rrl/$(DEPDIR)/libknotd_la-kru-generic.Plo
-rm -f knot/modules/rrl/$(DEPDIR)/libknotd_la-rrl.Plo
-rm -f knot/modules/stats/$(DEPDIR)/la-stats.Plo
-rm -f knot/modules/stats/$(DEPDIR)/libknotd_la-stats.Plo
@@ -8023,6 +8210,7 @@ maintainer-clean: maintainer-clean-recursive
-rm -f knot/query/$(DEPDIR)/libknotd_la-query.Plo
-rm -f knot/query/$(DEPDIR)/libknotd_la-quic-requestor.Plo
-rm -f knot/query/$(DEPDIR)/libknotd_la-requestor.Plo
+ -rm -f knot/query/$(DEPDIR)/libknotd_la-tls-requestor.Plo
-rm -f knot/server/$(DEPDIR)/libknotd_la-dthreads.Plo
-rm -f knot/server/$(DEPDIR)/libknotd_la-handler.Plo
-rm -f knot/server/$(DEPDIR)/libknotd_la-proxyv2.Plo
@@ -8105,6 +8293,8 @@ maintainer-clean: maintainer-clean-recursive
-rm -f libknot/probe/$(DEPDIR)/la-probe.Plo
-rm -f libknot/quic/$(DEPDIR)/la-quic.Plo
-rm -f libknot/quic/$(DEPDIR)/la-quic_conn.Plo
+ -rm -f libknot/quic/$(DEPDIR)/la-tls.Plo
+ -rm -f libknot/quic/$(DEPDIR)/la-tls_common.Plo
-rm -f libknot/rrtype/$(DEPDIR)/la-naptr.Plo
-rm -f libknot/rrtype/$(DEPDIR)/la-opt.Plo
-rm -f libknot/rrtype/$(DEPDIR)/la-tsig.Plo
@@ -8144,6 +8334,7 @@ maintainer-clean: maintainer-clean-recursive
-rm -f utils/kdig/$(DEPDIR)/khost-kdig_params.Po
-rm -f utils/keymgr/$(DEPDIR)/keymgr-bind_privkey.Po
-rm -f utils/keymgr/$(DEPDIR)/keymgr-functions.Po
+ -rm -f utils/keymgr/$(DEPDIR)/keymgr-keystore.Po
-rm -f utils/keymgr/$(DEPDIR)/keymgr-main.Po
-rm -f utils/keymgr/$(DEPDIR)/keymgr-offline_ksk.Po
-rm -f utils/khost/$(DEPDIR)/khost-khost_main.Po
@@ -8162,6 +8353,7 @@ maintainer-clean: maintainer-clean-recursive
-rm -f utils/kxdpgun/$(DEPDIR)/kxdpgun-ip_route.Po
-rm -f utils/kxdpgun/$(DEPDIR)/kxdpgun-load_queries.Po
-rm -f utils/kxdpgun/$(DEPDIR)/kxdpgun-main.Po
+ -rm -f utils/kxdpgun/$(DEPDIR)/kxdpgun-stats.Po
-rm -f utils/kzonecheck/$(DEPDIR)/kzonecheck-main.Po
-rm -f utils/kzonecheck/$(DEPDIR)/kzonecheck-zone_check.Po
-rm -f utils/kzonesign/$(DEPDIR)/kzonesign-main.Po
diff --git a/src/config.h.in b/src/config.h.in
index 0be849d..3e82c0d 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -3,12 +3,6 @@
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
-/* Passed CFLAGS from environment */
-#undef CONFIGURE_CFLAGS
-
-/* Params passed to configure */
-#undef CONFIGURE_PARAMS
-
/* Configure summary */
#undef CONFIGURE_SUMMARY
@@ -18,8 +12,11 @@
/* POSIX capabilities available */
#undef ENABLE_CAP_NG
+/* libdbus D-Bus available */
+#undef ENABLE_DBUS_LIBDBUS
+
/* systemd D-Bus available */
-#undef ENABLE_DBUS
+#undef ENABLE_DBUS_SYSTEMD
/* PKCS #11 support available */
#undef ENABLE_PKCS11
@@ -48,12 +45,12 @@
/* Define to 1 if you have the <arpa/nameser.h> header file. */
#undef HAVE_ARPA_NAMESER_H
-/* Define to 1 if you have '__atomic' functions. */
-#undef HAVE_ATOMIC
-
/* Define to 1 if you have the <bsd/string.h> header file. */
#undef HAVE_BSD_STRING_H
+/* Define to 1 if you have C11 'atomic' functions. */
+#undef HAVE_C11_ATOMIC
+
/* Define if FreeBSD-like cpuset_t exists. */
#undef HAVE_CPUSET_BSD
@@ -66,9 +63,6 @@
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
-/* GnuTLS ED25519 support available */
-#undef HAVE_ED25519
-
/* GnuTLS ED448 support available */
#undef HAVE_ED448
@@ -84,24 +78,18 @@
/* explicit_memset available */
#undef HAVE_EXPLICIT_MEMSET
-/* gnutls_privkey_export_x509 available */
-#undef HAVE_EXPORT_X509
-
/* Define to 1 if you have the `fgetln' function. */
#undef HAVE_FGETLN
+/* Define to 1 if you have GCC-style '__atomic' functions. */
+#undef HAVE_GCC_ATOMIC
+
/* Define to 1 if you have the `getline' function. */
#undef HAVE_GETLINE
-/* gnutls_memset available */
-#undef HAVE_GNUTLS_MEMSET
-
/* gnutls_early_cipher_get available */
#undef HAVE_GNUTLS_QUIC
-/* GnuTLS reproducible signing available */
-#undef HAVE_GNUTLS_REPRODUCIBLE
-
/* Define to 1 if you have the `initgroups' function. */
#undef HAVE_INITGROUPS
@@ -138,12 +126,6 @@
/* Define to 1 if you have the `setgroups' function. */
#undef HAVE_SETGROUPS
-/* gnutls_privkey_sign_data2 available */
-#undef HAVE_SIGN_DATA2
-
-/* Define to 1 if you have the <stdatomic.h> header file. */
-#undef HAVE_STDATOMIC_H
-
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
@@ -165,9 +147,6 @@
/* Define to 1 if you have the `strlcpy' function. */
#undef HAVE_STRLCPY
-/* Define to 1 if you have '__sync' functions. */
-#undef HAVE_SYNC_ATOMIC
-
/* Define to 1 if you have the `sysctlbyname' function. */
#undef HAVE_SYSCTLBYNAME
@@ -193,9 +172,6 @@
/* Define to 1 to enable IDN support */
#undef LIBIDN
-/* Define to proper libidn header */
-#undef LIBIDN_HEADER
-
/* Define to 1 to enable DoH support */
#undef LIBNGHTTP2
diff --git a/src/contrib/Makefile.inc b/src/contrib/Makefile.inc
index e1577d5..d64c2eb 100644
--- a/src/contrib/Makefile.inc
+++ b/src/contrib/Makefile.inc
@@ -24,6 +24,7 @@ EXTRA_DIST += \
libcontrib_la_SOURCES = \
contrib/asan.h \
+ contrib/atomic.h \
contrib/base32hex.c \
contrib/base32hex.h \
contrib/base64.c \
diff --git a/src/contrib/asan.h b/src/contrib/asan.h
index 5feb2c1..ef6fe66 100644
--- a/src/contrib/asan.h
+++ b/src/contrib/asan.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -25,13 +25,20 @@
#if __has_feature(address_sanitizer) || defined(__SANITIZE_ADDRESS__)
void __asan_poison_memory_region(void const volatile *addr, size_t size);
void __asan_unpoison_memory_region(void const volatile *addr, size_t size);
+#if defined(__GNUC__) && !defined(__clang__) /* A faulty GCC workaround. */
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
+#endif
#define ASAN_POISON_MEMORY_REGION(addr, size) \
__asan_poison_memory_region((addr), (size))
+#if defined(__GNUC__) && !defined(__clang__) /* End of the workaround. */
+ #pragma GCC diagnostic pop
+#endif
#define ASAN_UNPOISON_MEMORY_REGION(addr, size) \
__asan_unpoison_memory_region((addr), (size))
-#else
+#else /* __has_feature(address_sanitizer) || defined(__SANITIZE_ADDRESS__) */
#define ASAN_POISON_MEMORY_REGION(addr, size) \
((void)(addr), (void)(size))
#define ASAN_UNPOISON_MEMORY_REGION(addr, size) \
((void)(addr), (void)(size))
-#endif
+#endif /* __has_feature(address_sanitizer) || defined(__SANITIZE_ADDRESS__) */
diff --git a/src/contrib/atomic.h b/src/contrib/atomic.h
new file mode 100644
index 0000000..b8dace1
--- /dev/null
+++ b/src/contrib/atomic.h
@@ -0,0 +1,73 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+/*!
+ * \brief C11 atomic operations with fallbacks.
+ */
+
+#pragma once
+
+#ifdef HAVE_C11_ATOMIC /* C11 */
+ #define KNOT_HAVE_ATOMIC
+
+ #include <stdatomic.h>
+
+ #define ATOMIC_SET(dst, val) atomic_store_explicit(&(dst), (val), memory_order_relaxed)
+ #define ATOMIC_GET(src) atomic_load_explicit(&(src), memory_order_relaxed)
+ #define ATOMIC_ADD(dst, val) (void)atomic_fetch_add_explicit(&(dst), (val), memory_order_relaxed)
+ #define ATOMIC_SUB(dst, val) (void)atomic_fetch_sub_explicit(&(dst), (val), memory_order_relaxed)
+ #define ATOMIC_XCHG(dst, val) atomic_exchange_explicit(&(dst), (val), memory_order_relaxed)
+
+ typedef atomic_uint_fast16_t knot_atomic_uint16_t;
+ typedef atomic_uint_fast64_t knot_atomic_uint64_t;
+ typedef atomic_size_t knot_atomic_size_t;
+ typedef _Atomic (void *) knot_atomic_ptr_t;
+ typedef atomic_bool knot_atomic_bool;
+#elif defined(HAVE_GCC_ATOMIC) /* GCC __atomic */
+ #define KNOT_HAVE_ATOMIC
+
+ #include <stdint.h>
+ #include <stdbool.h>
+
+ #define ATOMIC_SET(dst, val) __atomic_store_n(&(dst), (val), __ATOMIC_RELAXED)
+ #define ATOMIC_GET(src) __atomic_load_n(&(src), __ATOMIC_RELAXED)
+ #define ATOMIC_ADD(dst, val) __atomic_add_fetch(&(dst), (val), __ATOMIC_RELAXED)
+ #define ATOMIC_SUB(dst, val) __atomic_sub_fetch(&(dst), (val), __ATOMIC_RELAXED)
+ #define ATOMIC_XCHG(dst, val) __atomic_exchange_n(&(dst), (val), __ATOMIC_RELAXED)
+
+ typedef uint16_t knot_atomic_uint16_t;
+ typedef uint64_t knot_atomic_uint64_t;
+ typedef size_t knot_atomic_size_t;
+ typedef void* knot_atomic_ptr_t;
+ typedef bool knot_atomic_bool;
+#else /* Fallback, non-atomic. */
+ #warning "Atomic operations not availabe, using unreliable replacement."
+
+ #include <stdint.h>
+ #include <stdbool.h>
+
+ #define ATOMIC_SET(dst, val) ((dst) = (val))
+ #define ATOMIC_GET(src) (src)
+ #define ATOMIC_ADD(dst, val) ((dst) += (val))
+ #define ATOMIC_SUB(dst, val) ((dst) -= (val))
+ #define ATOMIC_XCHG(dst, val) ({ __typeof__ (dst) _z = (dst); (dst) = (val); _z; })
+
+ typedef uint16_t knot_atomic_uint16_t;
+ typedef uint64_t knot_atomic_uint64_t;
+ typedef size_t knot_atomic_size_t;
+ typedef void* knot_atomic_ptr_t;
+ typedef bool knot_atomic_bool;
+#endif
diff --git a/src/contrib/files.c b/src/contrib/files.c
index 5b38469..f3a4b78 100644
--- a/src/contrib/files.c
+++ b/src/contrib/files.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -92,16 +92,29 @@ static int remove_file(const char *path, const struct stat *stat, int type, stru
{
(void)stat;
(void)ftw;
- if (type == FTW_DP) {
+
+ switch (type) {
+ case FTW_D:
+ case FTW_DNR:
+ case FTW_DP:
return rmdir(path);
- } else {
+ default:
return unlink(path);
}
}
-bool remove_path(const char *path)
+static int remove_in_dir(const char *path, const struct stat *stat, int type, struct FTW *ftw)
+{
+ return (ftw->level > 0) ? remove_file(path, stat, type, ftw) : 0;
+}
+
+int remove_path(const char *path, bool keep_apex)
{
- return (0 == nftw(path, remove_file, 1, FTW_DEPTH | FTW_PHYS));
+ if (0 != nftw(path, keep_apex ? remove_in_dir : remove_file,
+ 1, FTW_DEPTH | FTW_PHYS)) {
+ return knot_map_errno();
+ }
+ return KNOT_EOK;
}
int make_dir(const char *path, mode_t mode, bool ignore_existing)
diff --git a/src/contrib/files.h b/src/contrib/files.h
index c505ac8..4250a47 100644
--- a/src/contrib/files.h
+++ b/src/contrib/files.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -52,9 +52,12 @@ bool same_path(const char *path1, const char *path2);
/*!
* \brief Delete file or directory (recursive).
*
- * \return true on success, false when one or more files failed to be removed.
+ * \param[in] path Absolute path or a relative path suffix; a string.
+ * \param[in] keep_apex If true, don't remove the starting point (apex).
+ *
+ * \return KNOT_E*
*/
-bool remove_path(const char *path);
+int remove_path(const char *path, bool keep_apex);
/*!
* Equivalent to mkdir(2), can succeed if the directory already exists.
diff --git a/src/contrib/json.c b/src/contrib/json.c
index d44da87..5173f90 100644
--- a/src/contrib/json.c
+++ b/src/contrib/json.c
@@ -217,6 +217,13 @@ void jsonw_int(jsonw_t *w, const char *key, int value)
fprintf(w->out, "%d", value);
}
+void jsonw_double(jsonw_t *w, const char *key, double value)
+{
+ assert(w);
+
+ align_key(w, key);
+ fprintf(w->out, "%.4f", value);
+}
void jsonw_bool(jsonw_t *w, const char *key, bool value)
{
diff --git a/src/contrib/json.h b/src/contrib/json.h
index cf8abe6..17513bc 100644
--- a/src/contrib/json.h
+++ b/src/contrib/json.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -82,6 +82,11 @@ void jsonw_ulong(jsonw_t *w, const char *key, unsigned long value);
void jsonw_int(jsonw_t *w, const char *key, int value);
/*!
+ * Write double as JSON.
+ */
+void jsonw_double(jsonw_t *w, const char *key, double value);
+
+/*!
* Write boolean value as JSON.
*/
void jsonw_bool(jsonw_t *w, const char *key, bool value);
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c
index 5cc39ee..a270a43 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.c
@@ -66,7 +66,7 @@ int ngtcp2_balloc_get(ngtcp2_balloc *balloc, void **pbuf, size_t n) {
if (ngtcp2_buf_left(&balloc->buf) < n) {
p = ngtcp2_mem_malloc(balloc->mem,
- sizeof(ngtcp2_memblock_hd) + 0x10u + balloc->blklen);
+ sizeof(ngtcp2_memblock_hd) + 0x8u + balloc->blklen);
if (p == NULL) {
return NGTCP2_ERR_NOMEM;
}
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.h b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.h
index 1fb1632..9920987 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.h
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_balloc.h
@@ -39,7 +39,10 @@ typedef struct ngtcp2_memblock_hd ngtcp2_memblock_hd;
* ngtcp2_memblock_hd is the header of memory block.
*/
struct ngtcp2_memblock_hd {
- ngtcp2_memblock_hd *next;
+ union {
+ ngtcp2_memblock_hd *next;
+ uint64_t pad;
+ };
};
/*
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
index 2211a31..8b3845c 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.c
@@ -39,8 +39,9 @@
#define NGTCP2_BBR_EXTRA_ACKED_FILTERLEN 10
#define NGTCP2_BBR_STARTUP_PACING_GAIN_H 277
+#define NGTCP2_BBR_DRAIN_PACING_GAIN_H 35
-#define NGTCP2_BBR_STARTUP_CWND_GAIN_H 200
+#define NGTCP2_BBR_DEFAULT_CWND_GAIN_H 200
#define NGTCP2_BBR_PROBE_RTT_CWND_GAIN_H 50
@@ -72,7 +73,7 @@ static void bbr_reset_lower_bounds(ngtcp2_cc_bbr *bbr);
static void bbr_init_round_counting(ngtcp2_cc_bbr *bbr);
-static void bbr_init_full_pipe(ngtcp2_cc_bbr *bbr);
+static void bbr_reset_full_bw(ngtcp2_cc_bbr *bbr);
static void bbr_init_pacing_rate(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat);
@@ -84,8 +85,7 @@ static void bbr_set_pacing_rate(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat);
static void bbr_enter_startup(ngtcp2_cc_bbr *bbr);
-static void bbr_check_startup_done(ngtcp2_cc_bbr *bbr,
- const ngtcp2_cc_ack *ack);
+static void bbr_check_startup_done(ngtcp2_cc_bbr *bbr);
static void bbr_update_on_ack(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
const ngtcp2_cc_ack *ack, ngtcp2_tstamp ts);
@@ -148,16 +148,17 @@ static void bbr_start_probe_bw_cruise(ngtcp2_cc_bbr *bbr);
static void bbr_start_probe_bw_refill(ngtcp2_cc_bbr *bbr);
-static void bbr_start_probe_bw_up(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
- ngtcp2_tstamp ts);
+static void bbr_start_probe_bw_up(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat);
static void bbr_update_probe_bw_cycle_phase(ngtcp2_cc_bbr *bbr,
ngtcp2_conn_stat *cstat,
const ngtcp2_cc_ack *ack,
ngtcp2_tstamp ts);
-static int bbr_check_time_to_cruise(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
- ngtcp2_tstamp ts);
+static int bbr_is_time_to_cruise(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
+ ngtcp2_tstamp ts);
+
+static int bbr_is_time_to_go_down(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat);
static int bbr_has_elapsed_in_phase(ngtcp2_cc_bbr *bbr,
ngtcp2_duration interval, ngtcp2_tstamp ts);
@@ -175,9 +176,8 @@ static void bbr_probe_inflight_hi_upward(ngtcp2_cc_bbr *bbr,
static void bbr_adapt_upper_bounds(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
const ngtcp2_cc_ack *ack, ngtcp2_tstamp ts);
-static int bbr_check_time_to_probe_bw(ngtcp2_cc_bbr *bbr,
- ngtcp2_conn_stat *cstat,
- ngtcp2_tstamp ts);
+static int bbr_is_time_to_probe_bw(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
+ ngtcp2_tstamp ts);
static void bbr_pick_probe_wait(ngtcp2_cc_bbr *bbr);
@@ -197,6 +197,8 @@ static void bbr_handle_inflight_too_high(ngtcp2_cc_bbr *bbr,
ngtcp2_conn_stat *cstat,
const ngtcp2_rs *rs, ngtcp2_tstamp ts);
+static void bbr_note_loss(ngtcp2_cc_bbr *bbr);
+
static void bbr_handle_lost_packet(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
const ngtcp2_cc_pkt *pkt, ngtcp2_tstamp ts);
@@ -227,15 +229,14 @@ static void bbr_handle_restart_from_idle(ngtcp2_cc_bbr *bbr,
ngtcp2_conn_stat *cstat,
ngtcp2_tstamp ts);
-static uint64_t bbr_bdp_multiple(ngtcp2_cc_bbr *bbr, uint64_t bw,
- uint64_t gain_h);
+static uint64_t bbr_bdp_multiple(ngtcp2_cc_bbr *bbr, uint64_t gain_h);
static uint64_t bbr_quantization_budget(ngtcp2_cc_bbr *bbr,
ngtcp2_conn_stat *cstat,
uint64_t inflight);
static uint64_t bbr_inflight(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
- uint64_t bw, uint64_t gain_h);
+ uint64_t gain_h);
static void bbr_update_max_inflight(ngtcp2_cc_bbr *bbr,
ngtcp2_conn_stat *cstat);
@@ -247,10 +248,6 @@ static uint64_t min_pipe_cwnd(size_t max_udp_payload_size);
static void bbr_advance_max_bw_filter(ngtcp2_cc_bbr *bbr);
-static void bbr_modulate_cwnd_for_recovery(ngtcp2_cc_bbr *bbr,
- ngtcp2_conn_stat *cstat,
- const ngtcp2_cc_ack *ack);
-
static void bbr_save_cwnd(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat);
static void bbr_restore_cwnd(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat);
@@ -272,7 +269,7 @@ static int in_congestion_recovery(const ngtcp2_conn_stat *cstat,
ngtcp2_tstamp sent_time);
static void bbr_handle_recovery(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
- const ngtcp2_cc_ack *ack, ngtcp2_tstamp ts);
+ const ngtcp2_cc_ack *ack);
static void bbr_on_init(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
ngtcp2_tstamp initial_ts) {
@@ -289,11 +286,12 @@ static void bbr_on_init(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
bbr->idle_restart = 0;
bbr->extra_acked_interval_start = initial_ts;
bbr->extra_acked_delivered = 0;
+ bbr->full_bw_reached = 0;
bbr_reset_congestion_signals(bbr);
bbr_reset_lower_bounds(bbr);
bbr_init_round_counting(bbr);
- bbr_init_full_pipe(bbr);
+ bbr_reset_full_bw(bbr);
bbr_init_pacing_rate(bbr, cstat);
bbr_enter_startup(bbr);
@@ -326,23 +324,17 @@ static void bbr_on_init(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
bbr->bw_probe_up_acks = 0;
bbr->inflight_hi = UINT64_MAX;
- bbr->bw_hi = UINT64_MAX;
bbr->probe_rtt_expired = 0;
bbr->probe_rtt_min_delay = UINT64_MAX;
bbr->probe_rtt_min_stamp = initial_ts;
bbr->in_loss_recovery = 0;
- bbr->packet_conservation = 0;
+ bbr->round_count_at_recovery = UINT64_MAX;
bbr->max_inflight = 0;
bbr->congestion_recovery_start_ts = UINT64_MAX;
- bbr->congestion_recovery_next_round_delivered = 0;
-
- bbr->prior_inflight_lo = 0;
- bbr->prior_inflight_hi = 0;
- bbr->prior_bw_lo = 0;
}
static void bbr_reset_congestion_signals(ngtcp2_cc_bbr *bbr) {
@@ -362,48 +354,53 @@ static void bbr_init_round_counting(ngtcp2_cc_bbr *bbr) {
bbr->round_count = 0;
}
-static void bbr_init_full_pipe(ngtcp2_cc_bbr *bbr) {
- bbr->filled_pipe = 0;
+static void bbr_reset_full_bw(ngtcp2_cc_bbr *bbr) {
bbr->full_bw = 0;
bbr->full_bw_count = 0;
+ bbr->full_bw_now = 0;
}
-static void bbr_check_startup_full_bandwidth(ngtcp2_cc_bbr *bbr) {
- if (bbr->filled_pipe || !bbr->round_start || bbr->rst->rs.is_app_limited) {
+static void bbr_check_full_bw_reached(ngtcp2_cc_bbr *bbr,
+ ngtcp2_conn_stat *cstat) {
+ if (bbr->full_bw_now || bbr->rst->rs.is_app_limited) {
return;
}
- if (bbr->max_bw * 100 >= bbr->full_bw * 125) {
- bbr->full_bw = bbr->max_bw;
- bbr->full_bw_count = 0;
- }
+ if (cstat->delivery_rate_sec * 100 >= bbr->full_bw * 125) {
+ bbr_reset_full_bw(bbr);
+ bbr->full_bw = cstat->delivery_rate_sec;
- ++bbr->full_bw_count;
-
- if (bbr->full_bw_count >= 3) {
- bbr->filled_pipe = 1;
-
- ngtcp2_log_info(bbr->cc.log, NGTCP2_LOG_EVENT_CCA,
- "bbr filled pipe, full_bw=%" PRIu64, bbr->full_bw);
+ return;
}
-}
-static void bbr_check_startup_high_loss(ngtcp2_cc_bbr *bbr,
- const ngtcp2_cc_ack *ack) {
- if (bbr->filled_pipe || !bbr->round_start || bbr->rst->rs.is_app_limited) {
+ if (!bbr->round_start) {
return;
}
- if (bbr->loss_events_in_round <= 3) {
+ ++bbr->full_bw_count;
+
+ bbr->full_bw_now = bbr->full_bw_count >= 3;
+ if (!bbr->full_bw_now) {
return;
}
- /* loss_thresh = 2% */
- if (bbr->bytes_lost_in_round * 100 <= ack->prior_bytes_in_flight * 2) {
+ bbr->full_bw_reached = 1;
+
+ ngtcp2_log_info(bbr->cc.log, NGTCP2_LOG_EVENT_CCA,
+ "bbr reached full bandwidth, full_bw=%" PRIu64, bbr->full_bw);
+}
+
+static void bbr_check_startup_high_loss(ngtcp2_cc_bbr *bbr) {
+ if (bbr->full_bw_reached || bbr->loss_events_in_round <= 6 ||
+ (bbr->in_loss_recovery &&
+ bbr->round_count <= bbr->round_count_at_recovery) ||
+ !is_inflight_too_high(&bbr->rst->rs)) {
return;
}
- bbr->filled_pipe = 1;
+ bbr->full_bw_reached = 1;
+ bbr->inflight_hi = ngtcp2_max_uint64(bbr_bdp_multiple(bbr, bbr->cwnd_gain_h),
+ bbr->inflight_latest);
}
static void bbr_init_pacing_rate(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat) {
@@ -423,7 +420,7 @@ static void bbr_set_pacing_rate_with_gain(ngtcp2_cc_bbr *bbr,
interval = NGTCP2_SECONDS * 100 * 100 / pacing_gain_h / bbr->bw /
(100 - NGTCP2_BBR_PACING_MARGIN_PERCENT);
- if (bbr->filled_pipe || interval < cstat->pacing_interval) {
+ if (bbr->full_bw_reached || interval < cstat->pacing_interval) {
cstat->pacing_interval = interval;
}
}
@@ -437,15 +434,13 @@ static void bbr_enter_startup(ngtcp2_cc_bbr *bbr) {
bbr->state = NGTCP2_BBR_STATE_STARTUP;
bbr->pacing_gain_h = NGTCP2_BBR_STARTUP_PACING_GAIN_H;
- bbr->cwnd_gain_h = NGTCP2_BBR_STARTUP_CWND_GAIN_H;
+ bbr->cwnd_gain_h = NGTCP2_BBR_DEFAULT_CWND_GAIN_H;
}
-static void bbr_check_startup_done(ngtcp2_cc_bbr *bbr,
- const ngtcp2_cc_ack *ack) {
- bbr_check_startup_full_bandwidth(bbr);
- bbr_check_startup_high_loss(bbr, ack);
+static void bbr_check_startup_done(ngtcp2_cc_bbr *bbr) {
+ bbr_check_startup_high_loss(bbr);
- if (bbr->state == NGTCP2_BBR_STATE_STARTUP && bbr->filled_pipe) {
+ if (bbr->state == NGTCP2_BBR_STATE_STARTUP && bbr->full_bw_reached) {
bbr_enter_drain(bbr);
}
}
@@ -468,7 +463,8 @@ static void bbr_update_model_and_state(ngtcp2_cc_bbr *bbr,
bbr_update_latest_delivery_signals(bbr, cstat);
bbr_update_congestion_signals(bbr, cstat, ack);
bbr_update_ack_aggregation(bbr, cstat, ack, ts);
- bbr_check_startup_done(bbr, ack);
+ bbr_check_full_bw_reached(bbr, cstat);
+ bbr_check_startup_done(bbr);
bbr_check_drain(bbr, cstat, ts);
bbr_update_probe_bw_cycle_phase(bbr, cstat, ack, ts);
bbr_update_min_rtt(bbr, ack, ts);
@@ -519,11 +515,6 @@ static void bbr_update_congestion_signals(ngtcp2_cc_bbr *bbr,
if (ack->bytes_lost) {
bbr->bytes_lost_in_round += ack->bytes_lost;
++bbr->loss_events_in_round;
-
- if (!bbr->loss_in_round) {
- bbr->loss_in_round = 1;
- bbr->loss_round_delivered = bbr->rst->delivered;
- }
}
if (!bbr->loss_round_start) {
@@ -568,7 +559,6 @@ static void bbr_loss_lower_bounds(ngtcp2_cc_bbr *bbr) {
static void bbr_bound_bw_for_model(ngtcp2_cc_bbr *bbr) {
bbr->bw = ngtcp2_min_uint64(bbr->max_bw, bbr->bw_lo);
- bbr->bw = ngtcp2_min_uint64(bbr->bw, bbr->bw_hi);
}
static void bbr_update_max_bw(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
@@ -636,6 +626,12 @@ static void bbr_update_ack_aggregation(ngtcp2_cc_bbr *bbr,
extra = bbr->extra_acked_delivered - expected_delivered;
extra = ngtcp2_min_uint64(extra, cstat->cwnd);
+ if (bbr->full_bw_reached) {
+ bbr->extra_acked_filter.window_length = NGTCP2_BBR_EXTRA_ACKED_FILTERLEN;
+ } else {
+ bbr->extra_acked_filter.window_length = 1;
+ }
+
ngtcp2_window_filter_update(&bbr->extra_acked_filter, extra,
bbr->round_count);
@@ -646,14 +642,14 @@ static void bbr_enter_drain(ngtcp2_cc_bbr *bbr) {
ngtcp2_log_info(bbr->cc.log, NGTCP2_LOG_EVENT_CCA, "bbr enter Drain");
bbr->state = NGTCP2_BBR_STATE_DRAIN;
- bbr->pacing_gain_h = 100 * 100 / NGTCP2_BBR_STARTUP_CWND_GAIN_H;
- bbr->cwnd_gain_h = NGTCP2_BBR_STARTUP_CWND_GAIN_H;
+ bbr->pacing_gain_h = NGTCP2_BBR_DRAIN_PACING_GAIN_H;
+ bbr->cwnd_gain_h = NGTCP2_BBR_DEFAULT_CWND_GAIN_H;
}
static void bbr_check_drain(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
ngtcp2_tstamp ts) {
if (bbr->state == NGTCP2_BBR_STATE_DRAIN &&
- cstat->bytes_in_flight <= bbr_inflight(bbr, cstat, bbr->bw, 100)) {
+ cstat->bytes_in_flight <= bbr_inflight(bbr, cstat, 100)) {
bbr_enter_probe_bw(bbr, ts);
}
}
@@ -678,7 +674,7 @@ static void bbr_start_probe_bw_down(ngtcp2_cc_bbr *bbr, ngtcp2_tstamp ts) {
bbr->state = NGTCP2_BBR_STATE_PROBE_BW_DOWN;
bbr->pacing_gain_h = 90;
- bbr->cwnd_gain_h = 200;
+ bbr->cwnd_gain_h = NGTCP2_BBR_DEFAULT_CWND_GAIN_H;
}
static void bbr_start_probe_bw_cruise(ngtcp2_cc_bbr *bbr) {
@@ -687,7 +683,7 @@ static void bbr_start_probe_bw_cruise(ngtcp2_cc_bbr *bbr) {
bbr->state = NGTCP2_BBR_STATE_PROBE_BW_CRUISE;
bbr->pacing_gain_h = 100;
- bbr->cwnd_gain_h = 200;
+ bbr->cwnd_gain_h = NGTCP2_BBR_DEFAULT_CWND_GAIN_H;
}
static void bbr_start_probe_bw_refill(ngtcp2_cc_bbr *bbr) {
@@ -704,18 +700,18 @@ static void bbr_start_probe_bw_refill(ngtcp2_cc_bbr *bbr) {
bbr->state = NGTCP2_BBR_STATE_PROBE_BW_REFILL;
bbr->pacing_gain_h = 100;
- bbr->cwnd_gain_h = 200;
+ bbr->cwnd_gain_h = NGTCP2_BBR_DEFAULT_CWND_GAIN_H;
}
-static void bbr_start_probe_bw_up(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
- ngtcp2_tstamp ts) {
+static void bbr_start_probe_bw_up(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat) {
ngtcp2_log_info(bbr->cc.log, NGTCP2_LOG_EVENT_CCA, "bbr start ProbeBW_UP");
bbr->ack_phase = NGTCP2_BBR_ACK_PHASE_ACKS_PROBE_STARTING;
bbr_start_round(bbr);
+ bbr_reset_full_bw(bbr);
- bbr->cycle_stamp = ts;
+ bbr->full_bw = cstat->delivery_rate_sec;
bbr->state = NGTCP2_BBR_STATE_PROBE_BW_UP;
bbr->pacing_gain_h = 125;
bbr->cwnd_gain_h = 225;
@@ -727,7 +723,7 @@ static void bbr_update_probe_bw_cycle_phase(ngtcp2_cc_bbr *bbr,
ngtcp2_conn_stat *cstat,
const ngtcp2_cc_ack *ack,
ngtcp2_tstamp ts) {
- if (!bbr->filled_pipe) {
+ if (!bbr->full_bw_reached) {
return;
}
@@ -739,17 +735,17 @@ static void bbr_update_probe_bw_cycle_phase(ngtcp2_cc_bbr *bbr,
switch (bbr->state) {
case NGTCP2_BBR_STATE_PROBE_BW_DOWN:
- if (bbr_check_time_to_probe_bw(bbr, cstat, ts)) {
+ if (bbr_is_time_to_probe_bw(bbr, cstat, ts)) {
return;
}
- if (bbr_check_time_to_cruise(bbr, cstat, ts)) {
+ if (bbr_is_time_to_cruise(bbr, cstat, ts)) {
bbr_start_probe_bw_cruise(bbr);
}
break;
case NGTCP2_BBR_STATE_PROBE_BW_CRUISE:
- if (bbr_check_time_to_probe_bw(bbr, cstat, ts)) {
+ if (bbr_is_time_to_probe_bw(bbr, cstat, ts)) {
return;
}
@@ -757,13 +753,12 @@ static void bbr_update_probe_bw_cycle_phase(ngtcp2_cc_bbr *bbr,
case NGTCP2_BBR_STATE_PROBE_BW_REFILL:
if (bbr->round_start) {
bbr->bw_probe_samples = 1;
- bbr_start_probe_bw_up(bbr, cstat, ts);
+ bbr_start_probe_bw_up(bbr, cstat);
}
break;
case NGTCP2_BBR_STATE_PROBE_BW_UP:
- if (bbr_has_elapsed_in_phase(bbr, bbr->min_rtt, ts) &&
- cstat->bytes_in_flight > bbr_inflight(bbr, cstat, bbr->max_bw, 125)) {
+ if (bbr_is_time_to_go_down(bbr, cstat)) {
bbr_start_probe_bw_down(bbr, ts);
}
@@ -773,15 +768,26 @@ static void bbr_update_probe_bw_cycle_phase(ngtcp2_cc_bbr *bbr,
}
}
-static int bbr_check_time_to_cruise(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
- ngtcp2_tstamp ts) {
+static int bbr_is_time_to_cruise(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
+ ngtcp2_tstamp ts) {
(void)ts;
if (cstat->bytes_in_flight > bbr_inflight_with_headroom(bbr, cstat)) {
return 0;
}
- if (cstat->bytes_in_flight <= bbr_inflight(bbr, cstat, bbr->max_bw, 100)) {
+ if (cstat->bytes_in_flight <= bbr_inflight(bbr, cstat, 100)) {
+ return 1;
+ }
+
+ return 0;
+}
+
+static int bbr_is_time_to_go_down(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat) {
+ if (bbr->rst->is_cwnd_limited && cstat->cwnd >= bbr->inflight_hi) {
+ bbr_reset_full_bw(bbr);
+ bbr->full_bw = cstat->delivery_rate_sec;
+ } else if (bbr->full_bw_now) {
return 1;
}
@@ -861,8 +867,7 @@ static void bbr_adapt_upper_bounds(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
}
if (!bbr_check_inflight_too_high(bbr, cstat, ts)) {
- /* bbr->bw_hi never be updated */
- if (bbr->inflight_hi == UINT64_MAX /* || bbr->bw_hi == UINT64_MAX */) {
+ if (bbr->inflight_hi == UINT64_MAX) {
return;
}
@@ -870,19 +875,14 @@ static void bbr_adapt_upper_bounds(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
bbr->inflight_hi = bbr->rst->rs.tx_in_flight;
}
- if (cstat->delivery_rate_sec > bbr->bw_hi) {
- bbr->bw_hi = cstat->delivery_rate_sec;
- }
-
if (bbr->state == NGTCP2_BBR_STATE_PROBE_BW_UP) {
bbr_probe_inflight_hi_upward(bbr, cstat, ack);
}
}
}
-static int bbr_check_time_to_probe_bw(ngtcp2_cc_bbr *bbr,
- ngtcp2_conn_stat *cstat,
- ngtcp2_tstamp ts) {
+static int bbr_is_time_to_probe_bw(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
+ ngtcp2_tstamp ts) {
if (bbr_has_elapsed_in_phase(bbr, bbr->bw_probe_wait, ts) ||
bbr_is_reno_coexistence_probe_time(bbr, cstat)) {
bbr_start_probe_bw_refill(bbr);
@@ -916,7 +916,7 @@ static int bbr_is_reno_coexistence_probe_time(ngtcp2_cc_bbr *bbr,
static uint64_t bbr_target_inflight(ngtcp2_cc_bbr *bbr,
ngtcp2_conn_stat *cstat) {
- uint64_t bdp = bbr_inflight(bbr, cstat, bbr->bw, 100);
+ uint64_t bdp = bbr_bdp_multiple(bbr, bbr->cwnd_gain_h);
return ngtcp2_min_uint64(bdp, cstat->cwnd);
}
@@ -957,10 +957,21 @@ static void bbr_handle_inflight_too_high(ngtcp2_cc_bbr *bbr,
}
}
+static void bbr_note_loss(ngtcp2_cc_bbr *bbr) {
+ if (bbr->loss_in_round) {
+ return;
+ }
+
+ bbr->loss_in_round = 1;
+ bbr->loss_round_delivered = bbr->rst->delivered;
+}
+
static void bbr_handle_lost_packet(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
const ngtcp2_cc_pkt *pkt, ngtcp2_tstamp ts) {
ngtcp2_rs rs = {0};
+ bbr_note_loss(bbr);
+
if (!bbr->bw_probe_samples) {
return;
}
@@ -1107,7 +1118,7 @@ static void bbr_mark_connection_app_limited(ngtcp2_cc_bbr *bbr,
static void bbr_exit_probe_rtt(ngtcp2_cc_bbr *bbr, ngtcp2_tstamp ts) {
bbr_reset_lower_bounds(bbr);
- if (bbr->filled_pipe) {
+ if (bbr->full_bw_reached) {
bbr_start_probe_bw_down(bbr, ts);
bbr_start_probe_bw_cruise(bbr);
} else {
@@ -1132,15 +1143,14 @@ static void bbr_handle_restart_from_idle(ngtcp2_cc_bbr *bbr,
}
}
-static uint64_t bbr_bdp_multiple(ngtcp2_cc_bbr *bbr, uint64_t bw,
- uint64_t gain_h) {
+static uint64_t bbr_bdp_multiple(ngtcp2_cc_bbr *bbr, uint64_t gain_h) {
uint64_t bdp;
if (bbr->min_rtt == UINT64_MAX) {
return bbr->initial_cwnd;
}
- bdp = bw * bbr->min_rtt / NGTCP2_SECONDS;
+ bdp = bbr->bw * bbr->min_rtt / NGTCP2_SECONDS;
return (uint64_t)(bdp * gain_h / 100);
}
@@ -1166,8 +1176,8 @@ static uint64_t bbr_quantization_budget(ngtcp2_cc_bbr *bbr,
}
static uint64_t bbr_inflight(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
- uint64_t bw, uint64_t gain_h) {
- uint64_t inflight = bbr_bdp_multiple(bbr, bw, gain_h);
+ uint64_t gain_h) {
+ uint64_t inflight = bbr_bdp_multiple(bbr, gain_h);
return bbr_quantization_budget(bbr, cstat, inflight);
}
@@ -1179,8 +1189,7 @@ static void bbr_update_max_inflight(ngtcp2_cc_bbr *bbr,
/* Not documented */
/* bbr_update_aggregation_budget(bbr); */
- inflight =
- bbr_bdp_multiple(bbr, bbr->bw, bbr->cwnd_gain_h) + bbr->extra_acked;
+ inflight = bbr_bdp_multiple(bbr, bbr->cwnd_gain_h) + bbr->extra_acked;
bbr->max_inflight = bbr_quantization_budget(bbr, cstat, inflight);
}
@@ -1193,25 +1202,6 @@ static void bbr_advance_max_bw_filter(ngtcp2_cc_bbr *bbr) {
++bbr->cycle_count;
}
-static void bbr_modulate_cwnd_for_recovery(ngtcp2_cc_bbr *bbr,
- ngtcp2_conn_stat *cstat,
- const ngtcp2_cc_ack *ack) {
- if (ack->bytes_lost > 0) {
- if (cstat->cwnd > ack->bytes_lost) {
- cstat->cwnd -= ack->bytes_lost;
- cstat->cwnd =
- ngtcp2_max_uint64(cstat->cwnd, 2 * cstat->max_tx_udp_payload_size);
- } else {
- cstat->cwnd = 2 * cstat->max_tx_udp_payload_size;
- }
- }
-
- if (bbr->packet_conservation) {
- cstat->cwnd = ngtcp2_max_uint64(cstat->cwnd, cstat->bytes_in_flight +
- ack->bytes_delivered);
- }
-}
-
static void bbr_save_cwnd(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat) {
if (!bbr->in_loss_recovery && bbr->state != NGTCP2_BBR_STATE_PROBE_RTT) {
bbr->prior_cwnd = cstat->cwnd;
@@ -1228,7 +1218,7 @@ static void bbr_restore_cwnd(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat) {
static uint64_t bbr_probe_rtt_cwnd(ngtcp2_cc_bbr *bbr,
ngtcp2_conn_stat *cstat) {
uint64_t probe_rtt_cwnd =
- bbr_bdp_multiple(bbr, bbr->bw, NGTCP2_BBR_PROBE_RTT_CWND_GAIN_H);
+ bbr_bdp_multiple(bbr, NGTCP2_BBR_PROBE_RTT_CWND_GAIN_H);
uint64_t mpcwnd = min_pipe_cwnd(cstat->max_tx_udp_payload_size);
return ngtcp2_max_uint64(probe_rtt_cwnd, mpcwnd);
@@ -1250,21 +1240,18 @@ static void bbr_set_cwnd(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
uint64_t mpcwnd;
bbr_update_max_inflight(bbr, cstat);
- bbr_modulate_cwnd_for_recovery(bbr, cstat, ack);
-
- if (!bbr->packet_conservation) {
- if (bbr->filled_pipe) {
- cstat->cwnd += ack->bytes_delivered;
- cstat->cwnd = ngtcp2_min_uint64(cstat->cwnd, bbr->max_inflight);
- } else if (cstat->cwnd < bbr->max_inflight ||
- bbr->rst->delivered < bbr->initial_cwnd) {
- cstat->cwnd += ack->bytes_delivered;
- }
- mpcwnd = min_pipe_cwnd(cstat->max_tx_udp_payload_size);
- cstat->cwnd = ngtcp2_max_uint64(cstat->cwnd, mpcwnd);
+ if (bbr->full_bw_reached) {
+ cstat->cwnd += ack->bytes_delivered;
+ cstat->cwnd = ngtcp2_min_uint64(cstat->cwnd, bbr->max_inflight);
+ } else if (cstat->cwnd < bbr->max_inflight ||
+ bbr->rst->delivered < bbr->initial_cwnd) {
+ cstat->cwnd += ack->bytes_delivered;
}
+ mpcwnd = min_pipe_cwnd(cstat->max_tx_udp_payload_size);
+ cstat->cwnd = ngtcp2_max_uint64(cstat->cwnd, mpcwnd);
+
bbr_bound_cwnd_for_probe_rtt(bbr, cstat);
bbr_bound_cwnd_for_model(bbr, cstat);
}
@@ -1289,23 +1276,16 @@ static void bbr_bound_cwnd_for_model(ngtcp2_cc_bbr *bbr,
}
static void bbr_set_send_quantum(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat) {
- size_t floor, send_quantum;
+ size_t send_quantum = 64 * 1024;
(void)bbr;
- if (cstat->pacing_interval > (NGTCP2_SECONDS * 8 * 10 / 12) >> 20) {
- floor = cstat->max_tx_udp_payload_size;
- } else {
- floor = 2 * cstat->max_tx_udp_payload_size;
- }
-
if (cstat->pacing_interval) {
- send_quantum = (size_t)(NGTCP2_MILLISECONDS / cstat->pacing_interval);
- send_quantum = ngtcp2_min_size(send_quantum, 64 * 1024);
- } else {
- send_quantum = 64 * 1024;
+ send_quantum = ngtcp2_min_size(
+ send_quantum, (size_t)(NGTCP2_MILLISECONDS / cstat->pacing_interval));
}
- cstat->send_quantum = ngtcp2_max_size(send_quantum, floor);
+ cstat->send_quantum =
+ ngtcp2_max_size(send_quantum, 2 * cstat->max_tx_udp_payload_size);
}
static int in_congestion_recovery(const ngtcp2_conn_stat *cstat,
@@ -1315,16 +1295,12 @@ static int in_congestion_recovery(const ngtcp2_conn_stat *cstat,
}
static void bbr_handle_recovery(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
- const ngtcp2_cc_ack *ack, ngtcp2_tstamp ts) {
+ const ngtcp2_cc_ack *ack) {
if (bbr->in_loss_recovery) {
- if (ts - cstat->congestion_recovery_start_ts >= cstat->smoothed_rtt) {
- bbr->packet_conservation = 0;
- }
-
if (ack->largest_pkt_sent_ts != UINT64_MAX &&
!in_congestion_recovery(cstat, ack->largest_pkt_sent_ts)) {
bbr->in_loss_recovery = 0;
- bbr->packet_conservation = 0;
+ bbr->round_count_at_recovery = UINT64_MAX;
bbr_restore_cwnd(bbr, cstat);
}
@@ -1333,6 +1309,8 @@ static void bbr_handle_recovery(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
if (bbr->congestion_recovery_start_ts != UINT64_MAX) {
bbr->in_loss_recovery = 1;
+ bbr->round_count_at_recovery =
+ bbr->round_start ? bbr->round_count : bbr->round_count + 1;
bbr_save_cwnd(bbr, cstat);
cstat->cwnd =
cstat->bytes_in_flight +
@@ -1340,11 +1318,6 @@ static void bbr_handle_recovery(ngtcp2_cc_bbr *bbr, ngtcp2_conn_stat *cstat,
cstat->congestion_recovery_start_ts = bbr->congestion_recovery_start_ts;
bbr->congestion_recovery_start_ts = UINT64_MAX;
- bbr->packet_conservation = 1;
- bbr->congestion_recovery_next_round_delivered = bbr->rst->delivered;
- bbr->prior_inflight_hi = bbr->inflight_hi;
- bbr->prior_inflight_lo = bbr->inflight_lo;
- bbr->prior_bw_lo = bbr->bw_lo;
}
}
@@ -1352,6 +1325,10 @@ static void bbr_cc_on_pkt_lost(ngtcp2_cc *cc, ngtcp2_conn_stat *cstat,
const ngtcp2_cc_pkt *pkt, ngtcp2_tstamp ts) {
ngtcp2_cc_bbr *bbr = ngtcp2_struct_of(cc, ngtcp2_cc_bbr, cc);
+ if (bbr->state == NGTCP2_BBR_STATE_STARTUP) {
+ return;
+ }
+
bbr_update_on_loss(bbr, cstat, pkt, ts);
}
@@ -1379,15 +1356,8 @@ static void bbr_cc_on_spurious_congestion(ngtcp2_cc *cc,
if (bbr->in_loss_recovery) {
bbr->in_loss_recovery = 0;
- bbr->packet_conservation = 0;
+ bbr->round_count_at_recovery = UINT64_MAX;
bbr_restore_cwnd(bbr, cstat);
- bbr->full_bw_count = 0;
- bbr->loss_in_round = 0;
- bbr->inflight_lo =
- ngtcp2_max_uint64(bbr->inflight_lo, bbr->prior_inflight_lo);
- bbr->inflight_hi =
- ngtcp2_max_uint64(bbr->inflight_hi, bbr->prior_inflight_hi);
- bbr->bw_lo = ngtcp2_max_uint64(bbr->bw_lo, bbr->prior_bw_lo);
}
}
@@ -1400,7 +1370,7 @@ static void bbr_cc_on_persistent_congestion(ngtcp2_cc *cc,
cstat->congestion_recovery_start_ts = UINT64_MAX;
bbr->congestion_recovery_start_ts = UINT64_MAX;
bbr->in_loss_recovery = 0;
- bbr->packet_conservation = 0;
+ bbr->round_count_at_recovery = UINT64_MAX;
bbr_save_cwnd(bbr, cstat);
cstat->cwnd = cstat->bytes_in_flight + cstat->max_tx_udp_payload_size;
@@ -1412,7 +1382,7 @@ static void bbr_cc_on_ack_recv(ngtcp2_cc *cc, ngtcp2_conn_stat *cstat,
const ngtcp2_cc_ack *ack, ngtcp2_tstamp ts) {
ngtcp2_cc_bbr *bbr = ngtcp2_struct_of(cc, ngtcp2_cc_bbr, cc);
- bbr_handle_recovery(bbr, cstat, ack, ts);
+ bbr_handle_recovery(bbr, cstat, ack);
bbr_update_on_ack(bbr, cstat, ack, ts);
}
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.h b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.h
index 0017be3..097d0fe 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.h
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_bbr.h
@@ -95,9 +95,10 @@ typedef struct ngtcp2_cc_bbr {
uint64_t round_count;
/* Full pipe */
- int filled_pipe;
uint64_t full_bw;
size_t full_bw_count;
+ int full_bw_reached;
+ int full_bw_now;
/* Pacing rate */
uint64_t pacing_gain_h;
@@ -123,19 +124,13 @@ typedef struct ngtcp2_cc_bbr {
size_t bw_probe_up_rounds;
uint64_t bw_probe_up_acks;
uint64_t inflight_hi;
- uint64_t bw_hi;
int probe_rtt_expired;
ngtcp2_duration probe_rtt_min_delay;
ngtcp2_tstamp probe_rtt_min_stamp;
int in_loss_recovery;
- int packet_conservation;
+ uint64_t round_count_at_recovery;
uint64_t max_inflight;
ngtcp2_tstamp congestion_recovery_start_ts;
- uint64_t congestion_recovery_next_round_delivered;
-
- uint64_t prior_inflight_lo;
- uint64_t prior_inflight_hi;
- uint64_t prior_bw_lo;
} ngtcp2_cc_bbr;
void ngtcp2_cc_bbr_init(ngtcp2_cc_bbr *bbr, ngtcp2_log *log,
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
index a5a47b7..0e272c8 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
@@ -1167,9 +1167,9 @@ static int conn_new(ngtcp2_conn **pconn, const ngtcp2_cid *dcid,
ngtcp2_pq_init(&(*pconn)->tx.strmq, cycle_less, mem);
- ngtcp2_idtr_init(&(*pconn)->remote.bidi.idtr, !server, mem);
+ ngtcp2_idtr_init(&(*pconn)->remote.bidi.idtr, mem);
- ngtcp2_idtr_init(&(*pconn)->remote.uni.idtr, !server, mem);
+ ngtcp2_idtr_init(&(*pconn)->remote.uni.idtr, mem);
ngtcp2_static_ringbuf_path_challenge_init(&(*pconn)->rx.path_challenge);
@@ -1604,7 +1604,7 @@ void ngtcp2_conn_del(ngtcp2_conn *conn) {
ngtcp2_idtr_free(&conn->remote.bidi.idtr);
ngtcp2_mem_free(conn->mem, conn->tx.ack);
ngtcp2_pq_free(&conn->tx.strmq);
- ngtcp2_map_each_free(&conn->strms, delete_strms_each, (void *)conn);
+ ngtcp2_map_each(&conn->strms, delete_strms_each, (void *)conn);
ngtcp2_map_free(&conn->strms);
ngtcp2_pq_free(&conn->scid.used);
@@ -12729,7 +12729,7 @@ static void conn_discard_early_data_state(ngtcp2_conn *conn) {
ngtcp2_rtb_remove_early_data(&conn->pktns.rtb, &conn->cstat);
- ngtcp2_map_each_free(&conn->strms, delete_strms_pq_each, conn);
+ ngtcp2_map_each(&conn->strms, delete_strms_pq_each, conn);
ngtcp2_map_clear(&conn->strms);
conn->tx.offset = 0;
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c
index 87c2389..6f8e055 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.c
@@ -36,14 +36,8 @@ void ngtcp2_gaptr_init(ngtcp2_gaptr *gaptr, const ngtcp2_mem *mem) {
static int gaptr_gap_init(ngtcp2_gaptr *gaptr) {
ngtcp2_range range = {0, UINT64_MAX};
- int rv;
-
- rv = ngtcp2_ksl_insert(&gaptr->gap, NULL, &range, NULL);
- if (rv != 0) {
- return rv;
- }
- return 0;
+ return ngtcp2_ksl_insert(&gaptr->gap, NULL, &range, NULL);
}
void ngtcp2_gaptr_free(ngtcp2_gaptr *gaptr) {
@@ -80,7 +74,9 @@ int ngtcp2_gaptr_push(ngtcp2_gaptr *gaptr, uint64_t offset, uint64_t datalen) {
ngtcp2_ksl_remove_hint(&gaptr->gap, &it, &it, &k);
continue;
}
+
ngtcp2_range_cut(&l, &r, &k, &m);
+
if (ngtcp2_range_len(&l)) {
ngtcp2_ksl_update_key(&gaptr->gap, &k, &l);
@@ -93,23 +89,23 @@ int ngtcp2_gaptr_push(ngtcp2_gaptr *gaptr, uint64_t offset, uint64_t datalen) {
} else if (ngtcp2_range_len(&r)) {
ngtcp2_ksl_update_key(&gaptr->gap, &k, &r);
}
+
ngtcp2_ksl_it_next(&it);
}
+
return 0;
}
uint64_t ngtcp2_gaptr_first_gap_offset(ngtcp2_gaptr *gaptr) {
ngtcp2_ksl_it it;
- ngtcp2_range r;
if (ngtcp2_ksl_len(&gaptr->gap) == 0) {
return 0;
}
it = ngtcp2_ksl_begin(&gaptr->gap);
- r = *(ngtcp2_range *)ngtcp2_ksl_it_key(&it);
- return r.begin;
+ return ((ngtcp2_range *)ngtcp2_ksl_it_key(&it))->begin;
}
ngtcp2_range ngtcp2_gaptr_get_first_gap_after(ngtcp2_gaptr *gaptr,
@@ -134,7 +130,6 @@ int ngtcp2_gaptr_is_pushed(ngtcp2_gaptr *gaptr, uint64_t offset,
uint64_t datalen) {
ngtcp2_range q = {offset, offset + datalen};
ngtcp2_ksl_it it;
- ngtcp2_range k;
ngtcp2_range m;
if (ngtcp2_ksl_len(&gaptr->gap) == 0) {
@@ -143,8 +138,7 @@ int ngtcp2_gaptr_is_pushed(ngtcp2_gaptr *gaptr, uint64_t offset,
it = ngtcp2_ksl_lower_bound_compar(&gaptr->gap, &q,
ngtcp2_ksl_range_exclusive_compar);
- k = *(ngtcp2_range *)ngtcp2_ksl_it_key(&it);
- m = ngtcp2_range_intersect(&q, &k);
+ m = ngtcp2_range_intersect(&q, (ngtcp2_range *)ngtcp2_ksl_it_key(&it));
return ngtcp2_range_len(&m) == 0;
}
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.h b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.h
index 0f100a8..e3fea1c 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.h
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_gaptr.h
@@ -39,8 +39,9 @@
* ngtcp2_gaptr maintains the gap in the range [0, UINT64_MAX).
*/
typedef struct ngtcp2_gaptr {
- /* gap maintains the range of offset which is not received
- yet. Initially, its range is [0, UINT64_MAX). */
+ /* gap maintains the range of offset which is not pushed
+ yet. Initially, its range is [0, UINT64_MAX). "gap" is the range
+ that is not pushed yet. */
ngtcp2_ksl gap;
/* mem is custom memory allocator */
const ngtcp2_mem *mem;
@@ -57,8 +58,7 @@ void ngtcp2_gaptr_init(ngtcp2_gaptr *gaptr, const ngtcp2_mem *mem);
void ngtcp2_gaptr_free(ngtcp2_gaptr *gaptr);
/*
- * ngtcp2_gaptr_push adds new data of length |datalen| at the stream
- * offset |offset|.
+ * ngtcp2_gaptr_push pushes the range [offset, offset + datalen).
*
* This function returns 0 if it succeeds, or one of the following
* negative error codes:
@@ -76,7 +76,7 @@ uint64_t ngtcp2_gaptr_first_gap_offset(ngtcp2_gaptr *gaptr);
/*
* ngtcp2_gaptr_get_first_gap_after returns the first gap which
- * overlaps or comes after |offset|.
+ * includes or comes after |offset|.
*/
ngtcp2_range ngtcp2_gaptr_get_first_gap_after(ngtcp2_gaptr *gaptr,
uint64_t offset);
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.c b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.c
index d988022..93c6ac9 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.c
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.c
@@ -26,10 +26,8 @@
#include <assert.h>
-void ngtcp2_idtr_init(ngtcp2_idtr *idtr, int server, const ngtcp2_mem *mem) {
+void ngtcp2_idtr_init(ngtcp2_idtr *idtr, const ngtcp2_mem *mem) {
ngtcp2_gaptr_init(&idtr->gap, mem);
-
- idtr->server = server;
}
void ngtcp2_idtr_free(ngtcp2_idtr *idtr) {
@@ -41,8 +39,7 @@ void ngtcp2_idtr_free(ngtcp2_idtr *idtr) {
}
/*
- * id_from_stream_id translates |stream_id| to id space used by
- * ngtcp2_idtr.
+ * id_from_stream_id translates |stream_id| to an internal ID.
*/
static uint64_t id_from_stream_id(int64_t stream_id) {
return (uint64_t)(stream_id >> 2);
@@ -51,9 +48,6 @@ static uint64_t id_from_stream_id(int64_t stream_id) {
int ngtcp2_idtr_open(ngtcp2_idtr *idtr, int64_t stream_id) {
uint64_t q;
- assert((idtr->server && (stream_id % 2)) ||
- (!idtr->server && (stream_id % 2)) == 0);
-
q = id_from_stream_id(stream_id);
if (ngtcp2_gaptr_is_pushed(&idtr->gap, q, 1)) {
@@ -66,14 +60,7 @@ int ngtcp2_idtr_open(ngtcp2_idtr *idtr, int64_t stream_id) {
int ngtcp2_idtr_is_open(ngtcp2_idtr *idtr, int64_t stream_id) {
uint64_t q;
- assert((idtr->server && (stream_id % 2)) ||
- (!idtr->server && (stream_id % 2)) == 0);
-
q = id_from_stream_id(stream_id);
return ngtcp2_gaptr_is_pushed(&idtr->gap, q, 1);
}
-
-uint64_t ngtcp2_idtr_first_gap(ngtcp2_idtr *idtr) {
- return ngtcp2_gaptr_first_gap_offset(&idtr->gap);
-}
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.h b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.h
index edb8c68..cdb2b61 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.h
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_idtr.h
@@ -38,21 +38,17 @@
* ngtcp2_idtr tracks the usage of stream ID.
*/
typedef struct ngtcp2_idtr {
- /* gap maintains the range of ID which is not used yet. Initially,
- its range is [0, UINT64_MAX). */
+ /* gap maintains the range of an internal ID which is not used yet.
+ Initially, its range is [0, UINT64_MAX). The internal ID and
+ stream ID are in the different number spaces. See
+ id_from_stream_id to convert a stream ID to an internal ID. */
ngtcp2_gaptr gap;
- /* server is nonzero if this object records server initiated stream
- ID. */
- int server;
} ngtcp2_idtr;
/*
* ngtcp2_idtr_init initializes |idtr|.
- *
- * If this object records server initiated ID (even number), set
- * |server| to nonzero.
*/
-void ngtcp2_idtr_init(ngtcp2_idtr *idtr, int server, const ngtcp2_mem *mem);
+void ngtcp2_idtr_init(ngtcp2_idtr *idtr, const ngtcp2_mem *mem);
/*
* ngtcp2_idtr_free frees resources allocated for |idtr|.
@@ -60,30 +56,21 @@ void ngtcp2_idtr_init(ngtcp2_idtr *idtr, int server, const ngtcp2_mem *mem);
void ngtcp2_idtr_free(ngtcp2_idtr *idtr);
/*
- * ngtcp2_idtr_open claims that |stream_id| is in used.
+ * ngtcp2_idtr_open claims that |stream_id| is in use.
*
* It returns 0 if it succeeds, or one of the following negative error
* codes:
*
* NGTCP2_ERR_STREAM_IN_USE
- * ID has already been used.
+ * |stream_id| has already been used.
* NGTCP2_ERR_NOMEM
* Out of memory.
*/
int ngtcp2_idtr_open(ngtcp2_idtr *idtr, int64_t stream_id);
/*
- * ngtcp2_idtr_open tells whether ID |stream_id| is in used or not.
- *
- * It returns nonzero if |stream_id| is used.
+ * ngtcp2_idtr_open returns nonzero if |stream_id| is in use.
*/
int ngtcp2_idtr_is_open(ngtcp2_idtr *idtr, int64_t stream_id);
-/*
- * ngtcp2_idtr_first_gap returns the first id of first gap. If there
- * is no gap, it returns UINT64_MAX. The returned id is an id space
- * used in this object internally, and not stream ID.
- */
-uint64_t ngtcp2_idtr_first_gap(ngtcp2_idtr *idtr);
-
#endif /* NGTCP2_IDTR_H */
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
index a7284bd..df2b640 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.c
@@ -38,8 +38,10 @@ static ngtcp2_ksl_blk null_blk = {{{NULL, NULL, 0, 0, {0}}}};
ngtcp2_objalloc_def(ksl_blk, ngtcp2_ksl_blk, oplent);
static size_t ksl_nodelen(size_t keylen) {
- return (sizeof(ngtcp2_ksl_node) + keylen - sizeof(uint64_t) + 0xfu) &
- ~(uintptr_t)0xfu;
+ assert(keylen >= sizeof(uint64_t));
+
+ return (sizeof(ngtcp2_ksl_node) + keylen - sizeof(uint64_t) + 0x7u) &
+ ~(uintptr_t)0x7u;
}
static size_t ksl_blklen(size_t nodelen) {
@@ -65,9 +67,9 @@ void ngtcp2_ksl_init(ngtcp2_ksl *ksl, ngtcp2_ksl_compar compar, size_t keylen,
ksl->head = NULL;
ksl->front = ksl->back = NULL;
ksl->compar = compar;
+ ksl->n = 0;
ksl->keylen = keylen;
ksl->nodelen = nodelen;
- ksl->n = 0;
}
static ngtcp2_ksl_blk *ksl_blk_objalloc_new(ngtcp2_ksl *ksl) {
@@ -81,6 +83,7 @@ static void ksl_blk_objalloc_del(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk) {
static int ksl_head_init(ngtcp2_ksl *ksl) {
ngtcp2_ksl_blk *head = ksl_blk_objalloc_new(ksl);
+
if (!head) {
return NGTCP2_ERR_NOMEM;
}
@@ -142,21 +145,22 @@ static ngtcp2_ksl_blk *ksl_split_blk(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk) {
rblk->next = blk->next;
blk->next = rblk;
+
if (rblk->next) {
rblk->next->prev = rblk;
} else if (ksl->back == blk) {
ksl->back = rblk;
}
+
rblk->prev = blk;
rblk->leaf = blk->leaf;
rblk->n = blk->n / 2;
+ blk->n -= rblk->n;
- memcpy(rblk->nodes, blk->nodes + ksl->nodelen * (blk->n - rblk->n),
+ memcpy(rblk->nodes, blk->nodes + ksl->nodelen * blk->n,
ksl->nodelen * rblk->n);
- blk->n -= rblk->n;
-
assert(blk->n >= NGTCP2_KSL_MIN_NBLK);
assert(rblk->n >= NGTCP2_KSL_MIN_NBLK);
@@ -172,7 +176,7 @@ static ngtcp2_ksl_blk *ksl_split_blk(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk) {
* codes:
*
* NGTCP2_ERR_NOMEM
- * Out of memory.
+ * Out of memory.
*/
static int ksl_split_node(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk, size_t i) {
ngtcp2_ksl_node *node;
@@ -206,7 +210,7 @@ static int ksl_split_node(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk, size_t i) {
* codes:
*
* NGTCP2_ERR_NOMEM
- * Out of memory.
+ * Out of memory.
*/
static int ksl_split_head(ngtcp2_ksl *ksl) {
ngtcp2_ksl_blk *rblk = NULL, *lblk, *nhead = NULL;
@@ -220,10 +224,12 @@ static int ksl_split_head(ngtcp2_ksl *ksl) {
lblk = ksl->head;
nhead = ksl_blk_objalloc_new(ksl);
+
if (nhead == NULL) {
ksl_blk_objalloc_del(ksl, rblk);
return NGTCP2_ERR_NOMEM;
}
+
nhead->next = nhead->prev = NULL;
nhead->n = 2;
nhead->leaf = 0;
@@ -242,9 +248,9 @@ static int ksl_split_head(ngtcp2_ksl *ksl) {
}
/*
- * insert_node inserts a node whose key is |key| with the associated
- * |data| at the index of |i|. This function assumes that the number
- * of nodes contained by |blk| is strictly less than
+ * ksl_insert_node inserts a node whose key is |key| with the
+ * associated |data| at the index of |i|. This function assumes that
+ * the number of nodes contained by |blk| is strictly less than
* NGTCP2_KSL_MAX_NBLK.
*/
static void ksl_insert_node(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk, size_t i,
@@ -263,8 +269,8 @@ static void ksl_insert_node(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk, size_t i,
++blk->n;
}
-static size_t ksl_bsearch(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk,
- const ngtcp2_ksl_key *key, ngtcp2_ksl_compar compar) {
+static size_t ksl_search(const ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk,
+ const ngtcp2_ksl_key *key, ngtcp2_ksl_compar compar) {
size_t i;
ngtcp2_ksl_node *node;
@@ -290,18 +296,17 @@ int ngtcp2_ksl_insert(ngtcp2_ksl *ksl, ngtcp2_ksl_it *it,
}
}
- blk = ksl->head;
-
- if (blk->n == NGTCP2_KSL_MAX_NBLK) {
+ if (ksl->head->n == NGTCP2_KSL_MAX_NBLK) {
rv = ksl_split_head(ksl);
if (rv != 0) {
return rv;
}
- blk = ksl->head;
}
+ blk = ksl->head;
+
for (;;) {
- i = ksl_bsearch(ksl, blk, key, ksl->compar);
+ i = ksl_search(ksl, blk, key, ksl->compar);
if (blk->leaf) {
if (i < blk->n &&
@@ -309,13 +314,17 @@ int ngtcp2_ksl_insert(ngtcp2_ksl *ksl, ngtcp2_ksl_it *it,
if (it) {
*it = ngtcp2_ksl_end(ksl);
}
+
return NGTCP2_ERR_INVALID_ARGUMENT;
}
+
ksl_insert_node(ksl, blk, i, key, data);
++ksl->n;
+
if (it) {
ngtcp2_ksl_it_init(it, ksl, blk, i);
}
+
return 0;
}
@@ -328,16 +337,21 @@ int ngtcp2_ksl_insert(ngtcp2_ksl *ksl, ngtcp2_ksl_it *it,
if (rv != 0) {
return rv;
}
+
node = ngtcp2_ksl_nth_node(ksl, blk, blk->n - 1);
}
+
ksl_node_set_key(ksl, node, key);
blk = node->blk;
}
+
ksl_insert_node(ksl, blk, blk->n, key, data);
++ksl->n;
+
if (it) {
ngtcp2_ksl_it_init(it, ksl, blk, blk->n - 1);
}
+
return 0;
}
@@ -348,8 +362,10 @@ int ngtcp2_ksl_insert(ngtcp2_ksl *ksl, ngtcp2_ksl_it *it,
if (rv != 0) {
return rv;
}
+
if (ksl->compar((ngtcp2_ksl_key *)node->key, key)) {
node = ngtcp2_ksl_nth_node(ksl, blk, i + 1);
+
if (ksl->compar((ngtcp2_ksl_key *)node->key, key)) {
ksl_node_set_key(ksl, node, key);
}
@@ -375,19 +391,22 @@ static void ksl_remove_node(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk, size_t i) {
* ksl_merge_node merges 2 nodes which are the nodes at the index of
* |i| and |i + 1|.
*
- * If |blk| is the direct descendant of head (root) block and the head
- * block contains just 2 nodes, the merged block becomes head block,
- * which decreases the height of |ksl| by 1.
+ * If |blk| is the head (root) block and it contains just 2 nodes
+ * before merging nodes, the merged block becomes head block, which
+ * decreases the height of |ksl| by 1.
*
* This function returns the pointer to the merged block.
*/
static ngtcp2_ksl_blk *ksl_merge_node(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk,
size_t i) {
+ ngtcp2_ksl_node *lnode;
ngtcp2_ksl_blk *lblk, *rblk;
assert(i + 1 < blk->n);
- lblk = ngtcp2_ksl_nth_node(ksl, blk, i)->blk;
+ lnode = ngtcp2_ksl_nth_node(ksl, blk, i);
+
+ lblk = lnode->blk;
rblk = ngtcp2_ksl_nth_node(ksl, blk, i + 1)->blk;
assert(lblk->n + rblk->n < NGTCP2_KSL_MAX_NBLK);
@@ -397,6 +416,7 @@ static ngtcp2_ksl_blk *ksl_merge_node(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk,
lblk->n += rblk->n;
lblk->next = rblk->next;
+
if (lblk->next) {
lblk->next->prev = lblk;
} else if (ksl->back == rblk) {
@@ -410,7 +430,7 @@ static ngtcp2_ksl_blk *ksl_merge_node(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk,
ksl->head = lblk;
} else {
ksl_remove_node(ksl, blk, i + 1);
- ksl_node_set_key(ksl, ngtcp2_ksl_nth_node(ksl, blk, i),
+ ksl_node_set_key(ksl, lnode,
ngtcp2_ksl_nth_node(ksl, lblk, lblk->n - 1)->key);
}
@@ -424,6 +444,7 @@ static ngtcp2_ksl_blk *ksl_merge_node(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk,
*/
static void ksl_shift_left(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk, size_t i) {
ngtcp2_ksl_node *lnode, *rnode;
+ ngtcp2_ksl_blk *lblk, *rblk;
size_t n;
assert(i > 0);
@@ -431,35 +452,37 @@ static void ksl_shift_left(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk, size_t i) {
lnode = ngtcp2_ksl_nth_node(ksl, blk, i - 1);
rnode = ngtcp2_ksl_nth_node(ksl, blk, i);
- assert(lnode->blk->n < NGTCP2_KSL_MAX_NBLK);
- assert(rnode->blk->n > NGTCP2_KSL_MIN_NBLK);
+ lblk = lnode->blk;
+ rblk = rnode->blk;
+
+ assert(lblk->n < NGTCP2_KSL_MAX_NBLK);
+ assert(rblk->n > NGTCP2_KSL_MIN_NBLK);
- n = (lnode->blk->n + rnode->blk->n + 1) / 2 - lnode->blk->n;
+ n = (lblk->n + rblk->n + 1) / 2 - lblk->n;
assert(n > 0);
- assert(lnode->blk->n <= NGTCP2_KSL_MAX_NBLK - n);
- assert(rnode->blk->n >= NGTCP2_KSL_MIN_NBLK + n);
+ assert(lblk->n <= NGTCP2_KSL_MAX_NBLK - n);
+ assert(rblk->n >= NGTCP2_KSL_MIN_NBLK + n);
- memcpy(lnode->blk->nodes + ksl->nodelen * lnode->blk->n, rnode->blk->nodes,
- ksl->nodelen * n);
+ memcpy(lblk->nodes + ksl->nodelen * lblk->n, rblk->nodes, ksl->nodelen * n);
- lnode->blk->n += (uint32_t)n;
- rnode->blk->n -= (uint32_t)n;
+ lblk->n += (uint32_t)n;
+ rblk->n -= (uint32_t)n;
- ksl_node_set_key(
- ksl, lnode, ngtcp2_ksl_nth_node(ksl, lnode->blk, lnode->blk->n - 1)->key);
+ ksl_node_set_key(ksl, lnode,
+ ngtcp2_ksl_nth_node(ksl, lblk, lblk->n - 1)->key);
- memmove(rnode->blk->nodes, rnode->blk->nodes + ksl->nodelen * n,
- ksl->nodelen * rnode->blk->n);
+ memmove(rblk->nodes, rblk->nodes + ksl->nodelen * n, ksl->nodelen * rblk->n);
}
/*
* ksl_shift_right moves the last nodes in blk->nodes[i]->blk->nodes
* to blk->nodes[i + 1]->blk->nodes in a manner that they have the
- * same amount of nodes as much as possible..
+ * same amount of nodes as much as possible.
*/
static void ksl_shift_right(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk, size_t i) {
ngtcp2_ksl_node *lnode, *rnode;
+ ngtcp2_ksl_blk *lblk, *rblk;
size_t n;
assert(i < blk->n - 1);
@@ -467,26 +490,27 @@ static void ksl_shift_right(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk, size_t i) {
lnode = ngtcp2_ksl_nth_node(ksl, blk, i);
rnode = ngtcp2_ksl_nth_node(ksl, blk, i + 1);
- assert(lnode->blk->n > NGTCP2_KSL_MIN_NBLK);
- assert(rnode->blk->n < NGTCP2_KSL_MAX_NBLK);
+ lblk = lnode->blk;
+ rblk = rnode->blk;
- n = (lnode->blk->n + rnode->blk->n + 1) / 2 - rnode->blk->n;
+ assert(lblk->n > NGTCP2_KSL_MIN_NBLK);
+ assert(rblk->n < NGTCP2_KSL_MAX_NBLK);
+
+ n = (lblk->n + rblk->n + 1) / 2 - rblk->n;
assert(n > 0);
- assert(lnode->blk->n >= NGTCP2_KSL_MIN_NBLK + n);
- assert(rnode->blk->n <= NGTCP2_KSL_MAX_NBLK - n);
+ assert(lblk->n >= NGTCP2_KSL_MIN_NBLK + n);
+ assert(rblk->n <= NGTCP2_KSL_MAX_NBLK - n);
- memmove(rnode->blk->nodes + ksl->nodelen * n, rnode->blk->nodes,
- ksl->nodelen * rnode->blk->n);
+ memmove(rblk->nodes + ksl->nodelen * n, rblk->nodes, ksl->nodelen * rblk->n);
- rnode->blk->n += (uint32_t)n;
- lnode->blk->n -= (uint32_t)n;
+ rblk->n += (uint32_t)n;
+ lblk->n -= (uint32_t)n;
- memcpy(rnode->blk->nodes, lnode->blk->nodes + ksl->nodelen * lnode->blk->n,
- ksl->nodelen * n);
+ memcpy(rblk->nodes, lblk->nodes + ksl->nodelen * lblk->n, ksl->nodelen * n);
- ksl_node_set_key(
- ksl, lnode, ngtcp2_ksl_nth_node(ksl, lnode->blk, lnode->blk->n - 1)->key);
+ ksl_node_set_key(ksl, lnode,
+ ngtcp2_ksl_nth_node(ksl, lblk, lblk->n - 1)->key);
}
/*
@@ -530,23 +554,24 @@ int ngtcp2_ksl_remove(ngtcp2_ksl *ksl, ngtcp2_ksl_it *it,
ngtcp2_ksl_node *node;
size_t i;
- if (!ksl->head) {
+ if (!blk) {
return NGTCP2_ERR_INVALID_ARGUMENT;
}
if (!blk->leaf && blk->n == 2 &&
ngtcp2_ksl_nth_node(ksl, blk, 0)->blk->n == NGTCP2_KSL_MIN_NBLK &&
ngtcp2_ksl_nth_node(ksl, blk, 1)->blk->n == NGTCP2_KSL_MIN_NBLK) {
- blk = ksl_merge_node(ksl, ksl->head, 0);
+ blk = ksl_merge_node(ksl, blk, 0);
}
for (;;) {
- i = ksl_bsearch(ksl, blk, key, ksl->compar);
+ i = ksl_search(ksl, blk, key, ksl->compar);
if (i == blk->n) {
if (it) {
*it = ngtcp2_ksl_end(ksl);
}
+
return NGTCP2_ERR_INVALID_ARGUMENT;
}
@@ -555,10 +580,13 @@ int ngtcp2_ksl_remove(ngtcp2_ksl *ksl, ngtcp2_ksl_it *it,
if (it) {
*it = ngtcp2_ksl_end(ksl);
}
+
return NGTCP2_ERR_INVALID_ARGUMENT;
}
+
ksl_remove_node(ksl, blk, i);
--ksl->n;
+
if (it) {
if (blk->n == i && blk->next) {
ngtcp2_ksl_it_init(it, ksl, blk->next, 0);
@@ -566,6 +594,7 @@ int ngtcp2_ksl_remove(ngtcp2_ksl *ksl, ngtcp2_ksl_it *it,
ngtcp2_ksl_it_init(it, ksl, blk, i);
}
}
+
return 0;
}
@@ -582,6 +611,7 @@ int ngtcp2_ksl_remove(ngtcp2_ksl *ksl, ngtcp2_ksl_it *it,
ngtcp2_ksl_nth_node(ksl, blk, i + 1)->blk->n > NGTCP2_KSL_MIN_NBLK) {
ksl_shift_left(ksl, blk, i + 1);
blk = node->blk;
+
continue;
}
@@ -589,6 +619,7 @@ int ngtcp2_ksl_remove(ngtcp2_ksl *ksl, ngtcp2_ksl_it *it,
ngtcp2_ksl_nth_node(ksl, blk, i - 1)->blk->n > NGTCP2_KSL_MIN_NBLK) {
ksl_shift_right(ksl, blk, i - 1);
blk = node->blk;
+
continue;
}
@@ -603,48 +634,12 @@ int ngtcp2_ksl_remove(ngtcp2_ksl *ksl, ngtcp2_ksl_it *it,
}
}
-ngtcp2_ksl_it ngtcp2_ksl_lower_bound(ngtcp2_ksl *ksl,
+ngtcp2_ksl_it ngtcp2_ksl_lower_bound(const ngtcp2_ksl *ksl,
const ngtcp2_ksl_key *key) {
- ngtcp2_ksl_blk *blk = ksl->head;
- ngtcp2_ksl_it it;
- size_t i;
-
- if (!blk) {
- ngtcp2_ksl_it_init(&it, ksl, &null_blk, 0);
- return it;
- }
-
- for (;;) {
- i = ksl_bsearch(ksl, blk, key, ksl->compar);
-
- if (blk->leaf) {
- if (i == blk->n && blk->next) {
- blk = blk->next;
- i = 0;
- }
- ngtcp2_ksl_it_init(&it, ksl, blk, i);
- return it;
- }
-
- if (i == blk->n) {
- /* This happens if descendant has smaller key. Fast forward to
- find last node in this subtree. */
- for (; !blk->leaf; blk = ngtcp2_ksl_nth_node(ksl, blk, blk->n - 1)->blk)
- ;
- if (blk->next) {
- blk = blk->next;
- i = 0;
- } else {
- i = blk->n;
- }
- ngtcp2_ksl_it_init(&it, ksl, blk, i);
- return it;
- }
- blk = ngtcp2_ksl_nth_node(ksl, blk, i)->blk;
- }
+ return ngtcp2_ksl_lower_bound_compar(ksl, key, ksl->compar);
}
-ngtcp2_ksl_it ngtcp2_ksl_lower_bound_compar(ngtcp2_ksl *ksl,
+ngtcp2_ksl_it ngtcp2_ksl_lower_bound_compar(const ngtcp2_ksl *ksl,
const ngtcp2_ksl_key *key,
ngtcp2_ksl_compar compar) {
ngtcp2_ksl_blk *blk = ksl->head;
@@ -657,14 +652,16 @@ ngtcp2_ksl_it ngtcp2_ksl_lower_bound_compar(ngtcp2_ksl *ksl,
}
for (;;) {
- i = ksl_bsearch(ksl, blk, key, compar);
+ i = ksl_search(ksl, blk, key, compar);
if (blk->leaf) {
if (i == blk->n && blk->next) {
blk = blk->next;
i = 0;
}
+
ngtcp2_ksl_it_init(&it, ksl, blk, i);
+
return it;
}
@@ -673,15 +670,19 @@ ngtcp2_ksl_it ngtcp2_ksl_lower_bound_compar(ngtcp2_ksl *ksl,
find last node in this subtree. */
for (; !blk->leaf; blk = ngtcp2_ksl_nth_node(ksl, blk, blk->n - 1)->blk)
;
+
if (blk->next) {
blk = blk->next;
i = 0;
} else {
i = blk->n;
}
+
ngtcp2_ksl_it_init(&it, ksl, blk, i);
+
return it;
}
+
blk = ngtcp2_ksl_nth_node(ksl, blk, i)->blk;
}
}
@@ -695,7 +696,7 @@ void ngtcp2_ksl_update_key(ngtcp2_ksl *ksl, const ngtcp2_ksl_key *old_key,
assert(ksl->head);
for (;;) {
- i = ksl_bsearch(ksl, blk, old_key, ksl->compar);
+ i = ksl_search(ksl, blk, old_key, ksl->compar);
assert(i < blk->n);
node = ngtcp2_ksl_nth_node(ksl, blk, i);
@@ -703,6 +704,7 @@ void ngtcp2_ksl_update_key(ngtcp2_ksl *ksl, const ngtcp2_ksl_key *old_key,
if (blk->leaf) {
assert(key_equal(ksl->compar, (ngtcp2_ksl_key *)node->key, old_key));
ksl_node_set_key(ksl, node, new_key);
+
return;
}
@@ -715,7 +717,7 @@ void ngtcp2_ksl_update_key(ngtcp2_ksl *ksl, const ngtcp2_ksl_key *old_key,
}
}
-size_t ngtcp2_ksl_len(ngtcp2_ksl *ksl) { return ksl->n; }
+size_t ngtcp2_ksl_len(const ngtcp2_ksl *ksl) { return ksl->n; }
void ngtcp2_ksl_clear(ngtcp2_ksl *ksl) {
if (!ksl->head) {
@@ -733,7 +735,8 @@ void ngtcp2_ksl_clear(ngtcp2_ksl *ksl) {
}
#ifndef WIN32
-static void ksl_print(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk, size_t level) {
+static void ksl_print(const ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk,
+ size_t level) {
size_t i;
ngtcp2_ksl_node *node;
@@ -744,7 +747,9 @@ static void ksl_print(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk, size_t level) {
node = ngtcp2_ksl_nth_node(ksl, blk, i);
fprintf(stderr, " %" PRId64, *(int64_t *)(void *)node->key);
}
+
fprintf(stderr, "\n");
+
return;
}
@@ -753,7 +758,7 @@ static void ksl_print(ngtcp2_ksl *ksl, ngtcp2_ksl_blk *blk, size_t level) {
}
}
-void ngtcp2_ksl_print(ngtcp2_ksl *ksl) {
+void ngtcp2_ksl_print(const ngtcp2_ksl *ksl) {
if (!ksl->head) {
return;
}
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.h b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.h
index d972bfc..89b5f2b 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.h
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ksl.h
@@ -35,10 +35,6 @@
#include "ngtcp2_objalloc.h"
-/*
- * Skip List using single key instead of range.
- */
-
#define NGTCP2_KSL_DEGR 16
/* NGTCP2_KSL_MAX_NBLK is the maximum number of nodes which a single
block can contain. */
@@ -85,7 +81,8 @@ struct ngtcp2_ksl_blk {
struct {
/* next points to the next block if leaf field is nonzero. */
ngtcp2_ksl_blk *next;
- /* prev points to the previous block if leaf field is nonzero. */
+ /* prev points to the previous block if leaf field is
+ nonzero. */
ngtcp2_ksl_blk *prev;
/* n is the number of nodes this object contains in nodes. */
uint32_t n;
@@ -120,7 +117,7 @@ typedef struct ngtcp2_ksl ngtcp2_ksl;
typedef struct ngtcp2_ksl_it ngtcp2_ksl_it;
/*
- * ngtcp2_ksl_it is a forward iterator to iterate nodes.
+ * ngtcp2_ksl_it is a bidirectional iterator to iterate nodes.
*/
struct ngtcp2_ksl_it {
const ngtcp2_ksl *ksl;
@@ -140,6 +137,7 @@ struct ngtcp2_ksl {
/* back points to the last leaf block. */
ngtcp2_ksl_blk *back;
ngtcp2_ksl_compar compar;
+ /* n is the number of elements stored. */
size_t n;
/* keylen is the size of key */
size_t keylen;
@@ -150,7 +148,8 @@ struct ngtcp2_ksl {
/*
* ngtcp2_ksl_init initializes |ksl|. |compar| specifies compare
- * function. |keylen| is the length of key.
+ * function. |keylen| is the length of key and must be at least
+ * sizeof(uint64_t).
*/
void ngtcp2_ksl_init(ngtcp2_ksl *ksl, ngtcp2_ksl_compar compar, size_t keylen,
const ngtcp2_mem *mem);
@@ -165,15 +164,15 @@ void ngtcp2_ksl_free(ngtcp2_ksl *ksl);
/*
* ngtcp2_ksl_insert inserts |key| with its associated |data|. On
* successful insertion, the iterator points to the inserted node is
- * stored in |*it|.
+ * stored in |*it| if |it| is not NULL.
*
* This function returns 0 if it succeeds, or one of the following
* negative error codes:
*
* NGTCP2_ERR_NOMEM
- * Out of memory.
+ * Out of memory.
* NGTCP2_ERR_INVALID_ARGUMENT
- * |key| already exists.
+ * |key| already exists.
*/
int ngtcp2_ksl_insert(ngtcp2_ksl *ksl, ngtcp2_ksl_it *it,
const ngtcp2_ksl_key *key, void *data);
@@ -184,13 +183,14 @@ int ngtcp2_ksl_insert(ngtcp2_ksl *ksl, ngtcp2_ksl_it *it,
* This function assigns the iterator to |*it|, which points to the
* node which is located at the right next of the removed node if |it|
* is not NULL. If |key| is not found, no deletion takes place and
- * the return value of ngtcp2_ksl_end(ksl) is assigned to |*it|.
+ * the return value of ngtcp2_ksl_end(ksl) is assigned to |*it| if
+ * |it| is not NULL.
*
* This function returns 0 if it succeeds, or one of the following
* negative error codes:
*
* NGTCP2_ERR_INVALID_ARGUMENT
- * |key| does not exist.
+ * |key| does not exist.
*/
int ngtcp2_ksl_remove(ngtcp2_ksl *ksl, ngtcp2_ksl_it *it,
const ngtcp2_ksl_key *key);
@@ -213,14 +213,14 @@ int ngtcp2_ksl_remove_hint(ngtcp2_ksl *ksl, ngtcp2_ksl_it *it,
* node, it returns the iterator which satisfies ngtcp2_ksl_it_end(it)
* != 0.
*/
-ngtcp2_ksl_it ngtcp2_ksl_lower_bound(ngtcp2_ksl *ksl,
+ngtcp2_ksl_it ngtcp2_ksl_lower_bound(const ngtcp2_ksl *ksl,
const ngtcp2_ksl_key *key);
/*
* ngtcp2_ksl_lower_bound_compar works like ngtcp2_ksl_lower_bound,
* but it takes custom function |compar| to do lower bound search.
*/
-ngtcp2_ksl_it ngtcp2_ksl_lower_bound_compar(ngtcp2_ksl *ksl,
+ngtcp2_ksl_it ngtcp2_ksl_lower_bound_compar(const ngtcp2_ksl *ksl,
const ngtcp2_ksl_key *key,
ngtcp2_ksl_compar compar);
@@ -235,7 +235,8 @@ void ngtcp2_ksl_update_key(ngtcp2_ksl *ksl, const ngtcp2_ksl_key *old_key,
/*
* ngtcp2_ksl_begin returns the iterator which points to the first
* node. If there is no node in |ksl|, it returns the iterator which
- * satisfies ngtcp2_ksl_it_end(it) != 0.
+ * satisfies both ngtcp2_ksl_it_begin(it) != 0 and
+ * ngtcp2_ksl_it_end(it) != 0.
*/
ngtcp2_ksl_it ngtcp2_ksl_begin(const ngtcp2_ksl *ksl);
@@ -243,14 +244,15 @@ ngtcp2_ksl_it ngtcp2_ksl_begin(const ngtcp2_ksl *ksl);
* ngtcp2_ksl_end returns the iterator which points to the node
* following the last node. The returned object satisfies
* ngtcp2_ksl_it_end(). If there is no node in |ksl|, it returns the
- * iterator which satisfies ngtcp2_ksl_it_begin(it) != 0.
+ * iterator which satisfies ngtcp2_ksl_it_begin(it) != 0 and
+ * ngtcp2_ksl_it_end(it) != 0.
*/
ngtcp2_ksl_it ngtcp2_ksl_end(const ngtcp2_ksl *ksl);
/*
* ngtcp2_ksl_len returns the number of elements stored in |ksl|.
*/
-size_t ngtcp2_ksl_len(ngtcp2_ksl *ksl);
+size_t ngtcp2_ksl_len(const ngtcp2_ksl *ksl);
/*
* ngtcp2_ksl_clear removes all elements stored in |ksl|.
@@ -269,7 +271,7 @@ void ngtcp2_ksl_clear(ngtcp2_ksl *ksl);
* that the key is of type int64_t. This function should be used for
* the debugging purpose only.
*/
-void ngtcp2_ksl_print(ngtcp2_ksl *ksl);
+void ngtcp2_ksl_print(const ngtcp2_ksl *ksl);
#endif /* !WIN32 */
/*
@@ -304,16 +306,16 @@ void ngtcp2_ksl_it_init(ngtcp2_ksl_it *it, const ngtcp2_ksl *ksl,
void ngtcp2_ksl_it_prev(ngtcp2_ksl_it *it);
/*
- * ngtcp2_ksl_it_end returns nonzero if |it| points to the beyond the
- * last node.
+ * ngtcp2_ksl_it_end returns nonzero if |it| points to the one beyond
+ * the last node.
*/
#define ngtcp2_ksl_it_end(IT) \
((IT)->blk->n == (IT)->i && (IT)->blk->next == NULL)
/*
* ngtcp2_ksl_it_begin returns nonzero if |it| points to the first
- * node. |it| might satisfy both ngtcp2_ksl_it_begin(&it) and
- * ngtcp2_ksl_it_end(&it) if the skip list has no node.
+ * node. |it| might satisfy both ngtcp2_ksl_it_begin(it) != 0 and
+ * ngtcp2_ksl_it_end(it) != 0 if the skip list has no node.
*/
int ngtcp2_ksl_it_begin(const ngtcp2_ksl_it *it);
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_macro.h b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_macro.h
index 46cfebc..62d7036 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_macro.h
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_macro.h
@@ -34,7 +34,7 @@
#include <ngtcp2/ngtcp2.h>
#define ngtcp2_struct_of(ptr, type, member) \
- ((type *)(void *)((char *)(ptr)-offsetof(type, member)))
+ ((type *)(void *)((char *)(ptr) - offsetof(type, member)))
/* ngtcp2_list_insert inserts |T| before |*PD|. The contract is that
this is singly linked list, and the next element is pointed by next
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
index 33e9fcc..10cb657 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
@@ -35,7 +35,6 @@
void ngtcp2_map_init(ngtcp2_map *map, const ngtcp2_mem *mem) {
map->mem = mem;
- map->tablelen = 0;
map->tablelenbits = 0;
map->table = NULL;
map->size = 0;
@@ -49,33 +48,20 @@ void ngtcp2_map_free(ngtcp2_map *map) {
ngtcp2_mem_free(map->mem, map->table);
}
-void ngtcp2_map_each_free(ngtcp2_map *map, int (*func)(void *data, void *ptr),
- void *ptr) {
- uint32_t i;
- ngtcp2_map_bucket *bkt;
-
- for (i = 0; i < map->tablelen; ++i) {
- bkt = &map->table[i];
-
- if (bkt->data == NULL) {
- continue;
- }
-
- func(bkt->data, ptr);
- }
-}
-
-int ngtcp2_map_each(ngtcp2_map *map, int (*func)(void *data, void *ptr),
+int ngtcp2_map_each(const ngtcp2_map *map, int (*func)(void *data, void *ptr),
void *ptr) {
int rv;
- uint32_t i;
+ size_t i;
ngtcp2_map_bucket *bkt;
+ size_t tablelen;
if (map->size == 0) {
return 0;
}
- for (i = 0; i < map->tablelen; ++i) {
+ tablelen = 1u << map->tablelenbits;
+
+ for (i = 0; i < tablelen; ++i) {
bkt = &map->table[i];
if (bkt->data == NULL) {
@@ -95,78 +81,81 @@ static uint32_t hash(ngtcp2_map_key_type key) {
return (uint32_t)((key * 11400714819323198485llu) >> 32);
}
-static size_t h2idx(uint32_t hash, uint32_t bits) {
- return hash >> (32 - bits);
-}
-
-static size_t distance(uint32_t tablelen, uint32_t tablelenbits,
- ngtcp2_map_bucket *bkt, size_t idx) {
- return (idx - h2idx(bkt->hash, tablelenbits)) & (tablelen - 1);
-}
+static size_t h2idx(uint32_t hash, size_t bits) { return hash >> (32 - bits); }
static void map_bucket_swap(ngtcp2_map_bucket *bkt, uint32_t *phash,
- ngtcp2_map_key_type *pkey, void **pdata) {
+ uint32_t *ppsl, ngtcp2_map_key_type *pkey,
+ void **pdata) {
uint32_t h = bkt->hash;
+ uint32_t psl = bkt->psl;
ngtcp2_map_key_type key = bkt->key;
void *data = bkt->data;
bkt->hash = *phash;
+ bkt->psl = *ppsl;
bkt->key = *pkey;
bkt->data = *pdata;
*phash = h;
+ *ppsl = psl;
*pkey = key;
*pdata = data;
}
static void map_bucket_set_data(ngtcp2_map_bucket *bkt, uint32_t hash,
- ngtcp2_map_key_type key, void *data) {
+ uint32_t psl, ngtcp2_map_key_type key,
+ void *data) {
bkt->hash = hash;
+ bkt->psl = psl;
bkt->key = key;
bkt->data = data;
}
#ifndef WIN32
-void ngtcp2_map_print_distance(ngtcp2_map *map) {
- uint32_t i;
+void ngtcp2_map_print_distance(const ngtcp2_map *map) {
+ size_t i;
size_t idx;
ngtcp2_map_bucket *bkt;
+ size_t tablelen;
- for (i = 0; i < map->tablelen; ++i) {
+ if (map->size == 0) {
+ return;
+ }
+
+ tablelen = 1u << map->tablelenbits;
+
+ for (i = 0; i < tablelen; ++i) {
bkt = &map->table[i];
if (bkt->data == NULL) {
- fprintf(stderr, "@%u <EMPTY>\n", i);
+ fprintf(stderr, "@%zu <EMPTY>\n", i);
continue;
}
idx = h2idx(bkt->hash, map->tablelenbits);
- fprintf(stderr, "@%u hash=%08x key=%" PRIu64 " base=%zu distance=%zu\n", i,
- bkt->hash, bkt->key, idx,
- distance(map->tablelen, map->tablelenbits, bkt, idx));
+ fprintf(stderr, "@%zu hash=%08x key=%" PRIu64 " base=%zu distance=%u\n", i,
+ bkt->hash, bkt->key, idx, bkt->psl);
}
}
#endif /* !WIN32 */
-static int insert(ngtcp2_map_bucket *table, uint32_t tablelen,
- uint32_t tablelenbits, uint32_t hash, ngtcp2_map_key_type key,
- void *data) {
+static int insert(ngtcp2_map_bucket *table, size_t tablelenbits, uint32_t hash,
+ ngtcp2_map_key_type key, void *data) {
size_t idx = h2idx(hash, tablelenbits);
- size_t d = 0, dd;
+ uint32_t psl = 0;
ngtcp2_map_bucket *bkt;
+ size_t mask = (1u << tablelenbits) - 1;
for (;;) {
bkt = &table[idx];
if (bkt->data == NULL) {
- map_bucket_set_data(bkt, hash, key, data);
+ map_bucket_set_data(bkt, hash, psl, key, data);
return 0;
}
- dd = distance(tablelen, tablelenbits, bkt, idx);
- if (d > dd) {
- map_bucket_swap(bkt, &hash, &key, &data);
- d = dd;
+ if (psl > bkt->psl) {
+ map_bucket_swap(bkt, &hash, &psl, &key, &data);
} else if (bkt->key == key) {
/* TODO This check is just a waste after first swap or if this
function is called from map_resize. That said, there is no
@@ -175,40 +164,41 @@ static int insert(ngtcp2_map_bucket *table, uint32_t tablelen,
return NGTCP2_ERR_INVALID_ARGUMENT;
}
- ++d;
- idx = (idx + 1) & (tablelen - 1);
+ ++psl;
+ idx = (idx + 1) & mask;
}
}
-/* new_tablelen must be power of 2 and new_tablelen == (1 <<
- new_tablelenbits) must hold. */
-static int map_resize(ngtcp2_map *map, uint32_t new_tablelen,
- uint32_t new_tablelenbits) {
- uint32_t i;
+static int map_resize(ngtcp2_map *map, size_t new_tablelenbits) {
+ size_t i;
ngtcp2_map_bucket *new_table;
ngtcp2_map_bucket *bkt;
+ size_t tablelen;
int rv;
(void)rv;
- new_table =
- ngtcp2_mem_calloc(map->mem, new_tablelen, sizeof(ngtcp2_map_bucket));
+ new_table = ngtcp2_mem_calloc(map->mem, 1u << new_tablelenbits,
+ sizeof(ngtcp2_map_bucket));
if (new_table == NULL) {
return NGTCP2_ERR_NOMEM;
}
- for (i = 0; i < map->tablelen; ++i) {
- bkt = &map->table[i];
- if (bkt->data == NULL) {
- continue;
- }
- rv = insert(new_table, new_tablelen, new_tablelenbits, bkt->hash, bkt->key,
- bkt->data);
+ if (map->size) {
+ tablelen = 1u << map->tablelenbits;
- assert(0 == rv);
+ for (i = 0; i < tablelen; ++i) {
+ bkt = &map->table[i];
+ if (bkt->data == NULL) {
+ continue;
+ }
+
+ rv = insert(new_table, new_tablelenbits, bkt->hash, bkt->key, bkt->data);
+
+ assert(0 == rv);
+ }
}
ngtcp2_mem_free(map->mem, map->table);
- map->tablelen = new_tablelen;
map->tablelenbits = new_tablelenbits;
map->table = new_table;
@@ -221,35 +211,38 @@ int ngtcp2_map_insert(ngtcp2_map *map, ngtcp2_map_key_type key, void *data) {
assert(data);
/* Load factor is 0.75 */
- if ((map->size + 1) * 4 > map->tablelen * 3) {
- if (map->tablelen) {
- rv = map_resize(map, map->tablelen * 2, map->tablelenbits + 1);
+ /* Under the very initial condition, that is map->size == 0 and
+ map->tablelenbits == 0, 4 > 3 still holds nicely. */
+ if ((map->size + 1) * 4 > (1u << map->tablelenbits) * 3) {
+ if (map->tablelenbits) {
+ rv = map_resize(map, map->tablelenbits + 1);
if (rv != 0) {
return rv;
}
} else {
- rv = map_resize(map, 1 << NGTCP2_INITIAL_TABLE_LENBITS,
- NGTCP2_INITIAL_TABLE_LENBITS);
+ rv = map_resize(map, NGTCP2_INITIAL_TABLE_LENBITS);
if (rv != 0) {
return rv;
}
}
}
- rv = insert(map->table, map->tablelen, map->tablelenbits, hash(key), key,
- data);
+ rv = insert(map->table, map->tablelenbits, hash(key), key, data);
if (rv != 0) {
return rv;
}
+
++map->size;
+
return 0;
}
-void *ngtcp2_map_find(ngtcp2_map *map, ngtcp2_map_key_type key) {
+void *ngtcp2_map_find(const ngtcp2_map *map, ngtcp2_map_key_type key) {
uint32_t h;
size_t idx;
ngtcp2_map_bucket *bkt;
size_t d = 0;
+ size_t mask;
if (map->size == 0) {
return NULL;
@@ -257,12 +250,12 @@ void *ngtcp2_map_find(ngtcp2_map *map, ngtcp2_map_key_type key) {
h = hash(key);
idx = h2idx(h, map->tablelenbits);
+ mask = (1u << map->tablelenbits) - 1;
for (;;) {
bkt = &map->table[idx];
- if (bkt->data == NULL ||
- d > distance(map->tablelen, map->tablelenbits, bkt, idx)) {
+ if (bkt->data == NULL || d > bkt->psl) {
return NULL;
}
@@ -271,7 +264,7 @@ void *ngtcp2_map_find(ngtcp2_map *map, ngtcp2_map_key_type key) {
}
++d;
- idx = (idx + 1) & (map->tablelen - 1);
+ idx = (idx + 1) & mask;
}
}
@@ -280,6 +273,7 @@ int ngtcp2_map_remove(ngtcp2_map *map, ngtcp2_map_key_type key) {
size_t idx, didx;
ngtcp2_map_bucket *bkt;
size_t d = 0;
+ size_t mask;
if (map->size == 0) {
return NGTCP2_ERR_INVALID_ARGUMENT;
@@ -287,33 +281,31 @@ int ngtcp2_map_remove(ngtcp2_map *map, ngtcp2_map_key_type key) {
h = hash(key);
idx = h2idx(h, map->tablelenbits);
+ mask = (1u << map->tablelenbits) - 1;
for (;;) {
bkt = &map->table[idx];
- if (bkt->data == NULL ||
- d > distance(map->tablelen, map->tablelenbits, bkt, idx)) {
+ if (bkt->data == NULL || d > bkt->psl) {
return NGTCP2_ERR_INVALID_ARGUMENT;
}
if (bkt->key == key) {
- map_bucket_set_data(bkt, 0, 0, NULL);
-
didx = idx;
- idx = (idx + 1) & (map->tablelen - 1);
+ idx = (idx + 1) & mask;
for (;;) {
bkt = &map->table[idx];
- if (bkt->data == NULL ||
- distance(map->tablelen, map->tablelenbits, bkt, idx) == 0) {
+ if (bkt->data == NULL || bkt->psl == 0) {
+ map_bucket_set_data(&map->table[didx], 0, 0, 0, NULL);
break;
}
+ --bkt->psl;
map->table[didx] = *bkt;
- map_bucket_set_data(bkt, 0, 0, NULL);
didx = idx;
- idx = (idx + 1) & (map->tablelen - 1);
+ idx = (idx + 1) & mask;
}
--map->size;
@@ -322,17 +314,17 @@ int ngtcp2_map_remove(ngtcp2_map *map, ngtcp2_map_key_type key) {
}
++d;
- idx = (idx + 1) & (map->tablelen - 1);
+ idx = (idx + 1) & mask;
}
}
void ngtcp2_map_clear(ngtcp2_map *map) {
- if (map->tablelen == 0) {
+ if (map->size == 0) {
return;
}
- memset(map->table, 0, sizeof(*map->table) * map->tablelen);
+ memset(map->table, 0, sizeof(*map->table) * (1u << map->tablelenbits));
map->size = 0;
}
-size_t ngtcp2_map_size(ngtcp2_map *map) { return map->size; }
+size_t ngtcp2_map_size(const ngtcp2_map *map) { return map->size; }
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.h b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.h
index d05b165..cc85d07 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.h
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.h
@@ -40,6 +40,7 @@ typedef uint64_t ngtcp2_map_key_type;
typedef struct ngtcp2_map_bucket {
uint32_t hash;
+ uint32_t psl;
ngtcp2_map_key_type key;
void *data;
} ngtcp2_map_bucket;
@@ -48,33 +49,24 @@ typedef struct ngtcp2_map {
ngtcp2_map_bucket *table;
const ngtcp2_mem *mem;
size_t size;
- uint32_t tablelen;
- uint32_t tablelenbits;
+ size_t tablelenbits;
} ngtcp2_map;
/*
- * Initializes the map |map|.
+ * ngtcp2_map_init initializes the map |map|.
*/
void ngtcp2_map_init(ngtcp2_map *map, const ngtcp2_mem *mem);
/*
- * Deallocates any resources allocated for |map|. The stored entries
- * are not freed by this function. Use ngtcp2_map_each_free() to free
- * each entries.
+ * ngtcp2_map_free deallocates any resources allocated for |map|. The
+ * stored entries are not freed by this function. Use
+ * ngtcp2_map_each() to free each entry.
*/
void ngtcp2_map_free(ngtcp2_map *map);
/*
- * Deallocates each entries using |func| function and any resources
- * allocated for |map|. The |func| function is responsible for freeing
- * given the |data| object. The |ptr| will be passed to the |func| as
- * send argument. The return value of the |func| will be ignored.
- */
-void ngtcp2_map_each_free(ngtcp2_map *map, int (*func)(void *data, void *ptr),
- void *ptr);
-
-/*
- * Inserts the new |data| with the |key| to the map |map|.
+ * ngtcp2_map_insert inserts the new |data| with the |key| to the map
+ * |map|.
*
* This function returns 0 if it succeeds, or one of the following
* negative error codes:
@@ -82,57 +74,56 @@ void ngtcp2_map_each_free(ngtcp2_map *map, int (*func)(void *data, void *ptr),
* NGTCP2_ERR_INVALID_ARGUMENT
* The item associated by |key| already exists.
* NGTCP2_ERR_NOMEM
- * Out of memory
+ * Out of memory
*/
int ngtcp2_map_insert(ngtcp2_map *map, ngtcp2_map_key_type key, void *data);
/*
- * Returns the data associated by the key |key|. If there is no such
- * data, this function returns NULL.
+ * ngtcp2_map_find returns the entry associated by the key |key|. If
+ * there is no such entry, this function returns NULL.
*/
-void *ngtcp2_map_find(ngtcp2_map *map, ngtcp2_map_key_type key);
+void *ngtcp2_map_find(const ngtcp2_map *map, ngtcp2_map_key_type key);
/*
- * Removes the data associated by the key |key| from the |map|. The
- * removed data is not freed by this function.
+ * ngtcp2_map_remove removes the entry associated by the key |key|
+ * from the |map|. The removed entry is not freed by this function.
*
* This function returns 0 if it succeeds, or one of the following
* negative error codes:
*
* NGTCP2_ERR_INVALID_ARGUMENT
- * The data associated by |key| does not exist.
+ * The entry associated by |key| does not exist.
*/
int ngtcp2_map_remove(ngtcp2_map *map, ngtcp2_map_key_type key);
/*
- * Removes all entries from |map|.
+ * ngtcp2_map_clear removes all entries from |map|. The removed entry
+ * is not freed by this function.
*/
void ngtcp2_map_clear(ngtcp2_map *map);
/*
- * Returns the number of items stored in the map |map|.
+ * ngtcp2_map_size returns the number of items stored in the map
+ * |map|.
*/
-size_t ngtcp2_map_size(ngtcp2_map *map);
+size_t ngtcp2_map_size(const ngtcp2_map *map);
/*
- * Applies the function |func| to each data in the |map| with the
- * optional user supplied pointer |ptr|.
+ * ngtcp2_map_each applies the function |func| to each entry in the
+ * |map| with the optional user supplied pointer |ptr|.
*
* If the |func| returns 0, this function calls the |func| with the
- * next data. If the |func| returns nonzero, it will not call the
+ * next entry. If the |func| returns nonzero, it will not call the
* |func| for further entries and return the return value of the
* |func| immediately. Thus, this function returns 0 if all the
* invocations of the |func| return 0, or nonzero value which the last
* invocation of |func| returns.
- *
- * Don't use this function to free each data. Use
- * ngtcp2_map_each_free() instead.
*/
-int ngtcp2_map_each(ngtcp2_map *map, int (*func)(void *data, void *ptr),
+int ngtcp2_map_each(const ngtcp2_map *map, int (*func)(void *data, void *ptr),
void *ptr);
#ifndef WIN32
-void ngtcp2_map_print_distance(ngtcp2_map *map);
+void ngtcp2_map_print_distance(const ngtcp2_map *map);
#endif /* !WIN32 */
#endif /* NGTCP2_MAP_H */
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c
index 34363d0..268559c 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.c
@@ -66,6 +66,7 @@ int ngtcp2_ppe_encode_hd(ngtcp2_ppe *ppe, const ngtcp2_pkt_hd *hd) {
rv = ngtcp2_pkt_encode_hd_short(
buf->last, ngtcp2_buf_left(buf) - cc->aead.max_overhead, hd);
}
+
if (rv < 0) {
return (int)rv;
}
@@ -74,7 +75,6 @@ int ngtcp2_ppe_encode_hd(ngtcp2_ppe *ppe, const ngtcp2_pkt_hd *hd) {
ppe->pkt_numlen = hd->pkt_numlen;
ppe->hdlen = (size_t)rv;
-
ppe->pkt_num = hd->pkt_num;
return 0;
@@ -138,7 +138,7 @@ ngtcp2_ssize ngtcp2_ppe_final(ngtcp2_ppe *ppe, const uint8_t **ppkt) {
buf->last = payload + payloadlen + cc->aead.max_overhead;
- /* TODO Check that we have enough space to get sample */
+ /* Make sure that we have enough space to get sample */
assert(ppe_sample_offset(ppe) + NGTCP2_HP_SAMPLELEN <= ngtcp2_buf_len(buf));
rv = cc->hp_mask(mask, &cc->hp, &cc->hp_ctx,
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.h b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.h
index 2f9275c..c1f4b16 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.h
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_ppe.h
@@ -36,10 +36,13 @@
#include "ngtcp2_crypto.h"
/*
- * ngtcp2_ppe is the Protected Packet Encoder.
+ * ngtcp2_ppe is the QUIC Packet Encoder.
*/
typedef struct ngtcp2_ppe {
+ /* buf is the buffer where a QUIC packet is written. */
ngtcp2_buf buf;
+ /* cc is the encryption context that includes callback functions to
+ encrypt a QUIC packet, and AEAD cipher, etc. */
ngtcp2_crypto_cc *cc;
/* dgram_offset is the offset in UDP datagram payload that this QUIC
packet is positioned at. */
@@ -56,7 +59,7 @@ typedef struct ngtcp2_ppe {
/* pkt_num is the packet number written in buf. */
int64_t pkt_num;
/* nonce is the buffer to store nonce. It should be equal or longer
- than then length of IV. */
+ than the length of IV. */
uint8_t nonce[32];
} ngtcp2_ppe;
@@ -89,7 +92,7 @@ int ngtcp2_ppe_encode_hd(ngtcp2_ppe *ppe, const ngtcp2_pkt_hd *hd);
int ngtcp2_ppe_encode_frame(ngtcp2_ppe *ppe, ngtcp2_frame *fr);
/*
- * ngtcp2_ppe_final encrypts QUIC packet payload. If |**ppkt| is not
+ * ngtcp2_ppe_final encrypts QUIC packet payload. If |ppkt| is not
* NULL, the pointer to the packet is assigned to it.
*
* This function returns the length of QUIC packet, including header,
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c
index 96cde8f..dcf6717 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.c
@@ -29,17 +29,20 @@
#include "ngtcp2_macro.h"
-void ngtcp2_pq_init(ngtcp2_pq *pq, ngtcp2_less less, const ngtcp2_mem *mem) {
- pq->mem = mem;
- pq->capacity = 0;
+void ngtcp2_pq_init(ngtcp2_pq *pq, ngtcp2_pq_less less, const ngtcp2_mem *mem) {
pq->q = NULL;
+ pq->mem = mem;
pq->length = 0;
+ pq->capacity = 0;
pq->less = less;
}
void ngtcp2_pq_free(ngtcp2_pq *pq) {
+ if (!pq) {
+ return;
+ }
+
ngtcp2_mem_free(pq->mem, pq->q);
- pq->q = NULL;
}
static void swap(ngtcp2_pq *pq, size_t i, size_t j) {
@@ -54,11 +57,13 @@ static void swap(ngtcp2_pq *pq, size_t i, size_t j) {
static void bubble_up(ngtcp2_pq *pq, size_t index) {
size_t parent;
- while (index != 0) {
+
+ while (index) {
parent = (index - 1) / 2;
if (!pq->less(pq->q[index], pq->q[parent])) {
return;
}
+
swap(pq, parent, index);
index = parent;
}
@@ -76,49 +81,57 @@ int ngtcp2_pq_push(ngtcp2_pq *pq, ngtcp2_pq_entry *item) {
if (nq == NULL) {
return NGTCP2_ERR_NOMEM;
}
+
pq->capacity = ncapacity;
pq->q = nq;
}
+
pq->q[pq->length] = item;
item->index = pq->length;
++pq->length;
- bubble_up(pq, pq->length - 1);
+ bubble_up(pq, item->index);
+
return 0;
}
-ngtcp2_pq_entry *ngtcp2_pq_top(ngtcp2_pq *pq) {
+ngtcp2_pq_entry *ngtcp2_pq_top(const ngtcp2_pq *pq) {
assert(pq->length);
return pq->q[0];
}
static void bubble_down(ngtcp2_pq *pq, size_t index) {
size_t i, j, minindex;
+
for (;;) {
j = index * 2 + 1;
minindex = index;
+
for (i = 0; i < 2; ++i, ++j) {
if (j >= pq->length) {
break;
}
+
if (pq->less(pq->q[j], pq->q[minindex])) {
minindex = j;
}
}
+
if (minindex == index) {
return;
}
+
swap(pq, index, minindex);
index = minindex;
}
}
void ngtcp2_pq_pop(ngtcp2_pq *pq) {
- if (pq->length > 0) {
- pq->q[0] = pq->q[pq->length - 1];
- pq->q[0]->index = 0;
- --pq->length;
- bubble_down(pq, 0);
- }
+ assert(pq->length);
+
+ pq->q[0] = pq->q[pq->length - 1];
+ pq->q[0]->index = 0;
+ --pq->length;
+ bubble_down(pq, 0);
}
void ngtcp2_pq_remove(ngtcp2_pq *pq, ngtcp2_pq_entry *item) {
@@ -145,20 +158,22 @@ void ngtcp2_pq_remove(ngtcp2_pq *pq, ngtcp2_pq_entry *item) {
}
}
-int ngtcp2_pq_empty(ngtcp2_pq *pq) { return pq->length == 0; }
+int ngtcp2_pq_empty(const ngtcp2_pq *pq) { return pq->length == 0; }
-size_t ngtcp2_pq_size(ngtcp2_pq *pq) { return pq->length; }
+size_t ngtcp2_pq_size(const ngtcp2_pq *pq) { return pq->length; }
-int ngtcp2_pq_each(ngtcp2_pq *pq, ngtcp2_pq_item_cb fun, void *arg) {
+int ngtcp2_pq_each(const ngtcp2_pq *pq, ngtcp2_pq_item_cb fun, void *arg) {
size_t i;
if (pq->length == 0) {
return 0;
}
+
for (i = 0; i < pq->length; ++i) {
if ((*fun)(pq->q[i], arg)) {
return 1;
}
}
+
return 0;
}
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.h b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.h
index 484c8f2..2fe5e74 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.h
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_pq.h
@@ -45,37 +45,39 @@ typedef struct ngtcp2_pq_entry {
size_t index;
} ngtcp2_pq_entry;
-/* "less" function, return nonzero if |lhs| is less than |rhs|. */
-typedef int (*ngtcp2_less)(const ngtcp2_pq_entry *lhs,
- const ngtcp2_pq_entry *rhs);
+/* ngtcp2_pq_less is a "less" function, that returns nonzero if |lhs|
+ is considered to be less than |rhs|. */
+typedef int (*ngtcp2_pq_less)(const ngtcp2_pq_entry *lhs,
+ const ngtcp2_pq_entry *rhs);
typedef struct ngtcp2_pq {
- /* The pointer to the pointer to the item stored */
+ /* q is a pointer to an array that stores the items. */
ngtcp2_pq_entry **q;
- /* Memory allocator */
+ /* mem is a memory allocator. */
const ngtcp2_mem *mem;
- /* The number of items stored */
+ /* length is the number of items stored. */
size_t length;
- /* The maximum number of items this pq can store. This is
- automatically extended when length is reached to this value. */
+ /* capacity is the maximum number of items this queue can store.
+ This is automatically extended when length is reached to this
+ limit. */
size_t capacity;
- /* The less function between items */
- ngtcp2_less less;
+ /* less is the less function to compare items. */
+ ngtcp2_pq_less less;
} ngtcp2_pq;
/*
- * Initializes priority queue |pq| with compare function |cmp|.
+ * ngtcp2_pq_init initializes |pq| with compare function |cmp|.
*/
-void ngtcp2_pq_init(ngtcp2_pq *pq, ngtcp2_less less, const ngtcp2_mem *mem);
+void ngtcp2_pq_init(ngtcp2_pq *pq, ngtcp2_pq_less less, const ngtcp2_mem *mem);
/*
- * Deallocates any resources allocated for |pq|. The stored items are
- * not freed by this function.
+ * ngtcp2_pq_free deallocates any resources allocated for |pq|. The
+ * stored items are not freed by this function.
*/
void ngtcp2_pq_free(ngtcp2_pq *pq);
/*
- * Adds |item| to the priority queue |pq|.
+ * ngtcp2_pq_push adds |item| to |pq|.
*
* This function returns 0 if it succeeds, or one of the following
* negative error codes:
@@ -86,40 +88,41 @@ void ngtcp2_pq_free(ngtcp2_pq *pq);
int ngtcp2_pq_push(ngtcp2_pq *pq, ngtcp2_pq_entry *item);
/*
- * Returns item at the top of the queue |pq|. It is undefined if the
- * queue is empty.
+ * ngtcp2_pq_top returns item at the top of |pq|. It is undefined if
+ * |pq| is empty.
*/
-ngtcp2_pq_entry *ngtcp2_pq_top(ngtcp2_pq *pq);
+ngtcp2_pq_entry *ngtcp2_pq_top(const ngtcp2_pq *pq);
/*
- * Pops item at the top of the queue |pq|. The popped item is not
- * freed by this function.
+ * ngtcp2_pq_pop pops item at the top of |pq|. The popped item is not
+ * freed by this function. It is undefined if |pq| is empty.
*/
void ngtcp2_pq_pop(ngtcp2_pq *pq);
/*
- * Returns nonzero if the queue |pq| is empty.
+ * ngtcp2_pq_empty returns nonzero if |pq| is empty.
*/
-int ngtcp2_pq_empty(ngtcp2_pq *pq);
+int ngtcp2_pq_empty(const ngtcp2_pq *pq);
/*
- * Returns the number of items in the queue |pq|.
+ * ngtcp2_pq_size returns the number of items |pq| contains.
*/
-size_t ngtcp2_pq_size(ngtcp2_pq *pq);
+size_t ngtcp2_pq_size(const ngtcp2_pq *pq);
typedef int (*ngtcp2_pq_item_cb)(ngtcp2_pq_entry *item, void *arg);
/*
- * Applies |fun| to each item in |pq|. The |arg| is passed as arg
- * parameter to callback function. This function must not change the
- * ordering key. If the return value from callback is nonzero, this
- * function returns 1 immediately without iterating remaining items.
- * Otherwise this function returns 0.
+ * ngtcp2_pq_each applies |fun| to each item in |pq|. The |arg| is
+ * passed as arg parameter to callback function. This function must
+ * not change the ordering key. If the return value from callback is
+ * nonzero, this function returns 1 immediately without iterating
+ * remaining items. Otherwise this function returns 0.
*/
-int ngtcp2_pq_each(ngtcp2_pq *pq, ngtcp2_pq_item_cb fun, void *arg);
+int ngtcp2_pq_each(const ngtcp2_pq *pq, ngtcp2_pq_item_cb fun, void *arg);
/*
- * Removes |item| from priority queue.
+ * ngtcp2_pq_remove removes |item| from |pq|. |pq| must contain
+ * |item| otherwise the behavior is undefined.
*/
void ngtcp2_pq_remove(ngtcp2_pq *pq, ngtcp2_pq_entry *item);
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
index 2767534..c4713f1 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_qlog.c
@@ -184,8 +184,7 @@ static uint8_t *write_pair_cid_impl(uint8_t *p, const uint8_t *name,
write_pair_cid_impl((DEST), (const uint8_t *)(NAME), sizeof(NAME) - 1, \
(VALUE))
-#define ngtcp2_make_vec_lit(S) \
- { (uint8_t *)(S), sizeof((S)) - 1 }
+#define ngtcp2_make_vec_lit(S) {(uint8_t *)(S), sizeof((S)) - 1}
static uint8_t *write_common_fields(uint8_t *p, const ngtcp2_cid *odcid) {
p = write_verbatim(
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_range.c b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_range.c
index ed07eb3..7bbefc0 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_range.c
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_range.c
@@ -35,9 +35,11 @@ ngtcp2_range ngtcp2_range_intersect(const ngtcp2_range *a,
ngtcp2_range r = {0, 0};
uint64_t begin = ngtcp2_max_uint64(a->begin, b->begin);
uint64_t end = ngtcp2_min_uint64(a->end, b->end);
+
if (begin < end) {
ngtcp2_range_init(&r, begin, end);
}
+
return r;
}
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_range.h b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_range.h
index a776c4e..cf01ef3 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_range.h
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_range.h
@@ -58,7 +58,7 @@ uint64_t ngtcp2_range_len(const ngtcp2_range *r);
/*
* ngtcp2_range_eq returns nonzero if |a| equals |b|, such that
- * a->begin == b->begin, and a->end == b->end hold.
+ * a->begin == b->begin and a->end == b->end hold.
*/
int ngtcp2_range_eq(const ngtcp2_range *a, const ngtcp2_range *b);
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c
index 4fa3b83..596e76d 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.c
@@ -56,7 +56,6 @@ int ngtcp2_rob_data_new(ngtcp2_rob_data **pd, uint64_t offset, size_t chunk,
(*pd)->range.begin = offset;
(*pd)->range.end = offset + chunk;
(*pd)->begin = (uint8_t *)(*pd) + sizeof(ngtcp2_rob_data);
- (*pd)->end = (*pd)->begin + chunk;
return 0;
}
@@ -177,9 +176,11 @@ int ngtcp2_rob_push(ngtcp2_rob *rob, uint64_t offset, const uint8_t *data,
if (!ngtcp2_range_len(&m)) {
break;
}
+
if (ngtcp2_range_eq(&g->range, &m)) {
ngtcp2_ksl_remove_hint(&rob->gapksl, &it, &it, &g->range);
ngtcp2_rob_gap_del(g, rob->mem);
+
rv = rob_write_data(rob, m.begin, data + (m.begin - offset),
(size_t)ngtcp2_range_len(&m));
if (rv != 0) {
@@ -188,17 +189,21 @@ int ngtcp2_rob_push(ngtcp2_rob *rob, uint64_t offset, const uint8_t *data,
continue;
}
+
ngtcp2_range_cut(&l, &r, &g->range, &m);
+
if (ngtcp2_range_len(&l)) {
ngtcp2_ksl_update_key(&rob->gapksl, &g->range, &l);
g->range = l;
if (ngtcp2_range_len(&r)) {
ngtcp2_rob_gap *ng;
+
rv = ngtcp2_rob_gap_new(&ng, r.begin, r.end, rob->mem);
if (rv != 0) {
return rv;
}
+
rv = ngtcp2_ksl_insert(&rob->gapksl, &it, &ng->range, ng);
if (rv != 0) {
ngtcp2_rob_gap_del(ng, rob->mem);
@@ -209,13 +214,16 @@ int ngtcp2_rob_push(ngtcp2_rob *rob, uint64_t offset, const uint8_t *data,
ngtcp2_ksl_update_key(&rob->gapksl, &g->range, &r);
g->range = r;
}
+
rv = rob_write_data(rob, m.begin, data + (m.begin - offset),
(size_t)ngtcp2_range_len(&m));
if (rv != 0) {
return rv;
}
+
ngtcp2_ksl_it_next(&it);
}
+
return 0;
}
@@ -231,12 +239,16 @@ void ngtcp2_rob_remove_prefix(ngtcp2_rob *rob, uint64_t offset) {
if (offset <= g->range.begin) {
break;
}
+
if (offset < g->range.end) {
ngtcp2_range r = {offset, g->range.end};
+
ngtcp2_ksl_update_key(&rob->gapksl, &g->range, &r);
g->range.begin = offset;
+
break;
}
+
ngtcp2_ksl_remove_hint(&rob->gapksl, &it, &it, &g->range);
ngtcp2_rob_gap_del(g, rob->mem);
}
@@ -248,6 +260,7 @@ void ngtcp2_rob_remove_prefix(ngtcp2_rob *rob, uint64_t offset) {
if (offset < d->range.begin + rob->chunk) {
return;
}
+
ngtcp2_ksl_remove_hint(&rob->dataksl, &it, &it, &d->range);
ngtcp2_rob_data_del(d, rob->mem);
}
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.h b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.h
index 6518d56..9ebc68b 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.h
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rob.h
@@ -70,12 +70,10 @@ void ngtcp2_rob_gap_del(ngtcp2_rob_gap *g, const ngtcp2_mem *mem);
* ngtcp2_rob_data holds the buffered stream data.
*/
typedef struct ngtcp2_rob_data {
- /* range is the range of this gap. */
+ /* range is the range of this data. */
ngtcp2_range range;
/* begin points to the buffer. */
uint8_t *begin;
- /* end points to the one beyond of the last byte of the buffer */
- uint8_t *end;
} ngtcp2_rob_data;
/*
@@ -110,8 +108,8 @@ typedef struct ngtcp2_rob {
/* gapksl maintains the range of offset which is not received
yet. Initially, its range is [0, UINT64_MAX). */
ngtcp2_ksl gapksl;
- /* dataksl maintains the list of buffers which store received data
- ordered by stream offset. */
+ /* dataksl maintains the buffers which store received out-of-order
+ data ordered by stream offset. */
ngtcp2_ksl dataksl;
/* mem is custom memory allocator */
const ngtcp2_mem *mem;
@@ -137,8 +135,8 @@ int ngtcp2_rob_init(ngtcp2_rob *rob, size_t chunk, const ngtcp2_mem *mem);
void ngtcp2_rob_free(ngtcp2_rob *rob);
/*
- * ngtcp2_rob_push adds new data of length |datalen| at the stream
- * offset |offset|.
+ * ngtcp2_rob_push adds new data pointed by |data| of length |datalen|
+ * at the stream offset |offset|.
*
* This function returns 0 if it succeeds, or one of the following
* negative error codes:
@@ -151,7 +149,8 @@ int ngtcp2_rob_push(ngtcp2_rob *rob, uint64_t offset, const uint8_t *data,
/*
* ngtcp2_rob_remove_prefix removes gap up to |offset|, exclusive. It
- * also removes data buffer if it is completely included in |offset|.
+ * also removes buffered data if it is completely included in
+ * |offset|.
*/
void ngtcp2_rob_remove_prefix(ngtcp2_rob *rob, uint64_t offset);
@@ -159,7 +158,8 @@ void ngtcp2_rob_remove_prefix(ngtcp2_rob *rob, uint64_t offset);
* ngtcp2_rob_data_at stores the pointer to the buffer of stream
* offset |offset| to |*pdest| if it is available, and returns the
* valid length of available data. If no data is available, it
- * returns 0.
+ * returns 0. This function only returns the data before the first
+ * gap. It returns 0 even if data is available after the first gap.
*/
size_t ngtcp2_rob_data_at(ngtcp2_rob *rob, const uint8_t **pdest,
uint64_t offset);
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.c b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.c
index 862fa8d..4937c17 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.c
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.c
@@ -35,12 +35,13 @@ void ngtcp2_rs_init(ngtcp2_rs *rs) {
rs->interval = UINT64_MAX;
rs->delivered = 0;
rs->prior_delivered = 0;
- rs->prior_ts = 0;
+ rs->prior_ts = UINT64_MAX;
rs->tx_in_flight = 0;
rs->lost = 0;
rs->prior_lost = 0;
rs->send_elapsed = 0;
rs->ack_elapsed = 0;
+ rs->last_end_seq = -1;
rs->is_app_limited = 0;
}
@@ -55,6 +56,7 @@ void ngtcp2_rst_init(ngtcp2_rst *rst) {
rst->round_count = 0;
rst->is_cwnd_limited = 0;
rst->lost = 0;
+ rst->last_seq = -1;
}
void ngtcp2_rst_on_pkt_sent(ngtcp2_rst *rst, ngtcp2_rtb_entry *ent,
@@ -68,6 +70,7 @@ void ngtcp2_rst_on_pkt_sent(ngtcp2_rst *rst, ngtcp2_rtb_entry *ent,
ent->rst.is_app_limited = rst->app_limited != 0;
ent->rst.tx_in_flight = cstat->bytes_in_flight + ent->pktlen;
ent->rst.lost = rst->lost;
+ ent->rst.end_seq = ++rst->last_seq;
}
void ngtcp2_rst_on_ack_recv(ngtcp2_rst *rst, ngtcp2_conn_stat *cstat,
@@ -84,7 +87,7 @@ void ngtcp2_rst_on_ack_recv(ngtcp2_rst *rst, ngtcp2_conn_stat *cstat,
++rst->round_count;
}
- if (rs->prior_ts == 0) {
+ if (rs->prior_ts == UINT64_MAX) {
return;
}
@@ -104,12 +107,18 @@ void ngtcp2_rst_on_ack_recv(ngtcp2_rst *rst, ngtcp2_conn_stat *cstat,
rate = rs->delivered * NGTCP2_SECONDS / rs->interval;
- if (rate > ngtcp2_window_filter_get_best(&rst->wf) || !rst->app_limited) {
+ if (rate >= ngtcp2_window_filter_get_best(&rst->wf) || !rst->app_limited) {
ngtcp2_window_filter_update(&rst->wf, rate, rst->round_count);
cstat->delivery_rate_sec = ngtcp2_window_filter_get_best(&rst->wf);
}
}
+static int rst_is_newest_pkt(const ngtcp2_rst *rst, const ngtcp2_rtb_entry *ent,
+ const ngtcp2_rs *rs) {
+ return ent->ts > rst->first_sent_ts ||
+ (ent->ts == rst->first_sent_ts && ent->rst.end_seq > rs->last_end_seq);
+}
+
void ngtcp2_rst_update_rate_sample(ngtcp2_rst *rst, const ngtcp2_rtb_entry *ent,
ngtcp2_tstamp ts) {
ngtcp2_rs *rs = &rst->rs;
@@ -117,7 +126,7 @@ void ngtcp2_rst_update_rate_sample(ngtcp2_rst *rst, const ngtcp2_rtb_entry *ent,
rst->delivered += ent->pktlen;
rst->delivered_ts = ts;
- if (ent->rst.delivered > rs->prior_delivered) {
+ if (rs->prior_ts == UINT64_MAX || rst_is_newest_pkt(rst, ent, rs)) {
rs->prior_delivered = ent->rst.delivered;
rs->prior_ts = ent->rst.delivered_ts;
rs->is_app_limited = ent->rst.is_app_limited;
@@ -125,6 +134,7 @@ void ngtcp2_rst_update_rate_sample(ngtcp2_rst *rst, const ngtcp2_rtb_entry *ent,
rs->ack_elapsed = rst->delivered_ts - ent->rst.delivered_ts;
rs->tx_in_flight = ent->rst.tx_in_flight;
rs->prior_lost = ent->rst.lost;
+ rs->last_end_seq = ent->rst.end_seq;
rst->first_sent_ts = ent->ts;
}
}
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.h b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.h
index c9e1e16..74c1400 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.h
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rst.h
@@ -51,6 +51,7 @@ typedef struct ngtcp2_rs {
uint64_t prior_lost;
ngtcp2_duration send_elapsed;
ngtcp2_duration ack_elapsed;
+ int64_t last_end_seq;
int is_app_limited;
} ngtcp2_rs;
@@ -58,7 +59,7 @@ void ngtcp2_rs_init(ngtcp2_rs *rs);
/*
* ngtcp2_rst implements delivery rate estimation described in
- * https://tools.ietf.org/html/draft-cheng-iccrg-delivery-rate-estimation-00
+ * https://ietf-wg-ccwg.github.io/draft-cardwell-ccwg-bbr/draft-cardwell-ccwg-bbr.html
*/
typedef struct ngtcp2_rst {
ngtcp2_rs rs;
@@ -70,6 +71,11 @@ typedef struct ngtcp2_rst {
uint64_t next_round_delivered;
uint64_t round_count;
uint64_t lost;
+ /* last_seq is the sequence number of packets across all packet
+ number spaces. If we would adopt single packet number sequence
+ across all packet number spaces, we can replace this with a
+ packet number. */
+ int64_t last_seq;
int is_cwnd_limited;
} ngtcp2_rst;
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.h b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.h
index a1ff208..043cff3 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.h
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.h
@@ -111,6 +111,7 @@ struct ngtcp2_rtb_entry {
ngtcp2_tstamp first_sent_ts;
uint64_t tx_in_flight;
uint64_t lost;
+ int64_t end_seq;
int is_app_limited;
} rst;
/* flags is bitwise-OR of zero or more of
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
index 15b3827..de92f33 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.c
@@ -40,8 +40,9 @@ void ngtcp2_strm_init(ngtcp2_strm *strm, int64_t stream_id, uint32_t flags,
uint64_t max_rx_offset, uint64_t max_tx_offset,
void *stream_user_data, ngtcp2_objalloc *frc_objalloc,
const ngtcp2_mem *mem) {
- strm->frc_objalloc = frc_objalloc;
+ strm->pe.index = NGTCP2_PQ_BAD_INDEX;
strm->cycle = 0;
+ strm->frc_objalloc = frc_objalloc;
strm->tx.acked_offset = NULL;
strm->tx.cont_acked_offset = 0;
strm->tx.streamfrq = NULL;
@@ -56,13 +57,12 @@ void ngtcp2_strm_init(ngtcp2_strm *strm, int64_t stream_id, uint32_t flags,
strm->rx.rob = NULL;
strm->rx.cont_offset = 0;
strm->rx.last_offset = 0;
- strm->stream_id = stream_id;
- strm->flags = flags;
- strm->stream_user_data = stream_user_data;
- strm->rx.window = strm->rx.max_offset = strm->rx.unsent_max_offset =
+ strm->rx.max_offset = strm->rx.unsent_max_offset = strm->rx.window =
max_rx_offset;
- strm->pe.index = NGTCP2_PQ_BAD_INDEX;
strm->mem = mem;
+ strm->stream_id = stream_id;
+ strm->stream_user_data = stream_user_data;
+ strm->flags = flags;
strm->app_error_code = 0;
}
@@ -271,6 +271,7 @@ static int strm_streamfrq_unacked_pop(ngtcp2_strm *strm,
}
ngtcp2_frame_chain_objalloc_del(frc, strm->frc_objalloc, strm->mem);
+
continue;
}
@@ -306,6 +307,7 @@ static int strm_streamfrq_unacked_pop(ngtcp2_strm *strm,
fr->data[0].len -= (size_t)base_offset;
*pfrc = frc;
+
return 0;
}
@@ -336,6 +338,7 @@ static int strm_streamfrq_unacked_pop(ngtcp2_strm *strm,
assert(ngtcp2_err_is_fatal(rv));
ngtcp2_frame_chain_objalloc_del(nfrc, strm->frc_objalloc, strm->mem);
ngtcp2_frame_chain_objalloc_del(frc, strm->frc_objalloc, strm->mem);
+
return rv;
}
@@ -350,14 +353,17 @@ static int strm_streamfrq_unacked_pop(ngtcp2_strm *strm,
fr->fin = 0;
fr->offset = offset + base_offset;
fr->datacnt = end_idx - idx;
+
if (end_base_offset) {
assert(fr->data[fr->datacnt - 1].len > end_base_offset);
fr->data[fr->datacnt - 1].len = (size_t)end_base_offset;
}
+
fr->data[0].base += base_offset;
fr->data[0].len -= (size_t)base_offset;
*pfrc = frc;
+
return 0;
}
@@ -385,6 +391,7 @@ int ngtcp2_strm_streamfrq_pop(ngtcp2_strm *strm, ngtcp2_frame_chain **pfrc,
if (rv != 0) {
return rv;
}
+
if (frc == NULL) {
*pfrc = NULL;
return 0;
@@ -401,7 +408,9 @@ int ngtcp2_strm_streamfrq_pop(ngtcp2_strm *strm, ngtcp2_frame_chain **pfrc,
ngtcp2_frame_chain_objalloc_del(frc, strm->frc_objalloc, strm->mem);
return rv;
}
+
*pfrc = NULL;
+
return 0;
}
@@ -437,6 +446,7 @@ int ngtcp2_strm_streamfrq_pop(ngtcp2_strm *strm, ngtcp2_frame_chain **pfrc,
assert(ngtcp2_err_is_fatal(rv));
ngtcp2_frame_chain_objalloc_del(nfrc, strm->frc_objalloc, strm->mem);
ngtcp2_frame_chain_objalloc_del(frc, strm->frc_objalloc, strm->mem);
+
return rv;
}
@@ -501,8 +511,10 @@ int ngtcp2_strm_streamfrq_pop(ngtcp2_strm *strm, ngtcp2_frame_chain **pfrc,
assert(ngtcp2_err_is_fatal(rv));
ngtcp2_frame_chain_objalloc_del(nfrc, strm->frc_objalloc, strm->mem);
ngtcp2_frame_chain_objalloc_del(frc, strm->frc_objalloc, strm->mem);
+
return rv;
}
+
break;
}
@@ -560,6 +572,7 @@ int ngtcp2_strm_streamfrq_pop(ngtcp2_strm *strm, ngtcp2_frame_chain **pfrc,
}
*pfrc = frc;
+
return 0;
}
@@ -606,9 +619,11 @@ uint64_t ngtcp2_strm_streamfrq_unacked_offset(ngtcp2_strm *strm) {
if (gap.begin <= fr->offset) {
return fr->offset;
}
+
if (gap.begin < fr->offset + datalen) {
return gap.begin;
}
+
if (fr->offset + datalen == gap.begin && fr->fin &&
!(strm->flags & NGTCP2_STRM_FLAG_FIN_ACKED)) {
return fr->offset + datalen;
@@ -625,6 +640,7 @@ ngtcp2_frame_chain *ngtcp2_strm_streamfrq_top(ngtcp2_strm *strm) {
assert(ngtcp2_ksl_len(strm->tx.streamfrq));
it = ngtcp2_ksl_begin(strm->tx.streamfrq);
+
return ngtcp2_ksl_it_get(&it);
}
@@ -645,6 +661,7 @@ void ngtcp2_strm_streamfrq_clear(ngtcp2_strm *strm) {
frc = ngtcp2_ksl_it_get(&it);
ngtcp2_frame_chain_objalloc_del(frc, strm->frc_objalloc, strm->mem);
}
+
ngtcp2_ksl_clear(strm->tx.streamfrq);
}
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.h b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.h
index e396b24..e7e2fa6 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.h
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_strm.h
@@ -108,13 +108,13 @@ struct ngtcp2_strm {
acked_offset is used instead. */
uint64_t cont_acked_offset;
/* streamfrq contains STREAM or CRYPTO frame for
- retransmission. The flow control credits have been paid
- when they are transmitted first time. There are no
+ retransmission. The flow control credits have already been
+ paid when they are transmitted first time. There are no
restriction regarding flow control for retransmission. */
ngtcp2_ksl *streamfrq;
- /* offset is the next offset of outgoing data. In other words, it
- is the number of bytes sent in this stream without
- duplication. */
+ /* offset is the next offset of new outgoing data. In other
+ words, it is the number of bytes sent in this stream
+ without duplication. */
uint64_t offset;
/* max_tx_offset is the maximum offset that local endpoint can
send for this stream. */
@@ -218,8 +218,8 @@ int ngtcp2_strm_recv_reordering(ngtcp2_strm *strm, const uint8_t *data,
size_t datalen, uint64_t offset);
/*
- * ngtcp2_strm_update_rx_offset tells that data up to offset bytes are
- * received in order.
+ * ngtcp2_strm_update_rx_offset tells that data up to |offset| bytes
+ * are received in order.
*/
void ngtcp2_strm_update_rx_offset(ngtcp2_strm *strm, uint64_t offset);
@@ -230,13 +230,14 @@ void ngtcp2_strm_update_rx_offset(ngtcp2_strm *strm, uint64_t offset);
void ngtcp2_strm_discard_reordered_data(ngtcp2_strm *strm);
/*
- * ngtcp2_strm_shutdown shutdowns |strm|. |flags| should be
- * NGTCP2_STRM_FLAG_SHUT_RD, and/or NGTCP2_STRM_FLAG_SHUT_WR.
+ * ngtcp2_strm_shutdown shutdowns |strm|. |flags| should be one of
+ * NGTCP2_STRM_FLAG_SHUT_RD, NGTCP2_STRM_FLAG_SHUT_WR, and
+ * NGTCP2_STRM_FLAG_SHUT_RDWR.
*/
void ngtcp2_strm_shutdown(ngtcp2_strm *strm, uint32_t flags);
/*
- * ngtcp2_strm_streamfrq_push pushes |frc| to streamfrq for
+ * ngtcp2_strm_streamfrq_push pushes |frc| to strm->tx.streamfrq for
* retransmission.
*
* This function returns 0 if it succeeds, or one of the following
@@ -248,11 +249,12 @@ void ngtcp2_strm_shutdown(ngtcp2_strm *strm, uint32_t flags);
int ngtcp2_strm_streamfrq_push(ngtcp2_strm *strm, ngtcp2_frame_chain *frc);
/*
- * ngtcp2_strm_streamfrq_pop pops the first ngtcp2_frame_chain and
- * assigns it to |*pfrc|. This function splits into or merges several
- * ngtcp2_frame_chain objects so that the returned ngtcp2_frame_chain
- * has at most |left| data length. If there is no frames to send,
- * this function returns 0 and |*pfrc| is NULL.
+ * ngtcp2_strm_streamfrq_pop assigns a ngtcp2_frame_chain that only
+ * contains unacknowledged stream data with smallest offset to |*pfrc|
+ * for retransmission. The assigned ngtcp2_frame_chain has stream
+ * data at most |left| bytes. strm->tx.streamfrq is adjusted to
+ * exclude the portion of data included in it. If there is no stream
+ * data to send, this function returns 0 and |*pfrc| is NULL.
*
* This function returns 0 if it succeeds, or one of the following
* negative error codes:
@@ -305,7 +307,7 @@ int ngtcp2_strm_is_all_tx_data_fin_acked(ngtcp2_strm *strm);
/*
* ngtcp2_strm_get_unacked_range_after returns the range that is not
- * acknowledged yet and intersects or comes after |offset|.
+ * acknowledged yet and includes or comes after |offset|.
*/
ngtcp2_range ngtcp2_strm_get_unacked_range_after(ngtcp2_strm *strm,
uint64_t offset);
@@ -318,8 +320,8 @@ ngtcp2_range ngtcp2_strm_get_unacked_range_after(ngtcp2_strm *strm,
uint64_t ngtcp2_strm_get_acked_offset(ngtcp2_strm *strm);
/*
- * ngtcp2_strm_ack_data tells |strm| that the data [offset,
- * offset+len) is acknowledged by a remote endpoint.
+ * ngtcp2_strm_ack_data tells |strm| that the data [|offset|, |offset|
+ * + |len|) is acknowledged by a remote endpoint.
*/
int ngtcp2_strm_ack_data(ngtcp2_strm *strm, uint64_t offset, uint64_t len);
diff --git a/src/contrib/libngtcp2/ngtcp2/version.h b/src/contrib/libngtcp2/ngtcp2/version.h
index 85ef77b..4aa1164 100644
--- a/src/contrib/libngtcp2/ngtcp2/version.h
+++ b/src/contrib/libngtcp2/ngtcp2/version.h
@@ -36,7 +36,7 @@
*
* Version number of the ngtcp2 library release.
*/
-#define NGTCP2_VERSION "1.6.0"
+#define NGTCP2_VERSION "1.7.0"
/**
* @macro
@@ -46,6 +46,6 @@
* number, 8 bits for minor and 8 bits for patch. Version 1.2.3
* becomes 0x010203.
*/
-#define NGTCP2_VERSION_NUM 0x010600
+#define NGTCP2_VERSION_NUM 0x010700
#endif /* VERSION_H */
diff --git a/src/contrib/mempattern.c b/src/contrib/mempattern.c
index f57139d..f86f0ac 100644
--- a/src/contrib/mempattern.c
+++ b/src/contrib/mempattern.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2017 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -114,9 +114,15 @@ void mm_ctx_init(knot_mm_t *mm)
mm->free = free;
}
+// UBSAN type punning workaround
+static void *mp_alloc_wrap(void *ctx, size_t size)
+{
+ return mp_alloc(ctx, size);
+}
+
void mm_ctx_mempool(knot_mm_t *mm, size_t chunk_size)
{
mm->ctx = mp_new(chunk_size);
- mm->alloc = (knot_mm_alloc_t)mp_alloc;
+ mm->alloc = mp_alloc_wrap;
mm->free = mm_nofree;
}
diff --git a/src/contrib/spinlock.h b/src/contrib/spinlock.h
index 837f500..a7ec5ec 100644
--- a/src/contrib/spinlock.h
+++ b/src/contrib/spinlock.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -15,48 +15,23 @@
*/
/*!
- * \brief Multiplatform spinlock.
+ * \brief A C11 spinlock (POSIX pthread spinlock as a fallback).
*/
#pragma once
#if (__STDC_VERSION__ >= 201112L) && !defined(__STDC_NO_ATOMICS__)
-/* Not tested and activated yet. */
-/* #define HAVE_STDATOMIC */
-#endif
-
-#if defined(__APPLE__)
-# if defined(MAC_OS_X_VERSION_10_12) || \
- MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_12
-# define APPLE_SPIN_NEW
-# else
-# define APPLE_SPIN_OLD
-# endif /* MAC_OS_X_VERSION_10_12 ... */
-#endif /* __APPLE__ */
-
-#if defined(HAVE_SYNC_ATOMIC) || defined(HAVE_ATOMIC)
-# include <stdbool.h>
-#elif defined(HAVE_STDATOMIC)
-# include <stdbool.h>
-# include <stdatomic.h>
-#elif defined(APPLE_SPIN_NEW)
-# include <os/lock.h>
-#elif defined(APPLE_SPIN_OLD)
-# include <libkern/OSAtomic.h>
+ #define HAVE_STDATOMIC
+ #include <stdatomic.h>
+ #include <stdbool.h>
#else /* POSIX pthread spinlock. */
-# include <pthread.h>
+ #include <pthread.h>
#endif
/*! \brief Spinlock lock variable type. */
typedef
-#if defined(HAVE_SYNC_ATOMIC) || defined(HAVE_ATOMIC)
- bool /*!< Spinlock lock - a simple & fast atomic version. */
-#elif defined(HAVE_STDATOMIC)
+#if defined(HAVE_STDATOMIC)
atomic_bool /*!< Spinlock lock - a simple & fast atomic version, C11 */
-#elif defined(APPLE_SPIN_NEW)
- os_unfair_lock /*!< Spinlock lock - a newer macOS version (macOS >= 10.12). */
-#elif defined(APPLE_SPIN_OLD)
- OSSpinLock /*!< Spinlock lock - an older macOS version (macOS < 10.12). */
#else /* POSIX */
pthread_spinlock_t /*!< Spinlock lock - a POSIX pthread version. */
#endif
@@ -65,14 +40,8 @@ typedef
/*! \brief Initialize the spinlock pointed to by the parameter "lock". */
static inline void knot_spin_init(knot_spin_t *lock)
{
-#if defined(HAVE_SYNC_ATOMIC) || defined(HAVE_ATOMIC)
- *lock = false;
-#elif defined(HAVE_STDATOMIC)
+#if defined(HAVE_STDATOMIC)
atomic_init(lock, false);
-#elif defined(APPLE_SPIN_NEW)
- *lock = OS_UNFAIR_LOCK_INIT;
-#elif defined(APPLE_SPIN_OLD)
- *lock = OS_SPINLOCK_INIT;
#else /* POSIX */
pthread_spin_init(lock, PTHREAD_PROCESS_PRIVATE);
#endif
@@ -81,8 +50,7 @@ static inline void knot_spin_init(knot_spin_t *lock)
/*! \brief Destroy the spinlock pointed to by the parameter "lock". */
static inline void knot_spin_destroy(knot_spin_t *lock)
{
-#if defined(HAVE_SYNC_ATOMIC) || defined(HAVE_ATOMIC) || defined(HAVE_STDATOMIC) || \
- defined(APPLE_SPIN_NEW) || defined(APPLE_SPIN_OLD)
+#if defined(HAVE_STDATOMIC)
/* Nothing needed here. */
#else /* POSIX */
pthread_spin_destroy(lock);
@@ -92,23 +60,11 @@ static inline void knot_spin_destroy(knot_spin_t *lock)
/*! \brief Lock the spinlock pointed to by the parameter "lock". */
static inline void knot_spin_lock(knot_spin_t *lock)
{
-#if defined(HAVE_SYNC_ATOMIC)
- while (__sync_lock_test_and_set(lock, 1)) {
- }
-#elif defined(HAVE_ATOMIC)
- int expected = 0;
- while (!__atomic_compare_exchange_n(lock, &expected, 1, false, __ATOMIC_RELAXED, __ATOMIC_RELAXED)) {
- expected = 0;
- }
-#elif defined(HAVE_STDATOMIC)
- int expected = 0;
- while (!atomic_compare_exchange_strong(lock, &expected, false)) {
- expected = 0;
+#if defined(HAVE_STDATOMIC)
+ bool expected = false;
+ while (!atomic_compare_exchange_strong(lock, &expected, true)) {
+ expected = false;
}
-#elif defined(APPLE_SPIN_NEW)
- os_unfair_lock_lock(lock);
-#elif defined(APPLE_SPIN_OLD)
- OSSpinLockLock(lock);
#else /* POSIX */
pthread_spin_lock(lock);
#endif
@@ -117,16 +73,8 @@ static inline void knot_spin_lock(knot_spin_t *lock)
/*! \brief Unlock the spinlock pointed to by the parameter "lock". */
static inline void knot_spin_unlock(knot_spin_t *lock)
{
-#if defined(HAVE_SYNC_ATOMIC)
- __sync_lock_release(lock);
-#elif defined(HAVE_ATOMIC)
- __atomic_clear(lock, __ATOMIC_RELAXED);
-#elif defined(HAVE_STDATOMIC)
+#if defined(HAVE_STDATOMIC)
atomic_store(lock, false);
-#elif defined(APPLE_SPIN_NEW)
- os_unfair_lock_unlock(lock);
-#elif defined(APPLE_SPIN_OLD)
- OSSpinLockUnlock(lock);
#else /* POSIX */
pthread_spin_unlock(lock);
#endif
diff --git a/src/contrib/string.c b/src/contrib/string.c
index 272116e..6fa2d0a 100644
--- a/src/contrib/string.c
+++ b/src/contrib/string.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -26,16 +26,16 @@
/* #include <string.h> is needed. */
#elif defined(HAVE_EXPLICIT_MEMSET)
/* #include <string.h> is needed. */
-#elif defined(HAVE_GNUTLS_MEMSET)
- #include <gnutls/gnutls.h>
#else
- #define USE_CUSTOM_MEMSET
+ #include <gnutls/gnutls.h>
#endif
#include "contrib/string.h"
#include "contrib/ctype.h"
#include "contrib/tolower.h"
+const char *configure_summary = CONFIGURE_SUMMARY;
+
uint8_t *memdup(const uint8_t *data, size_t data_size)
{
uint8_t *result = (uint8_t *)malloc(data_size);
@@ -137,11 +137,6 @@ int const_time_memcmp(const void *s1, const void *s2, size_t n)
return equal;
}
-#if defined(USE_CUSTOM_MEMSET)
-typedef void *(*memset_t)(void *, int, size_t);
-static volatile memset_t volatile_memset = memset;
-#endif
-
void *memzero(void *s, size_t n)
{
#if defined(HAVE_EXPLICIT_BZERO) /* In OpenBSD since 5.5. */
@@ -161,14 +156,9 @@ void *memzero(void *s, size_t n)
return s;
#elif defined(HAVE_EXPLICIT_MEMSET) /* In NetBSD since 7.0. */
return explicit_memset(s, 0, n);
-#elif defined(HAVE_GNUTLS_MEMSET) /* In GnuTLS since 3.4.0. */
+#else
gnutls_memset(s, 0, n);
return s;
-#else /* Knot custom solution as a fallback. */
- /* Warning: the use of the return value is *probably* needed
- * so as to avoid the volatile_memset() to be optimized out.
- */
- return volatile_memset(s, 0, n);
#endif
}
diff --git a/src/contrib/string.h b/src/contrib/string.h
index ad3c990..3e113b1 100644
--- a/src/contrib/string.h
+++ b/src/contrib/string.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -24,6 +24,8 @@
#include <stddef.h>
#include <stdint.h>
+extern const char *configure_summary;
+
/*!
* \brief Create a copy of a binary buffer.
*
diff --git a/src/contrib/time.h b/src/contrib/time.h
index 20d241e..b12b366 100644
--- a/src/contrib/time.h
+++ b/src/contrib/time.h
@@ -88,6 +88,11 @@ inline static int knot_time_cmp(knot_time_t a, knot_time_t b)
{
return (a == b ? 0 : 1) * ((a && b) == 0 ? -1 : 1) * (a < b ? -1 : 1);
}
+inline static bool knot_time_lt (knot_time_t a, knot_time_t b) { return knot_time_cmp(a, b) < 0; }
+inline static bool knot_time_leq(knot_time_t a, knot_time_t b) { return knot_time_cmp(a, b) <= 0; }
+inline static bool knot_time_eq (knot_time_t a, knot_time_t b) { return knot_time_cmp(a, b) == 0; }
+inline static bool knot_time_geq(knot_time_t a, knot_time_t b) { return knot_time_cmp(a, b) >= 0; }
+inline static bool knot_time_gt (knot_time_t a, knot_time_t b) { return knot_time_cmp(a, b) > 0; }
/*!
* \brief Return the smaller (=earlier) from given two timestamps.
diff --git a/src/knot/Makefile.inc b/src/knot/Makefile.inc
index f67fe7f..0cbc9f3 100644
--- a/src/knot/Makefile.inc
+++ b/src/knot/Makefile.inc
@@ -1,12 +1,11 @@
libknotd_la_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAG_VISIBILITY) $(libkqueue_CFLAGS) \
$(liburcu_CFLAGS) $(lmdb_CFLAGS) $(systemd_CFLAGS) \
- $(gnutls_CFLAGS) $(libngtcp2_CFLAGS) -DKNOTD_MOD_STATIC
+ $(libdbus_CFLAGS) $(gnutls_CFLAGS) -DKNOTD_MOD_STATIC
libknotd_la_LDFLAGS = $(AM_LDFLAGS) -export-symbols-regex '^knotd_'
-libknotd_la_LIBADD = $(dlopen_LIBS) $(libkqueue_LIBS) $(pthread_LIBS) \
- $(libngtcp2_LIBS)
+libknotd_la_LIBADD = $(dlopen_LIBS) $(libkqueue_LIBS) $(pthread_LIBS)
libknotd_LIBS = libknotd.la libknot.la libdnssec.la libzscanner.la \
$(libcontrib_LIBS) $(liburcu_LIBS) $(lmdb_LIBS) \
- $(systemd_LIBS) $(gnutls_LIBS)
+ $(systemd_LIBS) $(libdbus_LIBS) $(gnutls_LIBS)
if EMBEDDED_LIBNGTCP2
libknotd_la_LIBADD += $(libembngtcp2_LIBS)
@@ -93,6 +92,7 @@ libknotd_la_SOURCES = \
knot/events/handlers/notify.c \
knot/events/handlers/refresh.c \
knot/events/handlers/update.c \
+ knot/events/handlers/validate.c \
knot/events/replan.c \
knot/events/replan.h \
knot/nameserver/axfr.c \
@@ -125,6 +125,10 @@ libknotd_la_SOURCES = \
knot/query/query.h \
knot/query/requestor.c \
knot/query/requestor.h \
+ knot/query/tls-requestor.c \
+ knot/query/tls-requestor.h \
+ knot/common/dbus.c \
+ knot/common/dbus.h \
knot/common/evsched.c \
knot/common/evsched.h \
knot/common/fdset.c \
diff --git a/src/knot/catalog/catalog_db.c b/src/knot/catalog/catalog_db.c
index b483f4d..2ea776f 100644
--- a/src/knot/catalog/catalog_db.c
+++ b/src/knot/catalog/catalog_db.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -44,7 +44,7 @@ int catalog_bailiwick_shift(const knot_dname_t *subname, const knot_dname_t *nam
if (*res == '\0') {
return -1;
}
- res = knot_wire_next_label(res, NULL);
+ res = knot_dname_next_label(res);
}
return res - subname;
}
diff --git a/src/knot/catalog/catalog_update.c b/src/knot/catalog/catalog_update.c
index edfd8c5..71b7dbe 100644
--- a/src/knot/catalog/catalog_update.c
+++ b/src/knot/catalog/catalog_update.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -132,7 +132,7 @@ static const knot_dname_t *get_uniq(const knot_dname_t *ptr_owner,
int labels = knot_dname_labels(ptr_owner, NULL);
labels -= knot_dname_labels(catz, NULL);
assert(labels >= 2);
- return ptr_owner + knot_dname_prefixlen(ptr_owner, labels - 2, NULL);
+ return ptr_owner + knot_dname_prefixlen(ptr_owner, labels - 2);
}
static bool same_uniq(const knot_dname_t *owner1, const knot_dname_t *catz1,
diff --git a/src/knot/catalog/interpret.c b/src/knot/catalog/interpret.c
index 7337105..3e8e5db 100644
--- a/src/knot/catalog/interpret.c
+++ b/src/knot/catalog/interpret.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -105,7 +105,7 @@ static const knot_dname_t *property_get_member(const zone_node_t *prop_node,
knot_rdataset_t *ptr = node_rdataset(prop_node->parent, KNOT_RRTYPE_PTR);
if (ptr == NULL) {
// fallback: search in provided complete zone contents
- const knot_dname_t *memb_name = knot_wire_next_label(prop_node->owner, NULL);
+ const knot_dname_t *memb_name = knot_dname_next_label(prop_node->owner);
const zone_node_t *memb_node = zone_contents_find_node(complete_conts, memb_name);
ptr = node_rdataset(memb_node, KNOT_RRTYPE_PTR);
if (memb_node != NULL) {
diff --git a/src/knot/common/dbus.c b/src/knot/common/dbus.c
new file mode 100644
index 0000000..38ae5fa
--- /dev/null
+++ b/src/knot/common/dbus.c
@@ -0,0 +1,243 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include <stdarg.h>
+
+#include "knot/common/dbus.h"
+#include "knot/common/log.h"
+
+#define ENABLE_DBUS (ENABLE_DBUS_SYSTEMD | ENABLE_DBUS_LIBDBUS)
+
+#if defined(ENABLE_DBUS_SYSTEMD)
+
+#include <systemd/sd-bus.h>
+#define VALUE_OF(x) (x)
+typedef sd_bus * dbus_ctx_t;
+
+#elif defined(ENABLE_DBUS_LIBDBUS)
+
+#include <assert.h>
+#include <dbus/dbus.h>
+#define VALUE_OF(x) (&(x))
+typedef DBusConnection * dbus_ctx_t;
+
+#else
+
+typedef struct {} * dbus_ctx_t; // Dummy
+
+#endif // ENABLE_DBUS_LIBDBUS
+
+static dbus_ctx_t _dbus = NULL;
+
+int dbus_open(void)
+{
+ if (_dbus != NULL) {
+ return KNOT_EOK;
+ }
+#if defined(ENABLE_DBUS_SYSTEMD)
+ int ret = sd_bus_open_system(&_dbus);
+ if (ret < 0) {
+ goto error_systemd;
+ }
+
+ /* Take a well-known service name so that clients can find us. */
+ ret = sd_bus_request_name(_dbus, KNOT_DBUS_NAME, 0);
+ if (ret < 0) {
+ goto error_systemd;
+ }
+
+ log_info("d-bus: connected to system bus");
+ return KNOT_EOK;
+error_systemd:
+ log_error("d-bus: failed to open system bus (%s)", knot_strerror(ret));
+ dbus_close();
+ return ret;
+#elif defined(ENABLE_DBUS_LIBDBUS)
+ DBusError err;
+ dbus_error_init(&err);
+
+ _dbus = dbus_bus_get(DBUS_BUS_SYSTEM, &err);
+ if (dbus_error_is_set(&err) == TRUE) {
+ goto error_libdbus;
+ }
+
+ /* Take a well-known service name so that clients can find us. */
+ dbus_bus_request_name(_dbus, KNOT_DBUS_NAME, 0, &err);
+ if (dbus_error_is_set(&err) == TRUE) {
+ goto error_libdbus;
+ }
+
+ dbus_error_free(&err);
+ log_info("d-bus: connected to system bus");
+ return KNOT_EOK;
+error_libdbus:
+ log_error("d-bus: failed to open system bus (%s)", err.message);
+ dbus_error_free(&err);
+ dbus_close();
+ return KNOT_ERROR;
+#endif
+ log_error("d-bus: not supported");
+ return KNOT_ENOTSUP;
+}
+
+void dbus_close(void)
+{
+ if (_dbus == NULL) {
+ return;
+ }
+#if defined(ENABLE_DBUS_SYSTEMD)
+ _dbus = sd_bus_unref(_dbus);
+#elif defined(ENABLE_DBUS_LIBDBUS)
+ dbus_connection_unref(_dbus);
+ _dbus = NULL;
+#endif // ENABLE_DBUS_LIBDBUS
+}
+
+#if ENABLE_DBUS
+static void emit_event(const char *event, char *first_arg_type, ...)
+{
+ int ret = KNOT_ENOENT;
+ if (_dbus == NULL) {
+ goto failed;
+ }
+
+#if defined(ENABLE_DBUS_SYSTEMD)
+ sd_bus_message *msg = NULL;
+ ret = sd_bus_message_new_signal(_dbus, &msg, KNOT_DBUS_PATH,
+ KNOT_DBUS_NAME".events", event);
+ if (ret < 0) {
+ goto failed;
+ }
+
+ va_list args;
+ va_start(args, first_arg_type);
+ ret = sd_bus_message_appendv(msg, first_arg_type, args);
+ if (ret < 0) {
+ sd_bus_message_unref(msg);
+ va_end(args);
+ goto failed;
+ }
+ /*
+ * \note sd_bus_message_send(msg) or even sd_bus_emit_signalv() can
+ * be used with a newer systemd.
+ */
+ ret = sd_bus_send(sd_bus_message_get_bus(msg), msg, NULL);
+ if (ret < 0) {
+ sd_bus_message_unref(msg);
+ va_end(args);
+ goto failed;
+ }
+ va_end(args);
+#elif defined(ENABLE_DBUS_LIBDBUS)
+ DBusMessage *msg = NULL;
+ msg = dbus_message_new_signal(KNOT_DBUS_PATH, KNOT_DBUS_NAME".events",
+ event);
+ if (msg == NULL) {
+ ret = KNOT_ENOMEM;
+ goto failed;
+ }
+
+ /*
+ * \note This loop considers only basic data types; composite ones,
+ * such as arrays, result in undefined behavior.
+ */
+ va_list args;
+ va_start(args, first_arg_type);
+ for (const char *type = first_arg_type; *type; ++type) {
+ dbus_bool_t bret = dbus_message_append_args(msg, *type,
+ va_arg(args, void *),
+ DBUS_TYPE_INVALID);
+ if (bret == FALSE) {
+ dbus_message_unref(msg);
+ va_end(args);
+ assert(0); // Read note
+ ret = KNOT_EINVAL;
+ goto failed;
+ }
+ }
+
+ if (dbus_connection_send(_dbus, msg, NULL) == 0) {
+ dbus_message_unref(msg);
+ va_end(args);
+ ret = KNOT_NET_ESEND;
+ goto failed;
+ }
+ dbus_message_unref(msg);
+ va_end(args);
+#endif // ENABLE_DBUS_LIBDBUS
+ return;
+failed:
+ log_error("d-bus: failed to emit signal '%s' (%s)", event, knot_strerror(ret));
+}
+#endif // ENABLE_DBUS
+
+void dbus_emit_running(bool up)
+{
+#if ENABLE_DBUS
+ emit_event(up ? KNOT_BUS_EVENT_STARTED : KNOT_BUS_EVENT_STOPPED, "");
+#endif // ENABLE_DBUS
+}
+
+void dbus_emit_zone_updated(const knot_dname_t *zone_name, uint32_t serial)
+{
+#if ENABLE_DBUS
+ knot_dname_txt_storage_t buff;
+ char *zone_str = knot_dname_to_str(buff, zone_name, sizeof(buff));
+ if (zone_str != NULL) {
+ emit_event(KNOT_BUS_EVENT_ZONE_UPD, "su", VALUE_OF(zone_str),
+ VALUE_OF(serial));
+ }
+#endif // ENABLE_DBUS
+}
+
+void dbus_emit_keys_updated(const knot_dname_t *zone_name)
+{
+#if ENABLE_DBUS
+ knot_dname_txt_storage_t buff;
+ char *zone_str = knot_dname_to_str(buff, zone_name, sizeof(buff));
+ if (zone_str != NULL) {
+ emit_event(KNOT_BUS_EVENT_ZONE_KEYS_UPD, "s",
+ VALUE_OF(zone_str));
+ }
+#endif // ENABLE_DBUS
+}
+
+void dbus_emit_zone_submission(const knot_dname_t *zone_name, uint16_t keytag,
+ const char *keyid)
+{
+#if ENABLE_DBUS
+ knot_dname_txt_storage_t buff;
+ char *zone_str = knot_dname_to_str(buff, zone_name, sizeof(buff));
+ if (zone_str != NULL) {
+ emit_event(KNOT_BUS_EVENT_ZONE_KSK_SUBM, "sqs",
+ VALUE_OF(zone_str), VALUE_OF(keytag),
+ VALUE_OF(keyid));
+ }
+#endif // ENABLE_DBUS
+}
+
+void dbus_emit_zone_invalid(const knot_dname_t *zone_name, uint32_t remaining_secs)
+{
+#if ENABLE_DBUS
+ knot_dname_txt_storage_t buff;
+ char *zone_str = knot_dname_to_str(buff, zone_name, sizeof(buff));
+ if (zone_str != NULL) {
+ emit_event(KNOT_BUS_EVENT_ZONE_INVALID, "su",
+ VALUE_OF(zone_str),
+ VALUE_OF(remaining_secs));
+ }
+#endif // ENABLE_DBUS
+}
diff --git a/src/knot/common/dbus.h b/src/knot/common/dbus.h
new file mode 100644
index 0000000..3a529f3
--- /dev/null
+++ b/src/knot/common/dbus.h
@@ -0,0 +1,86 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+/*!
+ * \brief D-Bus API wrappers.
+ */
+
+#pragma once
+
+#include "libknot/libknot.h"
+
+#define KNOT_DBUS_NAME "cz.nic.knotd"
+#define KNOT_DBUS_PATH "/cz/nic/knotd"
+
+#define KNOT_BUS_EVENT_STARTED "started"
+#define KNOT_BUS_EVENT_STOPPED "stopped"
+#define KNOT_BUS_EVENT_ZONE_UPD "zone_updated"
+#define KNOT_BUS_EVENT_ZONE_KEYS_UPD "keys_updated"
+#define KNOT_BUS_EVENT_ZONE_KSK_SUBM "zone_ksk_submission"
+#define KNOT_BUS_EVENT_ZONE_INVALID "zone_dnssec_invalid"
+
+/*!
+ * \brief Creates unique D-Bus sender reference (common for whole process).
+ *
+ * \retval KNOT_EOK on successful create of reference.
+ * \retval Negative value on error.
+ */
+int dbus_open(void);
+
+/*!
+ * \brief Closes D-Bus.
+ */
+void dbus_close(void);
+
+/*!
+ * \brief Emit event signal for started daemon.
+ *
+ * \param up Indication if the server has been started.
+ */
+void dbus_emit_running(bool up);
+
+/*!
+ * \brief Emit event signal for updated zones.
+ *
+ * \param zone_name Zone name.
+ * \param serial Current zone SOA serial.
+ */
+void dbus_emit_zone_updated(const knot_dname_t *zone_name, uint32_t serial);
+
+/*!
+ * \brief Emit event signal for updated DNSSEC key set.
+ *
+ * \param zone_name Zone name.
+ */
+void dbus_emit_keys_updated(const knot_dname_t *zone_name);
+
+/*!
+ * \brief Emit event signal for KSK submission.
+ *
+ * \param zone_name Zone name.
+ * \param keytag Keytag of the ready key.
+ * \param keyid KASP id of the ready key.
+ */
+void dbus_emit_zone_submission(const knot_dname_t *zone_name, uint16_t keytag,
+ const char *keyid);
+
+/*!
+ * \brief Emit event signal for failed DNSSEC validation.
+ *
+ * \param zone_name Zone name.
+ * \param remaining_secs Remaining time until a RRSIG expires.
+ */
+void dbus_emit_zone_invalid(const knot_dname_t *zone_name, uint32_t remaining_secs);
diff --git a/src/knot/common/fdset.c b/src/knot/common/fdset.c
index a0a0212..2bf4113 100644
--- a/src/knot/common/fdset.c
+++ b/src/knot/common/fdset.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -35,6 +35,7 @@ static int fdset_resize(fdset_t *set, const unsigned size)
assert(set);
MEM_RESIZE(set->ctx, size);
+ MEM_RESIZE(set->ctx2, size);
MEM_RESIZE(set->timeout, size);
#if defined(HAVE_EPOLL) || defined(HAVE_KQUEUE)
MEM_RESIZE(set->ev, size);
@@ -80,6 +81,7 @@ void fdset_clear(fdset_t *set)
}
free(set->ctx);
+ free(set->ctx2);
free(set->timeout);
#if defined(HAVE_EPOLL) || defined(HAVE_KQUEUE)
free(set->ev);
@@ -104,6 +106,7 @@ int fdset_add(fdset_t *set, const int fd, const fdset_event_t events, void *ctx)
const int idx = set->n++;
set->ctx[idx] = ctx;
+ set->ctx2[idx] = NULL;
set->timeout[idx] = 0;
#ifdef HAVE_EPOLL
set->ev[idx].data.fd = fd;
@@ -164,6 +167,7 @@ int fdset_remove(fdset_t *set, const unsigned idx)
/* Nothing else if it is the last one. Move last -> i if some remain. */
if (idx < last) {
set->ctx[idx] = set->ctx[last];
+ set->ctx2[idx] = set->ctx2[last];
set->timeout[idx] = set->timeout[last];
#if defined(HAVE_EPOLL) || defined (HAVE_KQUEUE)
set->ev[idx] = set->ev[last];
@@ -326,8 +330,7 @@ void fdset_sweep(fdset_t *set, const fdset_sweep_cb_t cb, void *data)
while (idx < set->n) {
/* Check sweep state, remove if requested. */
if (set->timeout[idx] > 0 && set->timeout[idx] <= now.tv_sec) {
- const int fd = fdset_get_fd(set, idx);
- if (cb(set, fd, data) == FDSET_SWEEP) {
+ if (cb(set, idx, data) == FDSET_SWEEP) {
(void)fdset_remove(set, idx);
continue;
}
diff --git a/src/knot/common/fdset.h b/src/knot/common/fdset.h
index e0c3dbe..81ec7a8 100644
--- a/src/knot/common/fdset.h
+++ b/src/knot/common/fdset.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -45,6 +45,7 @@ typedef struct {
unsigned n; /*!< Active fds. */
unsigned size; /*!< Array size (allocated). */
void **ctx; /*!< Context for each fd. */
+ void **ctx2; /*!< Another context for each fd. */
time_t *timeout; /*!< Timeout for each fd (seconds precision). */
#if defined(HAVE_EPOLL) || defined(HAVE_KQUEUE)
#ifdef HAVE_EPOLL
@@ -271,6 +272,16 @@ inline static void *fdset_it_get_ctx(const fdset_it_t *it)
}
/*!
+ * \brief Get a read/write pointer on (void *) second context.
+ */
+inline static void **fdset_ctx2(const fdset_t *set, const unsigned idx)
+{
+ assert(set && idx < set->n);
+
+ return &set->ctx2[idx];
+}
+
+/*!
* \brief Move iterator on next received event.
*
* \param it Target iterator.
diff --git a/src/knot/common/stats.c b/src/knot/common/stats.c
index 79c0f23..da31e3d 100644
--- a/src/knot/common/stats.c
+++ b/src/knot/common/stats.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -24,140 +24,168 @@
#include "knot/common/stats.h"
#include "knot/common/log.h"
#include "knot/nameserver/query_module.h"
+#include "libknot/xdp.h"
-struct {
- bool active_dumper;
- pthread_t dumper;
- uint32_t timer;
- server_t *server;
-} stats = { 0 };
-
-typedef struct {
- FILE *fd;
- const list_t *query_modules;
- const knot_dname_t *zone;
- unsigned threads;
- int level;
- bool zone_emitted;
- bool zone_name_emitted;
- bool module_emitted;
-} dump_ctx_t;
-
-#define DUMP_STR(fd, level, name, ...) do { \
- fprintf(fd, "%-.*s"name":\n", level, " ", ##__VA_ARGS__); \
-} while (0)
-
-#define DUMP_CTR(fd, level, name, idx, val) do { \
- fprintf(fd, "%-.*s"name": %"PRIu64"\n", level, " ", idx, val); \
-} while (0)
-
-static uint64_t server_zone_count(server_t *server)
+static uint64_t stats_get_counter(knot_atomic_uint64_t **stats_vals, uint32_t offset,
+ unsigned threads)
{
- return knot_zonedb_size(server->zone_db);
+ uint64_t res = 0;
+ for (unsigned i = 0; i < threads; i++) {
+ res += ATOMIC_GET(stats_vals[i][offset]);
+ }
+ return res;
}
-const stats_item_t server_stats[] = {
- { "zone-count", { .server_val = server_zone_count } },
- { 0 }
-};
-
-static uint64_t zone_size(zone_t *zone)
+int stats_xdp(stats_dump_ctr_f fcn, stats_dump_ctx_t *ctx)
{
- return zone->contents != NULL ? zone->contents->size : 0;
+#ifdef ENABLE_XDP
+#define DUMP(structure, item_name, avg) { \
+ params.item_begin = true; \
+ params.item = #item_name; \
+ params.id = stats[0].if_name; \
+ params.value = 0; \
+ for (int j = 0; j < i->fd_xdp_count; j++) { \
+ params.value += stats[j].structure.item_name; \
+ } \
+ if (avg) { \
+ params.value /= i->fd_xdp_count; \
+ } \
+ int ret = fcn(&params, ctx); \
+ if (ret != KNOT_EOK) { \
+ return ret; \
+ } \
}
+ stats_dump_params_t params = { .section = "xdp" };
-static uint64_t zone_max_ttl(zone_t *zone)
-{
- return zone->contents != NULL ? zone->contents->max_ttl : 0;
+ if (ctx->section != NULL && strcasecmp(ctx->section, params.section) != 0) {
+ return KNOT_EOK;
+ }
+
+ for (const iface_t *i = ctx->server->ifaces;
+ i != ctx->server->ifaces + ctx->server->n_ifaces; i++) {
+ if (i->fd_xdp_count == 0) {
+ continue;
+ }
+ knot_xdp_stats_t stats[i->fd_xdp_count];
+ for (int j = 0; j < i->fd_xdp_count; j++) {
+ knot_xdp_socket_stats(i->xdp_sockets[j], &stats[j]);
+ }
+
+ DUMP(socket, rx_dropped, false);
+ DUMP(socket, rx_invalid, false);
+ DUMP(socket, tx_invalid, false);
+ DUMP(socket, rx_full, false);
+ DUMP(socket, fq_empty, false);
+ DUMP(socket, tx_empty, false);
+ DUMP(rings, tx_busy, true);
+ DUMP(rings, fq_fill, true);
+ DUMP(rings, rx_fill, true);
+ DUMP(rings, tx_fill, true);
+ DUMP(rings, cq_fill, true);
+ }
+#undef DUMP
+#endif
+ return KNOT_EOK;
}
-const stats_item_t zone_contents_stats[] = {
- { "size", { .zone_val = zone_size } },
- { "max-ttl", { .zone_val = zone_max_ttl } },
- { 0 }
-};
+#define DUMP_VAL(params, it, val) { \
+ (params).item = (it); \
+ (params).value = (val); \
+ int ret = fcn(&(params), ctx); \
+ if (ret != KNOT_EOK) { \
+ return ret; \
+ } \
+}
-uint64_t stats_get_counter(uint64_t **stats_vals, uint32_t offset, unsigned threads)
+int stats_server(stats_dump_ctr_f fcn, stats_dump_ctx_t *ctx)
{
- uint64_t res = 0;
- for (unsigned i = 0; i < threads; i++) {
- res += ATOMIC_GET(stats_vals[i][offset]);
+ stats_dump_params_t params = { .section = "server" };
+
+ if (ctx->section != NULL && strcasecmp(ctx->section, params.section) != 0) {
+ return KNOT_EOK;
}
- return res;
+
+ DUMP_VAL(params, "zone-count", knot_zonedb_size(ctx->server->zone_db));
+
+ return KNOT_EOK;
}
-static void dump_common(dump_ctx_t *ctx, knotd_mod_t *mod)
+int stats_zone(stats_dump_ctr_f fcn, stats_dump_ctx_t *ctx)
{
- // Dump zone name.
- if (ctx->zone != NULL) {
- // Prevent from zone section override.
- if (!ctx->zone_emitted) {
- ctx->level = 0;
- DUMP_STR(ctx->fd, ctx->level++, "zone");
- ctx->zone_emitted = true;
- }
+ knot_dname_txt_storage_t zone;
+ stats_dump_params_t params = { .section = "zone", .zone = zone };
- if (!ctx->zone_name_emitted) {
- ctx->level = 1;
- knot_dname_txt_storage_t name;
- if (knot_dname_to_str(name, ctx->zone, sizeof(name)) == NULL) {
- return;
- }
- DUMP_STR(ctx->fd, ctx->level++, "\"%s\"", name);
- ctx->zone_name_emitted = true;
- }
+ if (ctx->section != NULL && strcasecmp(ctx->section, params.section) != 0) {
+ return KNOT_EOK;
}
- if (!ctx->module_emitted) {
- DUMP_STR(ctx->fd, ctx->level++, "%s", mod->id->name + 1);
- ctx->module_emitted = true;
+ assert(ctx->zone);
+ zone_contents_t *contents = ctx->zone->contents;
+
+ if (knot_dname_to_str(zone, ctx->zone->name, sizeof(zone)) == NULL) {
+ return KNOT_EINVAL;
}
+
+ DUMP_VAL(params, "size", contents != NULL ? contents->size : 0);
+ DUMP_VAL(params, "max-ttl", contents != NULL ? contents->max_ttl : 0);
+
+ return KNOT_EOK;
}
-static void dump_counter(dump_ctx_t *ctx, knotd_mod_t *mod, mod_ctr_t *ctr)
+static int stats_counter(stats_dump_ctr_f fcn, stats_dump_ctx_t *ctx,
+ stats_dump_params_t *params, knotd_mod_t *mod, mod_ctr_t *ctr)
{
- uint64_t counter = stats_get_counter(mod->stats_vals, ctr->offset, ctx->threads);
- if (counter == 0) {
- // Skip empty counter.
- return;
- }
+ params->id = NULL;
+ params->value_pos = 0;
- dump_common(ctx, mod);
+ uint64_t val = stats_get_counter(mod->stats_vals, ctr->offset, ctx->threads);
- DUMP_CTR(ctx->fd, ctx->level, "%s", ctr->name, counter);
+ DUMP_VAL(*params, ctr->name, val);
+
+ return KNOT_EOK;
}
-static void dump_counters(dump_ctx_t *ctx, knotd_mod_t *mod, mod_ctr_t *ctr)
+static int stats_counters(stats_dump_ctr_f fcn, stats_dump_ctx_t *ctx,
+ stats_dump_params_t *params, knotd_mod_t *mod, mod_ctr_t *ctr)
{
- bool counter_emitted = false;
- for (uint32_t j = 0; j < ctr->count; j++) {
- uint64_t counter = stats_get_counter(mod->stats_vals, ctr->offset + j, ctx->threads);
- if (counter == 0) {
- // Skip empty counter.
- continue;
- }
+ char id[64];
+ params->id = id;
+ params->value_pos = 0;
+ params->item_begin = true;
- dump_common(ctx, mod);
-
- if (!counter_emitted) {
- DUMP_STR(ctx->fd, ctx->level, "%s", ctr->name);
- counter_emitted = true;
- }
+ for (uint32_t i = 0; i < ctr->count; i++) {
+ uint64_t val = stats_get_counter(mod->stats_vals, ctr->offset + i,
+ ctx->threads);
if (ctr->idx_to_str != NULL) {
- char *str = ctr->idx_to_str(j, ctr->count);
- if (str != NULL) {
- DUMP_CTR(ctx->fd, ctx->level + 1, "%s", str, counter);
- free(str);
+ char *str = ctr->idx_to_str(i, ctr->count);
+ if (str == NULL) {
+ continue;
}
+ (void)snprintf(id, sizeof(id), "%s", str);
+ free(str);
} else {
- DUMP_CTR(ctx->fd, ctx->level + 1, "%u", j, counter);
+ (void)snprintf(id, sizeof(id), "%u", i);
}
+
+ DUMP_VAL(*params, ctr->name, val);
+ params->value_pos++;
}
+
+ params->id = NULL;
+
+ return KNOT_EOK;
}
-static void dump_modules(dump_ctx_t *ctx)
+int stats_modules(stats_dump_ctr_f fcn, stats_dump_ctx_t *ctx)
{
+ if (ctx->section != NULL && strncasecmp(ctx->section, "mod-", strlen("mod-")) != 0) {
+ return KNOT_EOK;
+ }
+
+ knot_dname_txt_storage_t zone;
+ stats_dump_params_t params = { 0 };
+
knotd_mod_t *mod;
WALK_LIST(mod, *ctx->query_modules) {
// Skip modules without statistics.
@@ -169,39 +197,114 @@ static void dump_modules(dump_ctx_t *ctx)
ctx->threads = knotd_mod_threads(mod);
}
+ params.section = mod->id->name + 1;
+ params.module_begin = true;
+ if (ctx->zone != NULL && params.zone == NULL) {
+ params.zone = knot_dname_to_str(zone, ctx->zone->name,
+ sizeof(zone));
+ if (params.zone == NULL) {
+ return KNOT_EINVAL;
+ }
+ }
+
// Dump module counters.
- ctx->module_emitted = false;
for (int i = 0; i < mod->stats_count; i++) {
mod_ctr_t *ctr = mod->stats_info + i;
if (ctr->name == NULL) {
// Empty counter.
continue;
}
- if (ctr->count == 1) {
- // Simple counter.
- dump_counter(ctx, mod, ctr);
- } else {
- // Array of counters.
- dump_counters(ctx, mod, ctr);
+ int ret = (ctr->count == 1) ?
+ stats_counter(fcn, ctx, &params, mod, ctr) :
+ stats_counters(fcn, ctx, &params, mod, ctr);
+ if (ret != KNOT_EOK) {
+ return ret;
}
}
- if (ctx->module_emitted) {
- ctx->level--;
+ }
+
+ return KNOT_EOK;
+}
+
+struct {
+ bool active_dumper;
+ pthread_t dumper;
+ uint32_t timer;
+ server_t *server;
+} stats = { 0 };
+
+typedef struct {
+ FILE *fd;
+ bool section_emitted;
+ bool zone_section_emitted;
+ bool zone_emitted;
+ bool id_emitted;
+} dump_ctx_t;
+
+static int dump_ctr(stats_dump_params_t *params, stats_dump_ctx_t *dump_ctx)
+{
+ dump_ctx_t *ctx = dump_ctx->ctx;
+
+ if (params->value == 0) {
+ return KNOT_EOK;
+ }
+
+ const char *INDENT = " ";
+ unsigned indent = 0;
+
+ if (params->zone != NULL) {
+ if (!ctx->zone_section_emitted) {
+ fprintf(ctx->fd, "zone:\n");
+ ctx->zone_section_emitted = true;
+ }
+
+ if (!ctx->zone_emitted) {
+ fprintf(ctx->fd, " \"%s\":\n", params->zone);
+ ctx->zone_emitted = true;
}
+ indent += 2;
}
+
+ if (!ctx->section_emitted || params->module_begin) {
+ fprintf(ctx->fd, "%-.*s%s:\n", indent, INDENT, params->section);
+ ctx->section_emitted = true;
+ params->module_begin = false;
+ }
+ indent++;
+
+ if (params->id != NULL) {
+ if (params->item_begin) {
+ fprintf(ctx->fd, "%-.*s%s:\n", indent, INDENT, params->item);
+ params->item_begin = false;
+ }
+ indent++;
+ fprintf(ctx->fd, "%-.*s%s: %"PRIu64"\n", indent, INDENT,
+ params->id, params->value);
+ } else {
+ fprintf(ctx->fd, "%-.*s%s: %"PRIu64"\n", indent, INDENT,
+ params->item, params->value);
+ }
+
+ return KNOT_EOK;
}
-static void zone_stats_dump(zone_t *zone, dump_ctx_t *ctx)
+static void zone_stats_dump(zone_t *zone, stats_dump_ctx_t *dump_ctx)
{
if (EMPTY_LIST(zone->query_modules)) {
return;
}
- ctx->query_modules = &zone->query_modules;
- ctx->zone = zone->name;
- ctx->zone_name_emitted = false;
+ // Reset per-zone context.
+ dump_ctx_t *ctx = dump_ctx->ctx;
+ *ctx = (dump_ctx_t){
+ .fd = ctx->fd,
+ .zone_section_emitted = ctx->zone_section_emitted,
+ };
+
+ dump_ctx->zone = zone;
+ dump_ctx->query_modules = &zone->query_modules;
- dump_modules(ctx);
+ (void)stats_modules(dump_ctr, dump_ctx);
}
static void dump_to_file(conf_t *conf, FILE *fd, server_t *server)
@@ -224,22 +327,28 @@ static void dump_to_file(conf_t *conf, FILE *fd, server_t *server)
"identity: %s\n",
date, ident);
- dump_ctx_t ctx = {
- .fd = fd,
+ dump_ctx_t ctx = { .fd = fd };
+
+ stats_dump_ctx_t dump_ctx = {
+ .server = server,
.query_modules = conf->query_modules,
+ .ctx = &ctx,
};
- // Dump server statistics.
- DUMP_STR(ctx.fd, ctx.level, "server");
- for (const stats_item_t *item = server_stats; item->name != NULL; item++) {
- DUMP_CTR(ctx.fd, ctx.level + 1, "%s", item->name, item->server_val(server));
- }
+ // Dump server counters.
+ (void)stats_server(dump_ctr, &dump_ctx);
+
+ // Dump XDP counters.
+ ctx = (dump_ctx_t){ .fd = fd };
+ (void)stats_xdp(dump_ctr, &dump_ctx);
- // Dump global statistics.
- dump_modules(&ctx);
+ // Dump global module counters.
+ ctx = (dump_ctx_t){ .fd = fd };
+ (void)stats_modules(dump_ctr, &dump_ctx);
- // Dump zone statistics.
- knot_zonedb_foreach(server->zone_db, zone_stats_dump, &ctx);
+ // Dump per zone module counters (fixed zone counters not included).
+ ctx = (dump_ctx_t){ .fd = fd };
+ knot_zonedb_foreach(server->zone_db, zone_stats_dump, &dump_ctx);
}
static void dump_stats(server_t *server)
@@ -321,7 +430,6 @@ void stats_reconfigure(conf_t *conf, server_t *server)
return;
}
- // Update server context.
stats.server = server;
conf_val_t val = conf_get(conf, C_STATS, C_TIMER);
diff --git a/src/knot/common/stats.h b/src/knot/common/stats.h
index 5cb51ca..4391178 100644
--- a/src/knot/common/stats.h
+++ b/src/knot/common/stats.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,36 +20,65 @@
#pragma once
+#include "contrib/atomic.h"
#include "knot/server/server.h"
-typedef uint64_t (*stats_server_val_f)(server_t *server);
-typedef uint64_t (*stats_zone_val_f)(zone_t *zone);
+/*!
+ * \brief Parameters for a statistic metric dump callback.
+ */
+typedef struct {
+ const char *section;
+ const char *item;
+ const char *id;
+ const char *zone;
+ uint64_t value;
+ unsigned value_pos; // Counted from 0.
+
+ bool module_begin; // Indication of a new module.
+ bool item_begin; // Indication of a new item.
+} stats_dump_params_t;
/*!
- * \brief Statistics metrics item.
+ * \brief Statistic metric context.
*/
typedef struct {
- const char *name; /*!< Metrics name. */
- union {
- stats_server_val_f server_val; /*!< Server metrics value getter. */
- stats_zone_val_f zone_val; /*!< Zone metrics value getter. */
- };
-} stats_item_t;
+ server_t *server;
+ zone_t *zone;
+ const list_t *query_modules;
+
+ const char *section; // Optional section specification.
+ const char *item; // Optional item specification.
+ bool match; // Indication of non-empty [[section[.item]] selection.
+
+ unsigned threads; // Internal cache for the number of workers.
+
+ void *ctx;
+} stats_dump_ctx_t;
+
+/*!
+ * \brief Statistic metric dump callback.
+ */
+typedef int (*stats_dump_ctr_f)(stats_dump_params_t *, stats_dump_ctx_t *);
+
+/*!
+ * \brief XDP metrics.
+ */
+int stats_xdp(stats_dump_ctr_f fcn, stats_dump_ctx_t *ctx);
/*!
- * \brief Basic server metrics.
+ * \brief Server metrics.
*/
-extern const stats_item_t server_stats[];
+int stats_server(stats_dump_ctr_f fcn, stats_dump_ctx_t *ctx);
/*!
- * \brief Basic zone metrics.
+ * \brief Zone metrics.
*/
-extern const stats_item_t zone_contents_stats[];
+int stats_zone(stats_dump_ctr_f fcn, stats_dump_ctx_t *ctx);
/*!
- * \brief Read out value of single counter summed across threads.
+ * \brief Modules metrics.
*/
-uint64_t stats_get_counter(uint64_t **stats_vals, uint32_t offset, unsigned threads);
+int stats_modules(stats_dump_ctr_f fcn, stats_dump_ctx_t *ctx);
/*!
* \brief Reconfigures the statistics facility.
diff --git a/src/knot/common/systemd.c b/src/knot/common/systemd.c
index 5a72fb4..3f9d9a6 100644
--- a/src/knot/common/systemd.c
+++ b/src/knot/common/systemd.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -14,8 +14,6 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-#include <stdarg.h>
-#include <stdio.h>
#include <stdlib.h>
#include "knot/common/systemd.h"
@@ -43,12 +41,6 @@ static int systemd_zone_load_timeout(void)
}
#endif
-#ifdef ENABLE_DBUS
-#include <systemd/sd-bus.h>
-
-static sd_bus *_dbus = NULL;
-#endif
-
void systemd_zone_load_timeout_notify(void)
{
#ifdef ENABLE_SYSTEMD
@@ -92,91 +84,3 @@ void systemd_stopping_notify(void)
sd_notify(0, "STOPPING=1\nSTATUS=");
#endif
}
-
-int systemd_dbus_open(void)
-{
-#ifdef ENABLE_DBUS
- if (_dbus != NULL) {
- return KNOT_EOK;
- }
-
- int ret = sd_bus_open_system(&_dbus);
- if (ret < 0) {
- return ret;
- }
-
- /* Take a well-known service name so that clients can find us. */
- ret = sd_bus_request_name(_dbus, KNOT_DBUS_NAME, 0);
- if (ret < 0) {
- systemd_dbus_close();
- return ret;
- }
-
- return KNOT_EOK;
-#else
- return KNOT_ENOTSUP;
-#endif
-}
-
-void systemd_dbus_close(void)
-{
-#ifdef ENABLE_DBUS
- _dbus = sd_bus_unref(_dbus);
-#endif
-}
-
-#define emit_event(event, ...) \
- sd_bus_emit_signal(_dbus, KNOT_DBUS_PATH, KNOT_DBUS_NAME".events", \
- event, __VA_ARGS__)
-
-void systemd_emit_running(bool up)
-{
-#ifdef ENABLE_DBUS
- emit_event(up ? KNOT_BUS_EVENT_STARTED : KNOT_BUS_EVENT_STOPPED, "");
-#endif
-}
-
-void systemd_emit_zone_updated(const knot_dname_t *zone_name, uint32_t serial)
-{
-#ifdef ENABLE_DBUS
- knot_dname_txt_storage_t buff;
- char *zone_str = knot_dname_to_str(buff, zone_name, sizeof(buff));
- if (zone_str != NULL) {
- emit_event(KNOT_BUS_EVENT_ZONE_UPD, "su", zone_str, serial);
- }
-#endif
-}
-
-void systemd_emit_keys_updated(const knot_dname_t *zone_name)
-{
-#ifdef ENABLE_DBUS
- knot_dname_txt_storage_t buff;
- char *zone_str = knot_dname_to_str(buff, zone_name, sizeof(buff));
- if (zone_str != NULL) {
- emit_event(KNOT_BUS_EVENT_ZONE_KEYS_UPD, "s", zone_str);
- }
-#endif
-}
-
-void systemd_emit_zone_submission(const knot_dname_t *zone_name, uint16_t keytag,
- const char *keyid)
-{
-#ifdef ENABLE_DBUS
- knot_dname_txt_storage_t buff;
- char *zone_str = knot_dname_to_str(buff, zone_name, sizeof(buff));
- if (zone_str != NULL) {
- emit_event(KNOT_BUS_EVENT_ZONE_KSK_SUBM, "sqs", zone_str, keytag, keyid);
- }
-#endif
-}
-
-void systemd_emit_zone_invalid(const knot_dname_t *zone_name)
-{
-#ifdef ENABLE_DBUS
- knot_dname_txt_storage_t buff;
- char *zone_str = knot_dname_to_str(buff, zone_name, sizeof(buff));
- if (zone_str != NULL) {
- emit_event(KNOT_BUS_EVENT_ZONE_INVALID, "s", zone_str);
- }
-#endif
-}
diff --git a/src/knot/common/systemd.h b/src/knot/common/systemd.h
index c6fe260..2038e94 100644
--- a/src/knot/common/systemd.h
+++ b/src/knot/common/systemd.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,18 +20,6 @@
#pragma once
-#include "libknot/libknot.h"
-
-#define KNOT_DBUS_NAME "cz.nic.knotd"
-#define KNOT_DBUS_PATH "/cz/nic/knotd"
-
-#define KNOT_BUS_EVENT_STARTED "started"
-#define KNOT_BUS_EVENT_STOPPED "stopped"
-#define KNOT_BUS_EVENT_ZONE_UPD "zone_updated"
-#define KNOT_BUS_EVENT_ZONE_KEYS_UPD "keys_updated"
-#define KNOT_BUS_EVENT_ZONE_KSK_SUBM "zone_ksk_submission"
-#define KNOT_BUS_EVENT_ZONE_INVALID "zone_dnssec_invalid"
-
/*!
* \brief Notify systemd about zone loading start.
*/
@@ -59,55 +47,3 @@ void systemd_reloading_notify(void);
* \brief Notify systemd about service is stopping.
*/
void systemd_stopping_notify(void);
-
-/*!
- * \brief Creates unique D-Bus sender reference (common for whole process).
- *
- * \retval KNOT_EOK on successful create of reference.
- * \retval Negative value on error.
- */
-int systemd_dbus_open(void);
-
-/*!
- * \brief Closes D-Bus.
- */
-void systemd_dbus_close(void);
-
-/*!
- * \brief Emit event signal for started daemon.
- *
- * \param up Indication if the server has been started.
- */
-void systemd_emit_running(bool up);
-
-/*!
- * \brief Emit event signal for updated zones.
- *
- * \param zone_name Zone name.
- * \param serial Current zone SOA serial.
- */
-void systemd_emit_zone_updated(const knot_dname_t *zone_name, uint32_t serial);
-
-/*!
- * \brief Emit event signal for updated DNSSEC key set.
- *
- * \param zone_name Zone name.
- */
-void systemd_emit_keys_updated(const knot_dname_t *zone_name);
-
-/*!
- * \brief Emit event signal for KSK submission.
- *
- * \param zone_name Zone name.
- * \param keytag Keytag of the ready key.
- * \param keyid KASP id of the ready key.
- */
-void systemd_emit_zone_submission(const knot_dname_t *zone_name, uint16_t keytag,
- const char *keyid);
-
-/*!
- * \brief Emit event signal for failed DNSSEC validation.
- *
- * \param zone_name Zone name.
- */
-void systemd_emit_zone_invalid(const knot_dname_t *zone_name);
diff --git a/src/knot/conf/base.c b/src/knot/conf/base.c
index 51caf10..4683171 100644
--- a/src/knot/conf/base.c
+++ b/src/knot/conf/base.c
@@ -130,6 +130,9 @@ static void init_cache(
static bool running_xdp_tcp;
static uint16_t running_xdp_quic;
static bool running_route_check;
+ static uint16_t running_ring_size;
+ static uint16_t running_busypoll_budget;
+ static uint16_t running_busypoll_timeout;
static size_t running_udp_threads;
static size_t running_tcp_threads;
static size_t running_xdp_threads;
@@ -148,6 +151,9 @@ static void init_cache(
running_xdp_quic = conf_get_int(conf, C_XDP, C_QUIC_PORT);
}
running_route_check = conf_get_bool(conf, C_XDP, C_ROUTE_CHECK);
+ running_ring_size = conf_get_int(conf, C_XDP, C_RING_SIZE);
+ running_busypoll_budget = conf_get_int(conf, C_XDP, C_BUSYPOLL_BUDGET);
+ running_busypoll_timeout = conf_get_int(conf, C_XDP, C_BUSYPOLL_TIMEOUT);
running_udp_threads = conf_udp_threads(conf);
running_tcp_threads = conf_tcp_threads(conf);
running_xdp_threads = conf_xdp_threads(conf);
@@ -235,6 +241,12 @@ static void init_cache(
conf->cache.xdp_route_check = running_route_check;
+ conf->cache.xdp_ring_size = running_ring_size;
+
+ conf->cache.xdp_busypoll_budget = running_busypoll_budget;
+
+ conf->cache.xdp_busypoll_timeout = running_busypoll_timeout;
+
val = conf_get(conf, C_CTL, C_TIMEOUT);
conf->cache.ctl_timeout = conf_int(&val) * 1000;
/* infinite_adjust() call isn't needed, 0 is adjusted later anyway. */
@@ -335,9 +347,10 @@ int conf_new(
ret = out->api->init(&out->db, NULL, &lmdb_opts);
// Remove the database to ensure it is temporary.
- if (!remove_path(lmdb_opts.path)) {
- CONF_LOG(LOG_WARNING, "failed to purge temporary directory '%s'",
- lmdb_opts.path);
+ int ret2 = remove_path(lmdb_opts.path, false);
+ if (ret2 != KNOT_EOK) {
+ CONF_LOG(LOG_WARNING, "failed to purge temporary directory '%s' (%s)",
+ lmdb_opts.path, knot_strerror(ret2));
}
} else {
// Set the specified database.
diff --git a/src/knot/conf/base.h b/src/knot/conf/base.h
index 5c77cac..1ac5ef5 100644
--- a/src/knot/conf/base.h
+++ b/src/knot/conf/base.h
@@ -165,6 +165,9 @@ typedef struct {
const char *srv_version;
uint32_t srv_quic_idle_close;
uint16_t xdp_quic;
+ uint16_t xdp_ring_size;
+ uint16_t xdp_busypoll_budget;
+ uint16_t xdp_busypoll_timeout;
int ctl_timeout;
bool xdp_udp;
bool xdp_tcp;
diff --git a/src/knot/conf/conf.c b/src/knot/conf/conf.c
index 55ee971..5e9ed83 100644
--- a/src/knot/conf/conf.c
+++ b/src/knot/conf/conf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -606,8 +606,9 @@ void conf_mix_iter_next(
}
}
-int64_t conf_int(
- conf_val_t *val)
+int64_t conf_int_alt(
+ conf_val_t *val,
+ bool alternative)
{
assert(val != NULL && val->item != NULL);
assert(val->item->type == YP_TINT ||
@@ -618,7 +619,7 @@ int64_t conf_int(
conf_val(val);
return yp_int(val->data);
} else {
- return val->item->var.i.dflt;
+ return alternative ? val->item->var.i.dflt_alt : val->item->var.i.dflt;
}
}
@@ -1063,7 +1064,7 @@ static int str_label(
size_t index = labels - right_index - 1;
// Create a dname from the single label.
- size_t prefix_len = knot_dname_prefixlen(zone, index, NULL);
+ size_t prefix_len = knot_dname_prefixlen(zone, index);
size_t label_len = *(zone + prefix_len);
memcpy(label, zone + prefix_len, 1 + label_len);
label[1 + label_len] = '\0';
@@ -1379,6 +1380,8 @@ conf_remote_t conf_remote_txn(
conf_val_t val = conf_id_get_txn(conf, txn, C_RMT, C_QUIC, id);
out.quic = conf_bool(&val);
+ val = conf_id_get_txn(conf, txn, C_RMT, C_TLS, id);
+ out.tls = conf_bool(&val);
conf_val_t rundir_val = conf_get_txn(conf, txn, C_SRV, C_RUNDIR);
char *rundir = conf_abs_path(&rundir_val, NULL);
@@ -1398,7 +1401,7 @@ conf_remote_t conf_remote_txn(
conf_val_next(&val);
}
// Index overflow causes empty socket.
- out.addr = conf_addr_alt(&val, rundir, out.quic);
+ out.addr = conf_addr_alt(&val, rundir, out.quic || out.tls);
// Get outgoing address if family matches (optional).
uint16_t via_pos = 0;
diff --git a/src/knot/conf/conf.h b/src/knot/conf/conf.h
index 562722d..f79a284 100644
--- a/src/knot/conf/conf.h
+++ b/src/knot/conf/conf.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -44,6 +44,8 @@ typedef struct {
struct sockaddr_storage via;
/*! QUIC context. */
bool quic;
+ /*! TLS context. */
+ bool tls;
/*! TSIG key. */
knot_tsig_key_t key;
/*! Suppress sending NOTIFY after zone transfer from this master. */
@@ -469,13 +471,20 @@ void conf_mix_iter_next(
/*!
* Gets the numeric value of the item.
*
- * \param[in] val Item value.
+ * \param[in] val Item value.
+ * \param[in] alternative Use alternative default value.
*
* \return Integer.
*/
-int64_t conf_int(
- conf_val_t *val
+int64_t conf_int_alt(
+ conf_val_t *val,
+ bool alternative
);
+inline static int64_t conf_int(
+ conf_val_t *val)
+{
+ return conf_int_alt(val, false);
+}
/*!
* Gets the boolean value of the item.
diff --git a/src/knot/conf/schema.c b/src/knot/conf/schema.c
index 6e426b3..fd55fc8 100644
--- a/src/knot/conf/schema.c
+++ b/src/knot/conf/schema.c
@@ -24,6 +24,7 @@
#include "knot/conf/tools.h"
#include "knot/common/log.h"
#include "knot/updates/acl.h"
+#include "knot/zone/zone-load.h"
#include "libknot/rrtype/opt.h"
#include "libdnssec/tsig.h"
#include "libdnssec/key.h"
@@ -63,9 +64,7 @@ static const knot_lookup_t dnssec_key_algs[] = {
{ DNSSEC_KEY_ALGORITHM_RSA_SHA512, "rsasha512" },
{ DNSSEC_KEY_ALGORITHM_ECDSA_P256_SHA256, "ecdsap256sha256" },
{ DNSSEC_KEY_ALGORITHM_ECDSA_P384_SHA384, "ecdsap384sha384" },
-#ifdef HAVE_ED25519
{ DNSSEC_KEY_ALGORITHM_ED25519, "ed25519" },
-#endif
#ifdef HAVE_ED448
{ DNSSEC_KEY_ALGORITHM_ED448, "ed448" },
#endif
@@ -248,15 +247,8 @@ static const yp_item_t desc_server[] = {
{ C_DBUS_INIT_DELAY, YP_TINT, YP_VINT = { 0, INT32_MAX, 1, YP_STIME } },
{ C_LISTEN, YP_TADDR, YP_VADDR = { 53 }, YP_FMULTI, { check_listen } },
{ C_LISTEN_QUIC, YP_TADDR, YP_VADDR = { 853 }, YP_FMULTI, { check_listen } },
+ { C_LISTEN_TLS, YP_TADDR, YP_VADDR = { 853 }, YP_FMULTI, { check_listen } },
{ C_COMMENT, YP_TSTR, YP_VNONE },
- // Legacy items.
- { C_LISTEN_XDP, YP_TADDR, YP_VADDR = { 0 }, YP_FMULTI, { legacy_item } },
- { C_MAX_TCP_CLIENTS, YP_TINT, YP_VINT = { 0, INT32_MAX, 0 }, YP_FNONE, { legacy_item } },
- { C_TCP_HSHAKE_TIMEOUT, YP_TINT, YP_VINT = { 0, INT32_MAX, 0, YP_STIME }, YP_FNONE, { legacy_item } },
- { C_TCP_REPLY_TIMEOUT, YP_TINT, YP_VINT = { 0, INT32_MAX, 0, YP_STIME }, YP_FNONE, { legacy_item } },
- { C_MAX_UDP_PAYLOAD, YP_TINT, YP_VINT = { 0, INT32_MAX, 0, YP_SSIZE }, YP_FNONE, { legacy_item } },
- { C_MAX_IPV4_UDP_PAYLOAD, YP_TINT, YP_VINT = { 0, INT32_MAX, 0, YP_SSIZE }, YP_FNONE, { legacy_item } },
- { C_MAX_IPV6_UDP_PAYLOAD, YP_TINT, YP_VINT = { 0, INT32_MAX, 0, YP_SSIZE }, YP_FNONE, { legacy_item } },
{ NULL }
};
@@ -273,10 +265,10 @@ static const yp_item_t desc_xdp[] = {
{ C_TCP_IDLE_RESET, YP_TINT, YP_VINT = { 1, INT32_MAX, 20, YP_STIME } },
{ C_TCP_RESEND, YP_TINT, YP_VINT = { 1, INT32_MAX, 5, YP_STIME } },
{ C_ROUTE_CHECK, YP_TBOOL, YP_VNONE },
- { C_EXTRA_FRAMES, YP_TBOOL, YP_VNONE },
+ { C_RING_SIZE, YP_TINT, YP_VINT = { 4, 32768, 2048 } },
+ { C_BUSYPOLL_BUDGET, YP_TINT, YP_VINT = { 0, UINT16_MAX, 0 } },
+ { C_BUSYPOLL_TIMEOUT, YP_TINT, YP_VINT = { 1, UINT16_MAX, 20 } },
{ C_COMMENT, YP_TSTR, YP_VNONE },
- // Legacy items.
- { C_QUIC_LOG, YP_TBOOL, YP_VNONE, YP_FNONE, { legacy_item } },
{ NULL }
};
@@ -349,6 +341,7 @@ static const yp_item_t desc_remote[] = {
{ C_ADDR, YP_TADDR, YP_VADDR = { 53, 853 }, YP_FMULTI },
{ C_VIA, YP_TADDR, YP_VNONE, YP_FMULTI },
{ C_QUIC, YP_TBOOL, YP_VNONE },
+ { C_TLS, YP_TBOOL, YP_VNONE },
{ C_KEY, YP_TREF, YP_VREF = { C_KEY }, YP_FNONE, { check_ref } },
{ C_CERT_KEY, YP_TB64, YP_VNONE, YP_FMULTI, { check_cert_pin } },
{ C_BLOCK_NOTIFY_XFR, YP_TBOOL, YP_VNONE },
@@ -431,7 +424,7 @@ static const yp_item_t desc_policy[] = {
CONF_IO_FRLD_ZONES },
{ C_RRSIG_REFRESH, YP_TINT, YP_VINT = { 1, INT32_MAX, YP_NIL, YP_STIME },
CONF_IO_FRLD_ZONES },
- { C_RRSIG_PREREFRESH, YP_TINT, YP_VINT = { 0, INT32_MAX, HOURS(1), YP_STIME },
+ { C_RRSIG_PREREFRESH, YP_TINT, YP_VINT = { 0, INT32_MAX, HOURS(1), YP_STIME, DAYS(1) },
CONF_IO_FRLD_ZONES },
{ C_REPRO_SIGNING, YP_TBOOL, YP_VNONE, CONF_IO_FRLD_ZONES },
{ C_NSEC3, YP_TBOOL, YP_VNONE, CONF_IO_FRLD_ZONES },
@@ -471,6 +464,7 @@ static const yp_item_t desc_policy[] = {
{ C_MASTER_PIN_TOL, YP_TINT, YP_VINT = { 0, UINT32_MAX, 0, YP_STIME } }, \
{ C_PROVIDE_IXFR, YP_TBOOL, YP_VBOOL = { true } }, \
{ C_SEM_CHECKS, YP_TOPT, YP_VOPT = { semantic_checks, SEMCHECKS_OFF }, FLAGS }, \
+ { C_DEFAULT_TTL, YP_TINT, YP_VINT = { 1, INT32_MAX, DEFAULT_TTL, YP_STIME }, FLAGS }, \
{ C_ZONEFILE_SYNC, YP_TINT, YP_VINT = { -1, INT32_MAX, 0, YP_STIME } }, \
{ C_ZONEFILE_LOAD, YP_TOPT, YP_VOPT = { zonefile_load, ZONEFILE_LOAD_WHOLE } }, \
{ C_JOURNAL_CONTENT, YP_TOPT, YP_VOPT = { journal_content, JOURNAL_CONTENT_CHANGES }, FLAGS }, \
@@ -504,27 +498,12 @@ static const yp_item_t desc_policy[] = {
{ C_MODULE, YP_TDATA, YP_VDATA = { 0, NULL, mod_id_to_bin, mod_id_to_txt }, \
YP_FMULTI | FLAGS, { check_modref } }, \
{ C_COMMENT, YP_TSTR, YP_VNONE }, \
- /* Legacy items.*/ \
- { C_DISABLE_ANY, YP_TBOOL, YP_VNONE, YP_FNONE, { legacy_item } }, \
- { C_MAX_ZONE_SIZE, YP_TINT, YP_VINT = { 0, SSIZE_MAX, 0, YP_SSIZE }, YP_FNONE, { legacy_item } }, \
- { C_MAX_JOURNAL_USAGE, YP_TINT, YP_VINT = { 0, SSIZE_MAX, 0, YP_SSIZE }, YP_FNONE, { legacy_item } }, \
- { C_MAX_JOURNAL_DEPTH, YP_TINT, YP_VINT = { 0, SSIZE_MAX, 0 }, YP_FNONE, { legacy_item } }, \
- { C_MAX_REFRESH_INTERVAL,YP_TINT, YP_VINT = { 0, SSIZE_MAX, 0, YP_STIME }, YP_FNONE, { legacy_item } }, \
- { C_MIN_REFRESH_INTERVAL,YP_TINT, YP_VINT = { 0, SSIZE_MAX, 0, YP_STIME }, YP_FNONE, { legacy_item } }, \
static const yp_item_t desc_template[] = {
{ C_ID, YP_TSTR, YP_VNONE, CONF_IO_FREF },
{ C_GLOBAL_MODULE, YP_TDATA, YP_VDATA = { 0, NULL, mod_id_to_bin, mod_id_to_txt },
YP_FMULTI | CONF_IO_FRLD_MOD, { check_modref } },
ZONE_ITEMS(CONF_IO_FRLD_ZONES)
- // Legacy items.
- { C_TIMER_DB, YP_TSTR, YP_VSTR = { "" }, YP_FNONE, { legacy_item } },
- { C_MAX_TIMER_DB_SIZE, YP_TINT, YP_VINT = { 0, SSIZE_MAX, 0, YP_SSIZE }, YP_FNONE, { legacy_item } },
- { C_JOURNAL_DB, YP_TSTR, YP_VSTR = { "" }, YP_FNONE, { legacy_item } },
- { C_JOURNAL_DB_MODE, YP_TOPT, YP_VOPT = { journal_modes, 0 }, YP_FNONE, { legacy_item } },
- { C_MAX_JOURNAL_DB_SIZE, YP_TINT, YP_VINT = { 0, SSIZE_MAX, 0, YP_SSIZE }, YP_FNONE, { legacy_item } },
- { C_KASP_DB, YP_TSTR, YP_VSTR = { "" }, YP_FNONE, { legacy_item } },
- { C_MAX_KASP_DB_SIZE, YP_TINT, YP_VINT = { 0, SSIZE_MAX, 0, YP_SSIZE }, YP_FNONE, { legacy_item } },
{ NULL }
};
diff --git a/src/knot/conf/schema.h b/src/knot/conf/schema.h
index 96d29c1..d2966e6 100644
--- a/src/knot/conf/schema.h
+++ b/src/knot/conf/schema.h
@@ -33,6 +33,8 @@
#define C_BACKLOG "\x07""backlog"
#define C_BG_WORKERS "\x12""background-workers"
#define C_BLOCK_NOTIFY_XFR "\x1B""block-notify-after-transfer"
+#define C_BUSYPOLL_BUDGET "\x0F""busypoll-budget"
+#define C_BUSYPOLL_TIMEOUT "\x10""busypoll-timeout"
#define C_CATALOG_DB "\x0A""catalog-db"
#define C_CATALOG_DB_MAX_SIZE "\x13""catalog-db-max-size"
#define C_CATALOG_GROUP "\x0D""catalog-group"
@@ -52,6 +54,7 @@
#define C_DBUS_EVENT "\x0A""dbus-event"
#define C_DBUS_INIT_DELAY "\x0F""dbus-init-delay"
#define C_DDNS_MASTER "\x0B""ddns-master"
+#define C_DEFAULT_TTL "\x0B""default-ttl"
#define C_DENY "\x04""deny"
#define C_DNSKEY_MGMT "\x11""dnskey-management"
#define C_DNSKEY_SYNC "\x0B""dnskey-sync"
@@ -64,7 +67,6 @@
#define C_ECS "\x12""edns-client-subnet"
#define C_EXPIRE_MAX_INTERVAL "\x13""expire-max-interval"
#define C_EXPIRE_MIN_INTERVAL "\x13""expire-min-interval"
-#define C_EXTRA_FRAMES "\x0C""extra-frames"
#define C_FILE "\x04""file"
#define C_GLOBAL_MODULE "\x0D""global-module"
#define C_ID "\x02""id"
@@ -93,6 +95,7 @@
#define C_KSK_SIZE "\x08""ksk-size"
#define C_LISTEN "\x06""listen"
#define C_LISTEN_QUIC "\x0B""listen-quic"
+#define C_LISTEN_TLS "\x0A""listen-tls"
#define C_LOG "\x03""log"
#define C_MANUAL "\x06""manual"
#define C_MASTER "\x06""master"
@@ -116,7 +119,6 @@
#define C_PROXY_ALLOWLIST "\x0F""proxy-allowlist"
#define C_QUIC "\x04""quic"
#define C_QUIC_IDLE_CLOSE "\x17""quic-idle-close-timeout"
-#define C_QUIC_LOG "\x08""quic-log"
#define C_QUIC_MAX_CLIENTS "\x10""quic-max-clients"
#define C_QUIC_OUTBUF_MAX_SIZE "\x14""quic-outbuf-max-size"
#define C_QUIC_PORT "\x09""quic-port"
@@ -126,6 +128,7 @@
#define C_RETRY_MAX_INTERVAL "\x12""retry-max-interval"
#define C_RETRY_MIN_INTERVAL "\x12""retry-min-interval"
#define C_REVERSE_GEN "\x10""reverse-generate"
+#define C_RING_SIZE "\x09""ring-size"
#define C_RMT "\x06""remote"
#define C_RMTS "\x07""remotes"
#define C_RMT_POOL_LIMIT "\x11""remote-pool-limit"
@@ -166,6 +169,7 @@
#define C_TIMER "\x05""timer"
#define C_TIMER_DB "\x08""timer-db"
#define C_TIMER_DB_MAX_SIZE "\x11""timer-db-max-size"
+#define C_TLS "\x03""tls"
#define C_TPL "\x08""template"
#define C_UDP "\x03""udp"
#define C_UDP_MAX_PAYLOAD "\x0F""udp-max-payload"
@@ -191,24 +195,6 @@
#define C_ZSK_LIFETIME "\x0C""zsk-lifetime"
#define C_ZSK_SIZE "\x08""zsk-size"
-// Legacy items.
-#define C_DISABLE_ANY "\x0B""disable-any"
-#define C_LISTEN_XDP "\x0A""listen-xdp"
-#define C_MAX_TIMER_DB_SIZE "\x11""max-timer-db-size"
-#define C_MAX_JOURNAL_DB_SIZE "\x13""max-journal-db-size"
-#define C_MAX_KASP_DB_SIZE "\x10""max-kasp-db-size"
-#define C_TCP_HSHAKE_TIMEOUT "\x15""tcp-handshake-timeout"
-#define C_TCP_REPLY_TIMEOUT "\x11""tcp-reply-timeout"
-#define C_MAX_TCP_CLIENTS "\x0F""max-tcp-clients"
-#define C_MAX_UDP_PAYLOAD "\x0F""max-udp-payload"
-#define C_MAX_IPV4_UDP_PAYLOAD "\x14""max-ipv4-udp-payload"
-#define C_MAX_IPV6_UDP_PAYLOAD "\x14""max-ipv6-udp-payload"
-#define C_MAX_ZONE_SIZE "\x0D""max-zone-size"
-#define C_MAX_REFRESH_INTERVAL "\x14""max-refresh-interval"
-#define C_MIN_REFRESH_INTERVAL "\x14""min-refresh-interval"
-#define C_MAX_JOURNAL_DEPTH "\x11""max-journal-depth"
-#define C_MAX_JOURNAL_USAGE "\x11""max-journal-usage"
-
enum {
KEYSTORE_BACKEND_PEM = 1,
KEYSTORE_BACKEND_PKCS11 = 2,
diff --git a/src/knot/conf/tools.c b/src/knot/conf/tools.c
index e232fba..1ea8446 100644
--- a/src/knot/conf/tools.c
+++ b/src/knot/conf/tools.c
@@ -43,9 +43,7 @@
#include "knot/updates/acl.h"
#include "knot/zone/serial.h"
#include "libknot/errcode.h"
-#ifdef ENABLE_QUIC
-#include "libknot/quic/quic.h"
-#endif // ENABLE_QUIC
+#include "libknot/quic/tls_common.h"
#include "libknot/yparser/yptrafo.h"
#include "libknot/xdp.h"
#include "contrib/files.h"
@@ -345,15 +343,13 @@ int check_xdp_listen(
int check_cert_pin(
knotd_conf_check_args_t *args)
{
-#ifdef ENABLE_QUIC
- if (args->data_len != sizeof(uint16_t) + KNOT_QUIC_PIN_LEN) {
+ if (args->data_len != sizeof(uint16_t) + KNOT_TLS_PIN_LEN) {
(void)snprintf(check_str, sizeof(check_str),
"invalid certificate pin, expected base64-encoded "
- "%u bytes", KNOT_QUIC_PIN_LEN);
+ "%u bytes", KNOT_TLS_PIN_LEN);
args->err_str = check_str;
return KNOT_EINVAL;
}
-#endif // ENABLE_QUIC
return KNOT_EOK;
}
@@ -551,7 +547,6 @@ static void check_mtu(knotd_conf_check_args_t *args, conf_val_t *xdp_listen)
#endif
}
-#ifdef ENABLE_QUIC
static bool listen_hit(const struct sockaddr_storage *ss1,
const struct sockaddr_storage *ss2)
{
@@ -562,7 +557,33 @@ static bool listen_hit(const struct sockaddr_storage *ss1,
return sockaddr_cmp(ss1, ss2, false) == 0;
}
}
-#endif // ENABLE_QUIC
+
+static bool listen_overlaps(
+ knotd_conf_check_args_t *args,
+ conf_val_t *chk_listen,
+ size_t chk_listen_count)
+{
+ conf_val_t listen_val = conf_get_txn(args->extra->conf, args->extra->txn,
+ C_SRV, C_LISTEN);
+ size_t listen_count = conf_val_count(&listen_val);
+
+ for (size_t i = 0; listen_count > 0 && i < chk_listen_count; i++) {
+ struct sockaddr_storage chk_addr = conf_addr(chk_listen, NULL);
+
+ for (size_t j = 0; j < listen_count; j++) {
+ struct sockaddr_storage listen_addr = conf_addr(&listen_val, NULL);
+ if (listen_hit(&chk_addr, &listen_addr)) {
+ return true;
+ }
+ conf_val_next(&listen_val);
+ }
+
+ conf_val(&listen_val);
+ conf_val_next(chk_listen);
+ }
+
+ return false;
+}
int check_server(
knotd_conf_check_args_t *args)
@@ -576,30 +597,26 @@ int check_server(
return KNOT_EINVAL;
}
+ conf_val_t listls_val = conf_get_txn(args->extra->conf, args->extra->txn,
+ C_SRV, C_LISTEN_TLS);
+ size_t listls_count = conf_val_count(&listls_val);
+ if (listls_count > 0) {
+ if (listen_overlaps(args, &listls_val, listls_count)) {
+ args->err_str = "TLS listen address/port overlaps "
+ "with TCP listen address/port";
+ return KNOT_EINVAL;
+ }
+ }
+
conf_val_t liquic_val = conf_get_txn(args->extra->conf, args->extra->txn,
C_SRV, C_LISTEN_QUIC);
size_t liquic_count = conf_val_count(&liquic_val);
if (liquic_count > 0) {
#ifdef ENABLE_QUIC
- conf_val_t listen_val = conf_get_txn(args->extra->conf, args->extra->txn,
- C_SRV, C_LISTEN);
- size_t listen_count = conf_val_count(&listen_val);
-
- for (size_t i = 0; listen_count > 0 && i < liquic_count; i++) {
- struct sockaddr_storage liquic_addr = conf_addr(&liquic_val, NULL);
-
- for (size_t j = 0; j < listen_count; j++) {
- struct sockaddr_storage listen_addr = conf_addr(&listen_val, NULL);
- if (listen_hit(&liquic_addr, &listen_addr)) {
- args->err_str = "QUIC listen address/port overlaps "
- "with UDP listen address/port";
- return KNOT_EINVAL;
- }
- conf_val_next(&listen_val);
- }
-
- conf_val(&listen_val);
- conf_val_next(&liquic_val);
+ if (listen_overlaps(args, &liquic_val, liquic_count)) {
+ args->err_str = "QUIC listen address/port overlaps "
+ "with UDP listen address/port";
+ return KNOT_EINVAL;
}
#else
args->err_str = "QUIC processing not available";
@@ -713,10 +730,6 @@ int check_policy(
C_NSEC3_ITER, args->id, args->id_len);
unsigned algorithm = conf_opt(&alg);
- if (algorithm < DNSSEC_KEY_ALGORITHM_RSA_SHA256) {
- CONF_LOG(LOG_NOTICE, "algorithm %u is deprecated and shouldn't be used for DNSSEC signing",
- algorithm);
- }
int64_t ksk_size = conf_int(&ksk);
if (ksk_size != YP_NIL && !dnssec_algorithm_key_size_check(algorithm, ksk_size)) {
@@ -779,14 +792,6 @@ int check_policy(
return KNOT_EINVAL;
}
-#ifndef HAVE_GNUTLS_REPRODUCIBLE
- conf_val_t repro_sign = conf_rawid_get_txn(args->extra->conf, args->extra->txn, C_POLICY,
- C_REPRO_SIGNING, args->id, args->id_len);
- if (conf_bool(&repro_sign)) {
- CONF_LOG(LOG_WARNING, "reproducible signing not available, signing normally");
- }
-#endif
-
if (conf_bool(&nsec3)) {
uint16_t iters = conf_int(&nsec3_iters);
if (iters > 0) {
@@ -880,12 +885,18 @@ int check_remote(
return KNOT_EINVAL;
}
+ conf_val_t tls = conf_rawid_get_txn(args->extra->conf, args->extra->txn, C_RMT,
+ C_TLS, args->id, args->id_len);
conf_val_t quic = conf_rawid_get_txn(args->extra->conf, args->extra->txn, C_RMT,
C_QUIC, args->id, args->id_len);
if (quic.code == KNOT_EOK) {
#ifdef ENABLE_QUIC
- (void)0;
+ if (conf_bool(&quic) && conf_bool(&tls)) {
+ args->err_str = "remote can't use both QUIC and TLS";
+ return KNOT_EINVAL;
+ }
#else
+ (void)tls;
args->err_str = "QUIC not available";
return KNOT_EINVAL;
#endif
diff --git a/src/knot/ctl/commands.c b/src/knot/ctl/commands.c
index c34709d..56e1d67 100644
--- a/src/knot/ctl/commands.c
+++ b/src/knot/ctl/commands.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -17,12 +17,14 @@
#include <string.h>
#include <unistd.h>
#include <sys/time.h>
+#include <time.h>
#include <urcu.h>
#include "knot/common/log.h"
#include "knot/common/stats.h"
#include "knot/conf/confio.h"
#include "knot/ctl/commands.h"
+#include "knot/ctl/process.h"
#include "knot/dnssec/key-events.h"
#include "knot/events/events.h"
#include "knot/events/handlers.h"
@@ -36,6 +38,7 @@
#include "knot/zone/zonefile.h"
#include "libknot/libknot.h"
#include "libknot/yparser/yptrafo.h"
+#include "contrib/atomic.h"
#include "contrib/files.h"
#include "contrib/string.h"
#include "contrib/strtonum.h"
@@ -68,7 +71,7 @@ static struct {
sizeof(((send_ctx_t *)0)->ttl) +
sizeof(((send_ctx_t *)0)->type) +
sizeof(((send_ctx_t *)0)->rdata)];
-} ctl_globals;
+} ctl_globals[CTL_MAX_CONCURRENT + 1];
static bool allow_blocking_while_ctl_txn(zone_event_type_t event)
{
@@ -645,47 +648,49 @@ static int zone_backup_cmd(zone_t *zone, ctl_args_t *args)
return KNOT_EOK;
}
+ int ret = KNOT_EOK;
+ pthread_mutex_lock(&zone->cu_lock);
if (zone->backup_ctx != NULL) {
log_zone_warning(zone->name, "backup or restore already in progress, skipping zone");
ctx->failed = true;
- return KNOT_EPROGRESS;
+ ret = KNOT_EPROGRESS;
}
- if (ctx->restore_mode && zone->control_update != NULL) {
+ if (ctx->restore_mode && zone->control_update != NULL && ret == KNOT_EOK) {
log_zone_warning(zone->name, "restoring backup not possible due to open control transaction");
ctx->failed = true;
- return KNOT_TXN_EEXISTS;
+ ret = KNOT_TXN_EEXISTS;
+ }
+
+ if (ret == KNOT_EOK) {
+ zone->backup_ctx = ctx;
}
+ pthread_mutex_unlock(&zone->cu_lock);
ctx->zone_count++;
- int ret;
- if (!ctx->backup_global) {
+ if (!ctx->backup_global && ret == KNOT_EOK) {
ret = global_backup(ctx, zone_catalog(zone), zone->name);
- if (ret != KNOT_EOK) {
- return ret;
- }
}
- if (ctx->backup_params & BACKUP_PARAM_KEYSONLY) {
+ bool finish = false;
+ if ((ctx->backup_params & BACKUP_PARAM_KEYSONLY) && ret == KNOT_EOK) {
ret = zone_backup_keysonly(ctx, conf(), zone);
- if (ret != KNOT_EOK) {
- return ret;
- }
- if (ctx->restore_mode) {
+ if (ctx->restore_mode && ret == KNOT_EOK) {
ret = zone_keys_load(zone, args);
- if (ret != KNOT_EOK) {
- return ret;
- }
}
if (!(ctx->backup_params & BACKUP_PARAM_EVENT)) {
- return ret;
+ finish = true;
}
}
- zone->backup_ctx = ctx;
+ if (ret != KNOT_EOK || finish) {
+ zone->backup_ctx = NULL;
+ return ret;
+ }
+
pthread_mutex_lock(&ctx->readers_mutex);
ctx->readers++;
pthread_mutex_unlock(&ctx->readers_mutex);
@@ -720,7 +725,7 @@ static int zones_apply_backup(ctl_args_t *args, bool restore_mode)
zone_backup_ctx_t *ctx = latest_backup_ctx(args);
/* QUIC - server key and cert backup. */
- ret = backup_quic(ctx, args->server->quic_active);
+ ret = backup_quic(ctx, args->server->quic_active || args->server->tls_active);
if (ret != KNOT_EOK) {
log_ctl_error("control, QUIC %s error (%s)",
restore_mode ? "restore" : "backup",
@@ -761,6 +766,11 @@ static int zone_sign(zone_t *zone, _unused_ ctl_args_t *args)
return schedule_trigger(zone, args, ZONE_EVENT_DNSSEC, true);
}
+static int zone_validate(zone_t *zone, _unused_ ctl_args_t *args)
+{
+ return schedule_trigger(zone, args, ZONE_EVENT_VALIDATE, true);
+}
+
static int zone_keys_load(zone_t *zone, _unused_ ctl_args_t *args)
{
conf_val_t val = conf_zone_get(conf(), C_DNSSEC_SIGNING, zone->name);
@@ -811,8 +821,8 @@ static int zone_ksk_sbm_confirm(zone_t *zone, _unused_ ctl_args_t *args)
conf_val_t val = conf_zone_get(conf(), C_DNSSEC_SIGNING, zone->name);
if (ret == KNOT_EOK && conf_bool(&val)) {
- // NOT zone_events_schedule_user(), intentionally!
- ret = schedule_trigger(zone, args, ZONE_EVENT_DNSSEC, false);
+ // NOT zone_events_schedule_user() or schedule_trigger(), intentionally!
+ zone_events_schedule_now(zone, ZONE_EVENT_DNSSEC);
}
return ret;
@@ -846,17 +856,23 @@ static int zone_xfr_thaw(zone_t *zone, _unused_ ctl_args_t *args)
return KNOT_EOK;
}
-static int zone_txn_begin(zone_t *zone, _unused_ ctl_args_t *args)
+static int zone_txn_begin_l(zone_t *zone, _unused_ ctl_args_t *args)
{
- if (zone->control_update != NULL) {
+ if (zone->control_update != NULL || conf()->io.txn != NULL) {
return KNOT_TXN_EEXISTS;
}
- if (zone->backup_ctx != NULL && zone->backup_ctx->restore_mode) {
+ struct zone_backup_ctx *backup_ctx = zone->backup_ctx;
+ if (backup_ctx != NULL && backup_ctx->restore_mode) {
log_zone_warning(zone->name, "zone restore pending, try opening control transaction later");
return KNOT_EAGAIN;
}
+ if (zone->events.running && zone->events.type >= 0 && zone->events.blocking[zone->events.type] != NULL) {
+ log_zone_warning(zone->name, "some blocking event running, try opening control transaction later");
+ return KNOT_EAGAIN;
+ }
+
zone->control_update = malloc(sizeof(zone_update_t));
if (zone->control_update == NULL) {
return KNOT_ENOMEM;
@@ -872,7 +888,15 @@ static int zone_txn_begin(zone_t *zone, _unused_ ctl_args_t *args)
return ret;
}
-static int zone_txn_commit(zone_t *zone, _unused_ ctl_args_t *args)
+static int zone_txn_begin(zone_t *zone, ctl_args_t *args)
+{
+ pthread_mutex_lock(&zone->cu_lock);
+ int ret = zone_txn_begin_l(zone, args);
+ pthread_mutex_unlock(&zone->cu_lock);
+ return ret;
+}
+
+static int zone_txn_commit_l(zone_t *zone, _unused_ ctl_args_t *args)
{
if (zone->control_update == NULL) {
args->suppress = true;
@@ -934,15 +958,26 @@ static int zone_txn_commit(zone_t *zone, _unused_ ctl_args_t *args)
return KNOT_EOK;
}
+static int zone_txn_commit(zone_t *zone, ctl_args_t *args)
+{
+ pthread_mutex_lock(&zone->cu_lock);
+ int ret = zone_txn_commit_l(zone, args);
+ pthread_mutex_unlock(&zone->cu_lock);
+ return ret;
+}
+
static int zone_txn_abort(zone_t *zone, _unused_ ctl_args_t *args)
{
+ pthread_mutex_lock(&zone->cu_lock);
if (zone->control_update == NULL) {
args->suppress = true;
+ pthread_mutex_unlock(&zone->cu_lock);
return KNOT_TXN_ENOTEXISTS;
}
zone_control_clear(zone);
+ pthread_mutex_unlock(&zone->cu_lock);
return KNOT_EOK;
}
@@ -1089,7 +1124,7 @@ static int get_owner(uint8_t *out, size_t out_len, knot_dname_t *origin,
static int zone_read(zone_t *zone, ctl_args_t *args)
{
- send_ctx_t *ctx = &ctl_globals.send_ctx;
+ send_ctx_t *ctx = &ctl_globals[args->thread_idx].send_ctx;
int ret = init_send_ctx(ctx, zone->name, args);
if (ret != KNOT_EOK) {
return ret;
@@ -1131,7 +1166,7 @@ static int zone_flag_txn_get(zone_t *zone, ctl_args_t *args, const char *flag)
return KNOT_TXN_ENOTEXISTS;
}
- send_ctx_t *ctx = &ctl_globals.send_ctx;
+ send_ctx_t *ctx = &ctl_globals[args->thread_idx].send_ctx;
int ret = init_send_ctx(ctx, zone->name, args);
if (ret != KNOT_EOK) {
return ret;
@@ -1170,7 +1205,10 @@ static int zone_flag_txn_get(zone_t *zone, ctl_args_t *args, const char *flag)
static int zone_txn_get(zone_t *zone, ctl_args_t *args)
{
- return zone_flag_txn_get(zone, args, NULL);
+ pthread_mutex_lock(&zone->cu_lock);
+ int ret = zone_flag_txn_get(zone, args, NULL);
+ pthread_mutex_unlock(&zone->cu_lock);
+ return ret;
}
static int send_changeset_part(changeset_t *ch, send_ctx_t *ctx, bool from)
@@ -1233,7 +1271,7 @@ static int send_changeset(changeset_t *ch, send_ctx_t *ctx)
return send_changeset_part(ch, ctx, false);
}
-static int zone_txn_diff(zone_t *zone, ctl_args_t *args)
+static int zone_txn_diff_l(zone_t *zone, ctl_args_t *args)
{
if (zone->control_update == NULL) {
args->suppress = true;
@@ -1245,7 +1283,7 @@ static int zone_txn_diff(zone_t *zone, ctl_args_t *args)
return zone_flag_txn_get(zone, args, CTL_FLAG_DIFF_ADD);
}
- send_ctx_t *ctx = &ctl_globals.send_ctx;
+ send_ctx_t *ctx = &ctl_globals[args->thread_idx].send_ctx;
int ret = init_send_ctx(ctx, zone->name, args);
if (ret != KNOT_EOK) {
return ret;
@@ -1254,6 +1292,14 @@ static int zone_txn_diff(zone_t *zone, ctl_args_t *args)
return send_changeset(&zone->control_update->change, ctx);
}
+static int zone_txn_diff(zone_t *zone, ctl_args_t *args)
+{
+ pthread_mutex_lock(&zone->cu_lock);
+ int ret = zone_txn_diff_l(zone, args);
+ pthread_mutex_unlock(&zone->cu_lock);
+ return ret;
+}
+
static int get_ttl(zone_t *zone, ctl_args_t *args, uint32_t *ttl)
{
knot_dname_storage_t owner;
@@ -1297,14 +1343,15 @@ static int create_rrset(knot_rrset_t **rrset, zone_t *zone, ctl_args_t *args,
const char *ttl = need_ttl ? args->data[KNOT_CTL_IDX_TTL] : NULL;
// Prepare a buffer for a reconstructed record.
- const size_t buff_len = sizeof(ctl_globals.txt_rr);
- char *buff = ctl_globals.txt_rr;
+ const size_t buff_len = sizeof(ctl_globals[args->thread_idx].txt_rr);
+ char *buff = ctl_globals[args->thread_idx].txt_rr;
+ // Choose default TTL if none was specified.
uint32_t default_ttl = 0;
- if (ttl == NULL) {
- int ret = get_ttl(zone, args, &default_ttl);
- if (need_ttl && ret != KNOT_EOK) {
- return ret;
+ if (ttl == NULL && need_ttl) {
+ if (get_ttl(zone, args, &default_ttl) != KNOT_EOK) {
+ conf_val_t val = conf_zone_get(conf(), C_DEFAULT_TTL, zone->name);
+ default_ttl = conf_int(&val);
}
}
@@ -1320,7 +1367,7 @@ static int create_rrset(knot_rrset_t **rrset, zone_t *zone, ctl_args_t *args,
size_t rdata_len = ret;
// Parse the record.
- zs_scanner_t *scanner = &ctl_globals.scanner;
+ zs_scanner_t *scanner = &ctl_globals[args->thread_idx].scanner;
if (zs_init(scanner, origin, KNOT_CLASS_IN, default_ttl) != 0 ||
zs_set_input_string(scanner, buff, rdata_len) != 0 ||
zs_parse_record(scanner) != 0 ||
@@ -1346,7 +1393,7 @@ parser_failed:
return ret;
}
-static int zone_txn_set(zone_t *zone, ctl_args_t *args)
+static int zone_txn_set_l(zone_t *zone, ctl_args_t *args)
{
if (zone->control_update == NULL) {
args->suppress = true;
@@ -1370,7 +1417,15 @@ static int zone_txn_set(zone_t *zone, ctl_args_t *args)
return ret;
}
-static int zone_txn_unset(zone_t *zone, ctl_args_t *args)
+static int zone_txn_set(zone_t *zone, ctl_args_t *args)
+{
+ pthread_mutex_lock(&zone->cu_lock);
+ int ret = zone_txn_set_l(zone, args);
+ pthread_mutex_unlock(&zone->cu_lock);
+ return ret;
+}
+
+static int zone_txn_unset_l(zone_t *zone, ctl_args_t *args)
{
if (zone->control_update == NULL) {
args->suppress = true;
@@ -1420,6 +1475,14 @@ static int zone_txn_unset(zone_t *zone, ctl_args_t *args)
}
}
+static int zone_txn_unset(zone_t *zone, ctl_args_t *args)
+{
+ pthread_mutex_lock(&zone->cu_lock);
+ int ret = zone_txn_unset_l(zone, args);
+ pthread_mutex_unlock(&zone->cu_lock);
+ return ret;
+}
+
static bool zone_exists(const knot_dname_t *zone, void *data)
{
assert(zone);
@@ -1486,7 +1549,7 @@ static int purge_orphan_member_cb(const knot_dname_t *member, const knot_dname_t
orphan->name = (knot_dname_t *)member;
orphan->server = server;
- purge_flag_t params =
+ const purge_flag_t params =
PURGE_ZONE_TIMERS | PURGE_ZONE_JOURNAL | PURGE_ZONE_KASPDB |
PURGE_ZONE_BEST | PURGE_ZONE_LOG;
@@ -1529,7 +1592,7 @@ static int catalog_orphans_sweep(server_t *server)
knot_strerror(ret));
}
} else {
- log_error("can't open catalog for purging (%s)",
+ log_error("can not open catalog for purging (%s)",
knot_strerror(ret));
}
@@ -1682,7 +1745,7 @@ static int zone_purge(zone_t *zone, ctl_args_t *args)
(void)zone_events_schedule_blocking(zone, ZONE_EVENT_EXPIRE, true);
}
- purge_flag_t params =
+ const purge_flag_t params =
MATCH_OR_FILTER(args, CTL_FILTER_PURGE_TIMERS) * PURGE_ZONE_TIMERS |
MATCH_OR_FILTER(args, CTL_FILTER_PURGE_ZONEFILE) * PURGE_ZONE_ZONEFILE |
MATCH_OR_FILTER(args, CTL_FILTER_PURGE_JOURNAL) * PURGE_ZONE_JOURNAL |
@@ -1694,213 +1757,82 @@ static int zone_purge(zone_t *zone, ctl_args_t *args)
return selective_zone_purge(conf(), zone, params);
}
-static int send_stats_ctr(mod_ctr_t *ctr, uint64_t **stats_vals, unsigned threads,
- ctl_args_t *args, knot_ctl_data_t *data)
+int ctl_dump_ctr(stats_dump_params_t *params, stats_dump_ctx_t *ctx)
{
- char index[128];
- char value[32];
+ ctl_args_t *args = ctx->ctx;
- if (ctr->count == 1) {
- uint64_t counter = stats_get_counter(stats_vals, ctr->offset, threads);
- int ret = snprintf(value, sizeof(value), "%"PRIu64, counter);
- if (ret <= 0 || ret >= sizeof(value)) {
- return KNOT_ESPACE;
- }
-
- (*data)[KNOT_CTL_IDX_ID] = NULL;
- (*data)[KNOT_CTL_IDX_DATA] = value;
-
- ret = knot_ctl_send(args->ctl, KNOT_CTL_TYPE_DATA, data);
- if (ret != KNOT_EOK) {
- return ret;
- }
- } else {
- bool force = ctl_has_flag(args->data[KNOT_CTL_IDX_FLAGS],
- CTL_FLAG_FORCE);
-
- for (uint32_t i = 0; i < ctr->count; i++) {
- uint64_t counter = stats_get_counter(stats_vals, ctr->offset + i, threads);
-
- // Skip empty counters.
- if (counter == 0 && !force) {
- continue;
- }
-
- int ret;
- if (ctr->idx_to_str) {
- char *str = ctr->idx_to_str(i, ctr->count);
- if (str == NULL) {
- continue;
- }
- ret = snprintf(index, sizeof(index), "%s", str);
- free(str);
- } else {
- ret = snprintf(index, sizeof(index), "%u", i);
- }
- if (ret <= 0 || ret >= sizeof(index)) {
- return KNOT_ESPACE;
- }
-
- ret = snprintf(value, sizeof(value), "%"PRIu64, counter);
- if (ret <= 0 || ret >= sizeof(value)) {
- return KNOT_ESPACE;
- }
-
- (*data)[KNOT_CTL_IDX_ID] = index;
- (*data)[KNOT_CTL_IDX_DATA] = value;
-
- knot_ctl_type_t type = (i == 0) ? KNOT_CTL_TYPE_DATA :
- KNOT_CTL_TYPE_EXTRA;
- ret = knot_ctl_send(args->ctl, type, data);
- if (ret != KNOT_EOK) {
- return ret;
- }
- }
+ if (ctx->item != NULL && strcasecmp(ctx->item, params->item) != 0) {
+ return KNOT_EOK;
}
+ ctx->match = true;
- return KNOT_EOK;
-}
-
-static int modules_stats(list_t *query_modules, ctl_args_t *args, knot_ctl_data_t *data)
-{
- if (query_modules == NULL) {
+ if (params->value == 0 &&
+ !ctl_has_flag(args->data[KNOT_CTL_IDX_FLAGS], CTL_FLAG_FORCE)) {
return KNOT_EOK;
}
- const char *section = args->data[KNOT_CTL_IDX_SECTION];
- const char *item = args->data[KNOT_CTL_IDX_ITEM];
-
- bool section_found = (section == NULL) ? true : false;
- bool item_found = (item == NULL) ? true : false;
-
- knotd_mod_t *mod;
- WALK_LIST(mod, *query_modules) {
- // Skip modules without statistics.
- if (mod->stats_count == 0) {
- continue;
- }
-
- // Check for specific module.
- if (section != NULL) {
- if (section_found) {
- break;
- } else if (strcasecmp(mod->id->name + 1, section) == 0) {
- section_found = true;
- } else {
- continue;
- }
- }
-
- (*data)[KNOT_CTL_IDX_SECTION] = mod->id->name + 1;
-
- unsigned threads = knotd_mod_threads(mod);
-
- for (int i = 0; i < mod->stats_count; i++) {
- mod_ctr_t *ctr = mod->stats_info + i;
-
- // Skip empty counter.
- if (ctr->name == NULL) {
- continue;
- }
-
- // Check for specific counter.
- if (item != NULL) {
- if (item_found) {
- break;
- } else if (strcasecmp(ctr->name, item) == 0) {
- item_found = true;
- } else {
- continue;
- }
- }
+ char value[32];
+ int ret = snprintf(value, sizeof(value), "%"PRIu64, params->value);
+ if (ret <= 0 || ret >= sizeof(value)) {
+ return KNOT_ESPACE;
+ }
- (*data)[KNOT_CTL_IDX_ITEM] = ctr->name;
+ knot_ctl_data_t data = {
+ [KNOT_CTL_IDX_SECTION] = params->section,
+ [KNOT_CTL_IDX_ITEM] = params->item,
+ [KNOT_CTL_IDX_ID] = params->id,
+ [KNOT_CTL_IDX_ZONE] = params->zone,
+ [KNOT_CTL_IDX_DATA] = value,
+ };
- // Send the counters.
- int ret = send_stats_ctr(ctr, mod->stats_vals, threads, args, data);
- if (ret != KNOT_EOK) {
- return ret;
- }
- }
- }
+ knot_ctl_type_t type = (params->value_pos == 0) ?
+ KNOT_CTL_TYPE_DATA : KNOT_CTL_TYPE_EXTRA;
- return (section_found && item_found) ? KNOT_EOK : KNOT_ENOENT;
+ return knot_ctl_send(args->ctl, type, &data);
}
static int common_stats(ctl_args_t *args, zone_t *zone)
{
- const char *section = args->data[KNOT_CTL_IDX_SECTION];
- const char *item = args->data[KNOT_CTL_IDX_ITEM];
-
- char value[32];
- knot_ctl_data_t data = {
- [KNOT_CTL_IDX_DATA] = value
+ stats_dump_ctx_t dump_ctx = {
+ .server = args->server,
+ .zone = zone,
+ .section = args->data[KNOT_CTL_IDX_SECTION],
+ .item = args->data[KNOT_CTL_IDX_ITEM],
+ .ctx = args,
};
- knot_dname_txt_storage_t name = "";
- if (zone != NULL) {
- if (knot_dname_to_str(name, zone->name, sizeof(name)) == NULL) {
- return KNOT_EINVAL;
- }
- data[KNOT_CTL_IDX_ZONE] = name;
- }
+#define STATS_CHECK(ret, send) { \
+ if (ret != KNOT_EOK) { \
+ if ((send)) { /* Prevents duplicit zone error logs. */ \
+ send_error(args, knot_strerror(ret)); \
+ } \
+ return ret; \
+ } \
+}
- bool found = (section == NULL) ? true : false;
+ if (zone == NULL) {
+ int ret = stats_server(ctl_dump_ctr, &dump_ctx);
+ STATS_CHECK(ret, true);
- // Process zone metrics.
- const char *section_name = (zone != NULL) ? "zone" : "server";
- if (section == NULL || strcasecmp(section, section_name) == 0) {
- data[KNOT_CTL_IDX_SECTION] = section_name;
+ ret = stats_xdp(ctl_dump_ctr, &dump_ctx);
+ STATS_CHECK(ret, true);
- const stats_item_t *items = (zone != NULL) ? zone_contents_stats :
- server_stats;
- for (const stats_item_t *i = items; i->name != NULL; i++) {
- if (item != NULL) {
- if (found) {
- break;
- } else if (strcmp(i->name, item) == 0) {
- found = true;
- } else {
- continue;
- }
- } else {
- found = true;
- }
-
- data[KNOT_CTL_IDX_ITEM] = i->name;
- int ret = snprintf(value, sizeof(value), "%"PRIu64,
- (zone != NULL) ? i->zone_val(zone) :
- i->server_val(args->server));
- if (ret <= 0 || ret >= sizeof(value)) {
- ret = KNOT_ESPACE;
- send_error(args, knot_strerror(ret));
- return ret;
- }
-
- ret = knot_ctl_send(args->ctl, KNOT_CTL_TYPE_DATA, &data);
- if (ret != KNOT_EOK) {
- send_error(args, knot_strerror(ret));
- return ret;
- }
- }
- }
-
- if (section == NULL || strncasecmp(section, "mod-", strlen("mod-")) == 0) {
- list_t *query_modules = (zone != NULL) ? &zone->query_modules :
- conf()->query_modules;
- int ret = modules_stats(query_modules, args, &data);
- if (ret != KNOT_EOK) {
- send_error(args, knot_strerror(ret));
- return ret;
- }
+ dump_ctx.query_modules = conf()->query_modules;
+ ret = stats_modules(ctl_dump_ctr, &dump_ctx);
+ STATS_CHECK(ret, true);
+ } else {
+ int ret = stats_zone(ctl_dump_ctr, &dump_ctx);
+ STATS_CHECK(ret, false);
- found = true;
+ dump_ctx.query_modules = &zone->query_modules;
+ ret = stats_modules(ctl_dump_ctr, &dump_ctx);
+ STATS_CHECK(ret, false);
}
- if (!found) {
- send_error(args, knot_strerror(KNOT_EINVAL));
- return KNOT_EINVAL;
+ if (!dump_ctx.match) {
+ STATS_CHECK(KNOT_EINVAL, zone == NULL);
}
+#undef STATS_CHECK
return KNOT_EOK;
}
@@ -1931,6 +1863,8 @@ static int ctl_zone(ctl_args_t *args, ctl_cmd_t cmd)
return zones_apply_backup(args, true);
case CTL_ZONE_SIGN:
return zones_apply(args, zone_sign);
+ case CTL_ZONE_VALIDATE:
+ return zones_apply(args, zone_validate);
case CTL_ZONE_KEYS_LOAD:
return zones_apply(args, zone_keys_load);
case CTL_ZONE_KEY_ROLL:
@@ -1975,6 +1909,27 @@ static int ctl_zone(ctl_args_t *args, ctl_cmd_t cmd)
}
}
+static void check_zone_txn(zone_t *zone, const knot_dname_t **exists)
+{
+ if (zone->control_update != NULL) {
+ *exists = zone->name;
+ }
+}
+
+static int check_no_zone_txn(server_t *server, const char *action)
+{
+ const knot_dname_t *zone_txn_exists = NULL;
+ knot_zonedb_foreach(server->zone_db, check_zone_txn, &zone_txn_exists);
+ if (zone_txn_exists != NULL) {
+ knot_dname_txt_storage_t zone_str;
+ knot_dname_to_str(zone_str, zone_txn_exists, sizeof(zone_str));
+ log_warning("%s rejected due to existing transaction for zone %s",
+ action, zone_str);
+ return KNOT_TXN_EEXISTS;
+ }
+ return KNOT_EOK;
+}
+
static int server_status(ctl_args_t *args)
{
const char *type = args->data[KNOT_CTL_IDX_TYPE];
@@ -1997,7 +1952,7 @@ static int server_status(ctl_args_t *args)
conf()->cache.srv_xdp_threads, conf()->cache.srv_bg_threads,
running_bkg_wrk, wrk_queue);
} else if (strcasecmp(type, "configure") == 0) {
- ret = snprintf(buff, sizeof(buff), "%s", CONFIGURE_SUMMARY);
+ ret = snprintf(buff, sizeof(buff), "%s", configure_summary);
} else if (strcasecmp(type, "cert-key") == 0) {
uint8_t pin[128];
size_t pin_len = server_cert_pin(args->server, pin, sizeof(pin));
@@ -2033,7 +1988,10 @@ static int ctl_server(ctl_args_t *args, ctl_cmd_t cmd)
ret = KNOT_CTL_ESTOP;
break;
case CTL_RELOAD:
- ret = server_reload(args->server, RELOAD_FULL);
+ ret = check_no_zone_txn(args->server, "server reload");
+ if (ret == KNOT_EOK) {
+ ret = server_reload(args->server, RELOAD_FULL);
+ }
if (ret != KNOT_EOK) {
send_error(args, knot_strerror(ret));
}
@@ -2170,7 +2128,10 @@ static int ctl_conf_txn(ctl_args_t *args, ctl_cmd_t cmd)
switch (cmd) {
case CTL_CONF_BEGIN:
- ret = conf_io_begin(false);
+ ret = check_no_zone_txn(args->server, "config, transaction");
+ if (ret == KNOT_EOK) {
+ ret = conf_io_begin(false);
+ }
break;
case CTL_CONF_ABORT:
conf_io_abort(false);
@@ -2367,56 +2328,64 @@ static int ctl_conf_modify(ctl_args_t *args, ctl_cmd_t cmd)
return ret;
}
+typedef enum {
+ CTL_LOCK_NONE = 0x00,
+ CTL_LOCK_SRV_R = 0x01, // Can run in parallel with other R commands.
+ CTL_LOCK_SRV_W = 0x02, // Cannot run in parallel with other commands.
+} ctl_lock_flag_t;
+
typedef struct {
const char *name;
int (*fcn)(ctl_args_t *, ctl_cmd_t);
+ ctl_lock_flag_t locks;
} desc_t;
static const desc_t cmd_table[] = {
[CTL_NONE] = { "" },
- [CTL_STATUS] = { "status", ctl_server },
- [CTL_STOP] = { "stop", ctl_server },
- [CTL_RELOAD] = { "reload", ctl_server },
- [CTL_STATS] = { "stats", ctl_stats },
-
- [CTL_ZONE_STATUS] = { "zone-status", ctl_zone },
- [CTL_ZONE_RELOAD] = { "zone-reload", ctl_zone },
- [CTL_ZONE_REFRESH] = { "zone-refresh", ctl_zone },
- [CTL_ZONE_RETRANSFER] = { "zone-retransfer", ctl_zone },
- [CTL_ZONE_NOTIFY] = { "zone-notify", ctl_zone },
- [CTL_ZONE_FLUSH] = { "zone-flush", ctl_zone },
- [CTL_ZONE_BACKUP] = { "zone-backup", ctl_zone },
- [CTL_ZONE_RESTORE] = { "zone-restore", ctl_zone },
- [CTL_ZONE_SIGN] = { "zone-sign", ctl_zone },
- [CTL_ZONE_KEYS_LOAD] = { "zone-keys-load", ctl_zone },
- [CTL_ZONE_KEY_ROLL] = { "zone-key-rollover", ctl_zone },
- [CTL_ZONE_KSK_SBM] = { "zone-ksk-submitted", ctl_zone },
- [CTL_ZONE_FREEZE] = { "zone-freeze", ctl_zone },
- [CTL_ZONE_THAW] = { "zone-thaw", ctl_zone },
- [CTL_ZONE_XFR_FREEZE] = { "zone-xfr-freeze", ctl_zone },
- [CTL_ZONE_XFR_THAW] = { "zone-xfr-thaw", ctl_zone },
-
- [CTL_ZONE_READ] = { "zone-read", ctl_zone },
- [CTL_ZONE_BEGIN] = { "zone-begin", ctl_zone },
- [CTL_ZONE_COMMIT] = { "zone-commit", ctl_zone },
- [CTL_ZONE_ABORT] = { "zone-abort", ctl_zone },
- [CTL_ZONE_DIFF] = { "zone-diff", ctl_zone },
- [CTL_ZONE_GET] = { "zone-get", ctl_zone },
- [CTL_ZONE_SET] = { "zone-set", ctl_zone },
- [CTL_ZONE_UNSET] = { "zone-unset", ctl_zone },
- [CTL_ZONE_PURGE] = { "zone-purge", ctl_zone },
- [CTL_ZONE_STATS] = { "zone-stats", ctl_zone },
-
- [CTL_CONF_LIST] = { "conf-list", ctl_conf_list },
- [CTL_CONF_READ] = { "conf-read", ctl_conf_read },
- [CTL_CONF_BEGIN] = { "conf-begin", ctl_conf_txn },
- [CTL_CONF_COMMIT] = { "conf-commit", ctl_conf_txn },
- [CTL_CONF_ABORT] = { "conf-abort", ctl_conf_txn },
- [CTL_CONF_DIFF] = { "conf-diff", ctl_conf_read },
- [CTL_CONF_GET] = { "conf-get", ctl_conf_read },
- [CTL_CONF_SET] = { "conf-set", ctl_conf_modify },
- [CTL_CONF_UNSET] = { "conf-unset", ctl_conf_modify },
+ [CTL_STATUS] = { "status", ctl_server, CTL_LOCK_SRV_R },
+ [CTL_STOP] = { "stop", ctl_server, CTL_LOCK_SRV_R },
+ [CTL_RELOAD] = { "reload", ctl_server, CTL_LOCK_SRV_W },
+ [CTL_STATS] = { "stats", ctl_stats, CTL_LOCK_SRV_R },
+
+ [CTL_ZONE_STATUS] = { "zone-status", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_RELOAD] = { "zone-reload", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_REFRESH] = { "zone-refresh", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_RETRANSFER] = { "zone-retransfer", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_NOTIFY] = { "zone-notify", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_FLUSH] = { "zone-flush", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_BACKUP] = { "zone-backup", ctl_zone, CTL_LOCK_SRV_W }, // Backup and restore must be exclusive as the global backup ctx is accessed.
+ [CTL_ZONE_RESTORE] = { "zone-restore", ctl_zone, CTL_LOCK_SRV_W },
+ [CTL_ZONE_SIGN] = { "zone-sign", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_VALIDATE] = { "zone-validate", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_KEYS_LOAD] = { "zone-keys-load", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_KEY_ROLL] = { "zone-key-rollover", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_KSK_SBM] = { "zone-ksk-submitted", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_FREEZE] = { "zone-freeze", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_THAW] = { "zone-thaw", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_XFR_FREEZE] = { "zone-xfr-freeze", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_XFR_THAW] = { "zone-xfr-thaw", ctl_zone, CTL_LOCK_SRV_R },
+
+ [CTL_ZONE_READ] = { "zone-read", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_BEGIN] = { "zone-begin", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_COMMIT] = { "zone-commit", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_ABORT] = { "zone-abort", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_DIFF] = { "zone-diff", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_GET] = { "zone-get", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_SET] = { "zone-set", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_UNSET] = { "zone-unset", ctl_zone, CTL_LOCK_SRV_R },
+ [CTL_ZONE_PURGE] = { "zone-purge", ctl_zone, CTL_LOCK_SRV_W },
+ [CTL_ZONE_STATS] = { "zone-stats", ctl_zone, CTL_LOCK_SRV_R },
+
+ [CTL_CONF_LIST] = { "conf-list", ctl_conf_list, CTL_LOCK_SRV_R }, // Can either read live conf or conf txn. The latter would deserve CTL_LOCK_SRV_W, but when conf txn exists, all cmds are done by single thread anyway.
+ [CTL_CONF_READ] = { "conf-read", ctl_conf_read, CTL_LOCK_SRV_R },
+ [CTL_CONF_BEGIN] = { "conf-begin", ctl_conf_txn, CTL_LOCK_SRV_W }, // It's locked only during conf-begin, not for the whole duration of the transaction.
+ [CTL_CONF_COMMIT] = { "conf-commit", ctl_conf_txn, CTL_LOCK_SRV_W },
+ [CTL_CONF_ABORT] = { "conf-abort", ctl_conf_txn, CTL_LOCK_SRV_W },
+ [CTL_CONF_DIFF] = { "conf-diff", ctl_conf_read, CTL_LOCK_SRV_W },
+ [CTL_CONF_GET] = { "conf-get", ctl_conf_read, CTL_LOCK_SRV_W },
+ [CTL_CONF_SET] = { "conf-set", ctl_conf_modify, CTL_LOCK_SRV_W },
+ [CTL_CONF_UNSET] = { "conf-unset", ctl_conf_modify, CTL_LOCK_SRV_W },
};
#define MAX_CTL_CODE (sizeof(cmd_table) / sizeof(desc_t) - 1)
@@ -2445,13 +2414,52 @@ ctl_cmd_t ctl_str_to_cmd(const char *cmd_str)
return CTL_NONE;
}
+static int ctl_lock(server_t *server, ctl_lock_flag_t flags, uint64_t timeout_ms)
+{
+ struct timespec ts;
+ int ret = clock_gettime(CLOCK_REALTIME, &ts);
+ if (ret != 0) {
+ return KNOT_ERROR;
+ }
+ ts.tv_sec += timeout_ms / 1000;
+ ts.tv_nsec += (timeout_ms % 1000) * 1000000LU;
+
+ if ((flags & CTL_LOCK_SRV_W)) {
+ assert(!(flags & CTL_LOCK_SRV_R));
+#if !defined(__APPLE__)
+ ret = pthread_rwlock_timedwrlock(&server->ctl_lock, &ts);
+#else
+ ret = pthread_rwlock_wrlock(&server->ctl_lock);
+#endif
+ }
+ if ((flags & CTL_LOCK_SRV_R)) {
+#if !defined(__APPLE__)
+ ret = pthread_rwlock_timedrdlock(&server->ctl_lock, &ts);
+#else
+ ret = pthread_rwlock_rdlock(&server->ctl_lock);
+#endif
+ }
+ return (ret != 0 ? KNOT_EBUSY : KNOT_EOK);
+}
+
+static void ctl_unlock(server_t *server)
+{
+ pthread_rwlock_unlock(&server->ctl_lock);
+}
+
int ctl_exec(ctl_cmd_t cmd, ctl_args_t *args)
{
if (args == NULL) {
return KNOT_EINVAL;
}
- return cmd_table[cmd].fcn(args, cmd);
+ int ret = ctl_lock(args->server, cmd_table[cmd].locks, conf()->cache.ctl_timeout);
+ if (ret == KNOT_EOK) {
+ ret = cmd_table[cmd].fcn(args, cmd);
+ ctl_unlock(args->server);
+ }
+
+ return ret;
}
bool ctl_has_flag(const char *flags, const char *flag)
diff --git a/src/knot/ctl/commands.h b/src/knot/ctl/commands.h
index ed7e75c..b0f33d8 100644
--- a/src/knot/ctl/commands.h
+++ b/src/knot/ctl/commands.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -87,6 +87,7 @@ typedef enum {
CTL_ZONE_BACKUP,
CTL_ZONE_RESTORE,
CTL_ZONE_SIGN,
+ CTL_ZONE_VALIDATE,
CTL_ZONE_KEYS_LOAD,
CTL_ZONE_KEY_ROLL,
CTL_ZONE_KSK_SBM,
@@ -124,6 +125,7 @@ typedef struct {
knot_ctl_data_t data;
server_t *server;
bool suppress; // Suppress error reporting in the "all zones" ctl commands.
+ unsigned thread_idx;
} ctl_args_t;
/*!
diff --git a/src/knot/ctl/process.c b/src/knot/ctl/process.c
index 50fde21..9e6e0df 100644
--- a/src/knot/ctl/process.c
+++ b/src/knot/ctl/process.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,7 +20,7 @@
#include "libknot/error.h"
#include "contrib/string.h"
-int ctl_process(knot_ctl_t *ctl, server_t *server)
+int ctl_process(knot_ctl_t *ctl, server_t *server, int thread_idx, bool *exclusive)
{
if (ctl == NULL || server == NULL) {
return KNOT_EINVAL;
@@ -29,7 +29,8 @@ int ctl_process(knot_ctl_t *ctl, server_t *server)
ctl_args_t args = {
.ctl = ctl,
.type = KNOT_CTL_TYPE_END,
- .server = server
+ .server = server,
+ .thread_idx = thread_idx,
};
// Strip redundant/unprocessed data units in the current block.
@@ -90,11 +91,21 @@ int ctl_process(knot_ctl_t *ctl, server_t *server)
continue;
}
+ if ((cmd == CTL_CONF_COMMIT || cmd == CTL_CONF_ABORT) && !*exclusive) {
+ log_ctl_warning("control, invalid reception of '%s'", cmd_name);
+ continue;
+ }
+
// Execute the command.
int cmd_ret = ctl_exec(cmd, &args);
switch (cmd_ret) {
case KNOT_EOK:
strip = false;
+ if (cmd == CTL_CONF_BEGIN) {
+ *exclusive = true;
+ } else if (cmd == CTL_CONF_COMMIT || cmd == CTL_CONF_ABORT) {
+ *exclusive = false;
+ }
case KNOT_CTL_ESTOP:
case KNOT_CTL_EZONE:
// KNOT_CTL_EZONE - don't change strip, but don't be reported
diff --git a/src/knot/ctl/process.h b/src/knot/ctl/process.h
index ab0f75f..2ae6ea0 100644
--- a/src/knot/ctl/process.h
+++ b/src/knot/ctl/process.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2018 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -19,12 +19,16 @@
#include "libknot/libknot.h"
#include "knot/server/server.h"
+#define CTL_MAX_CONCURRENT 8 // Number of CTL threads EXCLUDING the main thread which can also process CTL.
+
/*!
* Processes incoming control commands.
*
- * \param[in] ctl Control context.
- * \param[in] server Server instance.
+ * \param[in] ctl Control context.
+ * \param[in] server Server instance.
+ * \param[in] thread_idx Index of a thread which performs the operation.
+ * \param[out] exclusive All following CTLs shall (not) be processed exclusively by this thread.
*
* \return Error code, KNOT_EOK if successful.
*/
-int ctl_process(knot_ctl_t *ctl, server_t *server);
+int ctl_process(knot_ctl_t *ctl, server_t *server, int thread_idx, bool *exclusive);
diff --git a/src/knot/dnssec/context.c b/src/knot/dnssec/context.c
index c10e5c6..24b41f7 100644
--- a/src/knot/dnssec/context.c
+++ b/src/knot/dnssec/context.c
@@ -213,11 +213,13 @@ int kdnssec_ctx_init(conf_t *conf, kdnssec_ctx_t *ctx, const knot_dname_t *zone_
goto init_error;
}
- ctx->policy = calloc(1, sizeof(*ctx->policy));
+ ctx->policy = calloc(1, sizeof(*ctx->policy) + sizeof(*ctx->stats));
if (ctx->policy == NULL) {
ret = KNOT_ENOMEM;
goto init_error;
}
+ ctx->stats = (void *)ctx->policy + sizeof(*ctx->policy);
+ knot_spin_init(&ctx->stats->lock);
ret = kasp_db_get_saved_ttls(ctx->kasp_db, zone_name,
&ctx->policy->saved_max_ttl,
@@ -235,7 +237,7 @@ int kdnssec_ctx_init(conf_t *conf, kdnssec_ctx_t *ctx, const knot_dname_t *zone_
conf_id_fix_default(&policy_id);
policy_load(ctx->policy, conf, &policy_id, ctx->zone->dname);
- ret = zone_init_keystore(conf, &policy_id, &ctx->keystore,
+ ret = zone_init_keystore(conf, &policy_id, NULL, &ctx->keystore,
&ctx->keystore_type, &ctx->policy->key_label);
if (ret != KNOT_EOK) {
goto init_error;
@@ -287,6 +289,7 @@ void kdnssec_ctx_deinit(kdnssec_ctx_t *ctx)
}
if (ctx->policy != NULL) {
+ knot_spin_destroy(&ctx->stats->lock);
free(ctx->policy->string);
knot_dynarray_foreach(parent, knot_kasp_parent_t, i, ctx->policy->parents) {
free(i->addr);
@@ -331,18 +334,22 @@ int kdnssec_validation_ctx(conf_t *conf, kdnssec_ctx_t *ctx, const zone_contents
return KNOT_ENOMEM;
}
- ctx->policy = calloc(1, sizeof(*ctx->policy));
+ ctx->policy = calloc(1, sizeof(*ctx->policy) + sizeof(*ctx->stats));
if (ctx->policy == NULL) {
free(ctx->zone);
return KNOT_ENOMEM;
}
+ ctx->stats = (void *)ctx->policy + sizeof(*ctx->policy);
+ knot_spin_init(&ctx->stats->lock);
policy_from_zone(ctx->policy, zone);
if (conf != NULL) {
conf_val_t policy_id = conf_zone_get(conf, C_DNSSEC_POLICY, zone->apex->owner);
conf_id_fix_default(&policy_id);
- conf_val_t num_threads = conf_id_get(conf, C_POLICY, C_SIGNING_THREADS, &policy_id);
- ctx->policy->signing_threads = conf_int(&num_threads);
+ conf_val_t val = conf_id_get(conf, C_POLICY, C_SIGNING_THREADS, &policy_id);
+ ctx->policy->signing_threads = conf_int(&val);
+ val = conf_id_get(conf, C_POLICY, C_RRSIG_REFRESH, &policy_id);
+ ctx->policy->rrsig_refresh_before = conf_int_alt(&val, true);
} else {
ctx->policy->signing_threads = MAX(dt_optimal_size(), 1);
}
diff --git a/src/knot/dnssec/context.h b/src/knot/dnssec/context.h
index 756bc56..2d126db 100644
--- a/src/knot/dnssec/context.h
+++ b/src/knot/dnssec/context.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -16,14 +16,20 @@
#pragma once
-#include <time.h>
-
#include "libdnssec/keystore.h"
-
+#include "contrib/spinlock.h"
+#include "contrib/time.h"
#include "knot/conf/conf.h"
#include "knot/dnssec/kasp/kasp_zone.h"
#include "knot/dnssec/kasp/policy.h"
+typedef struct {
+ size_t rrsig_count;
+ knot_time_t expire;
+
+ knot_spin_t lock;
+} zone_sign_stats_t;
+
/*!
* \brief DNSSEC signing context.
*/
@@ -38,6 +44,8 @@ typedef struct {
char *kasp_zone_path;
+ zone_sign_stats_t *stats;
+
bool rrsig_drop_existing;
bool keep_deleted_keys;
bool keytag_conflict;
diff --git a/src/knot/dnssec/ds_query.c b/src/knot/dnssec/ds_query.c
index 2ac91cc..0b85247 100644
--- a/src/knot/dnssec/ds_query.c
+++ b/src/knot/dnssec/ds_query.c
@@ -28,8 +28,8 @@
#define DS_CHECK_LOG(priority, zone, remote, flags, fmt, ...) \
ns_log(priority, zone, LOG_OPERATION_DS_CHECK, LOG_DIRECTION_OUT, &(remote)->addr, \
- ((flags) & KNOT_REQUESTOR_QUIC) ? KNOTD_QUERY_PROTO_QUIC : KNOTD_QUERY_PROTO_TCP, \
- ((flags) & KNOT_REQUESTOR_REUSED), (remote)->key.name, fmt, ## __VA_ARGS__)
+ flags2proto(flags), ((flags) & KNOT_REQUESTOR_REUSED), (remote)->key.name, \
+ fmt, ## __VA_ARGS__)
static bool match_key_ds(knot_kasp_key_t *key, knot_rdata_t *ds)
{
diff --git a/src/knot/dnssec/kasp/kasp_zone.c b/src/knot/dnssec/kasp/kasp_zone.c
index e70f21d..08655df 100644
--- a/src/knot/dnssec/kasp/kasp_zone.c
+++ b/src/knot/dnssec/kasp/kasp_zone.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -314,7 +314,7 @@ void free_key_params(key_params_t *parm)
}
}
-int zone_init_keystore(conf_t *conf, conf_val_t *policy_id,
+int zone_init_keystore(conf_t *conf, conf_val_t *policy_id, conf_val_t *keystore_id,
dnssec_keystore_t **keystore, unsigned *backend, bool *key_label)
{
char *zone_path = conf_db(conf, C_KASP_DB);
@@ -322,19 +322,25 @@ int zone_init_keystore(conf_t *conf, conf_val_t *policy_id,
return KNOT_ENOMEM;
}
- conf_id_fix_default(policy_id);
+ conf_val_t keystore_val;
+ if (keystore_id == NULL) {
+ conf_id_fix_default(policy_id);
- conf_val_t keystore_id = conf_id_get(conf, C_POLICY, C_KEYSTORE, policy_id);
- conf_id_fix_default(&keystore_id);
+ keystore_val = conf_id_get(conf, C_POLICY, C_KEYSTORE, policy_id);
+ conf_id_fix_default(&keystore_val);
+ keystore_id = &keystore_val;
+ } else {
+ conf_id_fix_default(keystore_id);
+ }
- conf_val_t val = conf_id_get(conf, C_KEYSTORE, C_BACKEND, &keystore_id);
+ conf_val_t val = conf_id_get(conf, C_KEYSTORE, C_BACKEND, keystore_id);
unsigned _backend = conf_opt(&val);
- val = conf_id_get(conf, C_KEYSTORE, C_CONFIG, &keystore_id);
+ val = conf_id_get(conf, C_KEYSTORE, C_CONFIG, keystore_id);
const char *config = conf_str(&val);
if (key_label != NULL) {
- val = conf_id_get(conf, C_KEYSTORE, C_KEY_LABEL, &keystore_id);
+ val = conf_id_get(conf, C_KEYSTORE, C_KEY_LABEL, keystore_id);
*key_label = conf_bool(&val);
}
diff --git a/src/knot/dnssec/kasp/kasp_zone.h b/src/knot/dnssec/kasp/kasp_zone.h
index c4df282..836fe7d 100644
--- a/src/knot/dnssec/kasp/kasp_zone.h
+++ b/src/knot/dnssec/kasp/kasp_zone.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@ void kasp_zone_free(knot_kasp_zone_t **zone);
void free_key_params(key_params_t *parm);
-int zone_init_keystore(conf_t *conf, conf_val_t *policy_id,
+int zone_init_keystore(conf_t *conf, conf_val_t *policy_id, conf_val_t *keystore_id,
dnssec_keystore_t **keystore, unsigned *backend, bool *key_label);
int kasp_zone_keys_from_rr(knot_kasp_zone_t *zone,
diff --git a/src/knot/dnssec/key-events.c b/src/knot/dnssec/key-events.c
index ace48d5..db762b6 100644
--- a/src/knot/dnssec/key-events.c
+++ b/src/knot/dnssec/key-events.c
@@ -17,8 +17,8 @@
#include <assert.h>
#include "contrib/macros.h"
+#include "knot/common/dbus.h"
#include "knot/common/log.h"
-#include "knot/common/systemd.h"
#include "knot/dnssec/kasp/keystate.h"
#include "knot/dnssec/key-events.h"
#include "knot/dnssec/policy.h"
@@ -429,7 +429,9 @@ static roll_action_t next_action(kdnssec_ctx_t *ctx, zone_sign_roll_flags_t flag
(key->is_zsk && !(flags & KEY_ROLL_ALLOW_ZSK_ROLL))) {
continue;
}
- clear_future_timers(key, ctx);
+ if (!(flags & KEY_ROLL_PRESERVE_FUTURE)) {
+ clear_future_timers(key, ctx);
+ }
if (key->is_ksk) {
switch (get_key_state(key, ctx->now)) {
case DNSSEC_KEY_STATE_PRE_ACTIVE:
@@ -879,7 +881,7 @@ int knot_dnssec_key_rollover(kdnssec_ctx_t *ctx, zone_sign_roll_flags_t flags,
if (ret == KNOT_EOK && reschedule->keys_changed) {
ret = kdnssec_ctx_commit(ctx);
if (ret == KNOT_EOK && (ctx->dbus_event & DBUS_EVENT_KEYS_UPDATED)) {
- systemd_emit_keys_updated(ctx->zone->dname);
+ dbus_emit_keys_updated(ctx->zone->dname);
}
}
@@ -889,7 +891,7 @@ int knot_dnssec_key_rollover(kdnssec_ctx_t *ctx, zone_sign_roll_flags_t flags,
log_fmt_zone(LOG_NOTICE, LOG_SOURCE_ZONE, ctx->zone->dname, param,
"DNSSEC, KSK submission, waiting for confirmation");
if (ctx->dbus_event & DBUS_EVENT_ZONE_SUBMISSION) {
- systemd_emit_zone_submission(ctx->zone->dname, ready_keytag, ready_keyid);
+ dbus_emit_zone_submission(ctx->zone->dname, ready_keytag, ready_keyid);
}
}
diff --git a/src/knot/dnssec/key_records.c b/src/knot/dnssec/key_records.c
index 9b22f7a..366ab4a 100644
--- a/src/knot/dnssec/key_records.c
+++ b/src/knot/dnssec/key_records.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -189,7 +189,7 @@ int key_records_dump(char **buf, size_t *buf_size, const key_records_t *r, bool
return ret >= 0 ? KNOT_EOK : ret;
}
-int key_records_sign(const zone_key_t *key, key_records_t *r, const kdnssec_ctx_t *kctx, knot_time_t *expires)
+int key_records_sign(const zone_key_t *key, key_records_t *r, const kdnssec_ctx_t *kctx)
{
dnssec_sign_ctx_t *sign_ctx;
int ret = dnssec_sign_new(&sign_ctx, key->key);
@@ -198,20 +198,20 @@ int key_records_sign(const zone_key_t *key, key_records_t *r, const kdnssec_ctx_
}
if (!knot_rrset_empty(&r->dnskey) && knot_zone_sign_use_key(key, &r->dnskey)) {
- ret = knot_sign_rrset(&r->rrsig, &r->dnskey, key->key, sign_ctx, kctx, NULL, expires);
+ ret = knot_sign_rrset(&r->rrsig, &r->dnskey, key->key, sign_ctx, kctx, NULL);
}
if (ret == KNOT_EOK && !knot_rrset_empty(&r->cdnskey) && knot_zone_sign_use_key(key, &r->cdnskey)) {
- ret = knot_sign_rrset(&r->rrsig, &r->cdnskey, key->key, sign_ctx, kctx, NULL, expires);
+ ret = knot_sign_rrset(&r->rrsig, &r->cdnskey, key->key, sign_ctx, kctx, NULL);
}
if (ret == KNOT_EOK && !knot_rrset_empty(&r->cds) && knot_zone_sign_use_key(key, &r->cds)) {
- ret = knot_sign_rrset(&r->rrsig, &r->cds, key->key, sign_ctx, kctx, NULL, expires);
+ ret = knot_sign_rrset(&r->rrsig, &r->cds, key->key, sign_ctx, kctx, NULL);
}
dnssec_sign_free(sign_ctx);
return ret;
}
-int key_records_verify(key_records_t *r, kdnssec_ctx_t *kctx, knot_time_t timestamp)
+int key_records_verify(key_records_t *r, kdnssec_ctx_t *kctx, knot_time_t timestamp, knot_time_t min_valid)
{
kctx->now = timestamp;
int ret = kasp_zone_keys_from_rr(kctx->zone, &r->dnskey.rrs, false, &kctx->keytag_conflict);
@@ -224,12 +224,17 @@ int key_records_verify(key_records_t *r, kdnssec_ctx_t *kctx, knot_time_t timest
return KNOT_ENOMEM;
}
- ret = knot_validate_rrsigs(&r->dnskey, &r->rrsig, sign_ctx, false);
+ knot_time_t until = 0;
+ ret = knot_validate_rrsigs(&r->dnskey, &r->rrsig, sign_ctx, false, &until);
if (ret == KNOT_EOK && !knot_rrset_empty(&r->cdnskey)) {
- ret = knot_validate_rrsigs(&r->cdnskey, &r->rrsig, sign_ctx, false);
+ ret = knot_validate_rrsigs(&r->cdnskey, &r->rrsig, sign_ctx, false, &until);
}
if (ret == KNOT_EOK && !knot_rrset_empty(&r->cds)) {
- ret = knot_validate_rrsigs(&r->cds, &r->rrsig, sign_ctx, false);
+ ret = knot_validate_rrsigs(&r->cds, &r->rrsig, sign_ctx, false, &until);
+ }
+
+ if (ret == KNOT_EOK && knot_time_lt(until, min_valid)) {
+ ret = KNOT_ESOON_EXPIRE;
}
zone_sign_ctx_free(sign_ctx);
diff --git a/src/knot/dnssec/key_records.h b/src/knot/dnssec/key_records.h
index b53ed86..dd28b4f 100644
--- a/src/knot/dnssec/key_records.h
+++ b/src/knot/dnssec/key_records.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -39,10 +39,10 @@ int key_records_intersect(key_records_t *r, const key_records_t *against);
int key_records_dump(char **buf, size_t *buf_size, const key_records_t *r, bool verbose);
-int key_records_sign(const zone_key_t *key, key_records_t *r, const kdnssec_ctx_t *kctx, knot_time_t *expires);
+int key_records_sign(const zone_key_t *key, key_records_t *r, const kdnssec_ctx_t *kctx);
// WARNING this modifies 'kctx' with updated timestamp and with zone_keys from r->dnskey
-int key_records_verify(key_records_t *r, kdnssec_ctx_t *kctx, knot_time_t timestamp);
+int key_records_verify(key_records_t *r, kdnssec_ctx_t *kctx, knot_time_t timestamp, knot_time_t min_valid);
size_t key_records_serialized_size(const key_records_t *r);
diff --git a/src/knot/dnssec/nsec-chain.c b/src/knot/dnssec/nsec-chain.c
index dc35097..123020a 100644
--- a/src/knot/dnssec/nsec-chain.c
+++ b/src/knot/dnssec/nsec-chain.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -123,18 +123,15 @@ static int connect_nsec_nodes(zone_node_t *a, zone_node_t *b,
assert(b);
assert(data);
- if (b->rrset_count == 0 || b->flags & NODE_FLAGS_NONAUTH) {
- return NSEC_NODE_SKIP;
- }
-
int ret = KNOT_EOK;
/*!
* If the node has no other RRSets than NSEC (and possibly RRSIGs),
+ * or the node is not authoritative,
* just remove the NSEC and its RRSIG, they are redundant
*/
- if (node_rrtype_exists(b, KNOT_RRTYPE_NSEC)
- && knot_nsec_empty_nsec_and_rrsigs_in_node(b)) {
+ if (node_rrtype_exists(b, KNOT_RRTYPE_NSEC) &&
+ (b->flags & NODE_FLAGS_NONAUTH || knot_nsec_empty_nsec_and_rrsigs_in_node(b))) {
ret = knot_nsec_changeset_remove(b, data->update);
if (ret != KNOT_EOK) {
return ret;
@@ -143,6 +140,10 @@ static int connect_nsec_nodes(zone_node_t *a, zone_node_t *b,
return NSEC_NODE_SKIP;
}
+ if (b->rrset_count == 0 || b->flags & NODE_FLAGS_NONAUTH) {
+ return NSEC_NODE_SKIP;
+ }
+
// create new NSEC
knot_rrset_t new_nsec;
ret = create_nsec_rrset(&new_nsec, a, b->owner, data->ttl);
@@ -447,7 +448,7 @@ static int check_nsec_bitmap(zone_node_t *node, void *ctx)
if (shall_no_nsec && nsec != NULL && nsec->count > 0) {
data->update->validation_hint.node = nsec_node->owner;
data->update->validation_hint.rrtype = data->nsec_type;
- return KNOT_DNSSEC_ENSEC_BITMAP;
+ return KNOT_DNSSEC_EXTRA_NSEC;
}
if (shall_no_nsec) {
return KNOT_EOK;
@@ -764,7 +765,7 @@ int knot_nsec_check_chain(zone_update_t *update)
if (!zone_tree_is_empty(update->new_cont->nsec3_nodes)) {
update->validation_hint.node = update->zone->name;
update->validation_hint.rrtype = KNOT_RRTYPE_NSEC3;
- return KNOT_DNSSEC_ENSEC_BITMAP;
+ return KNOT_DNSSEC_EXTRA_NSEC;
}
nsec_chain_iterate_data_t data = { 0, update, KNOT_RRTYPE_NSEC };
@@ -783,7 +784,7 @@ int knot_nsec_check_chain_fix(zone_update_t *update)
if (!zone_tree_is_empty(update->new_cont->nsec3_nodes)) {
update->validation_hint.node = update->zone->name;
update->validation_hint.rrtype = KNOT_RRTYPE_NSEC3;
- return KNOT_DNSSEC_ENSEC_BITMAP;
+ return KNOT_DNSSEC_EXTRA_NSEC;
}
nsec_chain_iterate_data_t data = { 0, update, KNOT_RRTYPE_NSEC };
diff --git a/src/knot/dnssec/rrset-sign.c b/src/knot/dnssec/rrset-sign.c
index 4c9e904..1dc9edc 100644
--- a/src/knot/dnssec/rrset-sign.c
+++ b/src/knot/dnssec/rrset-sign.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -157,13 +157,13 @@ static int sign_ctx_add_self(dnssec_sign_ctx_t *ctx, const uint8_t *rdata)
*/
static int sign_ctx_add_records(dnssec_sign_ctx_t *ctx, const knot_rrset_t *covered)
{
- size_t rrwl = knot_rrset_size(covered);
+ size_t rrwl = knot_rrset_size_estimate(covered);
uint8_t *rrwf = malloc(rrwl);
if (!rrwf) {
return KNOT_ENOMEM;
}
- int written = knot_rrset_to_wire_extra(covered, rrwf, rrwl, 0, NULL, KNOT_PF_BUFENOUGH);
+ int written = knot_rrset_to_wire_extra(covered, rrwf, rrwl, 0, NULL, 0);
if (written < 0) {
free(rrwf);
return written;
@@ -263,7 +263,7 @@ static int rrsigs_create_rdata(knot_rrset_t *rrsigs, dnssec_sign_ctx_t *ctx,
int knot_sign_rrset(knot_rrset_t *rrsigs, const knot_rrset_t *covered,
const dnssec_key_t *key, dnssec_sign_ctx_t *sign_ctx,
- const kdnssec_ctx_t *dnssec_ctx, knot_mm_t *mm, knot_time_t *expires)
+ const kdnssec_ctx_t *dnssec_ctx, knot_mm_t *mm)
{
if (knot_rrset_empty(covered) || !key || !sign_ctx || !dnssec_ctx ||
rrsigs->type != KNOT_RRTYPE_RRSIG ||
@@ -279,8 +279,11 @@ int knot_sign_rrset(knot_rrset_t *rrsigs, const knot_rrset_t *covered,
int ret = rrsigs_create_rdata(rrsigs, sign_ctx, covered, key, (uint32_t)sig_incept,
(uint32_t)sig_expire, sign_flags, mm);
- if (ret == KNOT_EOK && expires != NULL) {
- *expires = knot_time_min(*expires, sig_expire);
+ if (ret == KNOT_EOK) {
+ knot_spin_lock(&dnssec_ctx->stats->lock);
+ dnssec_ctx->stats->rrsig_count++;
+ dnssec_ctx->stats->expire = knot_time_min(dnssec_ctx->stats->expire, sig_expire);
+ knot_spin_unlock(&dnssec_ctx->stats->lock);
}
return ret;
}
@@ -300,7 +303,7 @@ int knot_sign_rrset2(knot_rrset_t *rrsigs, const knot_rrset_t *rrset,
}
int ret = knot_sign_rrset(rrsigs, rrset, key->key, sign_ctx->sign_ctxs[i],
- sign_ctx->dnssec_ctx, mm, NULL);
+ sign_ctx->dnssec_ctx, mm);
if (ret != KNOT_EOK) {
return ret;
}
diff --git a/src/knot/dnssec/rrset-sign.h b/src/knot/dnssec/rrset-sign.h
index 8e00402..ba0f027 100644
--- a/src/knot/dnssec/rrset-sign.h
+++ b/src/knot/dnssec/rrset-sign.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -31,7 +31,6 @@
* \param sign_ctx Signing context.
* \param dnssec_ctx DNSSEC context.
* \param mm Memory context.
- * \param expires Out: When will the new RRSIG expire.
*
* \return Error code, KNOT_EOK if successful.
*/
@@ -40,8 +39,7 @@ int knot_sign_rrset(knot_rrset_t *rrsigs,
const dnssec_key_t *key,
dnssec_sign_ctx_t *sign_ctx,
const kdnssec_ctx_t *dnssec_ctx,
- knot_mm_t *mm,
- knot_time_t *expires);
+ knot_mm_t *mm);
/*!
* \brief Create RRSIG RR for given RR set, choose which key to use.
diff --git a/src/knot/dnssec/zone-events.c b/src/knot/dnssec/zone-events.c
index faf093d..2ca35ac 100644
--- a/src/knot/dnssec/zone-events.c
+++ b/src/knot/dnssec/zone-events.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,6 +20,7 @@
#include "libdnssec/random.h"
#include "libknot/libknot.h"
#include "knot/conf/conf.h"
+#include "knot/common/dbus.h"
#include "knot/common/log.h"
#include "knot/dnssec/key-events.h"
#include "knot/dnssec/key_records.h"
@@ -157,7 +158,6 @@ int knot_dnssec_zone_sign(zone_update_t *update,
const knot_dname_t *zone_name = update->new_cont->apex->owner;
kdnssec_ctx_t ctx = { 0 };
zone_keyset_t keyset = { 0 };
- knot_time_t zone_expire = 0;
int result = kdnssec_ctx_init(conf, &ctx, zone_name, zone_kaspdb(update->zone), NULL);
if (result != KNOT_EOK) {
@@ -259,7 +259,7 @@ int knot_dnssec_zone_sign(zone_update_t *update,
goto done;
}
- result = knot_zone_sign(update, &keyset, &ctx, &zone_expire);
+ result = knot_zone_sign(update, &keyset, &ctx);
if (result != KNOT_EOK) {
log_zone_error(zone_name, "DNSSEC, failed to sign zone content (%s)",
knot_strerror(result));
@@ -302,13 +302,14 @@ int knot_dnssec_zone_sign(zone_update_t *update,
}
}
- log_zone_info(zone_name, "DNSSEC, successfully signed, serial %u",
- zone_contents_serial(update->new_cont));
+ log_zone_info(zone_name, "DNSSEC, successfully signed, serial %u, new RRSIGs %zu",
+ zone_contents_serial(update->new_cont), ctx.stats->rrsig_count);
done:
if (result == KNOT_EOK) {
- reschedule->next_sign = schedule_next(&ctx, &keyset, ctx.offline_next_time, zone_expire);
+ reschedule->next_sign = schedule_next(&ctx, &keyset, ctx.offline_next_time, ctx.stats->expire);
reschedule->plan_dnskey_sync = ctx.policy->has_dnskey_sync;
+ update->new_cont->dnssec_expire = ctx.stats->expire;
} else {
reschedule->next_sign = knot_dnssec_failover_delay(&ctx);
reschedule->next_rollover = 0;
@@ -329,7 +330,6 @@ int knot_dnssec_sign_update(zone_update_t *update, conf_t *conf)
const knot_dname_t *zone_name = update->new_cont->apex->owner;
kdnssec_ctx_t ctx = { 0 };
zone_keyset_t keyset = { 0 };
- knot_time_t zone_expire = 0;
int result = kdnssec_ctx_init(conf, &ctx, zone_name, zone_kaspdb(update->zone), NULL);
if (result != KNOT_EOK) {
@@ -381,7 +381,7 @@ int knot_dnssec_sign_update(zone_update_t *update, conf_t *conf)
goto done;
}
- result = knot_zone_sign_update(update, &keyset, &ctx, &zone_expire);
+ result = knot_zone_sign_update(update, &keyset, &ctx);
if (result != KNOT_EOK) {
log_zone_error(zone_name, "DNSSEC, failed to sign changeset (%s)",
knot_strerror(result));
@@ -434,17 +434,18 @@ int knot_dnssec_sign_update(zone_update_t *update, conf_t *conf)
}
}
- log_zone_info(zone_name, "DNSSEC, incrementally signed, serial %u",
- zone_contents_serial(update->new_cont));
+ log_zone_info(zone_name, "DNSSEC, incrementally signed, serial %u, new RRSIGs %zu",
+ zone_contents_serial(update->new_cont), ctx.stats->rrsig_count);
done:
if (result == KNOT_EOK) {
- knot_time_t next = knot_time_min(ctx.offline_next_time, zone_expire);
+ knot_time_t next = knot_time_min(ctx.offline_next_time, ctx.stats->expire);
// NOTE: this is usually NOOP since signing planned earlier
zone_events_schedule_at(update->zone, ZONE_EVENT_DNSSEC, (time_t)(next ? next : -1));
if (ctx.policy->has_dnskey_sync) {
zone_events_schedule_now(update->zone, ZONE_EVENT_DNSKEY_SYNC);
}
+ update->new_cont->dnssec_expire = knot_time_min(update->zone->contents->dnssec_expire, ctx.stats->expire);
}
free_zone_keys(&keyset);
@@ -462,25 +463,83 @@ knot_time_t knot_dnssec_failover_delay(const kdnssec_ctx_t *ctx)
}
}
-int knot_dnssec_validate_zone(zone_update_t *update, conf_t *conf, knot_time_t now, bool incremental)
+static void log_validation_error(zone_update_t *update, const char *msg_valid,
+ int ret, bool warning)
+{
+ unsigned level = warning ? LOG_WARNING : LOG_ERR;
+
+ log_fmt_zone(level, LOG_SOURCE_ZONE, update->zone->name, NULL,
+ "DNSSEC, %svalidation failed (%s)", msg_valid, knot_strerror(ret));
+
+ char type_str[16];
+ knot_dname_txt_storage_t name_str;
+ if (knot_dname_to_str(name_str, update->validation_hint.node, sizeof(name_str)) != NULL &&
+ knot_rrtype_to_string(update->validation_hint.rrtype, type_str, sizeof(type_str)) >= 0) {
+ log_fmt_zone(level, LOG_SOURCE_ZONE, update->zone->name, NULL,
+ "DNSSEC, validation hint: %s %s", name_str, type_str);
+ }
+}
+
+int knot_dnssec_validate_zone(zone_update_t *update, conf_t *conf,
+ knot_time_t now, bool incremental, bool log_plan)
{
kdnssec_ctx_t ctx = { 0 };
int ret = kdnssec_validation_ctx(conf, &ctx, update->new_cont);
+ if (ret != KNOT_EOK) {
+ goto end;
+ }
if (now != 0) {
ctx.now = now;
}
+
+ ret = knot_zone_check_nsec_chain(update, &ctx, incremental);
if (ret == KNOT_EOK) {
- ret = knot_zone_check_nsec_chain(update, &ctx, incremental);
- }
- if (ret == KNOT_EOK) {
- knot_time_t unused = 0;
assert(ctx.validation_mode);
if (incremental) {
- ret = knot_zone_sign_update(update, NULL, &ctx, &unused);
+ ret = knot_zone_sign_update(update, NULL, &ctx);
} else {
- ret = knot_zone_sign(update, NULL, &ctx, &unused);
+ ret = knot_zone_sign(update, NULL, &ctx);
}
}
+end:
+ if (log_plan) {
+ const char *msg_valid = incremental ? "incremental " : "";
+ if (ret != KNOT_EOK) {
+ log_validation_error(update, msg_valid, ret, false);
+ if (conf->cache.srv_dbus_event & DBUS_EVENT_ZONE_INVALID) {
+ dbus_emit_zone_invalid(update->zone->name, 0);
+ }
+ } else if (update->validation_hint.warning != KNOT_EOK) {
+ log_validation_error(update, msg_valid, update->validation_hint.warning, true);
+ if (conf->cache.srv_dbus_event & DBUS_EVENT_ZONE_INVALID) {
+ dbus_emit_zone_invalid(update->zone->name, update->validation_hint.remaining_secs);
+ }
+ } else {
+ log_zone_info(update->zone->name, "DNSSEC, %svalidation successful, checked RRSIGs %zu",
+ msg_valid, ctx.stats->rrsig_count);
+ }
+
+ conf_val_t val = conf_zone_get(conf, C_DNSSEC_VALIDATION, update->zone->name);
+ bool configured = conf_bool(&val);
+ bool bogus = (ret != KNOT_EOK);
+ bool running = (update->zone->contents == update->new_cont);
+ bool may_expire = zone_is_slave(conf, update->zone);
+ knot_time_t expire = (ctx.stats != NULL ? ctx.stats->expire : 0);
+ assert(bogus || knot_time_geq(expire, ctx.now));
+
+ if (running && bogus && may_expire) {
+ zone_events_schedule_now(update->zone, ZONE_EVENT_EXPIRE);
+ }
+ if (configured && !bogus) {
+ if (!incremental) {
+ zone_events_schedule_at(update->zone, ZONE_EVENT_VALIDATE, 0); // cancel previously planned re-check when fully re-checked
+ }
+ zone_events_schedule_at(update->zone, ZONE_EVENT_VALIDATE, // this works for incremental verify as well, re-planning on later
+ knot_time_add(expire, 1)); // is a NOOP, sooner is proper
+ }
+ }
+
kdnssec_ctx_deinit(&ctx);
+
return ret;
}
diff --git a/src/knot/dnssec/zone-events.h b/src/knot/dnssec/zone-events.h
index ef5f6f8..2f75614 100644
--- a/src/knot/dnssec/zone-events.h
+++ b/src/knot/dnssec/zone-events.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -16,10 +16,7 @@
#pragma once
-#include <time.h>
-
-#include "knot/zone/zone.h"
-#include "knot/updates/changesets.h"
+#include "contrib/time.h"
#include "knot/updates/zone-update.h"
#include "knot/dnssec/context.h"
@@ -39,7 +36,8 @@ typedef enum {
KEY_ROLL_ALLOW_NSEC3RESALT = (1 << 4),
KEY_ROLL_ALLOW_ALL = KEY_ROLL_ALLOW_KSK_ROLL |
KEY_ROLL_ALLOW_ZSK_ROLL |
- KEY_ROLL_ALLOW_NSEC3RESALT
+ KEY_ROLL_ALLOW_NSEC3RESALT,
+ KEY_ROLL_PRESERVE_FUTURE = (1 << 5),
} zone_sign_roll_flags_t;
typedef struct {
@@ -53,17 +51,6 @@ typedef struct {
} zone_sign_reschedule_t;
/*!
- * \brief Generate/rollover keys in keystore as needed.
- *
- * \param kctx Pointers to the keytore, policy, etc.
- * \param zone_name Zone name.
- *
- * \return Error code, KNOT_EOK if successful.
- */
-int knot_dnssec_sign_process_events(const kdnssec_ctx_t *kctx,
- const knot_dname_t *zone_name);
-
-/*!
* \brief DNSSEC re-sign zone, store new records into changeset. Valid signatures
* and NSEC(3) records will not be changed.
*
@@ -129,7 +116,9 @@ knot_time_t knot_dnssec_failover_delay(const kdnssec_ctx_t *ctx);
* \param conf Knot configuration.
* \param now If not zero: adjust "now" to this timestamp.
* \param incremental Try to validate incrementally.
+ * \param log_plan Log the result and plan subsequent validation event.
*
* \return KNOT_E*
*/
-int knot_dnssec_validate_zone(zone_update_t *update, conf_t *conf, knot_time_t now, bool incremental);
+int knot_dnssec_validate_zone(zone_update_t *update, conf_t *conf,
+ knot_time_t now, bool incremental, bool log_plan);
diff --git a/src/knot/dnssec/zone-sign.c b/src/knot/dnssec/zone-sign.c
index 62f809e..3cd2420 100644
--- a/src/knot/dnssec/zone-sign.c
+++ b/src/knot/dnssec/zone-sign.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -209,7 +209,6 @@ bool rrsig_covers_type(const knot_rrset_t *rrsig, uint16_t type)
* \param skip_crypto All RRSIGs in this node have been verified, just check validity.
* \param changeset Changeset to be updated.
* \param update Zone update to be updated. Exactly one of "changeset" and "update" must be NULL!
- * \param expires_at Earliest RRSIG expiration.
*
* \return Error code, KNOT_EOK if successful.
*/
@@ -218,8 +217,7 @@ static int add_missing_rrsigs(const knot_rrset_t *covered,
zone_sign_ctx_t *sign_ctx,
bool skip_crypto,
changeset_t *changeset,
- zone_update_t *update,
- knot_time_t *expires_at)
+ zone_update_t *update)
{
assert(!knot_rrset_empty(covered));
assert(sign_ctx);
@@ -258,11 +256,14 @@ static int add_missing_rrsigs(const knot_rrset_t *covered,
sign_ctx->dnssec_ctx, refresh, skip_crypto, NULL, &valid_at)) {
knot_rdata_t *valid_rr = knot_rdataset_at(&rrsigs->rrs, valid_at);
result = knot_rdataset_remove(&to_remove.rrs, valid_rr, NULL);
- note_earliest_expiration(valid_rr, sign_ctx->dnssec_ctx->now, expires_at);
+ knot_spin_lock(&sign_ctx->dnssec_ctx->stats->lock);
+ note_earliest_expiration(valid_rr, sign_ctx->dnssec_ctx->now,
+ &sign_ctx->dnssec_ctx->stats->expire);
+ knot_spin_unlock(&sign_ctx->dnssec_ctx->stats->lock);
continue;
}
result = knot_sign_rrset(&to_add, covered, key->key, sign_ctx->sign_ctxs[i],
- sign_ctx->dnssec_ctx, NULL, expires_at);
+ sign_ctx->dnssec_ctx, NULL);
}
if (!knot_rrset_empty(&to_remove) && result == KNOT_EOK) {
@@ -306,9 +307,10 @@ static bool key_used(bool ksk, bool zsk, uint16_t type,
int knot_validate_rrsigs(const knot_rrset_t *covered,
const knot_rrset_t *rrsigs,
zone_sign_ctx_t *sign_ctx,
- bool skip_crypto)
+ bool skip_crypto,
+ knot_time_t *valid_until)
{
- if (covered == NULL || rrsigs == NULL || sign_ctx == NULL) {
+ if (covered == NULL || rrsigs == NULL || sign_ctx == NULL || valid_until == NULL) {
return KNOT_EINVAL;
}
@@ -327,7 +329,14 @@ int knot_validate_rrsigs(const knot_rrset_t *covered,
if (valid_signature_exists(covered, rrsigs, key->key, sign_ctx->sign_ctxs[i],
sign_ctx->dnssec_ctx, 0, skip_crypto, val_inval_map, &valid_at)) {
valid_exists = true;
+ knot_rdata_t *valid_rr = knot_rdataset_at(&rrsigs->rrs, valid_at);
+ note_earliest_expiration(valid_rr, sign_ctx->dnssec_ctx->now, valid_until);
}
+
+ knot_spin_lock(&sign_ctx->dnssec_ctx->stats->lock);
+ sign_ctx->dnssec_ctx->stats->rrsig_count++;
+ sign_ctx->dnssec_ctx->stats->expire = knot_time_min(sign_ctx->dnssec_ctx->stats->expire, *valid_until);
+ knot_spin_unlock(&sign_ctx->dnssec_ctx->stats->lock);
}
for (int i = 0; i < rrsigs->rrs.count; i++) {
@@ -398,7 +407,7 @@ static int force_resign_rrset(const knot_rrset_t *covered,
}
}
- return add_missing_rrsigs(covered, NULL, sign_ctx, false, changeset, NULL, NULL);
+ return add_missing_rrsigs(covered, NULL, sign_ctx, false, changeset, NULL);
}
/*!
@@ -409,7 +418,6 @@ static int force_resign_rrset(const knot_rrset_t *covered,
* \param sign_ctx Local zone signing context.
* \param skip_crypto All RRSIGs in this node have been verified, just check validity.
* \param changeset Changeset to be updated.
- * \param expires_at Current earliest expiration, will be updated.
*
* \return Error code, KNOT_EOK if successful.
*/
@@ -417,12 +425,11 @@ static int resign_rrset(const knot_rrset_t *covered,
const knot_rrset_t *rrsigs,
zone_sign_ctx_t *sign_ctx,
bool skip_crypto,
- changeset_t *changeset,
- knot_time_t *expires_at)
+ changeset_t *changeset)
{
assert(!knot_rrset_empty(covered));
- return add_missing_rrsigs(covered, rrsigs, sign_ctx, skip_crypto, changeset, NULL, expires_at);
+ return add_missing_rrsigs(covered, rrsigs, sign_ctx, skip_crypto, changeset, NULL);
}
static int remove_standalone_rrsigs(const zone_node_t *node,
@@ -463,14 +470,13 @@ static int remove_standalone_rrsigs(const zone_node_t *node,
* \param node Node to be signed.
* \param sign_ctx Local zone signing context.
* \param changeset Changeset to be updated.
- * \param expires_at Current earliest expiration, will be updated.
+ * \param hint Out: if DNSSEC validation failed, hint why and where.
*
* \return Error code, KNOT_EOK if successful.
*/
static int sign_node_rrsets(const zone_node_t *node,
zone_sign_ctx_t *sign_ctx,
changeset_t *changeset,
- knot_time_t *expires_at,
dnssec_validation_hint_t *hint)
{
assert(node);
@@ -499,17 +505,25 @@ static int sign_node_rrsets(const zone_node_t *node,
}
if (sign_ctx->dnssec_ctx->validation_mode) {
- result = knot_validate_rrsigs(&rrset, &rrsigs, sign_ctx, skip_crypto);
+ knot_time_t until = 0;
+ result = knot_validate_rrsigs(&rrset, &rrsigs, sign_ctx, skip_crypto, &until);
+ knot_time_t diff = knot_time_diff(until, sign_ctx->dnssec_ctx->now);
if (result != KNOT_EOK) {
hint->node = node->owner;
hint->rrtype = rrset.type;
+ } else if (diff < sign_ctx->dnssec_ctx->policy->rrsig_refresh_before) {
+ hint->node = node->owner;
+ hint->rrtype = rrset.type;
+ hint->warning = KNOT_ESOON_EXPIRE;
+ assert(until > 0);
+ hint->remaining_secs = MAX(0, diff);
}
} else if (sign_ctx->dnssec_ctx->rrsig_drop_existing) {
result = force_resign_rrset(&rrset, &rrsigs,
sign_ctx, changeset);
} else {
result = resign_rrset(&rrset, &rrsigs, sign_ctx, skip_crypto,
- changeset, expires_at);
+ changeset);
}
}
@@ -526,7 +540,6 @@ typedef struct {
zone_tree_t *tree;
zone_sign_ctx_t *sign_ctx;
changeset_t changeset;
- knot_time_t expires_at;
dnssec_validation_hint_t *hint;
size_t num_threads;
size_t thread_index;
@@ -557,11 +570,7 @@ static int sign_node(zone_node_t *node, void *data)
return KNOT_EOK;
}
- int result = sign_node_rrsets(node, args->sign_ctx,
- &args->changeset, &args->expires_at,
- args->hint);
-
- return result;
+ return sign_node_rrsets(node, args->sign_ctx, &args->changeset, args->hint);
}
static void *tree_sign_thread(void *_arg)
@@ -585,7 +594,6 @@ static int set_signed(zone_node_t *node, _unused_ void *data)
* \param zone_keys Zone keys.
* \param policy DNSSEC policy.
* \param update Zone update structure to be updated.
- * \param expires_at Expiration time of the oldest signature in zone.
*
* \return Error code, KNOT_EOK if successful.
*/
@@ -593,8 +601,7 @@ static int zone_tree_sign(zone_tree_t *tree,
size_t num_threads,
zone_keyset_t *zone_keys,
const kdnssec_ctx_t *dnssec_ctx,
- zone_update_t *update,
- knot_time_t *expires_at)
+ zone_update_t *update)
{
assert(zone_keys || dnssec_ctx->validation_mode);
assert(dnssec_ctx);
@@ -603,7 +610,6 @@ static int zone_tree_sign(zone_tree_t *tree,
int ret = KNOT_EOK;
node_sign_args_t args[num_threads];
memset(args, 0, sizeof(args));
- *expires_at = knot_time_plus(dnssec_ctx->now, dnssec_ctx->policy->rrsig_lifetime);
// init context structures
for (size_t i = 0; i < num_threads; i++) {
@@ -619,7 +625,6 @@ static int zone_tree_sign(zone_tree_t *tree,
if (ret != KNOT_EOK) {
break;
}
- args[i].expires_at = 0;
args[i].hint = &update->validation_hint;
args[i].num_threads = num_threads;
args[i].thread_index = i;
@@ -662,7 +667,6 @@ static int zone_tree_sign(zone_tree_t *tree,
ret = args[i].errcode;
if (ret == KNOT_EOK && !dnssec_ctx->validation_mode) {
ret = zone_update_apply_changeset(update, &args[i].changeset); // _fix not needed
- *expires_at = knot_time_min(*expires_at, args[i].expires_at);
}
}
}
@@ -701,10 +705,9 @@ static int rrset_add_zone_ds(knot_rrset_t *rrset, zone_key_t *zone_key, dnssec_k
int knot_zone_sign(zone_update_t *update,
zone_keyset_t *zone_keys,
- const kdnssec_ctx_t *dnssec_ctx,
- knot_time_t *expire_at)
+ const kdnssec_ctx_t *dnssec_ctx)
{
- if (!update || !dnssec_ctx || !expire_at ||
+ if (!update || !dnssec_ctx ||
dnssec_ctx->policy->signing_threads < 1 ||
(zone_keys == NULL && !dnssec_ctx->validation_mode)) {
return KNOT_EINVAL;
@@ -712,16 +715,14 @@ int knot_zone_sign(zone_update_t *update,
int result;
- knot_time_t normal_expire = 0;
result = zone_tree_sign(update->new_cont->nodes, dnssec_ctx->policy->signing_threads,
- zone_keys, dnssec_ctx, update, &normal_expire);
+ zone_keys, dnssec_ctx, update);
if (result != KNOT_EOK) {
return result;
}
- knot_time_t nsec3_expire = 0;
result = zone_tree_sign(update->new_cont->nsec3_nodes, dnssec_ctx->policy->signing_threads,
- zone_keys, dnssec_ctx, update, &nsec3_expire);
+ zone_keys, dnssec_ctx, update);
if (result != KNOT_EOK) {
return result;
}
@@ -732,8 +733,6 @@ int knot_zone_sign(zone_update_t *update,
result = zone_tree_apply(whole ? update->new_cont->nsec3_nodes : update->a_ctx->nsec3_ptrs, set_signed, NULL);
}
- *expire_at = knot_time_min(normal_expire, nsec3_expire);
-
return result;
}
@@ -948,7 +947,7 @@ bool knot_zone_sign_use_key(const zone_key_t *key, const knot_rrset_t *covered)
}
}
-static int sign_in_changeset(zone_node_t *node, uint16_t rrtype, knot_rrset_t *rrsigs,
+static int sign_in_changeset(zone_node_t *node, uint16_t rrtype,
zone_sign_ctx_t *sign_ctx, int ret_prev,
bool skip_crypto, zone_update_t *up)
{
@@ -959,7 +958,8 @@ static int sign_in_changeset(zone_node_t *node, uint16_t rrtype, knot_rrset_t *r
if (knot_rrset_empty(&rr)) {
return KNOT_EOK;
}
- return add_missing_rrsigs(&rr, rrsigs, sign_ctx, skip_crypto, NULL, up, NULL);
+ knot_rrset_t rrsigs = node_rrset(node, KNOT_RRTYPE_RRSIG);
+ return add_missing_rrsigs(&rr, &rrsigs, sign_ctx, skip_crypto, NULL, up);
}
int knot_zone_sign_nsecs_in_changeset(const zone_keyset_t *zone_keys,
@@ -982,10 +982,9 @@ int knot_zone_sign_nsecs_in_changeset(const zone_keyset_t *zone_keys,
zone_node_t *n = zone_tree_it_val(&it);
bool skip_crypto = (n->flags & NODE_FLAGS_RRSIGS_VALID) && !dnssec_ctx->keytag_conflict;
- knot_rrset_t rrsigs = node_rrset(n, KNOT_RRTYPE_RRSIG);
- ret = sign_in_changeset(n, KNOT_RRTYPE_NSEC, &rrsigs, sign_ctx, ret, skip_crypto, update);
- ret = sign_in_changeset(n, KNOT_RRTYPE_NSEC3, &rrsigs, sign_ctx, ret, skip_crypto, update);
- ret = sign_in_changeset(n, KNOT_RRTYPE_NSEC3PARAM, &rrsigs, sign_ctx, ret, skip_crypto, update);
+ ret = sign_in_changeset(n, KNOT_RRTYPE_NSEC, sign_ctx, ret, skip_crypto, update);
+ ret = sign_in_changeset(n, KNOT_RRTYPE_NSEC3, sign_ctx, ret, skip_crypto, update);
+ ret = sign_in_changeset(n, KNOT_RRTYPE_NSEC3PARAM, sign_ctx, ret, skip_crypto, update);
if (ret == KNOT_EOK) {
n->flags |= NODE_FLAGS_RRSIGS_VALID; // non-NSEC RRSIGs had been validated in knot_dnssec_sign_update()
@@ -1023,10 +1022,9 @@ bool knot_zone_sign_rr_should_be_signed(const zone_node_t *node,
int knot_zone_sign_update(zone_update_t *update,
zone_keyset_t *zone_keys,
- const kdnssec_ctx_t *dnssec_ctx,
- knot_time_t *expire_at)
+ const kdnssec_ctx_t *dnssec_ctx)
{
- if (update == NULL || dnssec_ctx == NULL || expire_at == NULL ||
+ if (update == NULL || dnssec_ctx == NULL ||
dnssec_ctx->policy->signing_threads < 1 ||
(zone_keys == NULL && !dnssec_ctx->validation_mode)) {
return KNOT_EINVAL;
@@ -1038,16 +1036,16 @@ int knot_zone_sign_update(zone_update_t *update,
* If so, we have to sign the whole zone. */
const bool full_sign = apex_dnssec_changed(update);
if (full_sign) {
- ret = knot_zone_sign(update, zone_keys, dnssec_ctx, expire_at);
+ ret = knot_zone_sign(update, zone_keys, dnssec_ctx);
} else {
ret = zone_tree_sign(update->a_ctx->node_ptrs, dnssec_ctx->policy->signing_threads,
- zone_keys, dnssec_ctx, update, expire_at);
+ zone_keys, dnssec_ctx, update);
if (ret == KNOT_EOK) {
ret = zone_tree_apply(update->a_ctx->node_ptrs, set_signed, NULL);
}
if (ret == KNOT_EOK && dnssec_ctx->validation_mode) {
ret = zone_tree_sign(update->a_ctx->nsec3_ptrs, dnssec_ctx->policy->signing_threads,
- zone_keys, dnssec_ctx, update, expire_at);
+ zone_keys, dnssec_ctx, update);
}
if (ret == KNOT_EOK && dnssec_ctx->validation_mode) {
ret = zone_tree_apply(update->a_ctx->nsec3_ptrs, set_signed, NULL);
diff --git a/src/knot/dnssec/zone-sign.h b/src/knot/dnssec/zone-sign.h
index ba6e2b2..480bcf9 100644
--- a/src/knot/dnssec/zone-sign.h
+++ b/src/knot/dnssec/zone-sign.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -81,13 +81,15 @@ keyptr_dynarray_t knot_zone_sign_get_cdnskeys(const kdnssec_ctx_t *ctx,
* \param rrsigs RRSIG with signatures.
* \param sign_ctx Signing context (with keys == NULL)
* \param skip_crypto Crypto operations might be skipped as they had been successful earlier.
+ * \param valid_until End of soonest RRSIG validity.
*
* \return KNOT_E*
*/
int knot_validate_rrsigs(const knot_rrset_t *covered,
const knot_rrset_t *rrsigs,
zone_sign_ctx_t *sign_ctx,
- bool skip_crypto);
+ bool skip_crypto,
+ knot_time_t *valid_until);
/*!
* \brief Update zone signatures and store performed changes in update.
@@ -97,14 +99,12 @@ int knot_validate_rrsigs(const knot_rrset_t *covered,
* \param update Zone Update containing the zone and to be updated with new DNSKEYs and RRSIGs.
* \param zone_keys Zone keys.
* \param dnssec_ctx DNSSEC context.
- * \param expire_at Time, when the oldest signature in the zone expires.
*
* \return Error code, KNOT_EOK if successful.
*/
int knot_zone_sign(zone_update_t *update,
zone_keyset_t *zone_keys,
- const kdnssec_ctx_t *dnssec_ctx,
- knot_time_t *expire_at);
+ const kdnssec_ctx_t *dnssec_ctx);
/*!
* \brief Sign NSEC/NSEC3 nodes in changeset and update the changeset.
@@ -138,14 +138,12 @@ bool knot_zone_sign_rr_should_be_signed(const zone_node_t *node,
* \param update Zone Update structure.
* \param zone_keys Zone keys.
* \param dnssec_ctx DNSSEC context.
- * \param expire_at Time, when the oldest signature in the update expires.
*
* \return Error code, KNOT_EOK if successful.
*/
int knot_zone_sign_update(zone_update_t *update,
zone_keyset_t *zone_keys,
- const kdnssec_ctx_t *dnssec_ctx,
- knot_time_t *expire_at);
+ const kdnssec_ctx_t *dnssec_ctx);
/*!
* \brief Force re-sign of a RRSet in zone apex.
diff --git a/src/knot/events/events.c b/src/knot/events/events.c
index f0de68e..6224006 100644
--- a/src/knot/events/events.c
+++ b/src/knot/events/events.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -46,6 +46,7 @@ static const event_info_t EVENT_INFO[] = {
{ ZONE_EVENT_BACKUP, event_backup, "backup/restore" },
{ ZONE_EVENT_NOTIFY, event_notify, "notify" },
{ ZONE_EVENT_DNSSEC, event_dnssec, "re-sign" },
+ { ZONE_EVENT_VALIDATE, event_validate, "DNSSEC-validate" },
{ ZONE_EVENT_UFREEZE, event_ufreeze, "update-freeze" },
{ ZONE_EVENT_UTHAW, event_uthaw, "update-thaw" },
{ ZONE_EVENT_DS_CHECK, event_ds_check, "DS-check" },
diff --git a/src/knot/events/events.h b/src/knot/events/events.h
index a32d195..cf1b362 100644
--- a/src/knot/events/events.h
+++ b/src/knot/events/events.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -38,6 +38,7 @@ typedef enum zone_event_type {
ZONE_EVENT_BACKUP,
ZONE_EVENT_NOTIFY,
ZONE_EVENT_DNSSEC,
+ ZONE_EVENT_VALIDATE,
ZONE_EVENT_UFREEZE,
ZONE_EVENT_UTHAW,
ZONE_EVENT_DS_CHECK,
diff --git a/src/knot/events/handlers.h b/src/knot/events/handlers.h
index d74fd8a..45b7b45 100644
--- a/src/knot/events/handlers.h
+++ b/src/knot/events/handlers.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -39,6 +39,8 @@ int event_dnssec(conf_t *conf, zone_t *zone);
/*! \brief NOT A HANDLER, just a helper function to reschedule based on reschedule_t */
void event_dnssec_reschedule(conf_t *conf, zone_t *zone,
const zone_sign_reschedule_t *refresh, bool zone_changed);
+/*! \brief Validate the wole zone's DNSSEC. */
+int event_validate(conf_t *conf, zone_t *zone);
/*! \brief Freeze those events causing zone contents change. */
int event_ufreeze(conf_t *conf, zone_t *zone);
/*! \brief Unfreeze zone updates. */
diff --git a/src/knot/events/handlers/dnskey_sync.c b/src/knot/events/handlers/dnskey_sync.c
index c6d80ff..018f66b 100644
--- a/src/knot/events/handlers/dnskey_sync.c
+++ b/src/knot/events/handlers/dnskey_sync.c
@@ -26,8 +26,8 @@
#define DNSKEY_SYNC_LOG(priority, zone, remote, flags, fmt, ...) \
ns_log(priority, zone, LOG_OPERATION_DNSKEY_SYNC, LOG_DIRECTION_OUT, &(remote)->addr, \
- ((flags) & KNOT_REQUESTOR_QUIC) ? KNOTD_QUERY_PROTO_QUIC : KNOTD_QUERY_PROTO_TCP, \
- ((flags) & KNOT_REQUESTOR_REUSED), (remote)->key.name, fmt, ## __VA_ARGS__)
+ flags2proto(flags), ((flags) & KNOT_REQUESTOR_REUSED), (remote)->key.name, \
+ fmt, ## __VA_ARGS__)
static const unsigned remote_rrs[] = { KNOT_RRTYPE_DNSKEY, KNOT_RRTYPE_CDNSKEY, KNOT_RRTYPE_CDS };
#define REMOTE_NTYPES (sizeof(remote_rrs) / sizeof(remote_rrs[0]))
diff --git a/src/knot/events/handlers/ds_push.c b/src/knot/events/handlers/ds_push.c
index be7621f..761b800 100644
--- a/src/knot/events/handlers/ds_push.c
+++ b/src/knot/events/handlers/ds_push.c
@@ -38,8 +38,8 @@ struct ds_push_data {
#define DS_PUSH_LOG(priority, zone, remote, flags, fmt, ...) \
ns_log(priority, zone, LOG_OPERATION_DS_PUSH, LOG_DIRECTION_OUT, &(remote)->addr, \
- ((flags) & KNOT_REQUESTOR_QUIC) ? KNOTD_QUERY_PROTO_QUIC : KNOTD_QUERY_PROTO_TCP, \
- ((flags) & KNOT_REQUESTOR_REUSED), (remote)->key.name, fmt, ## __VA_ARGS__)
+ flags2proto(flags), ((flags) & KNOT_REQUESTOR_REUSED), (remote)->key.name, \
+ fmt, ## __VA_ARGS__)
static const knot_rdata_t remove_cds = { 5, { 0, 0, 0, 0, 0 } };
@@ -53,7 +53,7 @@ static int ds_push_begin(knot_layer_t *layer, void *params)
static int parent_soa_produce(struct ds_push_data *data, knot_pkt_t *pkt)
{
assert(data->parent_query[0] != '\0');
- data->parent_query = knot_wire_next_label(data->parent_query, NULL);
+ data->parent_query = knot_dname_next_label(data->parent_query);
int ret = knot_pkt_put_question(pkt, data->parent_query, KNOT_CLASS_IN, KNOT_RRTYPE_SOA);
if (ret != KNOT_EOK) {
diff --git a/src/knot/events/handlers/load.c b/src/knot/events/handlers/load.c
index 5d44788..ce01ca8 100644
--- a/src/knot/events/handlers/load.c
+++ b/src/knot/events/handlers/load.c
@@ -221,9 +221,10 @@ int event_load(conf_t *conf, zone_t *zone)
ret = zone_update_increment_soa(&up, conf);
}
} else if (zf_conts == NULL) {
- // nothing to be re-loaded
- ret = KNOT_EOK;
- goto cleanup;
+ // nothing to be re-loaded. We could nicely end here...
+ // BUT in case of conf change, it's proper to re-ZONEMD and re-DNSSEC
+ // ALSO replan_load_updated() relies on that DNSSEC event planning cascades from here
+ ret = zone_update_init(&up, zone, UPDATE_INCREMENTAL);
} else if (zf_from == ZONEFILE_LOAD_WHOLE) {
// throw old zone contents and load new from ZF
ret = zone_update_from_contents(&up, zone, zf_conts,
diff --git a/src/knot/events/handlers/notify.c b/src/knot/events/handlers/notify.c
index 9dae70a..9a8b8df 100644
--- a/src/knot/events/handlers/notify.c
+++ b/src/knot/events/handlers/notify.c
@@ -84,8 +84,8 @@ static const knot_layer_api_t NOTIFY_API = {
#define NOTIFY_OUT_LOG(priority, zone, remote, flags, fmt, ...) \
ns_log(priority, zone, LOG_OPERATION_NOTIFY, LOG_DIRECTION_OUT, &(remote)->addr, \
- ((flags) & KNOT_REQUESTOR_QUIC) ? KNOTD_QUERY_PROTO_QUIC : KNOTD_QUERY_PROTO_TCP, \
- ((flags) & KNOT_REQUESTOR_REUSED), (remote)->key.name, fmt, ## __VA_ARGS__)
+ flags2proto(flags), ((flags) & KNOT_REQUESTOR_REUSED), (remote)->key.name, \
+ fmt, ## __VA_ARGS__)
static int send_notify(conf_t *conf, zone_t *zone, const knot_rrset_t *soa,
const conf_remote_t *slave, int timeout, bool retry)
diff --git a/src/knot/events/handlers/refresh.c b/src/knot/events/handlers/refresh.c
index 1a23f42..6c22707 100644
--- a/src/knot/events/handlers/refresh.c
+++ b/src/knot/events/handlers/refresh.c
@@ -68,20 +68,24 @@
* \endverbatim
*/
-#define PROTO(data) \
- ((data)->layer->flags & KNOT_REQUESTOR_QUIC) ? KNOTD_QUERY_PROTO_QUIC : KNOTD_QUERY_PROTO_TCP
-
#define REFRESH_LOG(priority, data, msg...) \
ns_log(priority, (data)->zone->name, LOG_OPERATION_REFRESH, LOG_DIRECTION_NONE, \
&(data)->remote->addr, 0, false, (data)->remote->key.name, msg)
+#define REFRESH_LOG_PROTO(priority, data, msg...) \
+ ns_log(priority, (data)->zone->name, LOG_OPERATION_REFRESH, LOG_DIRECTION_NONE, \
+ &(data)->remote->addr, flags2proto((data)->layer->flags), \
+ (data)->layer->flags & KNOT_REQUESTOR_REUSED, (data)->remote->key.name, msg)
+
#define AXFRIN_LOG(priority, data, msg...) \
ns_log(priority, (data)->zone->name, LOG_OPERATION_AXFR, LOG_DIRECTION_IN, \
- &(data)->remote->addr, PROTO(data), (data)->layer->flags & KNOT_REQUESTOR_REUSED, (data)->remote->key.name, msg)
+ &(data)->remote->addr, flags2proto((data)->layer->flags), \
+ (data)->layer->flags & KNOT_REQUESTOR_REUSED, (data)->remote->key.name, msg)
#define IXFRIN_LOG(priority, data, msg...) \
ns_log(priority, (data)->zone->name, LOG_OPERATION_IXFR, LOG_DIRECTION_IN, \
- &(data)->remote->addr, PROTO(data), (data)->layer->flags & KNOT_REQUESTOR_REUSED, (data)->remote->key.name, msg)
+ &(data)->remote->addr, flags2proto((data)->layer->flags), \
+ (data)->layer->flags & KNOT_REQUESTOR_REUSED, (data)->remote->key.name, msg)
enum state {
REFRESH_STATE_INVALID = 0,
@@ -119,7 +123,7 @@ struct refresh_data {
int ret; //!< Error code.
enum state state; //!< Event processing state.
- enum xfr_type xfr_type; //!< Transer type (mostly IXFR versus AXFR).
+ enum xfr_type xfr_type; //!< Transfer type (mostly IXFR versus AXFR).
bool axfr_style_ixfr; //!< Master responded with AXFR-style-IXFR.
knot_rrset_t *initial_soa_copy; //!< Copy of the received initial SOA.
struct xfr_stats stats; //!< Transfer statistics.
@@ -1080,9 +1084,9 @@ static int soa_query_consume(knot_layer_t *layer, knot_pkt_t *pkt)
struct refresh_data *data = layer->data;
if (knot_pkt_ext_rcode(pkt) != KNOT_RCODE_NOERROR) {
- REFRESH_LOG(LOG_WARNING, data,
- "server responded with error '%s'",
- knot_pkt_ext_rcode_name(pkt));
+ REFRESH_LOG_PROTO(LOG_WARNING, data,
+ "server responded with error '%s'",
+ knot_pkt_ext_rcode_name(pkt));
data->ret = KNOT_EDENIED;
return KNOT_STATE_FAIL;
}
@@ -1090,8 +1094,7 @@ static int soa_query_consume(knot_layer_t *layer, knot_pkt_t *pkt)
const knot_pktsection_t *answer = knot_pkt_section(pkt, KNOT_ANSWER);
const knot_rrset_t *rr = answer->count == 1 ? knot_pkt_rr(answer, 0) : NULL;
if (!rr || rr->type != KNOT_RRTYPE_SOA || rr->rrs.count != 1) {
- REFRESH_LOG(LOG_WARNING, data,
- "malformed message");
+ REFRESH_LOG_PROTO(LOG_WARNING, data, "malformed message");
conf_val_t val = conf_zone_get(data->conf, C_SEM_CHECKS, data->zone->name);
if (conf_opt(&val) == SEMCHECKS_SOFT) {
data->xfr_type = XFR_TYPE_AXFR;
@@ -1116,9 +1119,9 @@ static int soa_query_consume(knot_layer_t *layer, knot_pkt_t *pkt)
if (!current) {
if (wait4pinned_master(data)) {
- REFRESH_LOG(LOG_INFO, data,
- "remote serial %u, zone is outdated, waiting for pinned master",
- remote_serial);
+ REFRESH_LOG_PROTO(LOG_INFO, data,
+ "remote serial %u, zone is outdated, waiting for pinned master",
+ remote_serial);
return KNOT_STATE_DONE;
}
REFRESH_LOG(LOG_INFO, data,
@@ -1130,14 +1133,14 @@ static int soa_query_consume(knot_layer_t *layer, knot_pkt_t *pkt)
finalize_timers(data);
char expires_in[32] = "";
fill_expires_in(expires_in, sizeof(expires_in), data);
- REFRESH_LOG(LOG_INFO, data,
- "remote serial %u, zone is up-to-date%s",
- remote_serial, expires_in);
+ REFRESH_LOG_PROTO(LOG_INFO, data,
+ "remote serial %u, zone is up-to-date%s",
+ remote_serial, expires_in);
return KNOT_STATE_DONE;
} else {
finalize_timers_noexpire(data);
- REFRESH_LOG(LOG_INFO, data,
- "remote serial %u, remote is outdated", remote_serial);
+ REFRESH_LOG_PROTO(LOG_INFO, data,
+ "remote serial %u, remote is outdated", remote_serial);
return KNOT_STATE_DONE;
}
}
@@ -1197,14 +1200,33 @@ static int transfer_consume(knot_layer_t *layer, knot_pkt_t *pkt)
// Transfer completed
if (next == KNOT_STATE_DONE) {
// Log transfer even if we still can fail
+ uint32_t serial;
+ switch (data->xfr_type) {
+ case XFR_TYPE_AXFR:
+ serial = zone_contents_serial(data->axfr.zone);
+ break;
+ case XFR_TYPE_IXFR:
+ serial = knot_soa_serial(data->ixfr.final_soa->rrs.rdata);
+ break;
+ case XFR_TYPE_UPTODATE:
+ if (slave_zone_serial(data->zone, data->conf, &serial) == KNOT_EOK) {
+ break;
+ }
+ // FALLTHROUGH
+ default:
+ serial = 0;
+ }
+ char serial_log[32];
+ (void)snprintf(serial_log, sizeof(serial_log),
+ " remote serial %u,", serial);
xfr_log_finished(data->zone->name,
data->xfr_type == XFR_TYPE_IXFR ||
data->xfr_type == XFR_TYPE_UPTODATE ?
LOG_OPERATION_IXFR : LOG_OPERATION_AXFR,
LOG_DIRECTION_IN, &data->remote->addr,
- (layer->flags & KNOT_REQUESTOR_QUIC ?
- KNOTD_QUERY_PROTO_QUIC : KNOTD_QUERY_PROTO_TCP),
- data->remote->key.name, &data->stats);
+ flags2proto(layer->flags),
+ data->remote->key.name,
+ serial_log, &data->stats);
/*
* TODO: Move finialization into finish
diff --git a/src/knot/events/handlers/update.c b/src/knot/events/handlers/update.c
index b4092a3..2c6758c 100644
--- a/src/knot/events/handlers/update.c
+++ b/src/knot/events/handlers/update.c
@@ -28,6 +28,9 @@
#include "knot/zone/zone.h"
#include "libdnssec/random.h"
#include "libknot/libknot.h"
+#include "libknot/quic/quic_conn.h"
+#include "libknot/quic/quic.h"
+#include "libknot/quic/tls.h"
#include "contrib/net.h"
#include "contrib/time.h"
@@ -51,6 +54,33 @@ static void init_qdata_from_request(knotd_qdata_t *qdata,
qdata->extra->zone = zone;
}
+#ifdef ENABLE_QUIC
+static int ddnsq_alloc_reply(knot_quic_reply_t *r)
+{
+ r->out_payload->iov_len = KNOT_WIRE_MAX_PKTSIZE;
+
+ return KNOT_EOK;
+}
+
+static int ddnsq_send_reply(knot_quic_reply_t *r)
+{
+ int fd = *(int *)r->sock;
+ int ret = net_dgram_send(fd, r->out_payload->iov_base, r->out_payload->iov_len, r->ip_rem);
+ if (ret < 0) {
+ return knot_map_errno();
+ } else if (ret == r->out_payload->iov_len) {
+ return KNOT_EOK;
+ } else {
+ return KNOT_EAGAIN;
+ }
+}
+
+static void ddnsq_free_reply(knot_quic_reply_t *r)
+{
+ r->out_payload->iov_len = 0;
+}
+#endif // ENABLE_QUIC
+
static int check_prereqs(knot_request_t *request,
zone_update_t *update,
knotd_qdata_t *qdata)
@@ -65,6 +95,15 @@ static int check_prereqs(knot_request_t *request,
return ret;
}
+ ret = ddns_precheck_update(request->query, update, &rcode);
+ if (ret != KNOT_EOK) {
+ UPDATE_LOG(LOG_WARNING, qdata, "broken update format (%s)",
+ knot_strerror(ret));
+ assert(rcode != KNOT_RCODE_NOERROR);
+ knot_wire_set_rcode(request->resp->wire, rcode);
+ return ret;
+ }
+
return KNOT_EOK;
}
@@ -104,6 +143,7 @@ static int process_bulk(zone_t *zone, list_t *requests, zone_update_t *up)
knot_request_t *req = node->d;
// Init qdata structure for logging (unique per-request).
knotd_qdata_params_t params = {
+ .proto = flags2proto(req->flags),
.remote = &req->remote
};
knotd_qdata_t qdata;
@@ -118,6 +158,8 @@ static int process_bulk(zone_t *zone, list_t *requests, zone_update_t *up)
ret = process_single_update(req, up, &qdata);
if (ret != KNOT_EOK) {
+ log_zone_error(zone->name, "DDNS, dropping %zu updates in a bulk",
+ list_size(requests));
return ret;
}
}
@@ -338,6 +380,39 @@ static void send_update_response(conf_t *conf, zone_t *zone, knot_request_t *req
(void)process_query_sign_response(req->resp, &qdata);
}
+ if (net_is_stream(req->fd) && req->tls_req_ctx.conn != NULL) {
+ (void)knot_tls_send_dns(req->tls_req_ctx.conn,
+ req->resp->wire, req->resp->size);
+ knot_tls_conn_block(req->tls_req_ctx.conn, false);
+ }
+#ifdef ENABLE_QUIC
+ else if (req->quic_conn != NULL) {
+ assert(!net_is_stream(req->fd));
+ uint8_t op_buf[KNOT_WIRE_MAX_PKTSIZE];
+ struct iovec out_payload = { .iov_base = op_buf, .iov_len = sizeof(op_buf) };
+ knot_quic_reply_t rpl = {
+ .ip_rem = &req->remote,
+ .ip_loc = &req->source,
+ .in_payload = NULL,
+ .out_payload = &out_payload,
+ .sock = &req->fd,
+ .alloc_reply = ddnsq_alloc_reply,
+ .send_reply = ddnsq_send_reply,
+ .free_reply = ddnsq_free_reply
+ };
+
+ void *succ = knot_quic_stream_add_data(req->quic_conn, req->quic_stream,
+ req->resp->wire, req->resp->size);
+ if (succ != NULL) { // else ENOMEM
+ (void)knot_quic_send(req->quic_conn->quic_table, req->quic_conn,
+ &rpl, 4, KNOT_QUIC_SEND_IGNORE_BLOCKED);
+ }
+ knot_quic_conn_block(req->quic_conn, false);
+ } else // NOTE ties to 'if' below
+#else
+ assert(req->quic_conn == NULL);
+#endif // ENABLE_QUIC
+
if (net_is_stream(req->fd)) {
net_dns_tcp_send(req->fd, req->resp->wire, req->resp->size,
conf->cache.srv_tcp_remote_io_timeout, NULL);
@@ -348,22 +423,13 @@ static void send_update_response(conf_t *conf, zone_t *zone, knot_request_t *req
}
}
-static void free_request(knot_request_t *req)
-{
- close(req->fd);
- knot_pkt_free(req->query);
- knot_pkt_free(req->resp);
- dnssec_binary_free(&req->sign.tsig_key.secret);
- free(req);
-}
-
static void send_update_responses(conf_t *conf, zone_t *zone, list_t *updates)
{
ptrnode_t *node, *nxt;
WALK_LIST_DELSAFE(node, nxt, *updates) {
knot_request_t *req = node->d;
send_update_response(conf, zone, req);
- free_request(req);
+ knot_request_free(req, NULL);
}
ptrlist_free(updates, NULL);
}
diff --git a/src/knot/events/handlers/validate.c b/src/knot/events/handlers/validate.c
new file mode 100644
index 0000000..e410b4f
--- /dev/null
+++ b/src/knot/events/handlers/validate.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include "knot/common/log.h"
+#include "knot/conf/conf.h"
+#include "knot/dnssec/zone-events.h"
+#include "knot/zone/zone.h"
+
+int event_validate(conf_t *conf, zone_t *zone)
+{
+ knot_time_t now = knot_time();
+ zone_update_t fake_upd = {
+ .zone = zone,
+ .new_cont = zone->contents,
+ // .validation_hint is zeroed
+ };
+
+ log_zone_info(zone->name, "DNSSEC, re-validating zone fully");
+
+ return knot_dnssec_validate_zone(&fake_upd, conf, now, false, true);
+}
diff --git a/src/knot/events/replan.c b/src/knot/events/replan.c
index ed03fe1..29a07ea 100644
--- a/src/knot/events/replan.c
+++ b/src/knot/events/replan.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -108,6 +108,9 @@ void replan_from_timers(conf_t *conf, zone_t *zone)
if (zone->contents == NULL && zone->timers.last_refresh_ok) { // zone disappeared w/o expiry
refresh = now;
}
+ if (refresh == 0) { // sanitize in case of concurrent purge event
+ refresh = now;
+ }
assert(refresh > 0);
}
diff --git a/src/knot/include/module.h b/src/knot/include/module.h
index 15a9077..9998e48 100644
--- a/src/knot/include/module.h
+++ b/src/knot/include/module.h
@@ -36,7 +36,7 @@
/*** Query module API. ***/
/*! Current module ABI version. */
-#define KNOTD_MOD_ABI_VERSION 500
+#define KNOTD_MOD_ABI_VERSION 600
/*! Module configuration name prefix. */
#define KNOTD_MOD_NAME_PREFIX "mod-"
@@ -354,7 +354,7 @@ knotd_conf_t knotd_conf_check_item(knotd_conf_check_args_t *args,
const yp_name_t *item_name);
/*!
- * \brief Checks if address is in at least one of given ranges.
+ * Checks if address is in at least one of given ranges.
*
* \param[in] range
* \param[in] addr
@@ -393,11 +393,13 @@ typedef enum {
KNOTD_QUERY_PROTO_UDP = KNOT_PROBE_PROTO_UDP, /*!< Pure UDP. */
KNOTD_QUERY_PROTO_TCP = KNOT_PROBE_PROTO_TCP, /*!< Pure TCP. */
KNOTD_QUERY_PROTO_QUIC = KNOT_PROBE_PROTO_QUIC, /*!< QUIC/UDP. */
+ KNOTD_QUERY_PROTO_TLS = KNOT_PROBE_PROTO_TLS, /*!< TLS/TCP. */
} knotd_query_proto_t;
/*! Query processing specific flags. */
typedef enum {
- KNOTD_QUERY_FLAG_COOKIE = 1 << 0, /*!< Valid DNS Cookie indication. */
+ KNOTD_QUERY_FLAG_COOKIE = 1 << 0, /*!< Valid DNS Cookie indication. */
+ KNOTD_QUERY_FLAG_AUTHORIZED = 1 << 1, /*!< Successfully authorized operation. */
} knotd_query_flag_t;
/*! Query processing data context parameters. */
@@ -411,6 +413,7 @@ typedef struct {
void *server; /*!< Server object private item. */
const struct knot_xdp_msg *xdp_msg; /*!< Possible XDP message context. */
struct knot_quic_conn *quic_conn; /*!< QUIC connection context. */
+ struct knot_tls_conn *tls_conn; /*!< TLS connection context. */
int64_t quic_stream; /*!< QUIC stream ID inside quic_conn. */
uint32_t measured_rtt; /*!< Measured RTT in usecs: QUIC or TCP-XDP. */
} knotd_qdata_params_t;
@@ -493,6 +496,7 @@ knot_rrset_t knotd_qdata_zone_apex_rrset(const knotd_qdata_t *qdata, uint16_t ty
* \param[in] qdata Query data.
* \param[in] zone_name Optional zone name, the current one otherwise.
* \param[in] node_name Optional node name, apex otherwise.
+ * \param[in] type RRSet type.
* \param[out] out Destination rrset to store the output to.
*
* \return Error code (KNOT_ENOZONE, KNOT_EEMPTYZONE, KNOT_ENONODE), KNOT_EOK if success.
@@ -501,6 +505,12 @@ int knotd_qdata_zone_rrset(const knotd_qdata_t *qdata, const knot_dname_t *zone_
const knot_dname_t *node_name, uint16_t type,
knot_rrset_t *out);
+/*! Transport protocol processing states. */
+typedef enum {
+ KNOTD_PROTO_STATE_PASS = 0, /*!< Process normally. */
+ KNOTD_PROTO_STATE_BLOCK = 1, /*!< Block the packet/connection. */
+} knotd_proto_state_t;
+
/*! General query processing states. */
typedef enum {
KNOTD_STATE_NOOP = 0, /*!< No response. */
@@ -509,7 +519,7 @@ typedef enum {
KNOTD_STATE_FINAL = 6, /*!< Finished and finalized (QNAME, EDNS, TSIG). */
} knotd_state_t;
-/*! brief Internet query processing states. */
+/*! Internet query processing states. */
typedef enum {
KNOTD_IN_STATE_BEGIN, /*!< Begin name resolution. */
KNOTD_IN_STATE_NODATA, /*!< Positive result with NO data. */
@@ -523,15 +533,29 @@ typedef enum {
/*! Query module processing stages. */
typedef enum {
- KNOTD_STAGE_BEGIN = 0, /*!< Before query processing. */
- KNOTD_STAGE_PREANSWER, /*!< Before section processing. */
- KNOTD_STAGE_ANSWER, /*!< Answer section processing. */
- KNOTD_STAGE_AUTHORITY, /*!< Authority section processing. */
- KNOTD_STAGE_ADDITIONAL, /*!< Additional section processing. */
- KNOTD_STAGE_END, /*!< After query processing. */
+ KNOTD_STAGE_PROTO_BEGIN = 0, /*!< Start of transport protocol processing. */
+ KNOTD_STAGE_BEGIN, /*!< Before query processing. */
+ KNOTD_STAGE_PREANSWER, /*!< Before section processing. */
+ KNOTD_STAGE_ANSWER, /*!< Answer section processing. */
+ KNOTD_STAGE_AUTHORITY, /*!< Authority section processing. */
+ KNOTD_STAGE_ADDITIONAL, /*!< Additional section processing. */
+ KNOTD_STAGE_END, /*!< After query processing. */
+ KNOTD_STAGE_PROTO_END, /*!< End of transport protocol processing. */
} knotd_stage_t;
/*!
+ * Transport protocol processing hook.
+ *
+ * \param[in] state Current processing state.
+ * \param[in] params Processing parameters.
+ * \param[in] mod Module context.
+ *
+ * \return Next processing state.
+ */
+typedef knotd_proto_state_t (*knotd_mod_proto_hook_f)
+ (knotd_proto_state_t state, knotd_qdata_params_t *params, knotd_mod_t *mod);
+
+/*!
* General processing hook.
*
* \param[in] state Current processing state.
@@ -558,6 +582,17 @@ typedef knotd_in_state_t (*knotd_mod_in_hook_f)
(knotd_in_state_t state, knot_pkt_t *pkt, knotd_qdata_t *qdata, knotd_mod_t *mod);
/*!
+ * Registers transport protocol processing module hook.
+ *
+ * \param[in] mod Module context.
+ * \param[in] stage Processing stage (KNOTD_STAGE_PROTO_BEGIN or KNOTD_STAGE_PROTO_END).
+ * \param[in] hook Module hook.
+ *
+ * \return Error code, KNOT_EOK if success.
+ */
+int knotd_mod_proto_hook(knotd_mod_t *mod, knotd_stage_t stage, knotd_mod_proto_hook_f hook);
+
+/*!
* Registers general processing module hook.
*
* \param[in] mod Module context.
diff --git a/src/knot/modules/authsignal/authsignal.rst b/src/knot/modules/authsignal/authsignal.rst
index d3a52ad..8d4c9a0 100644
--- a/src/knot/modules/authsignal/authsignal.rst
+++ b/src/knot/modules/authsignal/authsignal.rst
@@ -4,12 +4,12 @@
=====================================================================
This module is able to synthesize records for automatic DNSSEC bootstrapping
-(draft-ietf-dnsop-dnssec-bootstrapping).
+(:rfc:`9615`).
Records are synthesized only if the query can't be satisfied from the zone.
-Synthesized records also need to be signed. Typically, this would be done
-using the :ref:`onlinesign<mod-onlinesign>` module.
+Synthesized records also need to be signed. Typically, this can be done
+using the :ref:`onlinesign<mod-onlinesign>` module, as shown below.
Example
-------
diff --git a/src/knot/modules/cookies/cookies.c b/src/knot/modules/cookies/cookies.c
index 34c4b22..48eca7d 100644
--- a/src/knot/modules/cookies/cookies.c
+++ b/src/knot/modules/cookies/cookies.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,19 +20,10 @@
#include "knot/include/module.h"
#include "libknot/libknot.h"
+#include "contrib/atomic.h"
#include "contrib/string.h"
#include "libdnssec/random.h"
-#ifdef HAVE_ATOMIC
-#define ATOMIC_SET(dst, val) __atomic_store_n(&(dst), (val), __ATOMIC_RELAXED)
-#define ATOMIC_GET(src) __atomic_load_n(&(src), __ATOMIC_RELAXED)
-#define ATOMIC_ADD(dst, val) __atomic_add_fetch(&(dst), (val), __ATOMIC_RELAXED)
-#else
-#define ATOMIC_SET(dst, val) ((dst) = (val))
-#define ATOMIC_GET(src) (src)
-#define ATOMIC_ADD(dst, val) ((dst) += (val))
-#endif
-
#define BADCOOKIE_CTR_INIT 1
#define MOD_SECRET_LIFETIME "\x0F""secret-lifetime"
@@ -59,13 +50,13 @@ int cookies_conf_check(knotd_conf_check_args_t *args)
typedef struct {
struct {
- uint64_t variable;
+ knot_atomic_uint64_t variable;
uint64_t constant;
} secret;
pthread_t update_secret;
uint32_t secret_lifetime;
uint32_t badcookie_slip;
- uint16_t badcookie_ctr; // Counter for BADCOOKIE answers.
+ knot_atomic_uint16_t badcookie_ctr; // Counter for BADCOOKIE answers.
} cookies_ctx_t;
static void update_ctr(cookies_ctx_t *ctx)
@@ -285,7 +276,7 @@ int cookies_load(knotd_mod_t *mod)
}
}
-#ifndef HAVE_ATOMIC
+#ifndef KNOT_HAVE_ATOMIC
knotd_mod_log(mod, LOG_WARNING, "the module might work slightly wrong on this platform");
ctx->badcookie_slip = 1;
#endif
diff --git a/src/knot/modules/dnsproxy/dnsproxy.c b/src/knot/modules/dnsproxy/dnsproxy.c
index d51db53..77c60c4 100644
--- a/src/knot/modules/dnsproxy/dnsproxy.c
+++ b/src/knot/modules/dnsproxy/dnsproxy.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -19,6 +19,7 @@
#include "knot/conf/schema.h"
#include "knot/query/capture.h" // Forces static module!
#include "knot/query/requestor.h" // Forces static module!
+#include "libknot/xdp.h"
#define MOD_REMOTE "\x06""remote"
#define MOD_ADDRESS "\x07""address"
@@ -61,6 +62,14 @@ typedef struct {
static int fwd(dnsproxy_t *proxy, knot_pkt_t *pkt, knotd_qdata_t *qdata, int addr_pos)
{
+ /* Copy the query as the requestor modifies and frees it. */
+ knot_pkt_t *query = knot_pkt_new(NULL, KNOT_WIRE_MAX_PKTSIZE, NULL);
+ int ret = knot_pkt_copy(query, qdata->query);
+ if (ret != KNOT_EOK) {
+ knot_pkt_free(query);
+ return ret;
+ }
+
/* Capture layer context. */
const knot_layer_api_t *capture = query_capture_api();
struct capture_param capture_param = {
@@ -69,33 +78,57 @@ static int fwd(dnsproxy_t *proxy, knot_pkt_t *pkt, knotd_qdata_t *qdata, int add
/* Create a forwarding request. */
knot_requestor_t re;
- int ret = knot_requestor_init(&re, capture, &capture_param, qdata->mm);
+ ret = knot_requestor_init(&re, capture, &capture_param, qdata->mm);
if (ret != KNOT_EOK) {
+ knot_pkt_free(query);
return ret;
}
+ bool udp = false;
+ if (qdata->params->xdp_msg == NULL) {
+ if (!net_is_stream(qdata->params->socket)) {
+ udp = true;
+ }
+ }
+#if ENABLE_XDP
+ else {
+ if (!(qdata->params->xdp_msg->flags & KNOT_XDP_MSG_TCP)) {
+ udp = true;
+ }
+ }
+#endif
+
knot_request_flag_t flags = KNOT_REQUEST_NONE;
- if (!net_is_stream(qdata->params->socket)) {
+ if (udp) {
flags = KNOT_REQUEST_UDP;
} else if (proxy->tfo) {
flags = KNOT_REQUEST_TFO;
}
+ if (query->tsig_rr != NULL) {
+ knot_tsig_append(query->wire, &query->size, query->max_size, query->tsig_rr);
+ }
+
const struct sockaddr_storage *dst = &proxy->remote.multi[addr_pos].addr;
const struct sockaddr_storage *src = NULL;
if (addr_pos < proxy->via.count) { // Simplified via address selection!
src = &proxy->via.multi[addr_pos].addr;
}
- knot_request_t *req = knot_request_make_generic(re.mm, dst, src, qdata->query,
+ knot_request_t *req = knot_request_make_generic(re.mm, dst, src, query,
NULL, NULL, NULL, NULL, 0, flags);
if (req == NULL) {
knot_requestor_clear(&re);
+ knot_pkt_free(query);
return KNOT_ENOMEM;
}
/* Forward request. */
ret = knot_requestor_exec(&re, req, proxy->timeout);
+ if (pkt->tsig_rr != NULL) {
+ knot_tsig_append(pkt->wire, &pkt->size, pkt->max_size, pkt->tsig_rr);
+ }
+
knot_request_free(req, re.mm);
knot_requestor_clear(&re);
@@ -123,12 +156,6 @@ static knotd_state_t dnsproxy_fwd(knotd_state_t state, knot_pkt_t *pkt,
}
}
- /* Forward also original TSIG. */
- if (qdata->query->tsig_rr != NULL && !proxy->fallback) {
- knot_tsig_append(qdata->query->wire, &qdata->query->size,
- qdata->query->max_size, qdata->query->tsig_rr);
- }
-
int ret = KNOT_EOK;
/* Try to forward the packet. */
@@ -147,11 +174,6 @@ static knotd_state_t dnsproxy_fwd(knotd_state_t state, knot_pkt_t *pkt,
qdata->rcode = knot_pkt_ext_rcode(pkt);
}
- /* Respond also with TSIG. */
- if (pkt->tsig_rr != NULL && !proxy->fallback) {
- knot_tsig_append(pkt->wire, &pkt->size, pkt->max_size, pkt->tsig_rr);
- }
-
return (proxy->fallback ? KNOTD_STATE_DONE : KNOTD_STATE_FINAL);
}
diff --git a/src/knot/modules/probe/probe.c b/src/knot/modules/probe/probe.c
index 9207308..3e0a646 100644
--- a/src/knot/modules/probe/probe.c
+++ b/src/knot/modules/probe/probe.c
@@ -19,18 +19,11 @@
#include "knot/conf/schema.h"
#include "knot/include/module.h"
+#include "contrib/atomic.h"
#include "contrib/string.h"
#include "contrib/time.h"
#include "libknot/libknot.h"
-#ifdef HAVE_ATOMIC
-#define ATOMIC_SET(dst, val) __atomic_store_n(&(dst), (val), __ATOMIC_RELAXED)
-#define ATOMIC_GET(src) __atomic_load_n(&(src), __ATOMIC_RELAXED)
-#else
-#define ATOMIC_SET(dst, val) ((dst) = (val))
-#define ATOMIC_GET(src) (src)
-#endif
-
#define MOD_PATH "\x04""path"
#define MOD_CHANNELS "\x08""channels"
#define MOD_MAX_RATE "\x08""max-rate"
@@ -45,7 +38,7 @@ const yp_item_t probe_conf[] = {
typedef struct {
knot_probe_t **probes;
size_t probe_count;
- uint64_t *last_times;
+ knot_atomic_uint64_t *last_times;
uint64_t min_diff_ns;
char *path;
} probe_ctx_t;
@@ -139,7 +132,7 @@ int probe_load(knotd_mod_t *mod)
return KNOT_ENOMEM;
}
- ctx->last_times = calloc(ctx->probe_count, sizeof(uint64_t));
+ ctx->last_times = calloc(ctx->probe_count, sizeof(*ctx->last_times));
if (ctx->last_times == NULL) {
free_probe_ctx(ctx);
return KNOT_ENOMEM;
diff --git a/src/knot/modules/rrl/Makefile.inc b/src/knot/modules/rrl/Makefile.inc
index d82edf9..fbb9eb0 100644
--- a/src/knot/modules/rrl/Makefile.inc
+++ b/src/knot/modules/rrl/Makefile.inc
@@ -1,15 +1,20 @@
knot_modules_rrl_la_SOURCES = knot/modules/rrl/rrl.c \
knot/modules/rrl/functions.c \
- knot/modules/rrl/functions.h
+ knot/modules/rrl/functions.h \
+ knot/modules/rrl/kru-generic.c \
+ knot/modules/rrl/kru-avx2.c \
+ knot/modules/rrl/kru.h
+noinst_HEADERS = knot/modules/rrl/kru.inc.c
EXTRA_DIST += knot/modules/rrl/rrl.rst
if STATIC_MODULE_rrl
libknotd_la_SOURCES += $(knot_modules_rrl_la_SOURCES)
+libknotd_la_LIBADD += $(math_LIBS)
endif
if SHARED_MODULE_rrl
knot_modules_rrl_la_LDFLAGS = $(KNOTD_MOD_LDFLAGS)
knot_modules_rrl_la_CPPFLAGS = $(KNOTD_MOD_CPPFLAGS)
-knot_modules_rrl_la_LIBADD = $(libcontrib_LIBS)
+knot_modules_rrl_la_LIBADD = $(libcontrib_LIBS) $(math_LIBS)
pkglib_LTLIBRARIES += knot/modules/rrl.la
endif
diff --git a/src/knot/modules/rrl/functions.c b/src/knot/modules/rrl/functions.c
index df35394..01d89cb 100644
--- a/src/knot/modules/rrl/functions.c
+++ b/src/knot/modules/rrl/functions.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -14,516 +14,223 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-#include <assert.h>
+#include <stdatomic.h>
#include <time.h>
#include "knot/modules/rrl/functions.h"
+#include "knot/modules/rrl/kru.h"
+#include "contrib/macros.h"
#include "contrib/musl/inet_ntop.h"
-#include "contrib/openbsd/strlcat.h"
#include "contrib/sockaddr.h"
#include "contrib/time.h"
-#include "libdnssec/error.h"
#include "libdnssec/random.h"
-/* Hopscotch defines. */
-#define HOP_LEN (sizeof(unsigned)*8)
-/* Limits (class, ipv6 remote, dname) */
-#define RRL_CLSBLK_MAXLEN (1 + 8 + 255)
-/* CIDR block prefix lengths for v4/v6 */
-#define RRL_V4_PREFIX_LEN 3 /* /24 */
-#define RRL_V6_PREFIX_LEN 7 /* /56 */
-/* Defaults */
-#define RRL_SSTART 2 /* 1/Nth of the rate for slow start */
-#define RRL_PSIZE_LARGE 1024
-#define RRL_CAPACITY 4 /* Window size in seconds */
-#define RRL_LOCK_GRANULARITY 32 /* Last digit granularity */
-
-/* Classification */
-enum {
- CLS_NULL = 0 << 0, /* Empty bucket. */
- CLS_NORMAL = 1 << 0, /* Normal response. */
- CLS_ERROR = 1 << 1, /* Error response. */
- CLS_NXDOMAIN = 1 << 2, /* NXDOMAIN (special case of error). */
- CLS_EMPTY = 1 << 3, /* Empty response. */
- CLS_LARGE = 1 << 4, /* Response size over threshold (1024k). */
- CLS_WILDCARD = 1 << 5, /* Wildcard query. */
- CLS_ANY = 1 << 6, /* ANY query (spec. class). */
- CLS_DNSSEC = 1 << 7 /* DNSSEC related RR query (spec. class) */
-};
+// CIDR block prefix lengths for v4/v6 (hardcoded also in unit tests).
+#define RRL_V4_PREFIXES (uint8_t[]) { 18, 20, 24, 32 }
+#define RRL_V4_RATE_MULT (kru_price_t[]) { 768, 256, 32, 1 }
-/* Classification string. */
-struct cls_name {
- int code;
- const char *name;
-};
+#define RRL_V6_PREFIXES (uint8_t[]) { 32, 48, 56, 64, 128 }
+#define RRL_V6_RATE_MULT (kru_price_t[]) { 64, 4, 3, 2, 1 }
-static const struct cls_name rrl_cls_names[] = {
- { CLS_NORMAL, "POSITIVE" },
- { CLS_ERROR, "ERROR" },
- { CLS_NXDOMAIN, "NXDOMAIN"},
- { CLS_EMPTY, "EMPTY"},
- { CLS_LARGE, "LARGE"},
- { CLS_WILDCARD, "WILDCARD"},
- { CLS_ANY, "ANY"},
- { CLS_DNSSEC, "DNSSEC"},
- { CLS_NULL, "NULL"},
- { CLS_NULL, NULL}
-};
+#define RRL_V4_PREFIXES_CNT (sizeof(RRL_V4_PREFIXES) / sizeof(*RRL_V4_PREFIXES))
+#define RRL_V6_PREFIXES_CNT (sizeof(RRL_V6_PREFIXES) / sizeof(*RRL_V6_PREFIXES))
+#define RRL_MAX_PREFIXES_CNT ((RRL_V4_PREFIXES_CNT > RRL_V6_PREFIXES_CNT) ? RRL_V4_PREFIXES_CNT : RRL_V6_PREFIXES_CNT)
-static inline const char *rrl_clsstr(int code)
-{
- for (const struct cls_name *c = rrl_cls_names; c->name; c++) {
- if (c->code == code) {
- return c->name;
- }
- }
+#ifndef CLOCK_MONOTONIC_COARSE
+#define CLOCK_MONOTONIC_COARSE CLOCK_MONOTONIC
+#endif
- return "unknown class";
-}
+#define RRL_LIMIT_KOEF 1/2 // Avoid probabilistic rounding wherever possible.
-/* Bucket flags. */
-enum {
- RRL_BF_NULL = 0 << 0, /* No flags. */
- RRL_BF_SSTART = 1 << 0, /* Bucket in slow-start after collision. */
- RRL_BF_ELIMIT = 1 << 1 /* Bucket is rate-limited. */
+struct rrl_table {
+ kru_price_t v4_prices[RRL_V4_PREFIXES_CNT];
+ kru_price_t v6_prices[RRL_V6_PREFIXES_CNT];
+ uint32_t log_period;
+ bool rw_mode;
+ _Atomic uint32_t log_time;
+ _Alignas(64) uint8_t kru[];
};
-static uint8_t rrl_clsid(rrl_req_t *p)
-{
- /* Check error code */
- int ret = CLS_NULL;
- switch (knot_wire_get_rcode(p->wire)) {
- case KNOT_RCODE_NOERROR: ret = CLS_NORMAL; break;
- case KNOT_RCODE_NXDOMAIN: return CLS_NXDOMAIN; break;
- default: return CLS_ERROR; break;
- }
-
- /* Check if answered from a qname */
- if (ret == CLS_NORMAL && p->flags & RRL_REQ_WILDCARD) {
- return CLS_WILDCARD;
- }
-
- /* Check query type for spec. classes. */
- if (p->query) {
- switch(knot_pkt_qtype(p->query)) {
- case KNOT_RRTYPE_ANY: /* ANY spec. class */
- return CLS_ANY;
- break;
- case KNOT_RRTYPE_DNSKEY:
- case KNOT_RRTYPE_RRSIG:
- case KNOT_RRTYPE_DS: /* DNSSEC-related RR class. */
- return CLS_DNSSEC;
- break;
- default:
- break;
- }
- }
-
- /* Check packet size for threshold. */
- if (p->len >= RRL_PSIZE_LARGE) {
- return CLS_LARGE;
- }
-
- /* Check ancount */
- if (knot_wire_get_ancount(p->wire) == 0) {
- return CLS_EMPTY;
- }
-
- return ret;
-}
-
-static int rrl_clsname(uint8_t *dst, size_t maxlen, uint8_t cls, rrl_req_t *req,
- const knot_dname_t *name)
+static void addr_tostr(char *dst, size_t maxlen, const struct sockaddr_storage *ss)
{
- if (name == NULL) {
- /* Fallback for errors etc. */
- name = (const knot_dname_t *)"\x00";
- }
-
- switch (cls) {
- case CLS_ERROR: /* Could be a non-existent zone or garbage. */
- case CLS_NXDOMAIN: /* Queries to non-existent names in zone. */
- case CLS_WILDCARD: /* Queries to names covered by a wildcard. */
- break;
- default:
- /* Use QNAME */
- if (req->query) {
- name = knot_pkt_qname(req->query);
- }
- break;
- }
+ assert(ss);
- /* Write to wire */
- return knot_dname_to_wire(dst, name, maxlen);
-}
-
-static int rrl_classify(uint8_t *dst, size_t maxlen, const struct sockaddr_storage *remote,
- rrl_req_t *req, const knot_dname_t *name)
-{
- /* Class */
- uint8_t cls = rrl_clsid(req);
- *dst = cls;
- int blklen = sizeof(cls);
-
- /* Address (in network byteorder, adjust masks). */
- uint64_t netblk = 0;
- if (remote->ss_family == AF_INET6) {
- struct sockaddr_in6 *ipv6 = (struct sockaddr_in6 *)remote;
- memcpy(&netblk, &ipv6->sin6_addr, RRL_V6_PREFIX_LEN);
- } else {
- struct sockaddr_in *ipv4 = (struct sockaddr_in *)remote;
- memcpy(&netblk, &ipv4->sin_addr, RRL_V4_PREFIX_LEN);
- }
- memcpy(dst + blklen, &netblk, sizeof(netblk));
- blklen += sizeof(netblk);
-
- /* Name */
- int ret = rrl_clsname(dst + blklen, maxlen - blklen, cls, req, name);
- if (ret < 0) {
- return ret;
- }
- uint8_t len = ret;
- blklen += len;
-
- return blklen;
-}
-
-static int bucket_free(rrl_item_t *bucket, uint32_t now)
-{
- return bucket->cls == CLS_NULL || (bucket->time + 1 < now);
-}
-
-static int bucket_match(rrl_item_t *bucket, rrl_item_t *match)
-{
- return bucket->cls == match->cls &&
- bucket->netblk == match->netblk &&
- bucket->qname == match->qname;
-}
-
-static int find_free(rrl_table_t *tbl, unsigned id, uint32_t now)
-{
- for (int i = id; i < tbl->size; i++) {
- if (bucket_free(&tbl->arr[i], now)) {
- return i - id;
- }
- }
- for (int i = 0; i < id; i++) {
- if (bucket_free(&tbl->arr[i], now)) {
- return i + (tbl->size - id);
- }
- }
-
- /* this happens if table is full... force vacate current elm */
- return id;
-}
-
-static inline unsigned find_match(rrl_table_t *tbl, uint32_t id, rrl_item_t *m)
-{
- unsigned new_id = 0;
- unsigned hop = 0;
- unsigned match_bitmap = tbl->arr[id].hop;
- while (match_bitmap != 0) {
- hop = __builtin_ctz(match_bitmap); /* offset of next potential match */
- new_id = (id + hop) % tbl->size;
- if (bucket_match(&tbl->arr[new_id], m)) {
- return hop;
- } else {
- match_bitmap &= ~(1 << hop); /* clear potential match */
- }
- }
-
- return HOP_LEN + 1;
-}
-
-static inline unsigned reduce_dist(rrl_table_t *tbl, unsigned id, unsigned dist, unsigned *free_id)
-{
- unsigned rd = HOP_LEN - 1;
- while (rd > 0) {
- unsigned vacate_id = (tbl->size + *free_id - rd) % tbl->size; /* bucket to be vacated */
- if (tbl->arr[vacate_id].hop != 0) {
- unsigned hop = __builtin_ctz(tbl->arr[vacate_id].hop); /* offset of first valid bucket */
- if (hop < rd) { /* only offsets in <vacate_id, free_id> are interesting */
- unsigned new_id = (vacate_id + hop) % tbl->size; /* this item will be displaced to [free_id] */
- unsigned keep_hop = tbl->arr[*free_id].hop; /* unpredictable padding */
- memcpy(tbl->arr + *free_id, tbl->arr + new_id, sizeof(rrl_item_t));
- tbl->arr[*free_id].hop = keep_hop;
- tbl->arr[new_id].cls = CLS_NULL;
- tbl->arr[vacate_id].hop &= ~(1 << hop);
- tbl->arr[vacate_id].hop |= 1 << rd;
- *free_id = new_id;
- return dist - (rd - hop);
- }
- }
- --rd;
- }
-
- assert(rd == 0); /* this happens with p=1/fact(HOP_LEN) */
- *free_id = id;
- dist = 0; /* force vacate initial element */
- return dist;
-}
-
-static void subnet_tostr(char *dst, size_t maxlen, const struct sockaddr_storage *ss)
-{
const void *addr;
- const char *suffix;
if (ss->ss_family == AF_INET6) {
addr = &((struct sockaddr_in6 *)ss)->sin6_addr;
- suffix = "/56";
} else {
addr = &((struct sockaddr_in *)ss)->sin_addr;
- suffix = "/24";
}
- if (knot_inet_ntop(ss->ss_family, addr, dst, maxlen) != NULL) {
- strlcat(dst, suffix, maxlen);
- } else {
+ if (knot_inet_ntop(ss->ss_family, addr, dst, maxlen) == NULL) {
dst[0] = '\0';
}
}
-static void rrl_log_state(knotd_mod_t *mod, const struct sockaddr_storage *ss,
- uint16_t flags, uint8_t cls, const knot_dname_t *qname)
+static void rrl_log_limited(knotd_mod_t *mod, const struct sockaddr_storage *ss,
+ const uint8_t prefix, bool rate)
{
- if (mod == NULL || ss == NULL) {
+ if (mod == NULL) {
return;
}
char addr_str[SOCKADDR_STRLEN];
- subnet_tostr(addr_str, sizeof(addr_str), ss);
-
- const char *what = "leaves";
- if (flags & RRL_BF_ELIMIT) {
- what = "enters";
- }
+ addr_tostr(addr_str, sizeof(addr_str), ss);
- knot_dname_txt_storage_t buf;
- char *qname_str = knot_dname_to_str(buf, qname, sizeof(buf));
- if (qname_str == NULL) {
- qname_str = "?";
- }
-
- knotd_mod_log(mod, LOG_NOTICE, "address/subnet %s, class %s, qname %s, %s limiting",
- addr_str, rrl_clsstr(cls), qname_str, what);
+ knotd_mod_log(mod, LOG_NOTICE, "address %s limited on /%d by %s",
+ addr_str, prefix, rate ? "rate" : "time");
}
-static void rrl_lock(rrl_table_t *tbl, int lk_id)
+rrl_table_t *rrl_create(size_t size, uint32_t instant_limit, uint32_t rate_limit,
+ bool rw_mode, uint32_t log_period)
{
- assert(lk_id > -1);
- pthread_mutex_lock(tbl->lk + lk_id);
-}
-
-static void rrl_unlock(rrl_table_t *tbl, int lk_id)
-{
- assert(lk_id > -1);
- pthread_mutex_unlock(tbl->lk + lk_id);
-}
-
-static int rrl_setlocks(rrl_table_t *tbl, uint32_t granularity)
-{
- assert(!tbl->lk); /* Cannot change while locks are used. */
- assert(granularity <= tbl->size / 10); /* Due to int. division err. */
-
- if (pthread_mutex_init(&tbl->ll, NULL) < 0) {
- return KNOT_ENOMEM;
+ if (size == 0 || instant_limit == 0 || rate_limit == 0) {
+ return NULL;
}
- /* Alloc new locks. */
- tbl->lk = malloc(granularity * sizeof(pthread_mutex_t));
- if (!tbl->lk) {
- return KNOT_ENOMEM;
- }
- memset(tbl->lk, 0, granularity * sizeof(pthread_mutex_t));
+ size--;
+ size_t capacity_log = 1;
+ while (size >>= 1) capacity_log++;
- /* Initialize. */
- for (size_t i = 0; i < granularity; ++i) {
- if (pthread_mutex_init(tbl->lk + i, NULL) < 0) {
- break;
- }
- ++tbl->lk_count;
+ rrl_table_t *rrl;
+ size_t rrl_size = offsetof(struct rrl_table, kru) + KRU.get_size(capacity_log);
+ if (posix_memalign((void **)&rrl, 64, rrl_size) != 0) {
+ return NULL;
}
+ memset(rrl, 0, rrl_size);
- /* Incomplete initialization */
- if (tbl->lk_count != granularity) {
- for (size_t i = 0; i < tbl->lk_count; ++i) {
- pthread_mutex_destroy(tbl->lk + i);
- }
- free(tbl->lk);
- tbl->lk_count = 0;
- return KNOT_ERROR;
+ assert(rate_limit <= 1000ll * instant_limit); // Ensured by config check.
+ kru_price_t base_price = KRU_LIMIT / instant_limit;
+ const kru_price_t max_decay = (uint64_t)base_price * rate_limit / 1000;
+ if (!rw_mode) {
+ base_price = base_price * RRL_LIMIT_KOEF;
}
- return KNOT_EOK;
-}
-
-rrl_table_t *rrl_create(size_t size, uint32_t rate)
-{
- if (size == 0) {
+ if (!KRU.initialize((struct kru *)rrl->kru, capacity_log, max_decay)) {
+ free(rrl);
return NULL;
}
- const size_t tbl_len = sizeof(rrl_table_t) + size * sizeof(rrl_item_t);
- rrl_table_t *tbl = calloc(1, tbl_len);
- if (!tbl) {
- return NULL;
+ for (size_t i = 0; i < RRL_V4_PREFIXES_CNT; i++) {
+ rrl->v4_prices[i] = base_price / RRL_V4_RATE_MULT[i];
}
- tbl->size = size;
- tbl->rate = rate;
- if (dnssec_random_buffer((uint8_t *)&tbl->key, sizeof(tbl->key)) != DNSSEC_EOK) {
- free(tbl);
- return NULL;
+ for (size_t i = 0; i < RRL_V6_PREFIXES_CNT; i++) {
+ rrl->v6_prices[i] = base_price / RRL_V6_RATE_MULT[i];
}
- if (rrl_setlocks(tbl, RRL_LOCK_GRANULARITY) != KNOT_EOK) {
- free(tbl);
- return NULL;
- }
+ rrl->rw_mode = rw_mode;
+ rrl->log_period = log_period;
- return tbl;
-}
+ struct timespec now_ts;
+ clock_gettime(CLOCK_MONOTONIC_COARSE, &now_ts);
+ uint32_t now = now_ts.tv_sec * 1000 + now_ts.tv_nsec / 1000000;
+ rrl->log_time = now - log_period;
-static knot_dname_t *buf_qname(uint8_t *buf)
-{
- return buf + sizeof(uint8_t) + sizeof(uint64_t);
+ return rrl;
}
-/*! \brief Get bucket for current combination of parameters. */
-static rrl_item_t *rrl_hash(rrl_table_t *tbl, const struct sockaddr_storage *remote,
- rrl_req_t *req, const knot_dname_t *zone, uint32_t stamp,
- int *lock, uint8_t *buf, size_t buf_len)
+int rrl_query(rrl_table_t *rrl, const struct sockaddr_storage *remote, knotd_mod_t *mod)
{
- int len = rrl_classify(buf, buf_len, remote, req, zone);
- if (len < 0) {
- return NULL;
- }
+ assert(rrl);
+ assert(remote);
- uint32_t id = SipHash24(&tbl->key, buf, len) % tbl->size;
-
- /* Lock for lookup. */
- pthread_mutex_lock(&tbl->ll);
-
- /* Find an exact match in <id, id + HOP_LEN). */
- knot_dname_t *qname = buf_qname(buf);
- uint64_t netblk;
- memcpy(&netblk, buf + sizeof(uint8_t), sizeof(netblk));
- rrl_item_t match = {
- .hop = 0,
- .netblk = netblk,
- .ntok = tbl->rate * RRL_CAPACITY,
- .cls = buf[0],
- .flags = RRL_BF_NULL,
- .qname = SipHash24(&tbl->key, qname, knot_dname_size(qname)),
- .time = stamp
- };
-
- unsigned dist = find_match(tbl, id, &match);
- if (dist > HOP_LEN) { /* not an exact match, find free element [f] */
- dist = find_free(tbl, id, stamp);
- }
+ struct timespec now_ts;
+ clock_gettime(CLOCK_MONOTONIC_COARSE, &now_ts);
+ uint32_t now = now_ts.tv_sec * 1000 + now_ts.tv_nsec / 1000000;
- /* Reduce distance to fit <id, id + HOP_LEN) */
- unsigned free_id = (id + dist) % tbl->size;
- while (dist >= HOP_LEN) {
- dist = reduce_dist(tbl, id, dist, &free_id);
- }
+ uint16_t load = 0;
+ uint8_t prefix = 0;
+ _Alignas(16) uint8_t key[16] = { 0 };
+ if (remote->ss_family == AF_INET6) {
+ struct sockaddr_in6 *ipv6 = (struct sockaddr_in6 *)remote;
+ memcpy(key, &ipv6->sin6_addr, 16);
- /* Assign granular lock and unlock lookup. */
- *lock = free_id % tbl->lk_count;
- rrl_lock(tbl, *lock);
- pthread_mutex_unlock(&tbl->ll);
-
- /* found free bucket which is in <id, id + HOP_LEN) */
- tbl->arr[id].hop |= (1 << dist);
- rrl_item_t *bucket = &tbl->arr[free_id];
- assert(free_id == (id + dist) % tbl->size);
-
- /* Inspect bucket state. */
- unsigned hop = bucket->hop;
- if (bucket->cls == CLS_NULL) {
- memcpy(bucket, &match, sizeof(rrl_item_t));
- bucket->hop = hop;
+ if (rrl->rw_mode) {
+ prefix = KRU.limited_multi_prefix_or(
+ (struct kru *)rrl->kru, now, 1, key, RRL_V6_PREFIXES,
+ rrl->v6_prices, RRL_V6_PREFIXES_CNT, NULL);
+ } else {
+ load = KRU.load_multi_prefix_max(
+ (struct kru *)rrl->kru, now, 1, key, RRL_V6_PREFIXES,
+ NULL, RRL_V6_PREFIXES_CNT, &prefix);
+ }
+ } else {
+ struct sockaddr_in *ipv4 = (struct sockaddr_in *)remote;
+ memcpy(key, &ipv4->sin_addr, 4);
+
+ if (rrl->rw_mode) {
+ prefix = KRU.limited_multi_prefix_or(
+ (struct kru *)rrl->kru, now, 0, key, RRL_V4_PREFIXES,
+ rrl->v4_prices, RRL_V4_PREFIXES_CNT, NULL);
+ } else {
+ load = KRU.load_multi_prefix_max(
+ (struct kru *)rrl->kru, now, 0, key, RRL_V4_PREFIXES,
+ NULL, RRL_V4_PREFIXES_CNT, &prefix);
+ }
}
- /* Check for collisions. */
- if (!bucket_match(bucket, &match)) {
- if (!(bucket->flags & RRL_BF_SSTART)) {
- memcpy(bucket, &match, sizeof(rrl_item_t));
- bucket->hop = hop;
- bucket->ntok = tbl->rate + tbl->rate / RRL_SSTART;
- bucket->flags |= RRL_BF_SSTART;
+
+ if (rrl->rw_mode) {
+ if (prefix == 0) {
+ return KNOT_EOK;
}
+ } else {
+ if (load <= (1 << 16) * RRL_LIMIT_KOEF) {
+ return KNOT_EOK;
+ }
+ }
+
+ uint32_t log_time_orig = atomic_load_explicit(&rrl->log_time, memory_order_relaxed);
+ if (rrl->log_period && (now - log_time_orig + 1024 >= rrl->log_period + 1024)) {
+ do {
+ if (atomic_compare_exchange_weak_explicit(&rrl->log_time, &log_time_orig, now,
+ memory_order_relaxed, memory_order_relaxed)) {
+ rrl_log_limited(mod, remote, prefix, rrl->rw_mode);
+ break;
+ }
+ } while (now - log_time_orig + 1024 >= rrl->log_period + 1024);
}
- return bucket;
+ return KNOT_ELIMIT;
}
-int rrl_query(rrl_table_t *rrl, const struct sockaddr_storage *remote,
- rrl_req_t *req, const knot_dname_t *zone, knotd_mod_t *mod)
+void rrl_update(rrl_table_t *rrl, const struct sockaddr_storage *remote, size_t value)
{
- if (!rrl || !req || !remote) {
- return KNOT_EINVAL;
- }
+ assert(rrl);
+ assert(remote);
+ assert(!rrl->rw_mode);
- uint8_t buf[RRL_CLSBLK_MAXLEN];
+ struct timespec now_ts;
+ clock_gettime(CLOCK_MONOTONIC_COARSE, &now_ts);
+ uint32_t now = now_ts.tv_sec * 1000 + now_ts.tv_nsec / 1000000;
- /* Calculate hash and fetch */
- int ret = KNOT_EOK;
- int lock = -1;
- uint32_t now = time_now().tv_sec;
- rrl_item_t *bucket = rrl_hash(rrl, remote, req, zone, now, &lock, buf, sizeof(buf));
- if (!bucket) {
- if (lock > -1) {
- rrl_unlock(rrl, lock);
- }
- return KNOT_ERROR;
- }
-
- /* Calculate rate for dT */
- uint32_t dt = now - bucket->time;
- if (dt > RRL_CAPACITY) {
- dt = RRL_CAPACITY;
- }
- /* Visit bucket. */
- bucket->time = now;
- if (dt > 0) { /* Window moved. */
-
- /* Check state change. */
- if ((bucket->ntok > 0 || dt > 1) && (bucket->flags & RRL_BF_ELIMIT)) {
- bucket->flags &= ~RRL_BF_ELIMIT;
- rrl_log_state(mod, remote, bucket->flags, bucket->cls,
- knot_pkt_qname(req->query));
- }
+ _Alignas(16) uint8_t key[16] = { 0 };
+ if (remote->ss_family == AF_INET6) {
+ struct sockaddr_in6 *ipv6 = (struct sockaddr_in6 *)remote;
+ memcpy(key, &ipv6->sin6_addr, 16);
- /* Add new tokens. */
- uint32_t dn = rrl->rate * dt;
- if (bucket->flags & RRL_BF_SSTART) { /* Bucket in slow-start. */
- bucket->flags &= ~RRL_BF_SSTART;
- }
- bucket->ntok += dn;
- if (bucket->ntok > RRL_CAPACITY * rrl->rate) {
- bucket->ntok = RRL_CAPACITY * rrl->rate;
+ kru_price_t prices[RRL_V6_PREFIXES_CNT];
+ for (size_t i = 0; i < RRL_V6_PREFIXES_CNT; i++) {
+ prices[i] = MIN(value * rrl->v6_prices[i], (kru_price_t)-1LL);
}
- }
- /* Last item taken. */
- if (bucket->ntok == 1 && !(bucket->flags & RRL_BF_ELIMIT)) {
- bucket->flags |= RRL_BF_ELIMIT;
- rrl_log_state(mod, remote, bucket->flags, bucket->cls,
- knot_pkt_qname(req->query));
- }
+ (void)KRU.load_multi_prefix_max((struct kru *)rrl->kru, now,
+ 1, key, RRL_V6_PREFIXES, prices,
+ RRL_V6_PREFIXES_CNT, NULL);
+ } else {
+ struct sockaddr_in *ipv4 = (struct sockaddr_in *)remote;
+ memcpy(key, &ipv4->sin_addr, 4);
- /* Decay current bucket. */
- if (bucket->ntok > 0) {
- --bucket->ntok;
- } else if (bucket->ntok == 0) {
- ret = KNOT_ELIMIT;
- }
+ kru_price_t prices[RRL_V4_PREFIXES_CNT];
+ for (size_t i = 0; i < RRL_V4_PREFIXES_CNT; i++) {
+ prices[i] = MIN(value * rrl->v4_prices[i], (kru_price_t)-1LL);
+ }
- if (lock > -1) {
- rrl_unlock(rrl, lock);
+ (void)KRU.load_multi_prefix_max((struct kru *)rrl->kru, now,
+ 0, key, RRL_V4_PREFIXES, prices,
+ RRL_V4_PREFIXES_CNT, NULL);
}
- return ret;
}
bool rrl_slip_roll(int n_slip)
@@ -540,15 +247,5 @@ bool rrl_slip_roll(int n_slip)
void rrl_destroy(rrl_table_t *rrl)
{
- if (rrl) {
- if (rrl->lk_count > 0) {
- pthread_mutex_destroy(&rrl->ll);
- }
- for (size_t i = 0; i < rrl->lk_count; ++i) {
- pthread_mutex_destroy(rrl->lk + i);
- }
- free(rrl->lk);
- }
-
free(rrl);
}
diff --git a/src/knot/modules/rrl/functions.h b/src/knot/modules/rrl/functions.h
index 0f09234..0941c83 100644
--- a/src/knot/modules/rrl/functions.h
+++ b/src/knot/modules/rrl/functions.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2019 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -17,95 +17,63 @@
#pragma once
#include <stdint.h>
-#include <pthread.h>
#include <sys/socket.h>
-#include "libknot/libknot.h"
#include "knot/include/module.h"
-#include "contrib/openbsd/siphash.h"
-/*!
- * \brief RRL hash bucket.
- */
-typedef struct {
- unsigned hop; /* Hop bitmap. */
- uint64_t netblk; /* Prefix associated. */
- uint16_t ntok; /* Tokens available. */
- uint8_t cls; /* Bucket class. */
- uint8_t flags; /* Flags. */
- uint32_t qname; /* imputed(QNAME) hash. */
- uint32_t time; /* Timestamp. */
-} rrl_item_t;
+typedef struct rrl_table rrl_table_t;
/*!
- * \brief RRL hash bucket table.
+ * \brief Create a RRL table.
*
- * Table is fixed size, so collisions may occur and are dealt with
- * in a way, that hashbucket rate is reset and enters slow-start for 1 dt.
- * When a bucket is in a slow-start mode, it cannot reset again for the time
- * period.
+ * \param size Fixed table size.
+ * \param instant_limit Instant limit.
+ * \param rate_limit Rate limit.
+ * \param rw_mode If disabled, RW operation is divided into R and W operations.
+ * \param log_period If nonzero, maximum logging period (in milliseconds).
*
- * To avoid lock contention, N locks are created and distributed amongst buckets.
- * As of now lock K for bucket N is calculated as K = N % (num_buckets).
- */
-
-typedef struct {
- SIPHASH_KEY key; /* Siphash key. */
- uint32_t rate; /* Configured RRL limit. */
- pthread_mutex_t ll;
- pthread_mutex_t *lk; /* Table locks. */
- unsigned lk_count; /* Table lock count (granularity). */
- size_t size; /* Number of buckets. */
- rrl_item_t arr[]; /* Buckets. */
-} rrl_table_t;
-
-/*! \brief RRL request flags. */
-typedef enum {
- RRL_REQ_NOFLAG = 0 << 0, /*!< No flags. */
- RRL_REQ_WILDCARD = 1 << 1 /*!< Query to wildcard name. */
-} rrl_req_flag_t;
-
-/*!
- * \brief RRL request descriptor.
- */
-typedef struct {
- const uint8_t *wire;
- uint16_t len;
- rrl_req_flag_t flags;
- knot_pkt_t *query;
-} rrl_req_t;
-
-/*!
- * \brief Create a RRL table.
- * \param size Fixed hashtable size (reasonable large prime is recommended).
- * \param rate Rate (in pkts/sec).
* \return created table or NULL.
*/
-rrl_table_t *rrl_create(size_t size, uint32_t rate);
+rrl_table_t *rrl_create(size_t size, uint32_t instant_limit, uint32_t rate_limit,
+ bool rw_mode, uint32_t log_period);
/*!
* \brief Query the RRL table for accept or deny, when the rate limit is reached.
*
+ * \note This function is common to both RW and non-RW modes!
+ *
* \param rrl RRL table.
* \param remote Source address.
- * \param req RRL request (containing resp., flags and question).
- * \param zone Zone name related to the response (or NULL).
* \param mod Query module (needed for logging).
+ *
* \retval KNOT_EOK if passed.
* \retval KNOT_ELIMIT when the limit is reached.
*/
-int rrl_query(rrl_table_t *rrl, const struct sockaddr_storage *remote,
- rrl_req_t *req, const knot_dname_t *zone, knotd_mod_t *mod);
+int rrl_query(rrl_table_t *rrl, const struct sockaddr_storage *remote, knotd_mod_t *mod);
+
+/*!
+ * \brief Update the RRL table.
+ *
+ * \note This function is only for the non-RW mode!
+ *
+ * \param rrl RRL table.
+ * \param remote Source address.
+ * \param value Value with which the table is updated.
+ */
+void rrl_update(rrl_table_t *rrl, const struct sockaddr_storage *remote, size_t value);
/*!
* \brief Roll a dice whether answer slips or not.
+ *
* \param n_slip Number represents every Nth answer that is slipped.
+ *
* \return true or false
*/
bool rrl_slip_roll(int n_slip);
/*!
* \brief Destroy RRL table.
+ *
* \param rrl RRL table.
*/
void rrl_destroy(rrl_table_t *rrl);
diff --git a/src/knot/modules/rrl/kru-avx2.c b/src/knot/modules/rrl/kru-avx2.c
new file mode 100644
index 0000000..183ae44
--- /dev/null
+++ b/src/knot/modules/rrl/kru-avx2.c
@@ -0,0 +1,66 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+// Checked with clang 5 (2017) and gcc 6 (2016).
+// For other cases we'll rather keep just the generic implementation.
+#if defined(__x86_64__) && (__clang_major__ >= 5 || __GNUC__ >= 6)
+
+// This file has code for new-ish x86 (2015+ usually, Atom 2021+) - AES + AVX2
+#if __clang_major__ >= 12
+ #pragma clang attribute push (__attribute__((target("arch=x86-64-v3,aes"))), \
+ apply_to = function)
+#elif __clang__
+ #pragma clang attribute push (__attribute__((target("avx2,aes"))), \
+ apply_to = function)
+#else
+ #pragma GCC push_options
+ #if __GNUC__ >= 11
+ #pragma GCC target("arch=x86-64-v3,aes")
+ // try harder for auto-vectorization, etc.
+ #pragma GCC optimize("O3")
+ #else
+ #pragma GCC target("avx2,aes")
+ #endif
+#endif
+
+#define USE_AES 1
+#define USE_AVX2 1
+#define USE_SSE41 1
+
+#include "./kru.inc.c"
+const struct kru_api KRU_AVX2 = KRU_API_INITIALIZER;
+
+#ifdef __clang__
+ #pragma clang attribute pop
+#else
+ #pragma GCC pop_options
+#endif
+
+__attribute__((constructor))
+static void detect_CPU_avx2(void)
+{
+ // Checking just AES+AVX2 will most likely be OK even if we used arch=x86-64-v3
+ if (__builtin_cpu_supports("aes") && __builtin_cpu_supports("avx2")) {
+ KRU = KRU_AVX2;
+ }
+}
+
+#else
+
+#include "./kru.h"
+const struct kru_api KRU_AVX2 = {NULL};
+
+#endif
diff --git a/src/knot/modules/rrl/kru-generic.c b/src/knot/modules/rrl/kru-generic.c
new file mode 100644
index 0000000..71ffdd4
--- /dev/null
+++ b/src/knot/modules/rrl/kru-generic.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include "./kru.inc.c"
+
+const struct kru_api KRU_GENERIC = KRU_API_INITIALIZER;
+struct kru_api KRU = KRU_API_INITIALIZER; // generic version is the default
diff --git a/src/knot/modules/rrl/kru.h b/src/knot/modules/rrl/kru.h
new file mode 100644
index 0000000..7eef6c0
--- /dev/null
+++ b/src/knot/modules/rrl/kru.h
@@ -0,0 +1,90 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdint.h>
+
+#define ALIGNED_CPU_CACHE _Alignas(64)
+
+// An unsigned integral type used for prices, blocking occurs when sum of prices overflows.
+// Greater than 16-bit type enables randomized fractional incrementing as the internal counters are still 16-bit.
+// Exponential decay always uses randomized rounding on 32 bits.
+typedef uint32_t kru_price_t;
+
+#define KRU_PRICE_BITS (8 * sizeof(kru_price_t))
+
+// maximal allowed sum of prices without limiting
+#define KRU_LIMIT (((kru_price_t)-1ll) - (1ll << (KRU_PRICE_BITS - 16)) + 1)
+
+struct kru;
+
+/// Usage: KRU.limited(...)
+struct kru_api {
+ /// Initialize a new KRU structure that can track roughly 2^capacity_log limited keys.
+ ///
+ /// The kru parameter should point to a zeroed preallocated memory
+ /// of size returned by get_size aligned to 64-bytes;
+ /// deallocate the memory to destroy KRU.
+ /// RAM: the current parametrization will use roughly 8 bytes * 2^capacity_log.
+ ///
+ /// The number of non-limited keys is basically arbitrary,
+ /// but the total sum of prices per tick (for queries returning false)
+ /// should not get over roughly 2^(capacity_log + 15).
+ /// Note that the _multi variants increase these totals
+ /// by tracking multiple keys in a single query.
+ ///
+ /// Returns false if kru is NULL or other failure occurs.
+ bool (*initialize)(struct kru *kru, int capacity_log, kru_price_t max_decay);
+
+ /// Calculate size of the KRU structure.
+ size_t (*get_size)(int capacity_log);
+
+ /// Determine if a key should get limited (and update the KRU).
+ /// key needs to be aligned to a multiple of 16 bytes.
+ bool (*limited)(struct kru *kru, uint32_t time_now, uint8_t key[static const 16], kru_price_t price);
+
+ /// Multiple queries. Returns OR of answers. Updates KRU only if no query is blocked (and possibly on race).
+ bool (*limited_multi_or)(struct kru *kru, uint32_t time_now, uint8_t **keys, kru_price_t *prices, size_t queries_cnt);
+
+ /// Same as previous but without short-circuit evaluation; for time measurement purposes.
+ bool (*limited_multi_or_nobreak)(struct kru *kru, uint32_t time_now, uint8_t ** keys, kru_price_t *prices, size_t queries_cnt);
+
+ /// Multiple queries based on different prefixes of a single key.
+ /// Returns a prefix (value in prefixes) on which the key is blocked, or zero if all queries passed.
+ /// Updates KRU only if no query is blocked, unless a race condition occurs --
+ /// in such a case all longer prefixes might have been updated.
+ /// The key of i-th query consists of prefixes[i] bits of key, prefixes[i], and namespace.
+ /// If zero is returned, *max_load_out (unless NULL) is set to
+ /// the maximum of final values of the involved counters normalized to the limit 2^16.
+ uint8_t (*limited_multi_prefix_or)(struct kru *kru, uint32_t time_now,
+ uint8_t namespace, uint8_t key[static 16], uint8_t *prefixes, kru_price_t *prices, size_t queries_cnt, uint16_t *max_load_out);
+
+ /// Multiple queries based on different prefixes of a single key.
+ /// Returns the maximum of final values of the involved counters normalized to the limit 2^16
+ /// and stores the corresponding prefix (value in prefixes) to *prefix_out (unless NULL).
+ /// Set prices to NULL to skip updating; otherwise, KRU is always updated, using maximal allowed value on overflow.
+ /// The key of i-th query consists of prefixes[i] bits of key, prefixes[i], and namespace.
+ uint16_t (*load_multi_prefix_max)(struct kru *kru, uint32_t time_now,
+ uint8_t namespace, uint8_t key[static 16], uint8_t *prefixes, kru_price_t *prices, size_t queries_cnt, uint8_t *prefix_out);
+};
+
+// The functions are stored this way to make it easier to switch
+// implementation based on detected CPU.
+extern struct kru_api KRU;
+extern const struct kru_api KRU_GENERIC, KRU_AVX2;
diff --git a/src/knot/modules/rrl/kru.inc.c b/src/knot/modules/rrl/kru.inc.c
new file mode 100644
index 0000000..49e359e
--- /dev/null
+++ b/src/knot/modules/rrl/kru.inc.c
@@ -0,0 +1,615 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+/*
+KRU estimates recently pricey inputs
+
+Authors of the simple agorithm (without aging, multi-choice, etc.):
+ Metwally, D. Agrawal, and A. E. Abbadi.
+ Efficient computation of frequent and top-k elements in data streams.
+ In International Conference on Database Theory, 2005.
+
+With TABLE_COUNT > 1 we're improving reliability by utilizing the property that
+longest buckets (cache-lines) get very much shortened, already by providing two choices:
+ https://en.wikipedia.org/wiki/2-choice_hashing
+
+The point is to answer point-queries that estimate if the item has been heavily used recently.
+To give more weight to recent usage, we use aging via exponential decay (simple to compute).
+That has applications for garbage collection of cache and various limiting scenario
+(excessive rate, traffic, CPU, maybe RAM).
+
+### Choosing parameters
+
+Size (`loads_bits` = log2 length):
+ - The KRU takes 64 bytes * length * TABLE_COUNT + some small constants.
+ As TABLE_COUNT == 2 and loads_bits = capacity_log >> 4, we get capacity * 8 Bytes.
+ - The length should probably be at least something like the square of the number of utilized CPUs.
+ But this most likely won't be a limiting factor.
+*/
+
+#include <stdlib.h>
+#include <assert.h>
+#include <stdatomic.h>
+#include <stdbool.h>
+#include <stddef.h>
+#include <string.h>
+#include <math.h>
+
+#include "./kru.h"
+#include "contrib/macros.h"
+#include "libdnssec/error.h"
+#include "libdnssec/random.h"
+typedef uint64_t hash_t;
+#if USE_AES
+ /// 4-8 rounds should be an OK choice, most likely.
+ #define AES_ROUNDS 4
+#else
+ #include "contrib/openbsd/siphash.h"
+
+ /// 1,3 should be OK choice, probably.
+ enum {
+ SIPHASH_RC = 1,
+ SIPHASH_RF = 3,
+ };
+#endif
+
+#if USE_AVX2 || USE_SSE41 || USE_AES
+ #include <immintrin.h>
+ #include <x86intrin.h>
+#endif
+
+/// Block of loads sharing the same time, so that we're more space-efficient.
+/// It's exactly a single cache line.
+struct load_cl {
+ ALIGNED_CPU_CACHE
+ _Atomic uint32_t time;
+ #define LOADS_LEN 15
+ uint16_t ids[LOADS_LEN];
+ uint16_t loads[LOADS_LEN];
+};
+static_assert(64 == sizeof(struct load_cl), "bad size of struct load_cl");
+
+/// Parametrization for speed of decay.
+struct decay_config {
+ /// Bit shift per tick, fractional
+ double shift_bits;
+
+ /// Ticks to get zero loads
+ uint32_t max_ticks;
+
+ uint32_t mult_cache[32];
+};
+
+struct kru {
+#if USE_AES
+ /// Hashing secret. Random but shared by all users of the table.
+ /// Let's not make it too large, so that header fits into 64 Bytes.
+ _Alignas(32) char hash_key[48];
+#else
+ /// Hashing secret. Random but shared by all users of the table.
+ SIPHASH_KEY hash_key;
+#endif
+ struct decay_config decay;
+
+ /// Length of `loads_cls`, stored as binary logarithm.
+ uint32_t loads_bits;
+
+ #define TABLE_COUNT 2
+ /// These are read-write. Each struct has exactly one cache line.
+ struct load_cl load_cls[][TABLE_COUNT];
+};
+
+inline static uint64_t rand_bits(unsigned int bits)
+{
+ static _Thread_local uint64_t state = 3723796604792068981ull;
+ const uint64_t prime1 = 11737314301796036329ull;
+ const uint64_t prime2 = 3107264277052274849ull;
+ state = prime1 * state + prime2;
+ //return state & ((1 << bits) - 1);
+ return state >> (64 - bits);
+}
+
+static inline void decay_initialize(struct decay_config *decay, kru_price_t max_decay)
+{
+ decay->shift_bits = log2(KRU_LIMIT - 1) - log2(KRU_LIMIT - 1 - max_decay);
+ decay->max_ticks = 18 / decay->shift_bits;
+
+ decay->mult_cache[0] = 0; // not used
+ for (size_t ticks = 1; ticks < sizeof(decay->mult_cache) / sizeof(*decay->mult_cache); ticks++) {
+ decay->mult_cache[ticks] = exp2(32 - decay->shift_bits * ticks) + 0.5;
+ }
+}
+
+/// Catch up the time drift with configurably slower decay.
+static inline void update_time(struct load_cl *l, const uint32_t time_now,
+ const struct decay_config *decay)
+{
+ uint32_t ticks;
+ uint32_t time_last = atomic_load_explicit(&l->time, memory_order_relaxed);
+ do {
+ ticks = time_now - time_last;
+ if (__builtin_expect(!ticks, true)) // we optimize for time not advancing
+ return;
+ // We accept some desynchronization of time_now (e.g. from different threads).
+ if (ticks > (uint32_t)-1024)
+ return;
+ } while (!atomic_compare_exchange_weak_explicit(&l->time, &time_last, time_now, memory_order_relaxed, memory_order_relaxed));
+
+ // If we passed here, we have acquired a time difference we are responsibe for.
+
+ // Don't bother with complex computations if lots of ticks have passed. (little to no speed-up)
+ if (ticks > decay->max_ticks) {
+ memset(l->loads, 0, sizeof(l->loads));
+ return;
+ }
+
+ uint32_t mult;
+ if (__builtin_expect(ticks < sizeof(decay->mult_cache) / sizeof(*decay->mult_cache), 1)) {
+ mult = decay->mult_cache[ticks];
+ } else {
+ mult = exp2(32 - decay->shift_bits * ticks) + 0.5;
+ }
+
+ for (int i = 0; i < LOADS_LEN; ++i) {
+ // We perform decay for the acquired time difference; decays from different threads are commutative.
+ _Atomic uint16_t *load_at = (_Atomic uint16_t *)&l->loads[i];
+ uint16_t l1, load_orig = atomic_load_explicit(load_at, memory_order_relaxed);
+ const uint16_t rnd = rand_bits(16);
+ do {
+ uint64_t m = (((uint64_t)load_orig << 16)) * mult;
+ m = (m >> 32) + ((m >> 31) & 1);
+ l1 = (m >> 16) + (rnd < (uint16_t)m);
+ } while (!atomic_compare_exchange_weak_explicit(load_at, &load_orig, l1, memory_order_relaxed, memory_order_relaxed));
+ }
+}
+
+/// Convert capacity_log to loads_bits
+static inline int32_t capacity2loads(int capacity_log)
+{
+ static_assert(LOADS_LEN == 15 && TABLE_COUNT == 2, "");
+ // So, the pair of cache lines hold up to 2*15 elements.
+ // Let's say that we can reliably store 16 = 1 << (1+3).
+ // (probably more but certainly not 1 << 5)
+ const int shift = 1 + 3;
+ int loads_bits = capacity_log - shift;
+ // Let's behave reasonably for weird capacity_log values.
+ return loads_bits > 0 ? loads_bits : 1;
+}
+
+static size_t kru_get_size(int capacity_log)
+{
+ uint32_t loads_bits = capacity2loads(capacity_log);
+ if (8 * sizeof(hash_t) < TABLE_COUNT * loads_bits
+ + 8 * sizeof(((struct kru *)0)->load_cls[0]->ids[0])) {
+ assert(false);
+ return 0;
+ }
+
+ return offsetof(struct kru, load_cls)
+ + sizeof(struct load_cl) * TABLE_COUNT * (1 << loads_bits);
+}
+
+static bool kru_initialize(struct kru *kru, int capacity_log, kru_price_t max_decay)
+{
+ if (!kru) {
+ return false;
+ }
+
+ uint32_t loads_bits = capacity2loads(capacity_log);
+ if (8 * sizeof(hash_t) < TABLE_COUNT * loads_bits
+ + 8 * sizeof(((struct kru *)0)->load_cls[0]->ids[0])) {
+ assert(false);
+ return false;
+ }
+
+ kru->loads_bits = loads_bits;
+
+ if (dnssec_random_buffer((uint8_t *)&kru->hash_key, sizeof(kru->hash_key)) != DNSSEC_EOK) {
+ return false;
+ }
+
+ decay_initialize(&kru->decay, max_decay);
+
+ return true;
+}
+
+struct query_ctx {
+ struct load_cl *l[TABLE_COUNT];
+ uint32_t time_now;
+ kru_price_t price;
+ uint16_t price16, limit16;
+ uint16_t id;
+ uint16_t final_load_value; // set by kru_limited_update if not blocked
+ uint16_t *load;
+};
+
+/// Phase 1/3 of a query -- hash, prefetch, ctx init. Based on one 16-byte key.
+static inline void kru_limited_prefetch(struct kru *kru, uint32_t time_now, uint8_t key[static 16], kru_price_t price, struct query_ctx *ctx)
+{
+ // Obtain hash of *buf.
+ hash_t hash;
+#if !USE_AES
+ hash = SipHash(&kru->hash_key, SIPHASH_RC, SIPHASH_RF, key, 16);
+#else
+ {
+ __m128i h; /// hashing state
+ h = _mm_load_si128((__m128i *)key);
+ // Now do the the hashing itself.
+ __m128i *aes_key = (void*)kru->hash_key;
+ for (int i = 0; i < AES_ROUNDS; ++i) {
+ int key_id = i % (sizeof(kru->hash_key) / sizeof(__m128i));
+ h = _mm_aesenc_si128(h, _mm_load_si128(&aes_key[key_id]));
+ }
+ memcpy(&hash, &h, sizeof(hash));
+ }
+#endif
+
+ // Choose the cache-lines to operate on
+ const uint32_t loads_mask = (1 << kru->loads_bits) - 1;
+ // Fetch the two cache-lines in parallel before we really touch them.
+ for (int li = 0; li < TABLE_COUNT; ++li) {
+ struct load_cl * const l = &kru->load_cls[hash & loads_mask][li];
+ __builtin_prefetch(l, 0); // hope for read-only access
+ hash >>= kru->loads_bits;
+ ctx->l[li] = l;
+ }
+
+ ctx->time_now = time_now;
+ ctx->price = price;
+ ctx->id = hash;
+}
+
+/// Phase 1/3 of a query -- hash, prefetch, ctx init. Based on a bit prefix of one 16-byte key.
+static inline void kru_limited_prefetch_prefix(struct kru *kru, uint32_t time_now, uint8_t namespace, uint8_t key[static 16], uint8_t prefix, kru_price_t price, struct query_ctx *ctx)
+{
+ // Obtain hash of *buf.
+ hash_t hash;
+
+#if !USE_AES
+ {
+ const int rc = SIPHASH_RC, rf = SIPHASH_RF;
+
+ // Hash prefix of key, prefix size, and namespace together.
+ SIPHASH_CTX hctx;
+ SipHash_Init(&hctx, &kru->hash_key);
+ SipHash_Update(&hctx, rc, rf, &namespace, sizeof(namespace));
+ SipHash_Update(&hctx, rc, rf, &prefix, sizeof(prefix));
+ SipHash_Update(&hctx, rc, rf, key, prefix / 8);
+ if (prefix % 8) {
+ const uint8_t masked_byte = key[prefix / 8] & (0xFF00 >> (prefix % 8));
+ SipHash_Update(&hctx, rc, rf, &masked_byte, 1);
+ }
+ hash = SipHash_End(&hctx, rc, rf);
+ }
+#else
+ {
+
+ __m128i h; /// hashing state
+ h = _mm_load_si128((__m128i *)key);
+
+ { // Keep only the prefix.
+ const uint8_t p = prefix;
+
+ // Prefix mask (1...0) -> little endian byte array (0x00 ... 0x00 0xFF ... 0xFF).
+ __m128i mask = _mm_set_epi64x(
+ (p < 64 ? (p == 0 ? 0 : (uint64_t)-1 << (64 - p)) : (uint64_t)-1), // higher 64 bits (1...) -> second half of byte array (... 0xFF)
+ (p <= 64 ? 0 : (uint64_t)-1 << (128 - p))); // lower 64 bits (...0) -> first half of byte array (0x00 ...)
+
+ // Swap mask endianness (0x11 ... 0x11 0x00 ... 0x00).
+ mask = _mm_shuffle_epi8(mask,
+ _mm_set_epi8(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15));
+
+ // Apply mask.
+ h = _mm_and_si128(h, mask);
+ }
+
+ // Now do the the hashing itself.
+ __m128i *aes_key = (void*)kru->hash_key;
+ {
+ // Mix namespace and prefix size into the first aes key.
+ __m128i aes_key1 = _mm_insert_epi16(_mm_load_si128(aes_key), (namespace << 8) | prefix, 0);
+ h = _mm_aesenc_si128(h, aes_key1);
+ }
+ for (int j = 1; j < AES_ROUNDS; ++j) {
+ int key_id = j % (sizeof(kru->hash_key) / sizeof(__m128i));
+ h = _mm_aesenc_si128(h, _mm_load_si128(&aes_key[key_id]));
+ }
+ memcpy(&hash, &h, sizeof(hash));
+ }
+#endif
+
+ // Choose the cache-lines to operate on
+ const uint32_t loads_mask = (1 << kru->loads_bits) - 1;
+ // Fetch the two cache-lines in parallel before we really touch them.
+ for (int li = 0; li < TABLE_COUNT; ++li) {
+ struct load_cl * const l = &kru->load_cls[hash & loads_mask][li];
+ __builtin_prefetch(l, 0); // hope for read-only access
+ hash >>= kru->loads_bits;
+ ctx->l[li] = l;
+ }
+
+ ctx->time_now = time_now;
+ ctx->price = price;
+ ctx->id = hash;
+}
+
+/// Phase 2/3 of a query -- returns answer with no state modification (except update_time).
+static inline bool kru_limited_fetch(struct kru *kru, struct query_ctx *ctx)
+{
+ // Compute 16-bit limit and price.
+ // For 32-bit prices we assume that a 16-bit load value corresponds
+ // to the 32-bit value extended by low-significant ones and the limit is 2^32 (without ones).
+ // The 16-bit price is thus rounded up for the comparison with limit,
+ // but rounded probabilistically for rising the load.
+ {
+ const int fract_bits = 8 * sizeof(ctx->price) - 16;
+ const kru_price_t price = ctx->price;
+ const kru_price_t fract = price & ((((kru_price_t)1) << fract_bits) - 1);
+
+ ctx->price16 = price >> fract_bits;
+ ctx->limit16 = -ctx->price16;
+
+ if ((fract_bits > 0) && (fract > 0)) {
+ ctx->price16 += (rand_bits(fract_bits) < fract);
+ ctx->limit16--;
+ }
+ }
+
+ for (int li = 0; li < TABLE_COUNT; ++li) {
+ update_time(ctx->l[li], ctx->time_now, &kru->decay);
+ }
+
+ const uint16_t id = ctx->id;
+
+ // Find matching element. Matching 16 bits in addition to loads_bits.
+ ctx->load = NULL;
+#if !USE_AVX2
+ for (int li = 0; li < TABLE_COUNT; ++li)
+ for (int i = 0; i < LOADS_LEN; ++i)
+ if (ctx->l[li]->ids[i] == id) {
+ ctx->load = &ctx->l[li]->loads[i];
+ goto load_found;
+ }
+#else
+ const __m256i id_v = _mm256_set1_epi16(id);
+ for (int li = 0; li < TABLE_COUNT; ++li) {
+ static_assert(LOADS_LEN == 15 && sizeof(ctx->l[li]->ids[0]) == 2, "");
+ // unfortunately we can't use aligned load here
+ __m256i ids_v = _mm256_loadu_si256((__m256i *)((uint16_t *)ctx->l[li]->ids - 1));
+ __m256i match_mask = _mm256_cmpeq_epi16(ids_v, id_v);
+ if (_mm256_testz_si256(match_mask, match_mask))
+ continue; // no match of id
+ int index = _bit_scan_reverse(_mm256_movemask_epi8(match_mask)) / 2 - 1;
+ // there's a small possibility that we hit equality only on the -1 index
+ if (index >= 0) {
+ ctx->load = &ctx->l[li]->loads[index];
+ goto load_found;
+ }
+ }
+#endif
+
+ ctx->final_load_value = 0;
+ return false;
+
+load_found:;
+ ctx->final_load_value = *ctx->load;
+ return (ctx->final_load_value >= ctx->limit16);
+}
+
+/// Phase 3/3 of a query -- state update, return value overrides previous answer in case of race.
+/// Not needed if blocked by fetch phase. If overflow_update is activated, false is always returned.
+static inline bool kru_limited_update(struct kru *kru, struct query_ctx *ctx, bool overflow_update)
+{
+ _Atomic uint16_t *load_at;
+ if (!ctx->load) {
+ // No match, so find position of the smallest load.
+ int min_li = 0;
+ int min_i = 0;
+#if !USE_SSE41
+ for (int li = 0; li < TABLE_COUNT; ++li)
+ for (int i = 0; i < LOADS_LEN; ++i)
+ if (ctx->l[li]->loads[i] < ctx->l[min_li]->loads[min_i]) {
+ min_li = li;
+ min_i = i;
+ }
+#else
+ int min_val = 0;
+ for (int li = 0; li < TABLE_COUNT; ++li) {
+ // BEWARE: we're relying on the exact memory layout of struct load_cl,
+ // where the .loads array take 15 16-bit values at the very end.
+ static_assert((offsetof(struct load_cl, loads) - 2) % 16 == 0,
+ "bad alignment of struct load_cl::loads");
+ static_assert(LOADS_LEN == 15 && sizeof(ctx->l[li]->loads[0]) == 2, "");
+ __m128i *l_v = (__m128i *)((uint16_t *)ctx->l[li]->loads - 1);
+ __m128i l0 = _mm_load_si128(l_v);
+ __m128i l1 = _mm_load_si128(l_v + 1);
+ // We want to avoid the first item in l0, so we maximize it.
+ // (but this function takes a signed integer, so -1 is the maximum)
+ l0 = _mm_insert_epi16(l0, -1, 0);
+
+ // Only one instruction can find minimum and its position,
+ // and it works on 8x uint16_t.
+ __m128i mp0 = _mm_minpos_epu16(l0);
+ __m128i mp1 = _mm_minpos_epu16(l1);
+ int min0 = _mm_extract_epi16(mp0, 0);
+ int min1 = _mm_extract_epi16(mp1, 0);
+ int min01, min_ix;
+ if (min0 < min1) {
+ min01 = min0;
+ min_ix = _mm_extract_epi16(mp0, 1);
+ } else {
+ min01 = min1;
+ min_ix = 8 + _mm_extract_epi16(mp1, 1);
+ }
+
+ if (li == 0 || min_val > min01) {
+ min_li = li;
+ min_i = min_ix;
+ min_val = min01;
+ }
+ }
+ // now, min_i (and min_ix) is offset by one due to alignment of .loads
+ if (min_i != 0) // zero is very unlikely
+ --min_i;
+#endif
+
+ ctx->l[min_li]->ids[min_i] = ctx->id;
+ load_at = (_Atomic uint16_t *)&ctx->l[min_li]->loads[min_i];
+ } else {
+ load_at = (_Atomic uint16_t *)ctx->load;
+ }
+
+ static_assert(ATOMIC_CHAR16_T_LOCK_FREE == 2, "insufficient atomics");
+ const uint16_t price = ctx->price16;
+ const uint16_t limit = ctx->limit16;
+ uint16_t load_orig = atomic_load_explicit(load_at, memory_order_relaxed);
+ uint16_t load_new;
+ do {
+ if (load_orig >= limit) {
+ if (overflow_update) {
+ load_new = -1;
+ } else {
+ return true;
+ }
+ } else {
+ load_new = load_orig + price;
+ }
+ } while (!atomic_compare_exchange_weak_explicit(load_at, &load_orig, load_new, memory_order_relaxed, memory_order_relaxed));
+
+ ctx->final_load_value = load_new;
+ return false;
+}
+
+static bool kru_limited_multi_or(struct kru *kru, uint32_t time_now, uint8_t **keys, kru_price_t *prices, size_t queries_cnt)
+{
+ struct query_ctx ctx[queries_cnt];
+
+ for (size_t i = 0; i < queries_cnt; i++) {
+ kru_limited_prefetch(kru, time_now, keys[i], prices[i], ctx + i);
+ }
+ for (size_t i = 0; i < queries_cnt; i++) {
+ if (kru_limited_fetch(kru, ctx + i))
+ return true;
+ }
+ bool ret = false;
+
+ for (size_t i = 0; i < queries_cnt; i++) {
+ ret |= kru_limited_update(kru, ctx + i, false);
+ }
+
+ return ret;
+}
+
+static bool kru_limited_multi_or_nobreak(struct kru *kru, uint32_t time_now, uint8_t **keys, kru_price_t *prices, size_t queries_cnt)
+{
+ struct query_ctx ctx[queries_cnt];
+ bool ret = false;
+
+ for (size_t i = 0; i < queries_cnt; i++) {
+ kru_limited_prefetch(kru, time_now, keys[i], prices[i], ctx + i);
+ }
+ for (size_t i = 0; i < queries_cnt; i++) {
+ if (kru_limited_fetch(kru, ctx + i))
+ ret = true;
+ }
+ if (ret) return true;
+
+ for (size_t i = 0; i < queries_cnt; i++) {
+ if (kru_limited_update(kru, ctx + i, false))
+ ret = true;
+ }
+
+ return ret;
+}
+
+static uint8_t kru_limited_multi_prefix_or(struct kru *kru, uint32_t time_now, uint8_t namespace,
+ uint8_t key[static 16], uint8_t *prefixes, kru_price_t *prices, size_t queries_cnt, uint16_t *max_load_out)
+{
+ struct query_ctx ctx[queries_cnt];
+
+ for (size_t i = 0; i < queries_cnt; i++) {
+ kru_limited_prefetch_prefix(kru, time_now, namespace, key, prefixes[i], prices[i], ctx + i);
+ }
+
+ for (size_t i = 0; i < queries_cnt; i++) {
+ if (kru_limited_fetch(kru, ctx + i))
+ return prefixes[i];
+ }
+
+ for (int i = queries_cnt - 1; i >= 0; i--) {
+ if (kru_limited_update(kru, ctx + i, false))
+ return prefixes[i];
+ }
+
+ if (max_load_out) {
+ *max_load_out = 0;
+ for (size_t i = 0; i < queries_cnt; i++) {
+ *max_load_out = MAX(*max_load_out, ctx[i].final_load_value);
+ }
+ }
+
+ return 0;
+}
+
+static uint16_t kru_load_multi_prefix_max(struct kru *kru, uint32_t time_now, uint8_t namespace,
+ uint8_t key[static 16], uint8_t *prefixes, kru_price_t *prices, size_t queries_cnt, uint8_t *prefix_out)
+{
+ struct query_ctx ctx[queries_cnt];
+
+ for (size_t i = 0; i < queries_cnt; i++) {
+ kru_limited_prefetch_prefix(kru, time_now, namespace, key, prefixes[i], (prices ? prices[i] : 0), ctx + i);
+ }
+
+ for (size_t i = 0; i < queries_cnt; i++) {
+ kru_limited_fetch(kru, ctx + i);
+ }
+
+ if (prices) {
+ for (int i = queries_cnt - 1; i >= 0; i--) {
+ kru_limited_update(kru, ctx + i, true);
+ }
+ }
+
+ uint8_t prefix = 0;
+ uint16_t max_load = 0;
+ for (size_t i = 0; i < queries_cnt; i++) {
+ if (max_load < ctx[i].final_load_value) {
+ max_load = ctx[i].final_load_value;
+ prefix = prefixes[i];
+ }
+ }
+ if (prefix_out) {
+ *prefix_out = prefix;
+ }
+
+ return max_load;
+}
+
+/// Update limiting and return true iff it hit the limit instead.
+static bool kru_limited(struct kru *kru, uint32_t time_now, uint8_t key[static 16], kru_price_t price)
+{
+ return kru_limited_multi_or(kru, time_now, &key, &price, 1);
+}
+
+#define KRU_API_INITIALIZER { \
+ .get_size = kru_get_size, \
+ .initialize = kru_initialize, \
+ .limited = kru_limited, \
+ .limited_multi_or = kru_limited_multi_or, \
+ .limited_multi_or_nobreak = kru_limited_multi_or_nobreak, \
+ .limited_multi_prefix_or = kru_limited_multi_prefix_or, \
+ .load_multi_prefix_max = kru_load_multi_prefix_max, \
+}
diff --git a/src/knot/modules/rrl/rrl.c b/src/knot/modules/rrl/rrl.c
index 64f6cbf..d1ec7b5 100644
--- a/src/knot/modules/rrl/rrl.c
+++ b/src/knot/modules/rrl/rrl.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -14,28 +14,47 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
+#include "contrib/time.h"
#include "knot/include/module.h"
-#include "knot/nameserver/process_query.h" // Dependency on qdata->extra!
#include "knot/modules/rrl/functions.h"
+#include "knot/modules/rrl/kru.h"
#define MOD_RATE_LIMIT "\x0A""rate-limit"
+#define MOD_INST_LIMIT "\x0D""instant-limit"
+#define MOD_T_RATE_LIMIT "\x0F""time-rate-limit"
+#define MOD_T_INST_LIMIT "\x12""time-instant-limit"
#define MOD_SLIP "\x04""slip"
#define MOD_TBL_SIZE "\x0A""table-size"
#define MOD_WHITELIST "\x09""whitelist"
+#define MOD_LOG_PERIOD "\x0A""log-period"
+#define MOD_DRY_RUN "\x07""dry-run"
const yp_item_t rrl_conf[] = {
- { MOD_RATE_LIMIT, YP_TINT, YP_VINT = { 1, INT32_MAX } },
- { MOD_SLIP, YP_TINT, YP_VINT = { 0, 100, 1 } },
- { MOD_TBL_SIZE, YP_TINT, YP_VINT = { 1, INT32_MAX, 393241 } },
- { MOD_WHITELIST, YP_TNET, YP_VNONE, YP_FMULTI },
+ { MOD_INST_LIMIT, YP_TINT, YP_VINT = { 1, (1ll << 32) / 768 - 1, 50 } },
+ { MOD_RATE_LIMIT, YP_TINT, YP_VINT = { 0, ((1ll << 32) / 768 - 1) * 1000, 20 } },
+ { MOD_T_INST_LIMIT, YP_TINT, YP_VINT = { 1, 1000000, 5000 } },
+ { MOD_T_RATE_LIMIT, YP_TINT, YP_VINT = { 0, 1000000000, 4000 } },
+ { MOD_SLIP, YP_TINT, YP_VINT = { 0, 100, 1 } },
+ { MOD_TBL_SIZE, YP_TINT, YP_VINT = { 1, INT32_MAX, 524288 } },
+ { MOD_WHITELIST, YP_TNET, YP_VNONE, YP_FMULTI },
+ { MOD_LOG_PERIOD, YP_TINT, YP_VINT = { 0, INT32_MAX, 0 } },
+ { MOD_DRY_RUN, YP_TBOOL, YP_VNONE },
{ NULL }
};
int rrl_conf_check(knotd_conf_check_args_t *args)
{
- knotd_conf_t limit = knotd_conf_check_item(args, MOD_RATE_LIMIT);
- if (limit.count == 0) {
- args->err_str = "no rate limit specified";
+ knotd_conf_t rate_limit = knotd_conf_check_item(args, MOD_RATE_LIMIT);
+ knotd_conf_t inst_limit = knotd_conf_check_item(args, MOD_INST_LIMIT);
+ if (rate_limit.single.integer > 1000ll * inst_limit.single.integer) {
+ args->err_str = "rate limit is higher than 1000 times instant rate limit";
+ return KNOT_EINVAL;
+ }
+
+ knotd_conf_t t_rate_limit = knotd_conf_check_item(args, MOD_T_RATE_LIMIT);
+ knotd_conf_t t_inst_limit = knotd_conf_check_item(args, MOD_T_INST_LIMIT);
+ if (t_rate_limit.single.integer > 1000ll * t_inst_limit.single.integer) {
+ args->err_str = "time rate limit is higher than 1000 times time instant limit";
return KNOT_EINVAL;
}
@@ -43,35 +62,78 @@ int rrl_conf_check(knotd_conf_check_args_t *args)
}
typedef struct {
- rrl_table_t *rrl;
+ ALIGNED_CPU_CACHE // Ensures that one thread context occupies one cache line.
+ struct timespec start_time; // Start time of the measurement.
+ bool whitelist_checked; // Indication whether whitelist check took place.
+ bool skip; // Skip the rest of the module callbacks.
+} thrd_ctx_t;
+
+typedef struct {
+ rrl_table_t *rate_table;
+ rrl_table_t *time_table;
+ thrd_ctx_t *thrd_ctx;
int slip;
+ bool dry_run;
knotd_conf_t whitelist;
} rrl_ctx_t;
-static const knot_dname_t *name_from_rrsig(const knot_rrset_t *rr)
+static uint32_t time_diff_us(const struct timespec *begin, const struct timespec *end)
+{
+ struct timespec result = time_diff(begin, end);
+ return (result.tv_sec * 1000000) + (result.tv_nsec / 1000);
+}
+
+static knotd_proto_state_t protolimit_start(knotd_proto_state_t state,
+ knotd_qdata_params_t *params,
+ knotd_mod_t *mod)
{
- if (rr == NULL) {
- return NULL;
+ rrl_ctx_t *ctx = knotd_mod_ctx(mod);
+ thrd_ctx_t *thrd = &ctx->thrd_ctx[params->thread_id];
+ thrd->skip = false;
+
+ // Check if a whitelisted client.
+ thrd->whitelist_checked = true;
+ if (knotd_conf_addr_range_match(&ctx->whitelist, params->remote)) {
+ thrd->skip = true;
+ return state;
}
- if (rr->type != KNOT_RRTYPE_RRSIG) {
- return NULL;
+
+ // UDP time limiting not implemented (source address can be forged).
+ if (params->proto == KNOTD_QUERY_PROTO_UDP) {
+ return state;
}
- // This is a signature.
- return knot_rrsig_signer_name(rr->rrs.rdata);
+ // Check if the packet is limited.
+ if (rrl_query(ctx->time_table, params->remote, mod) != KNOT_EOK) {
+ thrd->skip = true;
+ knotd_mod_stats_incr(mod, params->thread_id, 2, 0, 1);
+ return ctx->dry_run ? state : KNOTD_PROTO_STATE_BLOCK;
+ } else {
+ clock_gettime(CLOCK_THREAD_CPUTIME_ID, &thrd->start_time);
+ return state; // Not limited.
+ }
}
-static const knot_dname_t *name_from_authrr(const knot_rrset_t *rr)
+static knotd_proto_state_t protolimit_end(knotd_proto_state_t state,
+ knotd_qdata_params_t *params,
+ knotd_mod_t *mod)
{
- if (rr == NULL) {
- return NULL;
+ rrl_ctx_t *ctx = knotd_mod_ctx(mod);
+ thrd_ctx_t *thrd = &ctx->thrd_ctx[params->thread_id];
+
+ if (thrd->skip || params->proto == KNOTD_QUERY_PROTO_UDP) {
+ return state;
}
- if (rr->type != KNOT_RRTYPE_NS && rr->type != KNOT_RRTYPE_SOA) {
- return NULL;
+
+ // Update the time table.
+ struct timespec end_time;
+ clock_gettime(CLOCK_THREAD_CPUTIME_ID, &end_time);
+ uint64_t diff = time_diff_us(&thrd->start_time, &end_time);
+ if (diff > 0) { // Zero KRU update is NOOP.
+ rrl_update(ctx->time_table, params->remote, diff);
}
- // This is a valid authority RR.
- return rr->owner;
+ return state;
}
static knotd_state_t ratelimit_apply(knotd_state_t state, knot_pkt_t *pkt,
@@ -80,57 +142,36 @@ static knotd_state_t ratelimit_apply(knotd_state_t state, knot_pkt_t *pkt,
assert(pkt && qdata && mod);
rrl_ctx_t *ctx = knotd_mod_ctx(mod);
+ thrd_ctx_t *thrd = &ctx->thrd_ctx[qdata->params->thread_id];
- // Rate limit is applied to pure UDP only.
- if (qdata->params->proto != KNOTD_QUERY_PROTO_UDP) {
+ if (thrd->skip) {
return state;
}
- // Rate limit is not applied to responses with a valid cookie.
- if (qdata->params->flags & KNOTD_QUERY_FLAG_COOKIE) {
+ // Don't limit authorized operations.
+ if (qdata->params->flags & KNOTD_QUERY_FLAG_AUTHORIZED) {
+ thrd->skip = true;
return state;
}
- // Exempt clients.
- if (knotd_conf_addr_range_match(&ctx->whitelist, knotd_qdata_remote_addr(qdata))) {
+ // Rate limit is applied to UDP only.
+ if (qdata->params->proto != KNOTD_QUERY_PROTO_UDP) {
return state;
}
- rrl_req_t req = {
- .wire = pkt->wire,
- .query = qdata->query
- };
-
- if (!EMPTY_LIST(qdata->extra->wildcards)) {
- req.flags = RRL_REQ_WILDCARD;
- }
-
- // Take the zone name if known.
- const knot_dname_t *zone_name = knotd_qdata_zone_name(qdata);
-
- // Take the signer name as zone name if there is an RRSIG.
- if (zone_name == NULL) {
- const knot_pktsection_t *ans = knot_pkt_section(pkt, KNOT_ANSWER);
- for (int i = 0; i < ans->count; i++) {
- zone_name = name_from_rrsig(knot_pkt_rr(ans, i));
- if (zone_name != NULL) {
- break;
- }
- }
+ // Check for whitelisted client IF PER-ZONE module (no proto callbacks).
+ if (!thrd->whitelist_checked &&
+ knotd_conf_addr_range_match(&ctx->whitelist, qdata->params->remote)) {
+ thrd->skip = true;
+ return state;
}
- // Take the NS or SOA owner name if there is no RRSIG.
- if (zone_name == NULL) {
- const knot_pktsection_t *auth = knot_pkt_section(pkt, KNOT_AUTHORITY);
- for (int i = 0; i < auth->count; i++) {
- zone_name = name_from_authrr(knot_pkt_rr(auth, i));
- if (zone_name != NULL) {
- break;
- }
- }
+ // Rate limit is not applied to responses with a valid cookie.
+ if (qdata->params->flags & KNOTD_QUERY_FLAG_COOKIE) {
+ return state;
}
- if (rrl_query(ctx->rrl, knotd_qdata_remote_addr(qdata), &req, zone_name, mod) == KNOT_EOK) {
+ if (rrl_query(ctx->rate_table, knotd_qdata_remote_addr(qdata), mod) == KNOT_EOK) {
// Rate limiting not applied.
return state;
}
@@ -139,11 +180,11 @@ static knotd_state_t ratelimit_apply(knotd_state_t state, knot_pkt_t *pkt,
// Slip the answer.
knotd_mod_stats_incr(mod, qdata->params->thread_id, 0, 0, 1);
qdata->err_truncated = true;
- return KNOTD_STATE_FAIL;
+ return ctx->dry_run ? state : KNOTD_STATE_FAIL;
} else {
// Drop the answer.
knotd_mod_stats_incr(mod, qdata->params->thread_id, 1, 0, 1);
- return KNOTD_STATE_NOOP;
+ return ctx->dry_run ? state : KNOTD_STATE_NOOP;
}
}
@@ -151,58 +192,96 @@ static void ctx_free(rrl_ctx_t *ctx)
{
assert(ctx);
- rrl_destroy(ctx->rrl);
+ free(ctx->thrd_ctx);
+ rrl_destroy(ctx->rate_table);
+ rrl_destroy(ctx->time_table);
+ knotd_conf_free(&ctx->whitelist);
free(ctx);
}
int rrl_load(knotd_mod_t *mod)
{
- // Create RRL context.
rrl_ctx_t *ctx = calloc(1, sizeof(rrl_ctx_t));
if (ctx == NULL) {
return KNOT_ENOMEM;
}
- // Create table.
- uint32_t rate = knotd_conf_mod(mod, MOD_RATE_LIMIT).single.integer;
- size_t size = knotd_conf_mod(mod, MOD_TBL_SIZE).single.integer;
- ctx->rrl = rrl_create(size, rate);
- if (ctx->rrl == NULL) {
+ ctx->dry_run = knotd_conf_mod(mod, MOD_DRY_RUN).single.boolean;
+ ctx->whitelist = knotd_conf_mod(mod, MOD_WHITELIST);
+
+ ctx->thrd_ctx = calloc(knotd_mod_threads(mod), sizeof(*ctx->thrd_ctx));
+ if (ctx->thrd_ctx == NULL) {
ctx_free(ctx);
return KNOT_ENOMEM;
}
- // Get slip.
- ctx->slip = knotd_conf_mod(mod, MOD_SLIP).single.integer;
+ size_t size = knotd_conf_mod(mod, MOD_TBL_SIZE).single.integer;
+ uint32_t log_period = knotd_conf_mod(mod, MOD_LOG_PERIOD).single.integer;
+
+ uint32_t rate_limit = knotd_conf_mod(mod, MOD_RATE_LIMIT).single.integer;
+ if (rate_limit > 0) {
+ uint32_t inst_limit = knotd_conf_mod(mod, MOD_INST_LIMIT).single.integer;
+ ctx->rate_table = rrl_create(size, inst_limit, rate_limit, true, log_period);
+ if (ctx->rate_table == NULL) {
+ ctx_free(ctx);
+ return KNOT_ENOMEM;
+ }
+ ctx->slip = knotd_conf_mod(mod, MOD_SLIP).single.integer;
+ }
- // Get whitelist.
- ctx->whitelist = knotd_conf_mod(mod, MOD_WHITELIST);
+ uint32_t time_limit = knotd_conf_mod(mod, MOD_T_RATE_LIMIT).single.integer;
+ if (time_limit > 0) {
+ uint32_t inst_limit = knotd_conf_mod(mod, MOD_T_INST_LIMIT).single.integer;
+ ctx->time_table = rrl_create(size, inst_limit, time_limit, false, log_period);
+ if (ctx->time_table == NULL) {
+ ctx_free(ctx);
+ return KNOT_ENOMEM;
+ }
+ }
- // Set up statistics counters.
int ret = knotd_mod_stats_add(mod, "slipped", 1, NULL);
if (ret != KNOT_EOK) {
ctx_free(ctx);
return ret;
}
-
ret = knotd_mod_stats_add(mod, "dropped", 1, NULL);
if (ret != KNOT_EOK) {
ctx_free(ctx);
return ret;
}
+ ret = knotd_mod_stats_add(mod, "dropped-time", 1, NULL);
+ if (ret != KNOT_EOK) {
+ ctx_free(ctx);
+ return ret;
+ }
+
+ /* The explicit reference of the AVX2 variant ensures the optimized
+ * code isn't removed by linker if linking statically.
+ * Check: nm ./src/.libs/knotd | grep KRU_
+ * https://stackoverflow.com/a/28663156/587396
+ */
+ knotd_mod_log(mod, LOG_DEBUG, "using %s implementation",
+ KRU.limited == KRU_AVX2.limited ? "optimized" : "generic");
knotd_mod_ctx_set(mod, ctx);
- return knotd_mod_hook(mod, KNOTD_STAGE_END, ratelimit_apply);
+ if (rate_limit > 0) {
+ knotd_mod_hook(mod, KNOTD_STAGE_BEGIN, ratelimit_apply);
+ }
+
+ if (time_limit > 0) {
+ // Note that these two callbacks aren't executed IF PER-ZONE module!
+ knotd_mod_proto_hook(mod, KNOTD_STAGE_PROTO_BEGIN, protolimit_start);
+ knotd_mod_proto_hook(mod, KNOTD_STAGE_PROTO_END, protolimit_end);
+ }
+
+ return KNOT_EOK;
}
void rrl_unload(knotd_mod_t *mod)
{
- rrl_ctx_t *ctx = knotd_mod_ctx(mod);
-
- knotd_conf_free(&ctx->whitelist);
- ctx_free(ctx);
+ ctx_free(knotd_mod_ctx(mod));
}
-KNOTD_MOD_API(rrl, KNOTD_MOD_FLAG_SCOPE_ANY,
+KNOTD_MOD_API(rrl, KNOTD_MOD_FLAG_SCOPE_ANY | KNOTD_MOD_FLAG_OPT_CONF,
rrl_load, rrl_unload, rrl_conf, rrl_conf_check);
diff --git a/src/knot/modules/rrl/rrl.rst b/src/knot/modules/rrl/rrl.rst
index 0daae16..85c8d35 100644
--- a/src/knot/modules/rrl/rrl.rst
+++ b/src/knot/modules/rrl/rrl.rst
@@ -4,37 +4,52 @@
================================
Response rate limiting (RRL) is a method to combat DNS reflection amplification
-attacks. These attacks rely on the fact that source address of a UDP query
+attacks. These attacks rely on the fact that the source address of a UDP query
can be forged, and without a worldwide deployment of `BCP38
<https://tools.ietf.org/html/bcp38>`_, such a forgery cannot be prevented.
An attacker can use a DNS server (or multiple servers) as an amplification
-source and can flood a victim with a large number of unsolicited DNS responses.
-The RRL lowers the amplification factor of these attacks by sending some of
-the responses as truncated or by dropping them altogether.
+source to flood a victim with a large number of unsolicited DNS responses.
+RRL lowers the amplification factor of these attacks by sending some
+responses as truncated or by dropping them altogether.
+
+This module can also help protect the server from excessive utilization by
+limiting incoming packets (including handshakes) based on consumed time.
+If a packet is time rate limited, it's dropped. This function works with
+all supported non-UDP transport protocols and cannot be configured per zone.
.. NOTE::
- The module introduces two statistics counters. The number of slipped and
- dropped responses.
+ This module introduces three statistics counters:
+
+ - ``slipped`` – The number of slipped UDP responses.
+ - ``dropped`` – The number of dropped UDP responses due to the rate limit.
+ - ``dropped-time`` – The number of dropped non-UDP packets due to the time rate limit.
.. NOTE::
If the :ref:`Cookies<mod-cookies>` module is active, RRL is not applied
- for responses with a valid DNS cookie.
+ to UDP responses with a valid DNS cookie.
Example
-------
-You can enable RRL by setting the module globally or per zone.
+You can enable RRL by setting the module globally
::
- mod-rrl:
- - id: default
- rate-limit: 200 # Allow 200 resp/s for each flow
- slip: 2 # Approximately every other response slips
-
template:
- id: default
- global-module: mod-rrl/default # Enable RRL globally
+ global-module: mod-rrl # Default module configuration
+
+or per zone
+
+::
+
+ mod-rrl:
+ - id: custom
+ rate-limit: 200
+
+ zone:
+ - domain: example.com
+ module: mod-rrl/custom # Custom module configuration
Module reference
----------------
@@ -44,9 +59,14 @@ Module reference
mod-rrl:
- id: STR
rate-limit: INT
+ instant-limit: INT
slip: INT
+ time-rate-limit: INT
+ time-instant-limit: INT
table-size: INT
whitelist: ADDR[/INT] | ADDR-ADDR | STR ...
+ log-period: INT
+ dry-run: BOOL
.. _mod-rrl_id:
@@ -60,30 +80,42 @@ A module identifier.
rate-limit
..........
-Rate limiting is based on the token bucket scheme. A rate basically
-represents a number of tokens available each second. Each response is
-processed and classified (based on several discriminators, e.g.
-source netblock, query type, zone name, rcode, etc.). Classified responses are
-then hashed and assigned to a bucket containing number of available
-tokens, timestamp and metadata. When available tokens are exhausted,
-response is dropped or sent as truncated (see :ref:`mod-rrl_slip`).
-Number of available tokens is recalculated each second.
+Maximal allowed number of UDP queries per second from a single IPv6 or IPv4 address.
-*Required*
+Rate limiting is performed for the whole address and several chosen prefixes.
+The limits of prefixes are constant multiples of :ref:`mod-rrl_rate-limit`.
-.. _mod-rrl_table-size:
+The specific prefixes and multipliers, which might be adjusted in the future, are
+for IPv6 /128: 1, /64: 2, /56: 3, /48: 4, /32: 64;
+for IPv4 /32: 1, /24: 32, /20: 256, /18: 768.
-table-size
-..........
+With each host/network, a counter of unrestricted responses is associated;
+if the counter would exceed its capacity, it is not incremented and the response is restricted.
+Counters use exponential decay for lowering their values,
+i.e. they are lowered by a constant fraction of their value each millisecond.
+The specified rate limit is reached, when the number of queries is the same every millisecond;
+sending many queries once a second or even a larger timespan leads to a more strict limiting.
+
+*Default:* ``20``
+
+.. _mod-rrl_instant-limit:
+
+instant-limit
+.............
+
+Maximal allowed number of queries at a single point in time from a single IPv6 or IPv4 address.
+The limits for prefixes use the same multipliers as for :ref:`mod-rrl_rate-limit`.
-Size of the hash table in a number of buckets. The larger the hash table, the lesser
-the probability of a hash collision, but at the expense of additional memory costs.
-Each bucket is estimated roughly to 32 bytes. The size should be selected as
-a reasonably large prime due to better hash function distribution properties.
-Hash table is internally chained and works well up to a fill rate of 90 %, general
-rule of thumb is to select a prime near 1.2 * maximum_qps.
+This limit is reached when many queries come from a new host/network,
+or after a longer time of inactivity.
-*Default:* ``393241``
+The :ref:`mod-rrl_instant-limit` sets the actual capacity of each counter of responses,
+and together with the :ref:`mod-rrl_rate-limit` they set the fraction by which the counter
+is periodically lowered.
+The :ref:`mod-rrl_instant-limit` may be at least :ref:`mod-rrl_rate-limit` **/ 1000**, at which point the
+counters are zeroed each millisecond.
+
+*Default:* ``50``
.. _mod-rrl_slip:
@@ -121,6 +153,49 @@ noting, that some responses can't be truncated (e.g. SERVFAIL).
*Default:* ``1``
+.. _mod-rrl_time-rate-limit:
+
+time-rate-limit
+...............
+
+This limit works similarly to :ref:`mod-rrl_rate-limit` but considers the time
+consumed (in microseconds) by the remote over non-UDP transport protocols.
+
+*Default:* ``4000`` (microseconds)
+
+.. _mod-rrl_time-instant-limit:
+
+time-instant-limit
+..................
+
+This limit works similarly to :ref:`mod-rrl_instant-limit` but considers the time
+consumed (in microseconds) by the remote over non-UDP transport protocols.
+
+*Default:* ``5000`` (microseconds)
+
+.. _mod-rrl_table-size:
+
+table-size
+..........
+
+Maximal number of stored hosts/networks with their counters.
+The data structure tries to store only the most frequent sources,
+so it is safe to set it according to the expected maximal number of limited ones.
+
+Use `1.4 * maximum_qps / rate-limit`,
+where `maximum_qps` is the number of queries which can be handled by the server per second.
+There is at most `maximum_qps / rate-limit` limited hosts;
+larger networks have higher limits and so require only a fraction of the value (handled by the `1.4` multiplier).
+The value will be rounded up to the nearest power of two.
+
+The same table size is used for both counting-based and time-based limiting;
+the maximum number of time-limited hosts is expected to be lower, so it's not typically needed to be considered.
+There is at most `1 000 000 * #cpus / time-rate-limit` of them.
+
+The memory occupied by one table structure is `8 * table-size B`.
+
+*Default:* ``524288``
+
.. _mod-rrl_whitelist:
whitelist
@@ -131,3 +206,31 @@ or network ranges to exempt from rate limiting.
Empty list means that no incoming connection will be white-listed.
*Default:* not set
+
+.. _mod-rrl_log-period:
+
+log-period
+..........
+
+Minimal time in milliseconds between two log messages,
+or zero to disable logging.
+
+If a response is limited, the address and the prefix on which it was blocked is logged
+and logging is disabled for the `log-period` milliseconds.
+As long as limiting is needed, one source is logged each period
+and sources with more blocked queries have greater probability to be chosen.
+
+The approach is used by counting-based and time-based limiting separately,
+so you can expect one message per `log-period` from each of them.
+
+*Default:* ``0`` (disabled)
+
+.. _mod-rrl_dry-run:
+
+dry-run
+.......
+
+If enabled, the module doesn't alter any response. Only query classification
+is performed with possible statistics counter incrementation.
+
+*Default:* ``off``
diff --git a/src/knot/modules/stats/stats.c b/src/knot/modules/stats/stats.c
index 26262ac..c5b797b 100644
--- a/src/knot/modules/stats/stats.c
+++ b/src/knot/modules/stats/stats.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -118,9 +118,11 @@ enum {
PROTOCOL_UDP4 = 0,
PROTOCOL_TCP4,
PROTOCOL_QUIC4,
+ PROTOCOL_TLS4,
PROTOCOL_UDP6,
PROTOCOL_TCP6,
PROTOCOL_QUIC6,
+ PROTOCOL_TLS6,
PROTOCOL_UDP4_XDP,
PROTOCOL_TCP4_XDP,
PROTOCOL_QUIC4_XDP,
@@ -136,9 +138,11 @@ static char *protocol_to_str(uint32_t idx, uint32_t count)
case PROTOCOL_UDP4: return strdup("udp4");
case PROTOCOL_TCP4: return strdup("tcp4");
case PROTOCOL_QUIC4: return strdup("quic4");
+ case PROTOCOL_TLS4: return strdup("tls4");
case PROTOCOL_UDP6: return strdup("udp6");
case PROTOCOL_TCP6: return strdup("tcp6");
case PROTOCOL_QUIC6: return strdup("quic6");
+ case PROTOCOL_TLS6: return strdup("tls6");
case PROTOCOL_UDP4_XDP: return strdup("udp4-xdp");
case PROTOCOL_TCP4_XDP: return strdup("tcp4-xdp");
case PROTOCOL_QUIC4_XDP: return strdup("quic4-xdp");
@@ -521,6 +525,10 @@ static knotd_state_t update_counters(knotd_state_t state, knot_pkt_t *pkt,
knotd_mod_stats_incr(mod, tid, CTR_PROTOCOL,
PROTOCOL_QUIC4, 1);
}
+ } else if (qdata->params->proto == KNOTD_QUERY_PROTO_TLS) {
+ assert(!xdp);
+ knotd_mod_stats_incr(mod, tid, CTR_PROTOCOL,
+ PROTOCOL_TLS4, 1);
} else {
if (xdp) {
knotd_mod_stats_incr(mod, tid, CTR_PROTOCOL,
@@ -547,6 +555,10 @@ static knotd_state_t update_counters(knotd_state_t state, knot_pkt_t *pkt,
knotd_mod_stats_incr(mod, tid, CTR_PROTOCOL,
PROTOCOL_QUIC6, 1);
}
+ } else if (qdata->params->proto == KNOTD_QUERY_PROTO_TLS) {
+ assert(!xdp);
+ knotd_mod_stats_incr(mod, tid, CTR_PROTOCOL,
+ PROTOCOL_TLS6, 1);
} else {
if (xdp) {
knotd_mod_stats_incr(mod, tid, CTR_PROTOCOL,
diff --git a/src/knot/modules/stats/stats.rst b/src/knot/modules/stats/stats.rst
index 8acf1aa..71cf87a 100644
--- a/src/knot/modules/stats/stats.rst
+++ b/src/knot/modules/stats/stats.rst
@@ -73,9 +73,11 @@ If enabled, all incoming requests are counted by the network protocol:
* udp4 - UDP over IPv4
* tcp4 - TCP over IPv4
* quic4 - QUIC over IPv4
+* tls4 - TLS over IPv4
* udp6 - UDP over IPv6
* tcp6 - TCP over IPv6
* quic6 - QUIC over IPv6
+* tls6 - TLS over IPv6
* udp4-xdp - UDP over IPv4 through XDP
* tcp4-xdp - TCP over IPv4 through XDP
* quic4-xdp - QUIC over IPv4 through XDP
diff --git a/src/knot/nameserver/axfr.c b/src/knot/nameserver/axfr.c
index dcd62e9..cd9ee32 100644
--- a/src/knot/nameserver/axfr.c
+++ b/src/knot/nameserver/axfr.c
@@ -121,14 +121,14 @@ static void axfr_answer_finished(knotd_qdata_t *qdata, knot_pkt_t *pkt, int stat
xfr_stats_add(&xfr->stats, pkt->size);
xfr_stats_end(&xfr->stats);
xfr_log_finished(ZONE_NAME(qdata), LOG_OPERATION_AXFR, LOG_DIRECTION_OUT,
- REMOTE(qdata), PROTO(qdata), KEY(qdata), &xfr->stats);
+ REMOTE(qdata), PROTO(qdata), KEY(qdata), "", &xfr->stats);
break;
default:
break;
}
}
-static int axfr_query_check(knotd_qdata_t *qdata)
+static knot_layer_state_t axfr_query_check(knotd_qdata_t *qdata)
{
NS_NEED_ZONE(qdata, KNOT_RCODE_NOTAUTH);
NS_NEED_AUTH(qdata, ACL_ACTION_TRANSFER);
@@ -187,7 +187,7 @@ static int axfr_query_init(knotd_qdata_t *qdata)
return KNOT_EOK;
}
-int axfr_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
+knot_layer_state_t axfr_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
{
if (pkt == NULL || qdata == NULL) {
return KNOT_STATE_FAIL;
diff --git a/src/knot/nameserver/axfr.h b/src/knot/nameserver/axfr.h
index 81fcad8..25c5f1c 100644
--- a/src/knot/nameserver/axfr.h
+++ b/src/knot/nameserver/axfr.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2017 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -21,7 +21,5 @@
/*!
* \brief Process an AXFR query message.
- *
- * \return KNOT_STATE_* processing states
*/
-int axfr_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata);
+knot_layer_state_t axfr_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata);
diff --git a/src/knot/nameserver/internet.c b/src/knot/nameserver/internet.c
index 51bde97..034fd26 100644
--- a/src/knot/nameserver/internet.c
+++ b/src/knot/nameserver/internet.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -286,7 +286,7 @@ static int put_additional(knot_pkt_t *pkt, const knot_rrset_t *rr,
return ret;
}
-static int follow_cname(knot_pkt_t *pkt, uint16_t rrtype, knotd_qdata_t *qdata)
+static knotd_in_state_t follow_cname(knot_pkt_t *pkt, uint16_t rrtype, knotd_qdata_t *qdata)
{
/* CNAME chain processing limit. */
if (++qdata->extra->cname_chain > CNAME_CHAIN_MAX) {
@@ -369,7 +369,7 @@ static int follow_cname(knot_pkt_t *pkt, uint16_t rrtype, knotd_qdata_t *qdata)
return KNOTD_IN_STATE_FOLLOW;
}
-static int name_found(knot_pkt_t *pkt, knotd_qdata_t *qdata)
+static knotd_in_state_t name_found(knot_pkt_t *pkt, knotd_qdata_t *qdata)
{
uint16_t qtype = knot_pkt_qtype(pkt);
@@ -406,7 +406,7 @@ static int name_found(knot_pkt_t *pkt, knotd_qdata_t *qdata)
}
}
-static int name_not_found(knot_pkt_t *pkt, knotd_qdata_t *qdata)
+static knotd_in_state_t name_not_found(knot_pkt_t *pkt, knotd_qdata_t *qdata)
{
/* Name is covered by wildcard. */
if (qdata->extra->encloser->flags & NODE_FLAGS_WILDCARD_CHILD) {
@@ -419,7 +419,7 @@ static int name_not_found(knot_pkt_t *pkt, knotd_qdata_t *qdata)
assert(qdata->extra->node != NULL);
/* Follow expanded wildcard. */
- int next_state = name_found(pkt, qdata);
+ knotd_in_state_t next_state = name_found(pkt, qdata);
/* Put to wildcard node list. */
if (wildcard_has_visited(qdata, wildcard_node)) {
@@ -456,7 +456,8 @@ static int name_not_found(knot_pkt_t *pkt, knotd_qdata_t *qdata)
return KNOTD_IN_STATE_MISS;
}
-static int solve_name(int state, knot_pkt_t *pkt, knotd_qdata_t *qdata)
+static knotd_in_state_t solve_name(knotd_in_state_t state, knot_pkt_t *pkt,
+ knotd_qdata_t *qdata)
{
int ret = zone_contents_find_dname(qdata->extra->contents, qdata->name,
&qdata->extra->node, &qdata->extra->encloser,
@@ -475,7 +476,8 @@ static int solve_name(int state, knot_pkt_t *pkt, knotd_qdata_t *qdata)
}
}
-static int solve_answer(int state, knot_pkt_t *pkt, knotd_qdata_t *qdata, void *ctx)
+static knotd_in_state_t solve_answer(knotd_in_state_t state, knot_pkt_t *pkt,
+ knotd_qdata_t *qdata, void *ctx)
{
int old_state = state;
@@ -506,7 +508,8 @@ static int solve_answer(int state, knot_pkt_t *pkt, knotd_qdata_t *qdata, void *
return state;
}
-static int solve_answer_dnssec(int state, knot_pkt_t *pkt, knotd_qdata_t *qdata, void *ctx)
+static knotd_in_state_t solve_answer_dnssec(knotd_in_state_t state, knot_pkt_t *pkt,
+ knotd_qdata_t *qdata, void *ctx)
{
/* RFC4035, section 3.1 RRSIGs for RRs in ANSWER are mandatory. */
int ret = nsec_append_rrsigs(pkt, qdata, false);
@@ -517,7 +520,8 @@ static int solve_answer_dnssec(int state, knot_pkt_t *pkt, knotd_qdata_t *qdata,
}
}
-static int solve_authority(int state, knot_pkt_t *pkt, knotd_qdata_t *qdata, void *ctx)
+static knotd_in_state_t solve_authority(knotd_in_state_t state, knot_pkt_t *pkt,
+ knotd_qdata_t *qdata, void *ctx)
{
int ret = KNOT_ERROR;
const zone_contents_t *zone_contents = qdata->extra->contents;
@@ -554,7 +558,8 @@ static int solve_authority(int state, knot_pkt_t *pkt, knotd_qdata_t *qdata, voi
}
}
-static int solve_authority_dnssec(int state, knot_pkt_t *pkt, knotd_qdata_t *qdata, void *ctx)
+static knotd_in_state_t solve_authority_dnssec(knotd_in_state_t state, knot_pkt_t *pkt,
+ knotd_qdata_t *qdata, void *ctx)
{
int ret = KNOT_ERROR;
@@ -591,8 +596,8 @@ static int solve_authority_dnssec(int state, knot_pkt_t *pkt, knotd_qdata_t *qda
}
}
-static int solve_additional(int state, knot_pkt_t *pkt, knotd_qdata_t *qdata,
- void *ctx)
+static knotd_in_state_t solve_additional(knotd_in_state_t state, knot_pkt_t *pkt,
+ knotd_qdata_t *qdata, void *ctx)
{
int ret = KNOT_EOK, rrset_count = pkt->rrset_count;
@@ -621,7 +626,8 @@ static int solve_additional(int state, knot_pkt_t *pkt, knotd_qdata_t *qdata,
}
}
-static int solve_additional_dnssec(int state, knot_pkt_t *pkt, knotd_qdata_t *qdata, void *ctx)
+static knotd_in_state_t solve_additional_dnssec(knotd_in_state_t state, knot_pkt_t *pkt,
+ knotd_qdata_t *qdata, void *ctx)
{
/* RFC4035, section 3.1 RRSIGs for RRs in ADDITIONAL are optional. */
int ret = nsec_append_rrsigs(pkt, qdata, true);
@@ -641,9 +647,9 @@ static int solve_additional_dnssec(int state, knot_pkt_t *pkt, knotd_qdata_t *qd
return KNOT_STATE_FAIL; \
}
-static int answer_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
+static knot_layer_state_t answer_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
{
- int state = KNOTD_IN_STATE_BEGIN;
+ knotd_in_state_t state = KNOTD_IN_STATE_BEGIN;
struct query_plan *plan = qdata->extra->zone->query_plan;
struct query_step *step;
@@ -652,7 +658,8 @@ static int answer_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
/* Resolve PREANSWER. */
if (plan != NULL) {
WALK_LIST(step, plan->stage[KNOTD_STAGE_PREANSWER]) {
- SOLVE_STEP(step->process, state, step->ctx);
+ assert(step->type == QUERY_HOOK_TYPE_IN);
+ SOLVE_STEP(step->in_hook, state, step->ctx);
}
}
@@ -664,7 +671,8 @@ static int answer_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
}
if (plan != NULL) {
WALK_LIST(step, plan->stage[KNOTD_STAGE_ANSWER]) {
- SOLVE_STEP(step->process, state, step->ctx);
+ assert(step->type == QUERY_HOOK_TYPE_IN);
+ SOLVE_STEP(step->in_hook, state, step->ctx);
}
}
@@ -676,7 +684,8 @@ static int answer_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
}
if (plan != NULL) {
WALK_LIST(step, plan->stage[KNOTD_STAGE_AUTHORITY]) {
- SOLVE_STEP(step->process, state, step->ctx);
+ assert(step->type == QUERY_HOOK_TYPE_IN);
+ SOLVE_STEP(step->in_hook, state, step->ctx);
}
}
@@ -688,7 +697,8 @@ static int answer_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
}
if (plan != NULL) {
WALK_LIST(step, plan->stage[KNOTD_STAGE_ADDITIONAL]) {
- SOLVE_STEP(step->process, state, step->ctx);
+ assert(step->type == QUERY_HOOK_TYPE_IN);
+ SOLVE_STEP(step->in_hook, state, step->ctx);
}
}
@@ -698,7 +708,7 @@ static int answer_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
return KNOT_STATE_DONE;
}
-int internet_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
+knot_layer_state_t internet_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
{
if (pkt == NULL || qdata == NULL) {
return KNOT_STATE_FAIL;
diff --git a/src/knot/nameserver/internet.h b/src/knot/nameserver/internet.h
index 52afe62..bb6927d 100644
--- a/src/knot/nameserver/internet.h
+++ b/src/knot/nameserver/internet.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -25,11 +25,8 @@
/*!
* \brief Answer query from an IN class zone.
- *
- * \retval KNOT_STATE_FAIL if it encountered an error.
- * \retval KNOT_STATE_DONE if finished.
*/
-int internet_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata);
+knot_layer_state_t internet_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata);
/*! \brief Require given QUERY TYPE or return error code. */
#define NS_NEED_QTYPE(qdata, qtype_want, error_rcode) \
@@ -68,12 +65,6 @@ int internet_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata);
if (!process_query_acl_check(conf(), (action), (qdata)) || \
process_query_verify(qdata) != KNOT_EOK) { \
return KNOT_STATE_FAIL; \
- }
-
-/*! \brief Require the zone not to be frozen. */
-#define NS_NEED_NOT_FROZEN(qdata) \
- if ((qdata)->extra->zone->events.ufrozen) { \
- (qdata)->rcode = KNOT_RCODE_REFUSED; \
- (qdata)->rcode_ede = KNOT_EDNS_EDE_NOT_READY; \
- return KNOT_STATE_FAIL; \
+ } else { \
+ qdata->params->flags |= KNOTD_QUERY_FLAG_AUTHORIZED; \
}
diff --git a/src/knot/nameserver/ixfr.c b/src/knot/nameserver/ixfr.c
index b57759c..c0e17ea 100644
--- a/src/knot/nameserver/ixfr.c
+++ b/src/knot/nameserver/ixfr.c
@@ -130,7 +130,7 @@ static int ixfr_load_chsets(journal_read_t **journal_read, zone_t *zone,
return journal_read_begin(zone_journal(zone), false, serial_from, journal_read);
}
-static int ixfr_query_check(knotd_qdata_t *qdata)
+static knot_layer_state_t ixfr_query_check(knotd_qdata_t *qdata)
{
NS_NEED_ZONE(qdata, KNOT_RCODE_NOTAUTH);
NS_NEED_AUTH(qdata, ACL_ACTION_TRANSFER);
@@ -174,7 +174,7 @@ static void ixfr_answer_finished(knotd_qdata_t *qdata, knot_pkt_t *pkt, int stat
xfr_stats_add(&xfr->stats, pkt->size);
xfr_stats_end(&xfr->stats);
xfr_log_finished(ZONE_NAME(qdata), LOG_OPERATION_IXFR, LOG_DIRECTION_OUT,
- REMOTE(qdata), PROTO(qdata), KEY(qdata), &xfr->stats);
+ REMOTE(qdata), PROTO(qdata), KEY(qdata), "", &xfr->stats);
break;
default:
break;
@@ -245,13 +245,13 @@ static int ixfr_answer_init(knotd_qdata_t *qdata, uint32_t *serial_from)
return KNOT_EOK;
}
-static int ixfr_answer_soa(knot_pkt_t *pkt, knotd_qdata_t *qdata)
+static knot_layer_state_t ixfr_answer_soa(knot_pkt_t *pkt, knotd_qdata_t *qdata)
{
assert(pkt);
assert(qdata);
/* Check query. */
- int state = ixfr_query_check(qdata);
+ knot_layer_state_t state = ixfr_query_check(qdata);
if (state == KNOT_STATE_FAIL) {
return state; /* Malformed query. */
}
@@ -277,7 +277,7 @@ static int ixfr_answer_soa(knot_pkt_t *pkt, knotd_qdata_t *qdata)
return KNOT_STATE_DONE;
}
-int ixfr_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
+knot_layer_state_t ixfr_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
{
if (pkt == NULL || qdata == NULL) {
return KNOT_STATE_FAIL;
diff --git a/src/knot/nameserver/ixfr.h b/src/knot/nameserver/ixfr.h
index 3012be1..91ce750 100644
--- a/src/knot/nameserver/ixfr.h
+++ b/src/knot/nameserver/ixfr.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -55,9 +55,5 @@ struct ixfr_proc {
/*!
* \brief IXFR query processing module.
- *
- * \retval PRODUCE if it has an answer, but not yet finished.
- * \retval FAIL if it encountered an error.
- * \retval DONE if finished.
*/
-int ixfr_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata);
+knot_layer_state_t ixfr_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata);
diff --git a/src/knot/nameserver/log.h b/src/knot/nameserver/log.h
index 5a5d5f0..373d65a 100644
--- a/src/knot/nameserver/log.h
+++ b/src/knot/nameserver/log.h
@@ -81,6 +81,8 @@ static inline const char *log_conn_info(knotd_query_proto_t proto, bool pool)
return pool ? " TCP/pool" : " TCP";
case KNOTD_QUERY_PROTO_QUIC:
return pool ? " QUIC/0-RTT" : " QUIC";
+ case KNOTD_QUERY_PROTO_TLS:
+ return " TLS";
default:
return "";
}
diff --git a/src/knot/nameserver/notify.c b/src/knot/nameserver/notify.c
index eaa305a..5b1593f 100644
--- a/src/knot/nameserver/notify.c
+++ b/src/knot/nameserver/notify.c
@@ -29,7 +29,7 @@
LOG_DIRECTION_IN, (qdata)->params->remote, (qdata)->params->proto, \
false, (qdata)->sign.tsig_key.name, fmt)
-static int notify_check_query(knotd_qdata_t *qdata)
+static knot_layer_state_t notify_check_query(knotd_qdata_t *qdata)
{
NS_NEED_ZONE(qdata, KNOT_RCODE_NOTAUTH);
NS_NEED_AUTH(qdata, ACL_ACTION_NOTIFY);
@@ -39,14 +39,14 @@ static int notify_check_query(knotd_qdata_t *qdata)
return KNOT_STATE_DONE;
}
-int notify_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
+knot_layer_state_t notify_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
{
if (pkt == NULL || qdata == NULL) {
return KNOT_STATE_FAIL;
}
/* Validate notification query. */
- int state = notify_check_query(qdata);
+ knot_layer_state_t state = notify_check_query(qdata);
if (state == KNOT_STATE_FAIL) {
switch (qdata->rcode) {
case KNOT_RCODE_NOTAUTH: /* Not authorized, already logged. */
diff --git a/src/knot/nameserver/notify.h b/src/knot/nameserver/notify.h
index d0bff14..0e60b58 100644
--- a/src/knot/nameserver/notify.h
+++ b/src/knot/nameserver/notify.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -21,8 +21,5 @@
/*!
* \brief Answer IN class zone NOTIFY message (RFC1996).
- *
- * \retval FAIL if it encountered an error.
- * \retval DONE if finished.
*/
-int notify_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata);
+knot_layer_state_t notify_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata);
diff --git a/src/knot/nameserver/nsec_proofs.c b/src/knot/nameserver/nsec_proofs.c
index 71944b1..b67566c 100644
--- a/src/knot/nameserver/nsec_proofs.c
+++ b/src/knot/nameserver/nsec_proofs.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -121,11 +121,11 @@ static const knot_dname_t *get_next_closer(const knot_dname_t *closest_encloser,
size_t ce_labels = knot_dname_labels(closest_encloser, NULL);
size_t qname_labels = knot_dname_labels(name, NULL);
for (int i = 0; i < (qname_labels - ce_labels - 1); ++i) {
- name = knot_wire_next_label(name, NULL);
+ name = knot_dname_next_label(name);
}
// the common labels should match
- assert(knot_dname_is_equal(knot_wire_next_label(name, NULL), closest_encloser));
+ assert(knot_dname_is_equal(knot_dname_next_label(name), closest_encloser));
return name;
}
diff --git a/src/knot/nameserver/process_query.c b/src/knot/nameserver/process_query.c
index 00ec001..beced84 100644
--- a/src/knot/nameserver/process_query.c
+++ b/src/knot/nameserver/process_query.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -30,9 +30,9 @@
#include "knot/nameserver/notify.h"
#include "knot/server/server.h"
#include "libknot/libknot.h"
-#ifdef ENABLE_QUIC
-#include "libknot/quic/quic.h"
-#endif // ENABLE_QUIC
+#include "libknot/quic/quic_conn.h"
+#include "libknot/quic/tls_common.h"
+#include "libknot/quic/tls.h"
#include "contrib/base64.h"
#include "contrib/macros.h"
#include "contrib/mempattern.h"
@@ -147,7 +147,7 @@ static int process_query_in(knot_layer_t *ctx, knot_pkt_t *pkt)
/*!
* \brief Create a response for a given query in the INTERNET class.
*/
-static int query_internet(knot_pkt_t *pkt, knot_layer_t *ctx)
+static knot_layer_state_t query_internet(knot_pkt_t *pkt, knot_layer_t *ctx)
{
knotd_qdata_t *data = QUERY_DATA(ctx);
@@ -167,7 +167,7 @@ static int query_internet(knot_pkt_t *pkt, knot_layer_t *ctx)
/*!
* \brief Create a response for a given query in the CHAOS class.
*/
-static int query_chaos(knot_pkt_t *pkt, knot_layer_t *ctx)
+static knot_layer_state_t query_chaos(knot_pkt_t *pkt, knot_layer_t *ctx)
{
knotd_qdata_t *data = QUERY_DATA(ctx);
@@ -203,7 +203,7 @@ static zone_t *answer_zone_find(const knot_pkt_t *query, knot_zonedb_t *zonedb)
* records are only present in a parent zone.
*/
if (qtype == KNOT_RRTYPE_DS) {
- const knot_dname_t *parent = knot_wire_next_label(qname, NULL);
+ const knot_dname_t *parent = knot_dname_next_label(qname);
zone = knot_zonedb_find_suffix(zonedb, parent);
/* If zone does not exist, search for its parent zone,
this will later result to NODATA answer. */
@@ -364,6 +364,7 @@ static int answer_edns_put(knot_pkt_t *resp, knotd_qdata_t *qdata)
if (knot_pkt_edns_option(qdata->query, KNOT_EDNS_OPTION_EXPIRE) != NULL &&
qdata->extra->contents != NULL && !qdata->extra->zone->is_catalog_flag) {
int64_t timer = qdata->extra->zone->timers.next_expire;
+ timer = knot_time_min(timer, qdata->extra->contents->dnssec_expire); // NOOP if zero
timer = (timer == 0 ? zone_soa_expire(qdata->extra->zone) : timer - time(NULL));
timer = MAX(timer, 0);
uint32_t timer_be;
@@ -389,8 +390,8 @@ static int answer_edns_put(knot_pkt_t *resp, knotd_qdata_t *qdata)
return ret;
}
- /* Align the response if QUIC with EDNS. */
- if (qdata->params->proto == KNOTD_QUERY_PROTO_QUIC) {
+ /* Align the response if QUIC or TLS with EDNS. */
+ if (qdata->params->proto == KNOTD_QUERY_PROTO_QUIC || qdata->params->proto == KNOTD_QUERY_PROTO_TLS) {
int pad_len = knot_pkt_default_padding_size(resp, &qdata->opt_rr);
if (pad_len > -1) {
ret = knot_edns_reserve_option(&qdata->opt_rr, KNOT_EDNS_OPTION_PADDING,
@@ -506,7 +507,7 @@ static void set_rcode_to_packet(knot_pkt_t *pkt, knotd_qdata_t *qdata)
knot_wire_set_rcode(pkt->wire, KNOT_EDNS_RCODE_LO(qdata->rcode));
}
-static int process_query_err(knot_layer_t *ctx, knot_pkt_t *pkt)
+static knot_layer_state_t process_query_err(knot_layer_t *ctx, knot_pkt_t *pkt)
{
assert(ctx && pkt);
@@ -552,7 +553,8 @@ static int process_query_err(knot_layer_t *ctx, knot_pkt_t *pkt)
#define PROCESS_BEGIN(plan, step, next_state, qdata) \
if (plan != NULL) { \
WALK_LIST(step, plan->stage[KNOTD_STAGE_BEGIN]) { \
- next_state = step->process(next_state, pkt, qdata, step->ctx); \
+ assert(step->type == QUERY_HOOK_TYPE_GENERAL); \
+ next_state = step->general_hook(next_state, pkt, qdata, step->ctx); \
if (next_state == KNOT_STATE_FAIL) { \
goto finish; \
} \
@@ -562,7 +564,8 @@ static int process_query_err(knot_layer_t *ctx, knot_pkt_t *pkt)
#define PROCESS_END(plan, step, next_state, qdata) \
if (plan != NULL) { \
WALK_LIST(step, plan->stage[KNOTD_STAGE_END]) { \
- next_state = step->process(next_state, pkt, qdata, step->ctx); \
+ assert(step->type == QUERY_HOOK_TYPE_GENERAL); \
+ next_state = step->general_hook(next_state, pkt, qdata, step->ctx); \
if (next_state == KNOT_STATE_FAIL) { \
next_state = process_query_err(ctx, pkt); \
} \
@@ -705,43 +708,53 @@ bool process_query_acl_check(conf_t *conf, acl_action_t action,
bool automatic = false;
bool allowed = false;
+ struct gnutls_session_int *tls_session;
+ switch (qdata->params->proto) {
+ case KNOTD_QUERY_PROTO_QUIC: tls_session = qdata->params->quic_conn->tls_session; break;
+ case KNOTD_QUERY_PROTO_TLS: tls_session = qdata->params->tls_conn->session; break;
+ default: tls_session = NULL;
+ }
+
if (action != ACL_ACTION_UPDATE) {
// ACL_ACTION_QUERY is used for SOA/refresh query.
assert(action == ACL_ACTION_QUERY || action == ACL_ACTION_NOTIFY ||
action == ACL_ACTION_TRANSFER);
const yp_name_t *item = (action == ACL_ACTION_NOTIFY) ? C_MASTER : C_NOTIFY;
conf_val_t rmts = conf_zone_get(conf, item, zone_name);
- allowed = rmt_allowed(conf, &rmts, query_source, &tsig,
- qdata->params->quic_conn);
+ allowed = rmt_allowed(conf, &rmts, query_source, &tsig, tls_session);
automatic = allowed;
}
if (!allowed) {
conf_val_t acl = conf_zone_get(conf, C_ACL, zone_name);
allowed = acl_allowed(conf, &acl, action, query_source, &tsig,
- zone_name, query, qdata->params->quic_conn);
+ zone_name, query, tls_session);
}
if (log_enabled_debug()) {
int pin_size = 0;
-#ifdef ENABLE_QUIC
- uint8_t bin_pin[KNOT_QUIC_PIN_LEN], pin[2 * KNOT_QUIC_PIN_LEN];
+ uint8_t bin_pin[KNOT_TLS_PIN_LEN], pin[2 * KNOT_TLS_PIN_LEN];
size_t bin_pin_size = sizeof(bin_pin);
- knot_quic_conn_pin(qdata->params->quic_conn, bin_pin, &bin_pin_size, false);
+ knot_tls_pin(tls_session, bin_pin, &bin_pin_size, false);
if (bin_pin_size > 0) {
pin_size = knot_base64_encode(bin_pin, bin_pin_size, pin, sizeof(pin));
}
-#else
- uint8_t pin[1];
-#endif // ENABLE_QUIC
+
+ const char *proto_str;
+ switch (qdata->params->proto) {
+ case KNOTD_QUERY_PROTO_UDP: proto_str = " UDP"; break;
+ case KNOTD_QUERY_PROTO_TCP: proto_str = " TCP"; break;
+ case KNOTD_QUERY_PROTO_QUIC: proto_str = " QUIC"; break;
+ case KNOTD_QUERY_PROTO_TLS: proto_str = " TLS"; break;
+ default: proto_str = "";
+ }
log_zone_debug(zone_name,
"ACL, %s, action %s, remote %s%s%s%s%s%.*s%s",
allowed ? "allowed" : "denied",
(act != NULL) ? act->name : "query",
- addr_str,
+ addr_str, proto_str,
(key_name[0] != '\0') ? ", key " : "",
(key_name[0] != '\0') ? key_name : "",
- (qdata->params->proto == KNOTD_QUERY_PROTO_QUIC) ? ", QUIC" : "",
(pin_size > 0) ? " cert-key " : "",
(pin_size > 0) ? pin_size : 0,
(pin_size > 0) ? (const char *)pin : "",
@@ -994,6 +1007,30 @@ int process_query_put_rr(knot_pkt_t *pkt, knotd_qdata_t *qdata,
return ret;
}
+knotd_proto_state_t process_query_proto(knotd_qdata_params_t *params,
+ const knotd_stage_t stage)
+{
+ assert(params);
+ assert(stage == KNOTD_STAGE_PROTO_BEGIN || stage == KNOTD_STAGE_PROTO_END);
+
+ knotd_proto_state_t state = KNOTD_PROTO_STATE_PASS;
+
+ rcu_read_lock();
+
+ struct query_plan *plan = conf()->query_plan;
+ if (plan != NULL) {
+ struct query_step *step;
+ WALK_LIST(step, plan->stage[stage]) {
+ assert(step->type == QUERY_HOOK_TYPE_PROTO);
+ state = step->proto_hook(state, params, step->ctx);
+ }
+ }
+
+ rcu_read_unlock();
+
+ return state;
+}
+
/*! \brief Module implementation. */
const knot_layer_api_t *process_query_layer(void)
{
diff --git a/src/knot/nameserver/process_query.h b/src/knot/nameserver/process_query.h
index 42e66be..c005b58 100644
--- a/src/knot/nameserver/process_query.h
+++ b/src/knot/nameserver/process_query.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -106,3 +106,14 @@ int process_query_sign_response(knot_pkt_t *pkt, knotd_qdata_t *qdata);
int process_query_put_rr(knot_pkt_t *pkt, knotd_qdata_t *qdata,
const knot_rrset_t *rr, const knot_rrset_t *rrsigs,
uint16_t compr_hint, uint32_t flags);
+
+/*!
+ * \brief Processes all global module protocol callbacks at given stage.
+ *
+ * \param params Query processing parameters.
+ * \param stage Processing stage (KNOTD_STAGE_PROTO_BEGIN or KNOTD_STAGE_PROTO_END).
+ *
+ * \return Resulting state.
+ */
+knotd_proto_state_t process_query_proto(knotd_qdata_params_t *params,
+ const knotd_stage_t stage);
diff --git a/src/knot/nameserver/query_module.c b/src/knot/nameserver/query_module.c
index f02ee1b..0708b17 100644
--- a/src/knot/nameserver/query_module.c
+++ b/src/knot/nameserver/query_module.c
@@ -32,17 +32,6 @@
#include "knot/nameserver/query_module.h"
#include "knot/nameserver/process_query.h"
-#ifdef HAVE_ATOMIC
- #define ATOMIC_ADD(dst, val) __atomic_add_fetch(&(dst), (val), __ATOMIC_RELAXED)
- #define ATOMIC_SUB(dst, val) __atomic_sub_fetch(&(dst), (val), __ATOMIC_RELAXED)
- #define ATOMIC_SET(dst, val) __atomic_store_n(&(dst), (val), __ATOMIC_RELAXED)
-#else
- #warning "Statistics data can be inaccurate"
- #define ATOMIC_ADD(dst, val) ((dst) += (val))
- #define ATOMIC_SUB(dst, val) ((dst) -= (val))
- #define ATOMIC_SET(dst, val) ((dst) = (val))
-#endif
-
_public_
int knotd_conf_check_ref(knotd_conf_check_args_t *args)
{
@@ -79,30 +68,31 @@ void query_plan_free(struct query_plan *plan)
free(plan);
}
-static struct query_step *make_step(query_step_process_f process, void *ctx)
+int query_plan_step(struct query_plan *plan, knotd_stage_t stage,
+ query_hook_type_t type, void *hook, void *ctx)
{
- struct query_step *step = calloc(1, sizeof(struct query_step));
+ struct query_step *step = calloc(1, sizeof(*step));
if (step == NULL) {
- return NULL;
+ return KNOT_ENOMEM;
}
- step->process = process;
+ step->type = type;
+ step->general_hook = hook;
step->ctx = ctx;
- return step;
+ add_tail(&plan->stage[stage], &step->node);
+
+ return KNOT_EOK;
}
-int query_plan_step(struct query_plan *plan, knotd_stage_t stage,
- query_step_process_f process, void *ctx)
+_public_
+int knotd_mod_proto_hook(knotd_mod_t *mod, knotd_stage_t stage, knotd_mod_proto_hook_f hook)
{
- struct query_step *step = make_step(process, ctx);
- if (step == NULL) {
- return KNOT_ENOMEM;
+ if (stage != KNOTD_STAGE_PROTO_BEGIN && stage != KNOTD_STAGE_PROTO_END) {
+ return KNOT_EINVAL;
}
- add_tail(&plan->stage[stage], &step->node);
-
- return KNOT_EOK;
+ return query_plan_step(mod->plan, stage, QUERY_HOOK_TYPE_PROTO, hook, mod);
}
_public_
@@ -112,17 +102,18 @@ int knotd_mod_hook(knotd_mod_t *mod, knotd_stage_t stage, knotd_mod_hook_f hook)
return KNOT_EINVAL;
}
- return query_plan_step(mod->plan, stage, hook, mod);
+ return query_plan_step(mod->plan, stage, QUERY_HOOK_TYPE_GENERAL, hook, mod);
}
_public_
int knotd_mod_in_hook(knotd_mod_t *mod, knotd_stage_t stage, knotd_mod_in_hook_f hook)
{
- if (stage == KNOTD_STAGE_BEGIN || stage == KNOTD_STAGE_END) {
+ if (stage != KNOTD_STAGE_PREANSWER && stage != KNOTD_STAGE_ANSWER &&
+ stage != KNOTD_STAGE_AUTHORITY && stage != KNOTD_STAGE_ADDITIONAL) {
return KNOT_EINVAL;
}
- return query_plan_step(mod->plan, stage, hook, mod);
+ return query_plan_step(mod->plan, stage, QUERY_HOOK_TYPE_IN, hook, mod);
}
knotd_mod_t *query_module_open(conf_t *conf, server_t *server, conf_mod_id_t *mod_id,
@@ -313,8 +304,8 @@ int knotd_mod_stats_add(knotd_mod_t *mod, const char *ctr_name, uint32_t idx_cou
stats += mod->stats_count;
for (unsigned i = 0; i < threads; i++) {
- uint64_t *new_vals = realloc(mod->stats_vals[i],
- (offset + idx_count) * sizeof(*new_vals));
+ knot_atomic_uint64_t *new_vals = realloc(mod->stats_vals[i],
+ (offset + idx_count) * sizeof(*new_vals));
if (new_vals == NULL) {
knotd_mod_stats_free(mod);
return KNOT_ENOMEM;
@@ -627,6 +618,7 @@ uint32_t knotd_qdata_rtt(knotd_qdata_t *qdata)
switch (qdata->params->proto) {
case KNOTD_QUERY_PROTO_TCP:
+ case KNOTD_QUERY_PROTO_TLS:
if (qdata->params->xdp_msg != NULL) {
#ifdef ENABLE_XDP
return qdata->params->measured_rtt;
diff --git a/src/knot/nameserver/query_module.h b/src/knot/nameserver/query_module.h
index 5cc905b..d403b25 100644
--- a/src/knot/nameserver/query_module.h
+++ b/src/knot/nameserver/query_module.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2020 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -22,24 +22,27 @@
#include "knot/dnssec/zone-keys.h"
#include "knot/include/module.h"
#include "knot/server/server.h"
+#include "contrib/atomic.h"
#include "contrib/ucw/lists.h"
-#ifdef HAVE_ATOMIC
- #define ATOMIC_GET(src) __atomic_load_n(&(src), __ATOMIC_RELAXED)
-#else
- #define ATOMIC_GET(src) (src)
-#endif
+#define KNOTD_STAGES (KNOTD_STAGE_PROTO_END + 1)
-#define KNOTD_STAGES (KNOTD_STAGE_END + 1)
+typedef enum {
+ QUERY_HOOK_TYPE_PROTO,
+ QUERY_HOOK_TYPE_GENERAL,
+ QUERY_HOOK_TYPE_IN,
+} query_hook_type_t;
-typedef unsigned (*query_step_process_f)
- (unsigned state, knot_pkt_t *pkt, knotd_qdata_t *qdata, knotd_mod_t *mod);
-
-/*! \brief Single processing step in query processing. */
+/*! \brief Single processing step in query/module processing. */
struct query_step {
node_t node;
+ query_hook_type_t type;
+ union {
+ knotd_mod_proto_hook_f proto_hook;
+ knotd_mod_hook_f general_hook;
+ knotd_mod_in_hook_f in_hook;
+ };
void *ctx;
- query_step_process_f process;
};
/*! Query plan represents a sequence of steps needed for query processing
@@ -58,7 +61,7 @@ void query_plan_free(struct query_plan *plan);
/*! \brief Plan another step for given stage. */
int query_plan_step(struct query_plan *plan, knotd_stage_t stage,
- query_step_process_f process, void *ctx);
+ query_hook_type_t type, void *hook, void *ctx);
/*! \brief Open query module identified by name. */
knotd_mod_t *query_module_open(conf_t *conf, server_t *server, conf_mod_id_t *mod_id,
@@ -91,7 +94,7 @@ struct knotd_mod {
zone_keyset_t *keyset;
zone_sign_ctx_t *sign_ctx;
mod_ctr_t *stats_info;
- uint64_t **stats_vals;
+ knot_atomic_uint64_t **stats_vals;
uint32_t stats_count;
void *ctx;
};
diff --git a/src/knot/nameserver/update.c b/src/knot/nameserver/update.c
index 1168c94..ee884fd 100644
--- a/src/knot/nameserver/update.c
+++ b/src/knot/nameserver/update.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -22,12 +22,23 @@
#include "knot/query/requestor.h"
#include "contrib/sockaddr.h"
#include "libknot/libknot.h"
+#include "libknot/quic/quic_conn.h"
+#include "libknot/quic/tls.h"
static int update_enqueue(zone_t *zone, knotd_qdata_t *qdata)
{
assert(zone);
assert(qdata);
+ pthread_mutex_lock(&zone->ddns_lock);
+ if (zone->events.ufrozen && zone->ddns_queue_size >= 8) {
+ pthread_mutex_unlock(&zone->ddns_lock);
+ qdata->rcode = KNOT_RCODE_REFUSED;
+ qdata->rcode_ede = KNOT_EDNS_EDE_NOT_READY;
+ return KNOT_ELIMIT;
+ }
+ pthread_mutex_unlock(&zone->ddns_lock);
+
/* Create serialized request. */
knot_request_t *req = calloc(1, sizeof(*req));
if (req == NULL) {
@@ -63,6 +74,22 @@ static int update_enqueue(zone_t *zone, knotd_qdata_t *qdata)
assert(req->sign.tsig_key.algorithm == knot_tsig_rdata_alg(req->query->tsig_rr));
}
+#ifdef ENABLE_QUIC
+ if (qdata->params->quic_conn != NULL) {
+ req->flags |= KNOT_REQUEST_QUIC;
+ req->quic_conn = qdata->params->quic_conn;
+ knot_quic_conn_block(req->quic_conn, true);
+ assert(qdata->params->quic_stream >= 0);
+ req->quic_stream = qdata->params->quic_stream;
+ } else
+#endif // ENABLE_QUIC
+ if (qdata->params->tls_conn != NULL) {
+ req->flags |= KNOT_REQUEST_TLS;
+ req->tls_req_ctx.conn = qdata->params->tls_conn;
+ req->tls_req_ctx.conn->fd_clones_count++;
+ knot_tls_conn_block(req->tls_req_ctx.conn, true);
+ }
+
pthread_mutex_lock(&zone->ddns_lock);
/* Enqueue created request. */
@@ -77,10 +104,10 @@ static int update_enqueue(zone_t *zone, knotd_qdata_t *qdata)
return KNOT_EOK;
}
-int update_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
+knot_layer_state_t update_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
{
/* DDNS over XDP not supported. */
- if (qdata->params->xdp_msg != NULL || qdata->params->proto == KNOTD_QUERY_PROTO_QUIC) {
+ if (qdata->params->xdp_msg != NULL) {
qdata->rcode = KNOT_RCODE_SERVFAIL;
return KNOT_STATE_FAIL;
}
@@ -95,8 +122,6 @@ int update_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata)
NS_NEED_AUTH(qdata, ACL_ACTION_UPDATE);
/* Check expiration. */
NS_NEED_ZONE_CONTENTS(qdata);
- /* Check frozen zone. */
- NS_NEED_NOT_FROZEN(qdata);
/* Store update into DDNS queue. */
int ret = update_enqueue((zone_t *)qdata->extra->zone, qdata);
diff --git a/src/knot/nameserver/update.h b/src/knot/nameserver/update.h
index 609acd9..430b323 100644
--- a/src/knot/nameserver/update.h
+++ b/src/knot/nameserver/update.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2019 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -21,7 +21,5 @@
/*!
* \brief UPDATE query processing module.
- *
- * \return KNOT_STATE_* processing states
*/
-int update_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata);
+knot_layer_state_t update_process_query(knot_pkt_t *pkt, knotd_qdata_t *qdata);
diff --git a/src/knot/nameserver/xfr.h b/src/knot/nameserver/xfr.h
index e6d06b6..fe8a7a8 100644
--- a/src/knot/nameserver/xfr.h
+++ b/src/knot/nameserver/xfr.h
@@ -38,12 +38,12 @@ static inline
void xfr_log_finished(const knot_dname_t *zone, log_operation_t op,
log_direction_t dir, const struct sockaddr_storage *remote,
knotd_query_proto_t proto, const knot_dname_t *key_name,
- const struct xfr_stats *stats)
+ const char *serial_log, const struct xfr_stats *stats)
{
ns_log(LOG_INFO, zone, op, dir, remote, proto, false, key_name,
- "%sfinished, %0.2f seconds, %u messages, %u bytes",
+ "%sfinished,%s %0.2f seconds, %u messages, %u bytes",
(proto == KNOTD_QUERY_PROTO_QUIC && dir == LOG_DIRECTION_OUT ? "buffering " : ""),
- time_diff_ms(&stats->begin, &stats->end) / 1000.0,
+ serial_log, time_diff_ms(&stats->begin, &stats->end) / 1000.0,
stats->messages, stats->bytes);
}
diff --git a/src/knot/query/quic-requestor.c b/src/knot/query/quic-requestor.c
index 62008f9..7492efd 100644
--- a/src/knot/query/quic-requestor.c
+++ b/src/knot/query/quic-requestor.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -28,7 +28,6 @@
#include "knot/conf/conf.h" // please use this only for tiny stuff like quic-log
#include "knot/server/handler.h"
#include "libknot/error.h"
-#include "libknot/quic/quic.h"
#define QUIC_BUF_SIZE 4096
@@ -63,6 +62,7 @@ static int quic_exchange(knot_quic_conn_t *conn, knot_quic_reply_t *r, int timeo
int64_t quic_timeout_ms = knot_quic_conn_next_timeout(conn);
quic_timeout_ms = MIN(quic_timeout_ms, timeout_remain);
quic_timeout_ms = MIN(quic_timeout_ms, timeout_ms / 2);
+ quic_timeout_ms = MAX(quic_timeout_ms, 1);
r->in_payload->iov_len = QUIC_BUF_SIZE;
@@ -156,7 +156,7 @@ int knot_qreq_connect(struct knot_quic_reply **out,
int fd,
struct sockaddr_storage *remote,
struct sockaddr_storage *local,
- const struct knot_quic_creds *local_creds,
+ const struct knot_creds *local_creds,
const uint8_t *peer_pin,
uint8_t peer_pin_len,
bool *reused_fd,
@@ -179,8 +179,7 @@ int knot_qreq_connect(struct knot_quic_reply **out,
r->send_reply = qr_send_reply;
r->free_reply = qr_free_reply;
- struct knot_quic_creds *creds = knot_quic_init_creds_peer(local_creds,
- peer_pin, peer_pin_len);
+ struct knot_creds *creds = knot_creds_init_peer(local_creds, peer_pin, peer_pin_len);
if (creds == NULL) {
free(r);
return KNOT_ENOMEM;
@@ -190,7 +189,7 @@ int knot_qreq_connect(struct knot_quic_reply **out,
knot_quic_table_t *table = knot_quic_table_new(1, QUIC_BUF_SIZE,
QUIC_BUF_SIZE, 0, creds);
if (table == NULL) {
- knot_quic_free_creds(creds);
+ knot_creds_free(creds);
free(r);
return KNOT_ENOMEM;
}
@@ -294,7 +293,7 @@ void knot_qreq_close(struct knot_quic_reply *r, bool send_close)
knot_quic_table_rem(conn, table);
knot_quic_cleanup(&conn, 1);
if (table != NULL) {
- knot_quic_free_creds(table->creds);
+ knot_creds_free(table->creds);
}
knot_quic_table_free(table);
free(r);
diff --git a/src/knot/query/quic-requestor.h b/src/knot/query/quic-requestor.h
index b5f479e..083254d 100644
--- a/src/knot/query/quic-requestor.h
+++ b/src/knot/query/quic-requestor.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -17,15 +17,13 @@
#pragma once
#include "contrib/sockaddr.h"
-
-struct knot_quic_creds;
-struct knot_quic_reply;
+#include "libknot/quic/quic.h"
int knot_qreq_connect(struct knot_quic_reply **out,
int fd,
struct sockaddr_storage *remote,
struct sockaddr_storage *local,
- const struct knot_quic_creds *local_creds,
+ const struct knot_creds *local_creds,
const uint8_t *peer_pin,
uint8_t peer_pin_len,
bool *reused_fd,
diff --git a/src/knot/query/requestor.c b/src/knot/query/requestor.c
index 436f009..125c036 100644
--- a/src/knot/query/requestor.c
+++ b/src/knot/query/requestor.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -18,12 +18,13 @@
#include <sys/socket.h>
#include "libknot/attribute.h"
+#include "libknot/errcode.h"
+#include "libknot/quic/tls.h"
#include "knot/common/unreachable.h"
#include "knot/query/requestor.h"
#ifdef ENABLE_QUIC
#include "knot/query/quic-requestor.h"
#endif // ENABLE_QUIC
-#include "libknot/errcode.h"
#include "contrib/conn_pool.h"
#include "contrib/mempattern.h"
#include "contrib/net.h"
@@ -39,6 +40,11 @@ static bool use_quic(knot_request_t *request)
return (request->flags & KNOT_REQUEST_QUIC) != 0;
}
+static bool use_tls(knot_request_t *request)
+{
+ return (request->flags & KNOT_REQUEST_TLS) != 0;
+}
+
static bool is_answer_to_query(const knot_pkt_t *query, const knot_pkt_t *answer)
{
return knot_wire_get_id(query->wire) == knot_wire_get_id(answer->wire);
@@ -104,6 +110,19 @@ static int request_ensure_connected(knot_request_t *request, bool *reused_fd, in
#endif // ENABLE_QUIC
}
+ if (use_tls(request)) {
+ assert(!use_quic(request));
+
+ int ret = knot_tls_req_ctx_init(&request->tls_req_ctx, request->fd,
+ request->creds, request->pin,
+ request->pin_len, timeout_ms);
+ if (ret != KNOT_EOK) {
+ close(request->fd);
+ request->fd = -1;
+ return ret;
+ }
+ }
+
return KNOT_EOK;
}
@@ -124,7 +143,9 @@ static int request_send(knot_request_t *request, int timeout_ms, bool *reused_fd
&request->remote : NULL;
/* Send query. */
- if (use_quic(request)) {
+ if (use_tls(request)) {
+ ret = knot_tls_send_dns(request->tls_req_ctx.conn, wire, wire_len);
+ } else if (use_quic(request)) {
#ifdef ENABLE_QUIC
struct iovec tosend = { wire, wire_len };
return knot_qreq_send(request->quic_ctx, &tosend);
@@ -162,7 +183,9 @@ static int request_recv(knot_request_t *request, int timeout_ms)
}
/* Receive it */
- if (use_quic(request)) {
+ if (use_tls(request)) {
+ ret = knot_tls_recv_dns(request->tls_req_ctx.conn, resp->wire, resp->max_size);
+ } else if (use_quic(request)) {
#ifdef ENABLE_QUIC
struct iovec recvd = { resp->wire, resp->max_size };
ret = knot_qreq_recv(request->quic_ctx, &recvd, timeout_ms);
@@ -192,7 +215,7 @@ knot_request_t *knot_request_make_generic(knot_mm_t *mm,
const struct sockaddr_storage *remote,
const struct sockaddr_storage *source,
knot_pkt_t *query,
- const struct knot_quic_creds *creds,
+ const struct knot_creds *creds,
const query_edns_data_t *edns,
const knot_tsig_key_t *tsig_key,
const uint8_t *pin,
@@ -232,7 +255,7 @@ knot_request_t *knot_request_make_generic(knot_mm_t *mm,
request->edns = edns;
request->creds = creds;
- if (flags & KNOT_REQUEST_QUIC && pin_len > 0) {
+ if ((flags & (KNOT_REQUEST_QUIC | KNOT_REQUEST_TLS)) && pin_len > 0) {
request->pin_len = pin_len;
memcpy(request->pin, pin, pin_len);
}
@@ -243,12 +266,15 @@ knot_request_t *knot_request_make_generic(knot_mm_t *mm,
knot_request_t *knot_request_make(knot_mm_t *mm,
const conf_remote_t *remote,
knot_pkt_t *query,
- const struct knot_quic_creds *creds,
+ const struct knot_creds *creds,
const query_edns_data_t *edns,
knot_request_flag_t flags)
{
if (remote->quic) {
+ assert(!remote->tls);
flags |= KNOT_REQUEST_QUIC;
+ } else if (remote->tls) {
+ flags |= KNOT_REQUEST_TLS;
}
return knot_request_make_generic(mm, &remote->addr, &remote->via,
@@ -262,15 +288,25 @@ void knot_request_free(knot_request_t *request, knot_mm_t *mm)
return;
}
- if (request->quic_ctx != NULL) {
+ if (use_quic(request)) {
#ifdef ENABLE_QUIC
- knot_qreq_close(request->quic_ctx, true);
+ if (request->quic_ctx != NULL) {
+ knot_qreq_close(request->quic_ctx, true);
+ }
+ // NOTE synthetic DDNSoQ request is NOOP here
#else
assert(0);
#endif // ENABLE_QUIC
+ } else if (use_tls(request) && request->tls_req_ctx.conn != NULL) {
+ knot_tls_req_ctx_deinit(&request->tls_req_ctx);
+ } else {
+ assert(request->quic_ctx == NULL);
+ assert(request->quic_conn == NULL);
+ assert(request->tls_req_ctx.ctx == NULL);
+ assert(request->tls_req_ctx.conn == NULL);
}
- if (request->fd >= 0 && use_tcp(request) &&
+ if (request->fd >= 0 && use_tcp(request) && !use_tls(request) &&
(request->flags & KNOT_REQUEST_KEEP)) {
request->fd = (int)conn_pool_put(global_conn_pool,
&request->source,
@@ -282,6 +318,7 @@ void knot_request_free(knot_request_t *request, knot_mm_t *mm)
}
knot_pkt_free(request->query);
knot_pkt_free(request->resp);
+ dnssec_binary_free(&request->sign.tsig_key.secret);
tsig_cleanup(&request->tsig);
mm_free(mm, request);
@@ -351,7 +388,7 @@ static int request_produce(knot_requestor_t *req, knot_request_t *last,
if (last->edns != NULL && !last->edns->no_edns) {
ret = query_put_edns(last->query, last->edns,
- (last->flags & KNOT_REQUEST_QUIC));
+ (last->flags & (KNOT_REQUEST_QUIC | KNOT_REQUEST_TLS)));
if (ret != KNOT_EOK) {
return ret;
}
@@ -376,6 +413,9 @@ static int request_produce(knot_requestor_t *req, knot_request_t *last,
if (last->flags & KNOT_REQUEST_QUIC) {
req->layer.flags |= KNOT_REQUESTOR_QUIC;
}
+ if (last->flags & KNOT_REQUEST_TLS) {
+ req->layer.flags |= KNOT_REQUESTOR_TLS;
+ }
}
return ret;
diff --git a/src/knot/query/requestor.h b/src/knot/query/requestor.h
index 65da1ed..241be04 100644
--- a/src/knot/query/requestor.h
+++ b/src/knot/query/requestor.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,26 +23,26 @@
#include "knot/nameserver/tsig_ctx.h"
#include "knot/query/layer.h"
#include "knot/query/query.h"
+#include "knot/query/tls-requestor.h"
#include "libknot/mm_ctx.h"
#include "libknot/rrtype/tsig.h"
-struct knot_quic_creds;
-struct knot_quic_reply;
-
typedef enum {
KNOT_REQUEST_NONE = 0, /*!< Empty flag. */
KNOT_REQUEST_UDP = 1 << 0, /*!< Use UDP for requests. */
KNOT_REQUEST_TFO = 1 << 1, /*!< Enable TCP Fast Open for requests. */
KNOT_REQUEST_KEEP = 1 << 2, /*!< Keep upstream TCP connection in pool for later reuse. */
KNOT_REQUEST_QUIC = 1 << 3, /*!< Use QUIC/UDP for requests. */
- KNOT_REQUEST_FWD = 1 << 4, /*!< Forwarded message, don't modify (TSIG, PADDING). */
+ KNOT_REQUEST_TLS = 1 << 4, /*!< Use DoT for requests. */
+ KNOT_REQUEST_FWD = 1 << 5, /*!< Forwarded message, don't modify (TSIG, PADDING). */
} knot_request_flag_t;
typedef enum {
KNOT_REQUESTOR_CLOSE = 1 << 0, /*!< Close the connection indication. */
KNOT_REQUESTOR_REUSED = 1 << 1, /*!< Reused FD indication (RO). */
KNOT_REQUESTOR_QUIC = 1 << 2, /*!< QUIC used indication (RO). */
- KNOT_REQUESTOR_IOFAIL = 1 << 3, /*!< Encountered error sending/recving data. */
+ KNOT_REQUESTOR_TLS = 1 << 3, /*!< DoT used indication (RO). */
+ KNOT_REQUESTOR_IOFAIL = 1 << 4, /*!< Encountered error sending/recving data. */
} knot_requestor_flag_t;
/*! \brief Requestor structure.
@@ -57,7 +57,14 @@ typedef struct {
/*! \brief Request data (socket, payload, response, TSIG and endpoints). */
typedef struct {
int fd;
- struct knot_quic_reply *quic_ctx;
+ union {
+ struct {
+ struct knot_quic_reply *quic_ctx;
+ struct knot_quic_conn *quic_conn;
+ int64_t quic_stream;
+ };
+ knot_tls_req_ctx_t tls_req_ctx;
+ };
knot_request_flag_t flags;
struct sockaddr_storage remote, source;
knot_pkt_t *query;
@@ -67,11 +74,22 @@ typedef struct {
knot_sign_context_t sign; /*!< Required for async. DDNS processing. */
- const struct knot_quic_creds *creds;
+ const struct knot_creds *creds;
size_t pin_len;
uint8_t pin[];
} knot_request_t;
+static inline knotd_query_proto_t flags2proto(unsigned layer_flags)
+{
+ knotd_query_proto_t proto = KNOTD_QUERY_PROTO_TCP;
+ if ((layer_flags & KNOT_REQUESTOR_QUIC)) {
+ proto = KNOTD_QUERY_PROTO_QUIC;
+ } else if ((layer_flags & KNOT_REQUESTOR_TLS)) {
+ proto = KNOTD_QUERY_PROTO_TLS;
+ }
+ return proto;
+}
+
/*!
* \brief Make request out of endpoints and query.
*
@@ -92,7 +110,7 @@ knot_request_t *knot_request_make_generic(knot_mm_t *mm,
const struct sockaddr_storage *remote,
const struct sockaddr_storage *source,
knot_pkt_t *query,
- const struct knot_quic_creds *creds,
+ const struct knot_creds *creds,
const query_edns_data_t *edns,
const knot_tsig_key_t *tsig_key,
const uint8_t *pin,
@@ -108,7 +126,7 @@ knot_request_t *knot_request_make_generic(knot_mm_t *mm,
knot_request_t *knot_request_make(knot_mm_t *mm,
const conf_remote_t *remote,
knot_pkt_t *query,
- const struct knot_quic_creds *creds,
+ const struct knot_creds *creds,
const query_edns_data_t *edns,
knot_request_flag_t flags);
diff --git a/src/knot/query/tls-requestor.c b/src/knot/query/tls-requestor.c
new file mode 100644
index 0000000..e1a2e8e
--- /dev/null
+++ b/src/knot/query/tls-requestor.c
@@ -0,0 +1,59 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include <string.h>
+
+#include "knot/query/tls-requestor.h"
+#include "libknot/error.h"
+#include "libknot/quic/tls.h"
+
+int knot_tls_req_ctx_init(knot_tls_req_ctx_t *ctx, int fd,
+ const struct knot_creds *local_creds,
+ const uint8_t *peer_pin, uint8_t peer_pin_len,
+ int io_timeout_ms)
+{
+ struct knot_creds *creds = knot_creds_init_peer(local_creds, peer_pin, peer_pin_len);
+ if (creds == NULL) {
+ return KNOT_ENOMEM;
+ }
+
+ // Use HS = 4x IO timeout, as the RMT IO timeout is usually high.
+ ctx->ctx = knot_tls_ctx_new(creds, io_timeout_ms, 4 * io_timeout_ms, false);
+ if (ctx->ctx == NULL) {
+ knot_creds_free(creds);
+ return KNOT_ENOMEM;
+ }
+
+ ctx->conn = knot_tls_conn_new(ctx->ctx, fd);
+ if (ctx->conn == NULL) {
+ knot_tls_req_ctx_deinit(ctx);
+ return KNOT_ERROR;
+ }
+
+ return KNOT_EOK;
+}
+
+void knot_tls_req_ctx_deinit(knot_tls_req_ctx_t *ctx)
+{
+ if (ctx != NULL) {
+ if (ctx->ctx != NULL) {
+ knot_creds_free(ctx->ctx->creds);
+ }
+ knot_tls_conn_del(ctx->conn);
+ knot_tls_ctx_free(ctx->ctx);
+ memset(ctx, 0, sizeof(*ctx));
+ }
+}
diff --git a/src/knot/query/tls-requestor.h b/src/knot/query/tls-requestor.h
new file mode 100644
index 0000000..535bbe8
--- /dev/null
+++ b/src/knot/query/tls-requestor.h
@@ -0,0 +1,51 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <stdint.h>
+
+#include "libknot/quic/tls_common.h"
+
+/*!
+ * \brief TLS requestor context envelope, containing TLS general context and TLS connection.
+ */
+typedef struct knot_tls_req_ctx {
+ struct knot_tls_ctx *ctx;
+ struct knot_tls_conn *conn;
+} knot_tls_req_ctx_t;
+
+/*!
+ * \brief Initialize TLS requestor context.
+ *
+ * \param ctx Context structure to be initialized.
+ * \param fd Opened TCP connection file descriptor.
+ * \param local_creds Local TLS credentials.
+ * \param peer_pin TLS peer pin.
+ * \param peer_pin_len TLS peer pin length.
+ * \param io_timeout_ms Configured io-timeout for TLS connection.
+ *
+ * \return KNOT_E*
+ */
+int knot_tls_req_ctx_init(knot_tls_req_ctx_t *ctx, int fd,
+ const struct knot_creds *local_creds,
+ const uint8_t *peer_pin, uint8_t peer_pin_len,
+ int io_timeout_ms);
+
+/*!
+ * \brief De-initialize TLS requestor context.
+ */
+void knot_tls_req_ctx_deinit(knot_tls_req_ctx_t *ctx);
diff --git a/src/knot/server/handler.c b/src/knot/server/handler.c
index ec7377a..bcd0ec5 100644
--- a/src/knot/server/handler.c
+++ b/src/knot/server/handler.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -97,7 +97,7 @@ static void handle_quic_stream(knot_quic_conn_t *conn, int64_t stream_id, struct
}
void handle_quic_streams(knot_quic_conn_t *conn, knotd_qdata_params_t *params,
- knot_layer_t *layer, void *msg)
+ knot_layer_t *layer)
{
uint8_t ans_buf[KNOT_WIRE_MAX_PKTSIZE];
@@ -108,14 +108,7 @@ void handle_quic_streams(knot_quic_conn_t *conn, knotd_qdata_params_t *params,
assert(stream->inbufs != NULL);
assert(stream->inbufs->n_inbufs > 0);
struct iovec *inbufs = stream->inbufs->inbufs;
- if (msg) {
-#ifdef ENABLE_XDP
- params_xdp_update(params, KNOTD_QUERY_PROTO_QUIC, msg,
- knot_quic_conn_rtt(conn), conn);
-#endif // ENABLE_XDP
- } else {
- params_update(params, knot_quic_conn_rtt(conn), conn);
- }
+ params_update_quic(params, knot_quic_conn_rtt(conn), conn, stream_id);
// NOTE: only the first msg in the stream is used, the rest is dropped.
handle_quic_stream(conn, stream_id, &inbufs[0], layer, params,
ans_buf, sizeof(ans_buf));
diff --git a/src/knot/server/handler.h b/src/knot/server/handler.h
index 0f29988..4b63a0c 100644
--- a/src/knot/server/handler.h
+++ b/src/knot/server/handler.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,6 +20,7 @@
#include "knot/query/layer.h"
#include "knot/server/server.h"
#include "libknot/xdp/tcp_iobuf.h"
+#include "libknot/quic/tls.h"
#ifdef ENABLE_QUIC
#include "libknot/quic/quic.h"
@@ -44,18 +45,33 @@ inline static knotd_qdata_params_t params_init(knotd_query_proto_t proto,
.remote = (const struct sockaddr_storage *)remote,
.local = (const struct sockaddr_storage *)local,
.socket = sock,
+ .thread_id = thread_id,
.server = server,
- .thread_id = thread_id
+ .quic_stream = -1,
};
return params;
}
-inline static void params_update(knotd_qdata_params_t *params, uint32_t rtt,
- struct knot_quic_conn *conn)
+inline static void params_update_tcp(knotd_qdata_params_t *params, uint32_t rtt)
{
params->measured_rtt = rtt;
+}
+
+#ifdef ENABLE_QUIC
+inline static void params_update_quic(knotd_qdata_params_t *params, uint32_t rtt,
+ knot_quic_conn_t *conn, int64_t stream_id)
+{
params->quic_conn = conn;
+ params->quic_stream = stream_id;
+ params->measured_rtt = rtt;
+}
+#endif // ENABLE_QUIC
+
+inline static void params_update_tls(knotd_qdata_params_t *params,
+ knot_tls_conn_t *conn)
+{
+ params->tls_conn = conn;
}
#ifdef ENABLE_XDP
@@ -64,8 +80,9 @@ inline static knotd_qdata_params_t params_xdp_init(int sock, server_t *server,
{
knotd_qdata_params_t params = {
.socket = sock,
+ .thread_id = thread_id,
.server = server,
- .thread_id = thread_id
+ .quic_stream = -1,
};
return params;
@@ -73,16 +90,12 @@ inline static knotd_qdata_params_t params_xdp_init(int sock, server_t *server,
inline static void params_xdp_update(knotd_qdata_params_t *params,
knotd_query_proto_t proto,
- struct knot_xdp_msg *msg,
- uint32_t rtt,
- struct knot_quic_conn *conn)
+ struct knot_xdp_msg *msg)
{
params->proto = proto;
params->remote = (struct sockaddr_storage *)&msg->ip_from;
params->local = (struct sockaddr_storage *)&msg->ip_to;
params->xdp_msg = msg;
- params->measured_rtt = rtt;
- params->quic_conn = conn;
}
#endif // ENABLE_XDP
@@ -107,7 +120,7 @@ void handle_udp_reply(knotd_qdata_params_t *params, knot_layer_t *layer,
#ifdef ENABLE_QUIC
void handle_quic_streams(knot_quic_conn_t *conn, knotd_qdata_params_t *params,
- knot_layer_t *layer, void *msg);
+ knot_layer_t *layer);
#endif // ENABLE_QUIC
void log_swept(knot_sweep_stats_t *stats, bool tcp);
diff --git a/src/knot/server/quic-handler.c b/src/knot/server/quic-handler.c
index 5010213..663167e 100644
--- a/src/knot/server/quic-handler.c
+++ b/src/knot/server/quic-handler.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -24,6 +24,7 @@
#include "contrib/macros.h"
#include "contrib/net.h"
#include "knot/common/log.h"
+#include "knot/nameserver/process_query.h"
#include "knot/server/handler.h"
#include "knot/server/quic-handler.h"
#include "knot/server/server.h"
@@ -92,16 +93,22 @@ void quic_handler(knotd_qdata_params_t *params, knot_layer_t *layer,
rpl.out_payload->iov_len = 0; // prevent send attempt if uq_alloc_reply is not called at all
+ if (process_query_proto(params, KNOTD_STAGE_PROTO_BEGIN) == KNOTD_PROTO_STATE_BLOCK) {
+ return;
+ }
+
knot_quic_conn_t *conn = NULL;
(void)knot_quic_handle(table, &rpl, idle_close, &conn);
if (conn != NULL) {
- handle_quic_streams(conn, params, layer, NULL);
+ handle_quic_streams(conn, params, layer);
(void)knot_quic_send(table, conn, &rpl, QUIC_MAX_SEND_PER_RECV, 0);
knot_quic_cleanup(&conn, 1);
}
+
+ (void)process_query_proto(params, KNOTD_STAGE_PROTO_END);
}
knot_quic_table_t *quic_make_table(struct server *server)
diff --git a/src/knot/server/server.c b/src/knot/server/server.c
index dd0b025..0626337 100644
--- a/src/knot/server/server.c
+++ b/src/knot/server/server.c
@@ -27,8 +27,9 @@
#include "libknot/libknot.h"
#include "libknot/yparser/ypschema.h"
#include "libknot/xdp.h"
+#include "libknot/quic/tls_common.h"
#ifdef ENABLE_QUIC
-#include "libknot/quic/quic.h"
+#include "libknot/quic/quic.h" // knot_quic_session_*
#endif // ENABLE_QUIC
#include "knot/common/log.h"
#include "knot/common/stats.h"
@@ -65,6 +66,8 @@
#define SESSION_TICKET_POOL_TIMEOUT (24 * 3600)
+#define QUIC_LOG "QUIC/TLS, "
+
/*! \brief Minimal send/receive buffer sizes. */
enum {
UDP_MIN_RCVSIZE = 4096,
@@ -236,14 +239,14 @@ static int disable_pmtudisc(int sock, int family)
return KNOT_EOK;
}
-static size_t quic_rmt_count(conf_t *conf)
+static size_t quic_rmt_count(conf_t *conf, const yp_name_t *proto)
{
size_t count = 0;
for (conf_iter_t iter = conf_iter(conf, C_RMT);
iter.code == KNOT_EOK; conf_iter_next(conf, &iter)) {
conf_val_t id = conf_iter_id(conf, &iter);
- conf_val_t rmt_quic = conf_id_get(conf, C_RMT, C_QUIC, &id);
+ conf_val_t rmt_quic = conf_id_get(conf, C_RMT, proto, &id);
if (conf_bool(&rmt_quic)) {
count++;
}
@@ -252,14 +255,11 @@ static size_t quic_rmt_count(conf_t *conf)
return count;
}
+#ifdef ENABLE_XDP
static iface_t *server_init_xdp_iface(struct sockaddr_storage *addr, bool route_check,
bool udp, bool tcp, uint16_t quic, unsigned *thread_id_start,
- bool extra_frames)
+ const knot_xdp_config_t *xdp_config)
{
-#ifndef ENABLE_XDP
- assert(0);
- return NULL;
-#else
conf_xdp_iface_t iface;
int ret = conf_xdp_iface(addr, &iface);
if (ret != KNOT_EOK) {
@@ -296,18 +296,17 @@ static iface_t *server_init_xdp_iface(struct sockaddr_storage *addr, bool route_
xdp_flags |= KNOT_XDP_FILTER_ROUTE;
}
- knot_xdp_config_t xdp_config = { .extra_frames = extra_frames };
for (int i = 0; i < iface.queues; i++) {
knot_xdp_load_bpf_t mode =
(i == 0 ? KNOT_XDP_LOAD_BPF_ALWAYS : KNOT_XDP_LOAD_BPF_NEVER);
ret = knot_xdp_init(new_if->xdp_sockets + i, iface.name, i,
- xdp_flags, iface.port, quic, mode, &xdp_config);
+ xdp_flags, iface.port, quic, mode, xdp_config);
if (ret == -EBUSY && i == 0) {
log_notice("XDP interface %s@%u is busy, retrying initialization",
iface.name, iface.port);
ret = knot_xdp_init(new_if->xdp_sockets + i, iface.name, i,
xdp_flags, iface.port, quic,
- KNOT_XDP_LOAD_BPF_ALWAYS_UNLOAD, &xdp_config);
+ KNOT_XDP_LOAD_BPF_ALWAYS_UNLOAD, xdp_config);
}
if (ret != KNOT_EOK) {
log_warning("failed to initialize XDP interface %s@%u, queue %d (%s)",
@@ -345,8 +344,8 @@ static iface_t *server_init_xdp_iface(struct sockaddr_storage *addr, bool route_
}
return new_if;
-#endif
}
+#endif
/*!
* \brief Create and initialize new interface.
@@ -363,7 +362,7 @@ static iface_t *server_init_xdp_iface(struct sockaddr_storage *addr, bool route_
* \retval Pointer to a new initialized interface.
* \retval NULL if error.
*/
-static iface_t *server_init_iface(struct sockaddr_storage *addr, bool quic,
+static iface_t *server_init_iface(struct sockaddr_storage *addr, bool tls,
int udp_thread_count, int tcp_thread_count,
bool tcp_reuseport, bool socket_affinity)
{
@@ -380,14 +379,14 @@ static iface_t *server_init_iface(struct sockaddr_storage *addr, bool quic,
int udp_socket_count = 1;
int udp_bind_flags = 0;
- int tcp_socket_count = !quic ? 1 : 0;
+ int tcp_socket_count = tcp_thread_count > 0 ? 1 : 0;
int tcp_bind_flags = 0;
#ifdef ENABLE_REUSEPORT
udp_socket_count = udp_thread_count;
udp_bind_flags |= NET_BIND_MULTIPLE;
- if (!quic && tcp_reuseport) {
+ if (tcp_reuseport) {
tcp_socket_count = tcp_thread_count;
tcp_bind_flags |= NET_BIND_MULTIPLE;
}
@@ -459,7 +458,7 @@ static iface_t *server_init_iface(struct sockaddr_storage *addr, bool quic,
warn_flag_misc = false;
}
- if (quic) {
+ if (tls) {
ret = net_cmsg_ecn_enable(sock, addr->ss_family);
if (ret != KNOT_EOK && ret != KNOT_ENOTSUP && warn_ecn) {
log_warning("failed to enable ECN for QUIC");
@@ -561,7 +560,6 @@ static void log_sock_conf(conf_t *conf)
}
}
-#ifdef ENABLE_QUIC
static int check_file(char *path, char *role)
{
if (path == NULL) {
@@ -576,29 +574,29 @@ static int check_file(char *path, char *role)
err_str = "invalid file";
} else if (!S_ISREG(st.st_mode)) {
err_str = "not a file";
+ } else if ((st.st_mode & S_IRUSR) == 0) {
+ err_str = "not readable";
} else {
return KNOT_EOK;
}
- log_error("QUIC, %s file '%s' (%s)", role, path, err_str);
+ log_error(QUIC_LOG "%s file '%s' (%s)", role, path, err_str);
return KNOT_EINVAL;
}
-#endif // ENABLE_QUIC
-static int init_creds(server_t *server, conf_t *conf)
+static int init_creds(conf_t *conf, server_t *server)
{
-#ifdef ENABLE_QUIC
char *cert_file = conf_tls(conf, C_CERT_FILE);
char *key_file = conf_tls(conf, C_KEY_FILE);
int ret = check_file(cert_file, "certificate");
if (ret != KNOT_EOK) {
- return ret;
+ goto failed;
}
ret = check_file(key_file, "key");
if (ret != KNOT_EOK) {
- return ret;
+ goto failed;
}
if (cert_file == NULL) {
@@ -606,35 +604,45 @@ static int init_creds(server_t *server, conf_t *conf)
char *kasp_dir = conf_db(conf, C_KASP_DB);
ret = make_dir(kasp_dir, S_IRWXU | S_IRWXG, true);
if (ret != KNOT_EOK) {
- log_error("QUIC, failed to create directory '%s'", kasp_dir);
+ log_error(QUIC_LOG "failed to create directory '%s'", kasp_dir);
free(kasp_dir);
- return ret;
+ goto failed;
}
key_file = abs_path(DFLT_QUIC_KEY_FILE, kasp_dir);
free(kasp_dir);
- log_debug("QUIC, using self-generated key '%s' with "
+ log_debug(QUIC_LOG "using self-generated key '%s' with "
"one-time certificate", key_file);
}
- server->quic_creds = knot_quic_init_creds(cert_file, key_file);
- free(cert_file);
+
+ uint8_t prev_pin[128];
+ size_t prev_pin_len = server_cert_pin(server, prev_pin, sizeof(prev_pin));
+
if (server->quic_creds == NULL) {
- log_error("QUIC, failed to initialize server credentials with key '%s'",
- key_file);
- free(key_file);
- return KNOT_ERROR;
+ server->quic_creds = knot_creds_init(key_file, cert_file);
+ if (server->quic_creds == NULL) {
+ log_error(QUIC_LOG "failed to initialize server credentials");
+ ret = KNOT_ERROR;
+ goto failed;
+ }
+ } else {
+ ret = knot_creds_update(server->quic_creds, key_file, cert_file);
+ if (ret != KNOT_EOK) {
+ goto failed;
+ }
}
- free(key_file);
- size_t pin_len;
uint8_t pin[128];
- if ((pin_len = server_cert_pin(server, pin, sizeof(pin))) > 0) {
- log_info("QUIC, certificate public key %.*s", (int)pin_len, pin);
+ size_t pin_len = server_cert_pin(server, pin, sizeof(pin));
+ if (pin_len > 0 && (pin_len != prev_pin_len || memcmp(pin, prev_pin, pin_len) != 0)) {
+ log_info(QUIC_LOG "certificate public key %.*s", (int)pin_len, pin);
}
- return KNOT_EOK;
-#else
- return KNOT_ERROR;
-#endif // ENABLE_QUIC
+ ret = KNOT_EOK;
+failed:
+ free(key_file);
+ free(cert_file);
+
+ return ret;
}
/*! \brief Initialize bound sockets according to configuration. */
@@ -646,11 +654,13 @@ static int configure_sockets(conf_t *conf, server_t *s)
conf_val_t listen_val = conf_get(conf, C_SRV, C_LISTEN);
conf_val_t liquic_val = conf_get(conf, C_SRV, C_LISTEN_QUIC);
+ conf_val_t listls_val = conf_get(conf, C_SRV, C_LISTEN_TLS);
conf_val_t lisxdp_val = conf_get(conf, C_XDP, C_LISTEN);
conf_val_t rundir_val = conf_get(conf, C_SRV, C_RUNDIR);
uint16_t convent_quic = conf_val_count(&liquic_val);
+ uint16_t convent_tls = conf_val_count(&listls_val);
- if (listen_val.code == KNOT_EOK || liquic_val.code == KNOT_EOK) {
+ if (listen_val.code == KNOT_EOK || liquic_val.code == KNOT_EOK || listls_val.code == KNOT_EOK) {
log_sock_conf(conf);
} else if (lisxdp_val.code != KNOT_EOK) {
log_warning("no network interface configured");
@@ -676,7 +686,7 @@ static int configure_sockets(conf_t *conf, server_t *s)
size_t real_nifs = 0;
size_t nifs = conf_val_count(&listen_val) + conf_val_count(&liquic_val) +
- conf_val_count(&lisxdp_val);
+ conf_val_count(&listls_val) + conf_val_count(&lisxdp_val);
iface_t *newlist = calloc(nifs, sizeof(*newlist));
if (newlist == NULL) {
log_error("failed to allocate memory for network sockets");
@@ -720,32 +730,52 @@ static int configure_sockets(conf_t *conf, server_t *s)
free(rundir);
return KNOT_ERROR;
}
- new_if->quic = true;
+ new_if->tls = true;
memcpy(&newlist[real_nifs++], new_if, sizeof(*newlist));
free(new_if);
conf_val_next(&liquic_val);
}
+ while (listls_val.code == KNOT_EOK) {
+ struct sockaddr_storage addr = conf_addr(&listls_val, rundir);
+ char addr_str[SOCKADDR_STRLEN] = { 0 };
+ sockaddr_tostr(addr_str, sizeof(addr_str), &addr);
+ log_info("binding to TLS interface %s", addr_str);
+
+ iface_t *new_if = server_init_iface(&addr, true, 0, size_tcp,
+ tcp_reuseport, socket_affinity);
+ if (new_if == NULL) {
+ server_deinit_iface_list(newlist, nifs);
+ free(rundir);
+ return KNOT_ERROR;
+ }
+ new_if->tls = true;
+ memcpy(&newlist[real_nifs++], new_if, sizeof(*newlist));
+ free(new_if);
+
+ conf_val_next(&listls_val);
+ }
free(rundir);
/* XDP sockets. */
- bool xdp_udp = conf->cache.xdp_udp;
- bool xdp_tcp = conf->cache.xdp_tcp;
- uint16_t xdp_quic = conf->cache.xdp_quic;
- bool route_check = conf->cache.xdp_route_check;
+#ifdef ENABLE_XDP
+ knot_xdp_config_t xdp_config = {
+ .ring_size = conf->cache.xdp_ring_size,
+ .busy_poll_budget = conf->cache.xdp_busypoll_budget,
+ .busy_poll_timeout = conf->cache.xdp_busypoll_timeout,
+ };
unsigned thread_id = s->handlers[IO_UDP].handler.unit->size +
s->handlers[IO_TCP].handler.unit->size;
- conf_val_t extra_frames_val = conf_get(conf, C_XDP, C_EXTRA_FRAMES);
- bool extra_frames = conf_bool(&extra_frames_val);
while (lisxdp_val.code == KNOT_EOK) {
struct sockaddr_storage addr = conf_addr(&lisxdp_val, NULL);
char addr_str[SOCKADDR_STRLEN] = { 0 };
sockaddr_tostr(addr_str, sizeof(addr_str), &addr);
log_info("binding to XDP interface %s", addr_str);
- iface_t *new_if = server_init_xdp_iface(&addr, route_check, xdp_udp,
- xdp_tcp, xdp_quic, &thread_id,
- extra_frames);
+ iface_t *new_if = server_init_xdp_iface(&addr, conf->cache.xdp_route_check,
+ conf->cache.xdp_udp, conf->cache.xdp_tcp,
+ conf->cache.xdp_quic, &thread_id,
+ &xdp_config);
if (new_if == NULL) {
server_deinit_iface_list(newlist, nifs);
return KNOT_ERROR;
@@ -755,13 +785,16 @@ static int configure_sockets(conf_t *conf, server_t *s)
conf_val_next(&lisxdp_val);
}
+#endif
+
assert(real_nifs <= nifs);
nifs = real_nifs;
/* QUIC credentials initialization. */
- s->quic_active = xdp_quic > 0 || convent_quic > 0 || quic_rmt_count(conf) > 0;
- if (s->quic_active) {
- if (init_creds(s, conf) != KNOT_EOK) {
+ s->quic_active = conf->cache.xdp_quic > 0 || convent_quic > 0 || quic_rmt_count(conf, C_QUIC) > 0;
+ s->tls_active = convent_tls > 0 || quic_rmt_count(conf, C_TLS) > 0;
+ if (s->quic_active || s->tls_active) {
+ if (init_creds(conf, s) != KNOT_EOK) {
server_deinit_iface_list(newlist, nifs);
return KNOT_ERROR;
}
@@ -810,6 +843,8 @@ int server_init(server_t *server, int bg_workers)
return ret;
}
+ pthread_rwlock_init(&server->ctl_lock, NULL);
+
zone_backups_init(&server->backup_ctxs);
char *catalog_dir = conf_db(conf(), C_CATALOG_DB);
@@ -864,6 +899,9 @@ void server_deinit(server_t *server)
/* Free remaining events. */
evsched_deinit(&server->sched);
+ /* Deinit locks. */
+ pthread_rwlock_destroy(&server->ctl_lock);
+
/* Free catalog zone context. */
catalog_update_clear(&server->catalog_upd);
catalog_update_deinit(&server->catalog_upd);
@@ -885,9 +923,7 @@ void server_deinit(server_t *server)
global_sessticket_pool = NULL;
knot_unreachables_deinit(&global_unreachables);
-#if defined ENABLE_QUIC
- knot_quic_free_creds(server->quic_creds);
-#endif // ENABLE_QUIC
+ knot_creds_free(server->quic_creds);
}
static int server_init_handler(server_t *server, int index, int thread_count,
@@ -1058,9 +1094,10 @@ static bool listen_changed(conf_t *conf, server_t *server)
conf_val_t listen_val = conf_get(conf, C_SRV, C_LISTEN);
conf_val_t liquic_val = conf_get(conf, C_SRV, C_LISTEN_QUIC);
+ conf_val_t listls_val = conf_get(conf, C_SRV, C_LISTEN_TLS);
conf_val_t lisxdp_val = conf_get(conf, C_XDP, C_LISTEN);
size_t new_count = conf_val_count(&listen_val) + conf_val_count(&liquic_val) +
- conf_val_count(&lisxdp_val);
+ conf_val_count(&listls_val) + conf_val_count(&lisxdp_val);
size_t old_count = server->n_ifaces;
if (new_count != old_count) {
return true;
@@ -1075,7 +1112,9 @@ static bool listen_changed(conf_t *conf, server_t *server)
struct sockaddr_storage addr = conf_addr(&listen_val, rundir);
bool found = false;
for (size_t i = 0; i < server->n_ifaces; i++) {
- if (sockaddr_cmp(&addr, &server->ifaces[i].addr, false) == 0) {
+ iface_t *iface = &server->ifaces[i];
+ if (sockaddr_cmp(&addr, &iface->addr, false) == 0 &&
+ !iface->tls && iface->fd_xdp_count == 0) {
matches++;
found = true;
break;
@@ -1090,7 +1129,9 @@ static bool listen_changed(conf_t *conf, server_t *server)
struct sockaddr_storage addr = conf_addr(&liquic_val, rundir);
bool found = false;
for (size_t i = 0; i < server->n_ifaces; i++) {
- if (sockaddr_cmp(&addr, &server->ifaces[i].addr, false) == 0) {
+ iface_t *iface = &server->ifaces[i];
+ if (sockaddr_cmp(&addr, &iface->addr, false) == 0 &&
+ iface->tls && iface->fd_udp_count > 0) {
matches++;
found = true;
break;
@@ -1101,13 +1142,32 @@ static bool listen_changed(conf_t *conf, server_t *server)
}
conf_val_next(&liquic_val);
}
+ while (listls_val.code == KNOT_EOK) {
+ struct sockaddr_storage addr = conf_addr(&listls_val, rundir);
+ bool found = false;
+ for (size_t i = 0; i < server->n_ifaces; i++) {
+ iface_t *iface = &server->ifaces[i];
+ if (sockaddr_cmp(&addr, &iface->addr, false) == 0 &&
+ iface->tls && iface->fd_tcp_count > 0) {
+ matches++;
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ break;
+ }
+ conf_val_next(&listls_val);
+ }
free(rundir);
while (lisxdp_val.code == KNOT_EOK) {
struct sockaddr_storage addr = conf_addr(&lisxdp_val, NULL);
bool found = false;
for (size_t i = 0; i < server->n_ifaces; i++) {
- if (sockaddr_cmp(&addr, &server->ifaces[i].addr, false) == 0) {
+ iface_t *iface = &server->ifaces[i];
+ if (sockaddr_cmp(&addr, &iface->addr, false) == 0 &&
+ iface->fd_xdp_count > 0) {
matches++;
found = true;
break;
@@ -1137,6 +1197,9 @@ static void warn_server_reconfigure(conf_t *conf, server_t *server)
static bool warn_xdp_tcp = true;
static bool warn_xdp_quic = true;
static bool warn_route_check = true;
+ static bool warn_ring_size = true;
+ static bool warn_busypoll_budget = true;
+ static bool warn_busypoll_timeout = true;
static bool warn_rmt_pool_limit = true;
if (warn_tcp_reuseport && conf->cache.srv_tcp_reuseport != conf_get_bool(conf, C_SRV, C_TCP_REUSEPORT)) {
@@ -1165,7 +1228,7 @@ static void warn_server_reconfigure(conf_t *conf, server_t *server)
}
if (warn_listen && server->ifaces != NULL && listen_changed(conf, server)) {
- log_warning(msg, "listen(-xdp,-quic)");
+ log_warning(msg, "listen(-xdp,-quic,-tls)");
warn_listen = false;
}
@@ -1195,6 +1258,21 @@ static void warn_server_reconfigure(conf_t *conf, server_t *server)
warn_route_check = false;
}
+ if (warn_ring_size && conf->cache.xdp_ring_size != conf_get_int(conf, C_XDP, C_RING_SIZE)) {
+ log_warning(msg, &C_RING_SIZE[1]);
+ warn_ring_size = false;
+ }
+
+ if (warn_busypoll_budget && conf->cache.xdp_busypoll_budget != conf_get_int(conf, C_XDP, C_BUSYPOLL_BUDGET)) {
+ log_warning(msg, &C_BUSYPOLL_BUDGET[1]);
+ warn_busypoll_budget = false;
+ }
+
+ if (warn_busypoll_timeout && conf->cache.xdp_busypoll_timeout != conf_get_int(conf, C_XDP, C_BUSYPOLL_TIMEOUT)) {
+ log_warning(msg, &C_BUSYPOLL_TIMEOUT[1]);
+ warn_busypoll_timeout = false;
+ }
+
if (warn_rmt_pool_limit && global_conn_pool != NULL &&
global_conn_pool->capacity != conf_get_int(conf, C_SRV, C_RMT_POOL_LIMIT)) {
log_warning(msg, &C_RMT_POOL_LIMIT[1]);
@@ -1395,7 +1473,7 @@ static int reconfigure_remote_pool(conf_t *conf, server_t *server)
#ifdef ENABLE_QUIC
if (global_sessticket_pool == NULL && server->quic_active) {
- size_t rmt_count = quic_rmt_count(conf);
+ size_t rmt_count = quic_rmt_count(conf, C_QUIC);
if (rmt_count > 0) {
size_t max_tickets = conf_bg_threads(conf) * rmt_count * 2; // Two addresses per remote.
conn_pool_t *new_pool =
@@ -1456,6 +1534,12 @@ int server_reconfigure(conf_t *conf, server_t *server)
if (conf_lmdb_readers(conf) > CONF_MAX_DB_READERS) {
log_warning("config, exceeded number of database readers");
}
+ } else {
+ /* Reconfigure TLS credentials. */
+ if ((ret = init_creds(conf, server)) != KNOT_EOK) {
+ log_error("failed to reconfigure server credentials (%s)",
+ knot_strerror(ret));
+ }
}
/* Reconfigure journal DB. */
@@ -1515,14 +1599,13 @@ void server_update_zones(conf_t *conf, server_t *server, reload_t mode)
size_t server_cert_pin(server_t *server, uint8_t *out, size_t out_size)
{
-#ifdef ENABLE_QUIC
int pin_size = 0;
- uint8_t bin_pin[KNOT_QUIC_PIN_LEN];
+ uint8_t bin_pin[KNOT_TLS_PIN_LEN];
size_t bin_pin_size = sizeof(bin_pin);
gnutls_x509_crt_t cert = NULL;
if (server->quic_creds != NULL &&
- knot_quic_creds_cert(server->quic_creds, &cert) == KNOT_EOK &&
+ knot_creds_cert(server->quic_creds, &cert) == KNOT_EOK &&
gnutls_x509_crt_get_key_id(cert, GNUTLS_KEYID_USE_SHA256,
bin_pin, &bin_pin_size) == GNUTLS_E_SUCCESS) {
pin_size = knot_base64_encode(bin_pin, bin_pin_size, out, out_size);
@@ -1530,7 +1613,4 @@ size_t server_cert_pin(server_t *server, uint8_t *out, size_t out_size)
gnutls_x509_crt_deinit(cert);
return (pin_size >= 0) ? pin_size : 0;
-#else
- return 0;
-#endif // ENABLE_QUIC
}
diff --git a/src/knot/server/server.h b/src/knot/server/server.h
index e72e6de..fae06d6 100644
--- a/src/knot/server/server.h
+++ b/src/knot/server/server.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -16,8 +16,7 @@
#pragma once
-#include <stdatomic.h>
-
+#include "contrib/atomic.h"
#include "knot/conf/conf.h"
#include "knot/catalog/catalog_update.h"
#include "knot/common/evsched.h"
@@ -32,7 +31,7 @@
struct server;
struct knot_xdp_socket;
-struct knot_quic_creds;
+struct knot_creds;
/*!
* \brief I/O handler structure.
@@ -75,7 +74,7 @@ typedef struct {
unsigned fd_xdp_count;
unsigned xdp_first_thread_id;
bool anyaddr;
- bool quic;
+ bool tls;
struct knot_xdp_socket **xdp_sockets;
struct sockaddr_storage addr;
} iface_t;
@@ -120,16 +119,20 @@ typedef struct server {
iface_t *ifaces;
size_t n_ifaces;
bool quic_active;
+ bool tls_active;
+
+ /*! \brief Mutex protecting simultaneous access from concurrent CTL threads. */
+ pthread_rwlock_t ctl_lock;
/*! \brief Pending changes to catalog member zones, update indication. */
catalog_update_t catalog_upd;
- atomic_bool catalog_upd_signal;
+ knot_atomic_bool catalog_upd_signal;
/*! \brief Context of pending zones' backup. */
zone_backup_ctxs_t backup_ctxs;
/*! \brief Crendentials context for QUIC. */
- struct knot_quic_creds *quic_creds;
+ struct knot_creds *quic_creds;
} server_t;
/*!
diff --git a/src/knot/server/tcp-handler.c b/src/knot/server/tcp-handler.c
index 305b2f4..7af2f58 100644
--- a/src/knot/server/tcp-handler.c
+++ b/src/knot/server/tcp-handler.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -36,6 +36,7 @@
#include "knot/common/fdset.h"
#include "knot/nameserver/process_query.h"
#include "knot/query/layer.h"
+#include "libknot/quic/tls.h"
#include "contrib/macros.h"
#include "contrib/mempattern.h"
#include "contrib/net.h"
@@ -57,6 +58,7 @@ typedef struct tcp_context {
unsigned max_worker_fds; /*!< Max TCP clients per worker configuration + no. of ifaces. */
int idle_timeout; /*!< [s] TCP idle timeout configuration. */
int io_timeout; /*!< [ms] TCP send/recv timeout configuration. */
+ struct knot_tls_ctx *tls_ctx; /*!< DoT answering context. */
} tcp_context_t;
#define TCP_SWEEP_INTERVAL 2 /*!< [secs] granularity of connection sweeping. */
@@ -76,11 +78,22 @@ static void update_tcp_conf(tcp_context_t *tcp)
tcp->idle_timeout = pconf->cache.srv_tcp_idle_timeout;
tcp->io_timeout = pconf->cache.srv_tcp_io_timeout;
rcu_read_unlock();
+
+ if (tcp->tls_ctx != NULL) {
+ tcp->tls_ctx->io_timeout = tcp->io_timeout;
+ }
+}
+
+static void free_tls_ctx(fdset_t *set, int idx)
+{
+ void *tls_conn = *fdset_ctx2(set, idx);
+ knot_tls_conn_del(tls_conn);
}
/*! \brief Sweep TCP connection. */
-static fdset_sweep_state_t tcp_sweep(fdset_t *set, int fd, _unused_ void *data)
+static fdset_sweep_state_t tcp_sweep(fdset_t *set, int idx, _unused_ void *data)
{
+ const int fd = fdset_get_fd(set, idx);
assert(set && fd >= 0);
/* Best-effort, name and shame. */
@@ -92,6 +105,8 @@ static fdset_sweep_state_t tcp_sweep(fdset_t *set, int fd, _unused_ void *data)
log_notice("TCP, terminated inactive client, address %s", addr_str);
}
+ free_tls_ctx(set, idx);
+
return FDSET_SWEEP;
}
@@ -107,15 +122,14 @@ static void tcp_log_error(const struct sockaddr_storage *ss, const char *operati
}
static unsigned tcp_set_ifaces(const iface_t *ifaces, size_t n_ifaces,
- fdset_t *fds, int thread_id)
+ fdset_t *fds, int thread_id, bool *tls)
{
if (n_ifaces == 0) {
return 0;
}
for (const iface_t *i = ifaces; i != ifaces + n_ifaces; i++) {
- if (i->fd_tcp_count == 0 || i->quic) { // Ignore XDP and QUIC interfaces.
- assert(i->fd_xdp_count > 0 || i->quic);
+ if (i->fd_xdp_count > 0 || i->fd_tcp_count == 0) { // Ignore XDP and QUIC interfaces.
continue;
}
@@ -133,31 +147,44 @@ static unsigned tcp_set_ifaces(const iface_t *ifaces, size_t n_ifaces,
if (ret < 0) {
return 0;
}
+ if (i->tls) {
+ *tls = true;
+ }
}
return fdset_get_length(fds);
}
-static int tcp_handle(tcp_context_t *tcp, int fd, const sockaddr_t *remote,
- const sockaddr_t *local, struct iovec *rx, struct iovec *tx)
+static int tcp_handle(tcp_context_t *tcp, knotd_qdata_params_t *params,
+ struct iovec *rx, struct iovec *tx)
{
- /* Create query processing parameter. */
- knotd_qdata_params_t params = params_init(KNOTD_QUERY_PROTO_TCP, remote, local,
- fd, tcp->server, tcp->thread_id);
-
rx->iov_len = KNOT_WIRE_MAX_PKTSIZE;
tx->iov_len = KNOT_WIRE_MAX_PKTSIZE;
/* Receive data. */
- int recv = net_dns_tcp_recv(fd, rx->iov_base, rx->iov_len, tcp->io_timeout);
+ int recv;
+ if (params->tls_conn != NULL) {
+ int ret = knot_tls_handshake(params->tls_conn, true);
+ switch (ret) {
+ case KNOT_EAGAIN: // Unfinished handshake, continue later.
+ return KNOT_EOK;
+ case KNOT_EOK: // Finished handshake, continue with receiving message.
+ recv = knot_tls_recv_dns(params->tls_conn, rx->iov_base, rx->iov_len);
+ break;
+ default: // E.g. handshake timeout.
+ return ret;
+ }
+ } else {
+ recv = net_dns_tcp_recv(params->socket, rx->iov_base, rx->iov_len, tcp->io_timeout);
+ }
if (recv > 0) {
rx->iov_len = recv;
} else {
- tcp_log_error(params.remote, "receive", recv);
+ tcp_log_error(params->remote, "receive", recv);
return KNOT_EOF;
}
- handle_query(&params, &tcp->layer, rx, NULL);
+ handle_query(params, &tcp->layer, rx, NULL);
/* Resolve until NOOP or finished. */
knot_pkt_t *ans = knot_pkt_new(tx->iov_base, tx->iov_len, tcp->layer.mm);
@@ -165,10 +192,15 @@ static int tcp_handle(tcp_context_t *tcp, int fd, const sockaddr_t *remote,
knot_layer_produce(&tcp->layer, ans);
/* Send, if response generation passed and wasn't ignored. */
if (ans->size > 0 && send_state(tcp->layer.state)) {
- int sent = net_dns_tcp_send(fd, ans->wire, ans->size,
- tcp->io_timeout, NULL);
+ int sent;
+ if (params->tls_conn != NULL) {
+ sent = knot_tls_send_dns(params->tls_conn, ans->wire, ans->size);
+ } else {
+ sent = net_dns_tcp_send(params->socket, ans->wire, ans->size,
+ tcp->io_timeout, NULL);
+ }
if (sent != ans->size) {
- tcp_log_error(params.remote, "send", sent);
+ tcp_log_error(params->remote, "send", sent);
handle_finish(&tcp->layer);
return KNOT_EOF;
}
@@ -222,12 +254,42 @@ static int tcp_event_serve(tcp_context_t *tcp, unsigned i, const iface_t *iface)
}
}
- int ret = tcp_handle(tcp, fd, remote, local, &tcp->iov[0], &tcp->iov[1]);
+ knotd_qdata_params_t params = params_init(iface->tls ? KNOTD_QUERY_PROTO_TLS
+ : KNOTD_QUERY_PROTO_TCP,
+ remote, local, fd, tcp->server,
+ tcp->thread_id);
+
+ // NOTE there is no way to avoid calling accept() on unwanted connections:
+ // - it's not possible to read out the remote IP beforehand
+ // - there is no way to pull it out of the queue
+ // So we just accept() those connection (possibly going ahead with the handshake)
+ // and close it immediately.
+ if (process_query_proto(&params, KNOTD_STAGE_PROTO_BEGIN) == KNOTD_PROTO_STATE_BLOCK) {
+ return KNOT_EDENIED; // results in closing connection
+ }
+
+ /* Establish a TLS session. */
+ if (iface->tls) {
+ assert(tcp->tls_ctx != NULL);
+ knot_tls_conn_t *tls_conn = *fdset_ctx2(&tcp->set, i);
+ if (tls_conn == NULL) {
+ tls_conn = knot_tls_conn_new(tcp->tls_ctx, fd);
+ if (tls_conn == NULL) {
+ return KNOT_ENOMEM;
+ }
+ *fdset_ctx2(&tcp->set, i) = tls_conn;
+ }
+ params_update_tls(&params, tls_conn);
+ }
+
+ int ret = tcp_handle(tcp, &params, &tcp->iov[0], &tcp->iov[1]);
if (ret == KNOT_EOK) {
/* Update socket activity timer. */
(void)fdset_set_watchdog(&tcp->set, i, tcp->idle_timeout);
}
+ (void)process_query_proto(&params, KNOTD_STAGE_PROTO_END);
+
return ret;
}
@@ -273,6 +335,7 @@ static void tcp_wait_for_events(tcp_context_t *tcp)
/* Evaluate. */
if (should_close) {
+ free_tls_ctx(set, idx);
fdset_it_remove(&it);
}
}
@@ -325,13 +388,15 @@ int tcp_master(dthread_t *thread)
/* Prepare initial buffer for listening and bound sockets. */
if (fdset_init(&tcp.set, FDSET_RESIZE_STEP) != KNOT_EOK) {
+ ret = KNOT_ENOMEM;
goto finish;
}
/* Set descriptors for the configured interfaces. */
+ bool tls = false;
tcp.client_threshold = tcp_set_ifaces(handler->server->ifaces,
handler->server->n_ifaces,
- &tcp.set, thread_id);
+ &tcp.set, thread_id, &tls);
if (tcp.client_threshold == 0) {
goto finish; /* Terminate on zero interfaces. */
}
@@ -341,6 +406,17 @@ int tcp_master(dthread_t *thread)
update_sweep_timer(&next_sweep);
update_tcp_conf(&tcp);
+ /* Initialize TLS context. */
+ if (tls) {
+ // Set the HS timeout to 8x the RMT IO one as the HS duration can be up to 4*roundtrip.
+ tcp.tls_ctx = knot_tls_ctx_new(handler->server->quic_creds,
+ tcp.io_timeout, 8 * tcp.io_timeout, true);
+ if (tcp.tls_ctx == NULL) {
+ ret = KNOT_ENOMEM;
+ goto finish;
+ }
+ }
+
for (;;) {
/* Check for cancellation. */
if (dt_is_cancelled(thread)) {
@@ -359,6 +435,7 @@ int tcp_master(dthread_t *thread)
}
finish:
+ knot_tls_ctx_free(tcp.tls_ctx);
free(tcp.iov[0].iov_base);
free(tcp.iov[1].iov_base);
mp_delete(mm.ctx);
diff --git a/src/knot/server/udp-handler.c b/src/knot/server/udp-handler.c
index e54ce2c..c5166f9 100644
--- a/src/knot/server/udp-handler.c
+++ b/src/knot/server/udp-handler.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -73,9 +73,15 @@ typedef struct {
static void udp_handler(udp_context_t *udp, knotd_qdata_params_t *params,
struct iovec *rx, struct iovec *tx)
{
+ if (process_query_proto(params, KNOTD_STAGE_PROTO_BEGIN) == KNOTD_PROTO_STATE_BLOCK) {
+ return;
+ }
+
// Prepare a reply.
struct sockaddr_storage proxied_remote;
handle_udp_reply(params, &udp->layer, rx, tx, &proxied_remote);
+
+ (void)process_query_proto(params, KNOTD_STAGE_PROTO_END);
}
typedef struct {
@@ -153,7 +159,7 @@ void cmsg_handle(const struct msghdr *rx, struct msghdr *tx,
}
struct cmsghdr *cmsg = CMSG_FIRSTHDR(tx);
- if (iface->quic) {
+ if (iface->tls) {
*p_ecn = NULL;
while (cmsg != NULL) {
cmsg_handle_ecn(p_ecn, cmsg);
@@ -246,9 +252,9 @@ static void udp_msg_handle(udp_context_t *ctx, const iface_t *iface, void *d)
/* Process received pkt. */
knotd_qdata_params_t params = params_init(
- iface->quic ? KNOTD_QUERY_PROTO_QUIC : KNOTD_QUERY_PROTO_UDP,
+ iface->tls ? KNOTD_QUERY_PROTO_QUIC : KNOTD_QUERY_PROTO_UDP,
&rq->addr, local, rq->fd, ctx->server, ctx->thread_id);
- if (iface->quic) {
+ if (iface->tls) {
#ifdef ENABLE_QUIC
quic_handler(&params, &ctx->layer, ctx->quic_idle_close,
ctx->quic_table, &rq->iov[RX], &rq->msg[TX], p_ecn);
@@ -357,9 +363,9 @@ static void udp_mmsg_handle(udp_context_t *ctx, const iface_t *iface, void *d)
const sockaddr_t *local = local_addr(&ctx->local, iface);
knotd_qdata_params_t params = params_init(
- iface->quic ? KNOTD_QUERY_PROTO_QUIC : KNOTD_QUERY_PROTO_UDP,
+ iface->tls ? KNOTD_QUERY_PROTO_QUIC : KNOTD_QUERY_PROTO_UDP,
&rq->addrs[i], local, rq->fd, ctx->server, ctx->thread_id);
- if (iface->quic) {
+ if (iface->tls) {
#ifdef ENABLE_QUIC
quic_handler(&params, &ctx->layer, ctx->quic_idle_close,
ctx->quic_table, rx->msg_iov, tx, p_ecn);
@@ -432,7 +438,7 @@ static int xdp_mmsg_recv(_unused_ int fd, void *d)
static void xdp_mmsg_handle(udp_context_t *ctx, _unused_ const iface_t *iface, void *d)
{
- assert(!iface->quic);
+ assert(!iface->tls);
xdp_handle_msgs(d, &ctx->layer, ctx->server, ctx->thread_id);
}
@@ -482,7 +488,6 @@ static int iface_udp_fd(const iface_t *iface, int thread_id, bool xdp_thread,
#endif
} else { // UDP thread.
if (iface->fd_udp_count == 0) { // No UDP interfaces.
- assert(iface->fd_xdp_count > 0);
return -1;
}
#ifdef ENABLE_REUSEPORT
@@ -508,7 +513,7 @@ static unsigned udp_set_ifaces(const server_t *server, size_t n_ifaces, fdset_t
#ifndef ENABLE_REUSEPORT
/* If loadbalanced SO_REUSEPORT isn't available, ensure that
* just one (first) UDP worker handles the QUIC sockets. */
- if (i->quic && thread_id > 0) {
+ if (i->tls && thread_id > 0) {
continue;
}
#endif
@@ -520,7 +525,7 @@ static unsigned udp_set_ifaces(const server_t *server, size_t n_ifaces, fdset_t
if (ret < 0) {
return 0;
}
- if (i->quic) {
+ if (i->tls) {
*quic = true;
}
}
diff --git a/src/knot/server/xdp-handler.c b/src/knot/server/xdp-handler.c
index ae8512d..403bb70 100644
--- a/src/knot/server/xdp-handler.c
+++ b/src/knot/server/xdp-handler.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,6 +20,7 @@
#include <stdlib.h>
#include <urcu.h>
+#include "knot/nameserver/process_query.h"
#include "knot/server/handler.h"
#include "knot/server/quic-handler.h"
#include "knot/server/xdp-handler.h"
@@ -196,6 +197,12 @@ static void handle_udp(xdp_handle_ctx_t *ctx, knot_layer_t *layer,
continue;
}
+ params_xdp_update(params, KNOTD_QUERY_PROTO_UDP, msg_recv);
+
+ if (process_query_proto(params, KNOTD_STAGE_PROTO_BEGIN) == KNOTD_PROTO_STATE_BLOCK) {
+ continue;
+ }
+
// Try to allocate a buffer for a reply.
if (knot_xdp_reply_alloc(ctx->sock, msg_recv, msg_send) != KNOT_EOK) {
if (log_enabled_debug()) {
@@ -206,36 +213,50 @@ static void handle_udp(xdp_handle_ctx_t *ctx, knot_layer_t *layer,
ctx->msg_udp_count++;
// Prepare a reply.
- params_xdp_update(params, KNOTD_QUERY_PROTO_UDP, msg_recv, 0, NULL);
handle_udp_reply(params, layer, &msg_recv->payload, &msg_send->payload,
&proxied_remote);
+
+ (void)process_query_proto(params, KNOTD_STAGE_PROTO_END);
}
}
static void handle_tcp(xdp_handle_ctx_t *ctx, knot_layer_t *layer,
knotd_qdata_params_t *params)
{
- int ret = knot_tcp_recv(ctx->relays, ctx->msg_recv, ctx->msg_recv_count,
- ctx->tcp_table, ctx->syn_table, XDP_TCP_IGNORE_NONE);
- if (ret != KNOT_EOK) {
- if (log_enabled_debug()) {
- log_debug("TCP/XDP, failed to process some packets (%s)", knot_strerror(ret));
- }
- return;
- } else if (knot_tcp_relay_empty(&ctx->relays[0])) { // no TCP traffic
- return;
- }
uint8_t ans_buf[KNOT_WIRE_MAX_PKTSIZE];
for (uint32_t i = 0; i < ctx->msg_recv_count; i++) {
+ knot_xdp_msg_t *msg_recv = &ctx->msg_recv[i];
knot_tcp_relay_t *rl = &ctx->relays[i];
+ if (!(msg_recv->flags & KNOT_XDP_MSG_TCP)) {
+ continue;
+ }
+
+ params_xdp_update(params, KNOTD_QUERY_PROTO_TCP, msg_recv);
+
+ if (process_query_proto(params, KNOTD_STAGE_PROTO_BEGIN) == KNOTD_PROTO_STATE_BLOCK) {
+ continue;
+ }
+
+ int ret = knot_tcp_recv(rl, msg_recv, ctx->tcp_table,
+ ctx->syn_table, XDP_TCP_IGNORE_NONE);
+ if (ret != KNOT_EOK) {
+ if (log_enabled_debug()) {
+ log_debug("TCP/XDP, failed to process some packets (%s)",
+ knot_strerror(ret));
+ }
+ continue;
+ } else if (knot_tcp_relay_empty(rl)) {
+ continue;
+ }
+
+ params_update_tcp(params, rl->conn->establish_rtt);
+
// Process all complete DNS queries in one TCP stream.
for (size_t j = 0; rl->inbf != NULL && j < rl->inbf->n_inbufs; j++) {
// Consume the query.
- params_xdp_update(params, KNOTD_QUERY_PROTO_TCP, ctx->msg_recv,
- rl->conn->establish_rtt, NULL);
struct iovec *inbufs = rl->inbf->inbufs;
handle_query(params, layer, &inbufs[j], NULL);
@@ -253,6 +274,8 @@ static void handle_tcp(xdp_handle_ctx_t *ctx, knot_layer_t *layer,
handle_finish(layer);
}
+
+ (void)process_query_proto(params, KNOTD_STAGE_PROTO_END);
}
}
@@ -274,6 +297,12 @@ static void handle_quic(xdp_handle_ctx_t *ctx, knot_layer_t *layer,
continue;
}
+ params_xdp_update(params, KNOTD_QUERY_PROTO_QUIC, msg_recv);
+
+ if (process_query_proto(params, KNOTD_STAGE_PROTO_BEGIN) == KNOTD_PROTO_STATE_BLOCK) {
+ continue;
+ }
+
knot_quic_reply_t *reply = &ctx->quic_replies[i];
knot_xdp_msg_t *msg_out = &ctx->msg_send_udp[i];
@@ -289,7 +318,9 @@ static void handle_quic(xdp_handle_ctx_t *ctx, knot_layer_t *layer,
&ctx->quic_relays[i]);
knot_quic_conn_t *conn = ctx->quic_relays[i];
- handle_quic_streams(conn, params, layer, &ctx->msg_recv[i]);
+ handle_quic_streams(conn, params, layer);
+
+ (void)process_query_proto(params, KNOTD_STAGE_PROTO_END);
}
#else
(void)(ctx);
diff --git a/src/knot/updates/acl.c b/src/knot/updates/acl.c
index d297747..456e8bb 100644
--- a/src/knot/updates/acl.c
+++ b/src/knot/updates/acl.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -18,16 +18,13 @@
#include "contrib/string.h"
#include "contrib/wire_ctx.h"
-#ifdef ENABLE_QUIC
-#include "libknot/quic/quic.h"
-#endif // ENABLE_QUIC
static bool cert_pin_check(const uint8_t *session_pin, size_t session_pin_size,
conf_val_t *pins)
{
if (pins->code == KNOT_ENOENT) { // No certificate pin authentication required.
return true;
- } else if (session_pin_size == 0) { // Not a QUIC connection.
+ } else if (session_pin_size == 0) { // Not a TLS/QUIC connection.
return false;
}
@@ -283,20 +280,15 @@ static bool check_addr_key(conf_t *conf, conf_val_t *addr_val, conf_val_t *key_v
bool acl_allowed(conf_t *conf, conf_val_t *acl, acl_action_t action,
const struct sockaddr_storage *addr, knot_tsig_key_t *tsig,
const knot_dname_t *zone_name, knot_pkt_t *query,
- struct knot_quic_conn *conn)
+ struct gnutls_session_int *tls_session)
{
if (acl == NULL || addr == NULL || tsig == NULL) {
return false;
}
-#ifdef ENABLE_QUIC
- uint8_t session_pin[KNOT_QUIC_PIN_LEN];
+ uint8_t session_pin[KNOT_TLS_PIN_LEN];
size_t session_pin_size = sizeof(session_pin);
- knot_quic_conn_pin(conn, session_pin, &session_pin_size, false);
-#else
- uint8_t session_pin[1];
- size_t session_pin_size = 0;
-#endif // ENABLE_QUIC
+ knot_tls_pin(tls_session, session_pin, &session_pin_size, false);
bool forward = false;
if (action == ACL_ACTION_UPDATE) {
@@ -392,20 +384,15 @@ next_acl:
}
bool rmt_allowed(conf_t *conf, conf_val_t *rmts, const struct sockaddr_storage *addr,
- knot_tsig_key_t *tsig, struct knot_quic_conn *conn)
+ knot_tsig_key_t *tsig, struct gnutls_session_int *tls_session)
{
if (!conf->cache.srv_auto_acl) {
return false;
}
-#ifdef ENABLE_QUIC
- uint8_t session_pin[KNOT_QUIC_PIN_LEN];
+ uint8_t session_pin[KNOT_TLS_PIN_LEN];
size_t session_pin_size = sizeof(session_pin);
- knot_quic_conn_pin(conn, session_pin, &session_pin_size, false);
-#else
- uint8_t session_pin[1];
- size_t session_pin_size = 0;
-#endif // ENABLE_QUIC
+ knot_tls_pin(tls_session, session_pin, &session_pin_size, false);
conf_mix_iter_t iter;
conf_mix_iter_init(conf, rmts, &iter);
diff --git a/src/knot/updates/acl.h b/src/knot/updates/acl.h
index 88d7de5..5072a29 100644
--- a/src/knot/updates/acl.h
+++ b/src/knot/updates/acl.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -19,6 +19,7 @@
#include <stdbool.h>
#include <sys/socket.h>
+#include "libknot/quic/tls_common.h"
#include "libknot/tsig.h"
#include "knot/conf/conf.h"
@@ -51,21 +52,21 @@ typedef enum {
*
* If a proper ACL rule is found and tsig.name is not empty, tsig.secret is filled.
*
- * \param conf Configuration.
- * \param acl Pointer to ACL config multivalued identifier.
- * \param action ACL action.
- * \param addr IP address.
- * \param tsig TSIG parameters.
- * \param zone_name Zone name.
- * \param query Update query.
- * \param conn Possible QUIC connection.
+ * \param conf Configuration.
+ * \param acl Pointer to ACL config multivalued identifier.
+ * \param action ACL action.
+ * \param addr IP address.
+ * \param tsig TSIG parameters.
+ * \param zone_name Zone name.
+ * \param query Update query.
+ * \param tls_session Possible TLS session.
*
* \retval True if authenticated.
*/
bool acl_allowed(conf_t *conf, conf_val_t *acl, acl_action_t action,
const struct sockaddr_storage *addr, knot_tsig_key_t *tsig,
const knot_dname_t *zone_name, knot_pkt_t *query,
- struct knot_quic_conn *conn);
+ struct gnutls_session_int *tls_session);
/*!
* \brief Checks if the address and/or tsig key matches a remote from the list.
@@ -75,13 +76,13 @@ bool acl_allowed(conf_t *conf, conf_val_t *acl, acl_action_t action,
*
* If a proper REMOTE is found and tsig.name is not empty, tsig.secret is filled.
*
- * \param conf Configuration.
- * \param rmts Pointer to REMOTE config multivalued identifier.
- * \param addr IP address.
- * \param tsig TSIG parameters.
- * \param conn Possible QUIC connection.
+ * \param conf Configuration.
+ * \param rmts Pointer to REMOTE config multivalued identifier.
+ * \param addr IP address.
+ * \param tsig TSIG parameters.
+ * \param tls_session Possible TLS session.
*
* \retval True if authenticated.
*/
bool rmt_allowed(conf_t *conf, conf_val_t *rmts, const struct sockaddr_storage *addr,
- knot_tsig_key_t *tsig, struct knot_quic_conn *conn);
+ knot_tsig_key_t *tsig, struct gnutls_session_int *tls_session);
diff --git a/src/knot/updates/ddns.c b/src/knot/updates/ddns.c
index 5ab858f..47e3fc5 100644
--- a/src/knot/updates/ddns.c
+++ b/src/knot/updates/ddns.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -266,21 +266,41 @@ static bool node_contains_rr(const zone_node_t *node,
/*!< \brief Returns true if CNAME is in this node. */
static bool adding_to_cname(const knot_dname_t *owner,
+ zone_update_t *update,
const zone_node_t *node)
{
if (node == NULL) {
- // Node did not exist before update.
+ // Node did not exist before update, juch check DNAMEs above.
+
+ while ((owner = knot_dname_next_label(owner)) != NULL &&
+ (node = zone_update_get_node(update, owner)) == NULL);
+
+ for ( ; node != NULL; node = node->parent) {
+ knot_rrset_t dname = node_rrset(node, KNOT_RRTYPE_DNAME);
+ if (!knot_rrset_empty(&dname)) {
+ // DNAME above
+ return true;
+ }
+ }
+
return false;
}
knot_rrset_t cname = node_rrset(node, KNOT_RRTYPE_CNAME);
- if (knot_rrset_empty(&cname)) {
- // Node did not contain CNAME before update.
- return false;
+ if (!knot_rrset_empty(&cname)) {
+ // CNAME present
+ return true;
}
- // CNAME present
- return true;
+ while ((node = node->parent) != NULL) {
+ knot_rrset_t dname = node_rrset(node, KNOT_RRTYPE_DNAME);
+ if (!knot_rrset_empty(&dname)) {
+ // DNAME above
+ return true;
+ }
+ }
+
+ return false;
}
/*!< \brief Used to ignore SOA deletions and SOAs with lower serial than zone. */
@@ -315,12 +335,29 @@ static int add_rr_to_changeset(const knot_rrset_t *rr, zone_update_t *update)
return zone_update_add(update, rr);
}
-/*!< \brief Processes CNAME addition (replace or ignore) */
+int node_empty_cb(zone_node_t *node, _unused_ void *ctx)
+{
+ return node_empty(node) ? KNOT_EOK : KNOT_ESEMCHECK;
+}
+
+bool subtree_empty(zone_contents_t *zone, const zone_node_t *node)
+{
+ if (node == NULL) {
+ return true;
+ }
+ int ret = zone_tree_sub_apply(zone->nodes, node->owner, true, node_empty_cb, NULL);
+ return (ret == KNOT_EOK);
+}
+
+/*!< \brief Processes CNAME/DNAME addition (replace or ignore) */
static int process_add_cname(const zone_node_t *node,
const knot_rrset_t *rr,
+ uint16_t type,
zone_update_t *update)
{
- knot_rrset_t cname = node_rrset(node, KNOT_RRTYPE_CNAME);
+ assert(type == KNOT_RRTYPE_CNAME || type == KNOT_RRTYPE_DNAME);
+
+ knot_rrset_t cname = node_rrset(node, type);
if (!knot_rrset_empty(&cname)) {
// If they are identical, ignore.
if (knot_rrset_equal(&cname, rr, true)) {
@@ -333,40 +370,24 @@ static int process_add_cname(const zone_node_t *node,
}
return add_rr_to_changeset(rr, update);
- } else if (!node_empty(node)) {
+ } else if (type == KNOT_RRTYPE_CNAME && !node_empty(node)) {
// Other occupied node => ignore.
return KNOT_EOK;
+ } else if (type == KNOT_RRTYPE_DNAME && !subtree_empty(update->new_cont, node)) {
+ // Equivalent to above, ignore.
+ return KNOT_EOK;
+ } else if (type == KNOT_RRTYPE_DNAME && node_rrtype_exists(node, KNOT_RRTYPE_CNAME)) {
+ // RFC 6672 §5.2.
+ return KNOT_EOK;
+ } else if (type == KNOT_RRTYPE_CNAME && adding_to_cname(rr->owner, update, node)) {
+ // DNAME exists above CNAME, ignore.
+ return KNOT_EOK;
} else {
// Can add.
return add_rr_to_changeset(rr, update);
}
}
-/*!< \brief Processes NSEC3PARAM addition (ignore when not removed, or non-apex) */
-static int process_add_nsec3param(const zone_node_t *node,
- const knot_rrset_t *rr,
- zone_update_t *update)
-{
- if (node == NULL || !node_rrtype_exists(node, KNOT_RRTYPE_SOA)) {
- // Ignore non-apex additions
- char *owner = knot_dname_to_str_alloc(rr->owner);
- log_warning("DDNS, refusing to add NSEC3PARAM to non-apex "
- "node '%s'", owner);
- free(owner);
- return KNOT_EDENIED;
- }
- knot_rrset_t param = node_rrset(node, KNOT_RRTYPE_NSEC3PARAM);
- if (knot_rrset_empty(&param)) {
- return add_rr_to_changeset(rr, update);
- }
-
- char *owner = knot_dname_to_str_alloc(rr->owner);
- log_warning("DDNS, refusing to add second NSEC3PARAM to node '%s'", owner);
- free(owner);
-
- return KNOT_EOK;
-}
-
/*!
* \brief Processes SOA addition (ignore when non-apex), lower serials
* dropped before.
@@ -395,7 +416,7 @@ static int process_add_normal(const zone_node_t *node,
const knot_rrset_t *rr,
zone_update_t *update)
{
- if (adding_to_cname(rr->owner, node)) {
+ if (adding_to_cname(rr->owner, update, node)) {
// Adding RR to CNAME node, ignore.
return KNOT_EOK;
}
@@ -415,11 +436,10 @@ static int process_add(const knot_rrset_t *rr,
{
switch(rr->type) {
case KNOT_RRTYPE_CNAME:
- return process_add_cname(node, rr, update);
+ case KNOT_RRTYPE_DNAME:
+ return process_add_cname(node, rr, rr->type, update);
case KNOT_RRTYPE_SOA:
return process_add_soa(node, rr, update);
- case KNOT_RRTYPE_NSEC3PARAM:
- return process_add_nsec3param(node, rr, update);
default:
return process_add_normal(node, rr, update);
}
@@ -531,49 +551,32 @@ static int process_remove(const knot_rrset_t *rr,
}
}
-/*!< \brief Checks whether addition has not violated DNAME rules. */
-static bool sem_check(const knot_rrset_t *rr, const zone_node_t *zone_node,
- zone_update_t *update)
-{
- const zone_node_t *added_node = zone_contents_find_node(update->new_cont, rr->owner);
-
- // we do this sem check AFTER adding the RR, so the node must exist
- assert(added_node != NULL);
-
- for (const zone_node_t *parent = added_node->parent;
- parent != NULL; parent = parent->parent) {
- if (node_rrtype_exists(parent, KNOT_RRTYPE_DNAME)) {
- // Parent has DNAME RRSet, refuse update
- return false;
- }
- }
-
- if (rr->type != KNOT_RRTYPE_DNAME || zone_node == NULL) {
- return true;
- }
-
- // Check that we have not created node with DNAME children.
- if (zone_node->children > 0) {
- // Updated node has children and DNAME was added, refuse update
- return false;
- }
-
- return true;
-}
-
/*!< \brief Checks whether we can accept this RR. */
static int check_update(const knot_rrset_t *rrset, const knot_pkt_t *query,
- uint16_t *rcode)
+ const zone_contents_t *zone, uint16_t *rcode)
{
/* Accept both subdomain and dname match. */
const knot_dname_t *owner = rrset->owner;
const knot_dname_t *qname = knot_pkt_qname(query);
+ assert(knot_dname_is_equal(qname, zone->apex->owner));
const int in_bailiwick = knot_dname_in_bailiwick(owner, qname);
if (in_bailiwick < 0) {
*rcode = KNOT_RCODE_NOTZONE;
return KNOT_EOUTOFZONE;
}
+ if (rrset->type == KNOT_RRTYPE_NSEC3PARAM) {
+ if (!knot_dname_is_equal(rrset->owner, zone->apex->owner)) {
+ log_warning("DDNS, refusing to add NSEC3PARAM to non-apex node");
+ *rcode = KNOT_RCODE_REFUSED;
+ return KNOT_EDENIED;
+ } else if (node_rrtype_exists(zone->apex, rrset->type)) {
+ log_warning("DDNS, refusing to add second NSEC3PARAM to zone apex");
+ *rcode = KNOT_RCODE_REFUSED;
+ return KNOT_EDENIED;
+ }
+ }
+
if (rrset->rclass == knot_pkt_qclass(query)) {
if (knot_rrtype_is_metatype(rrset->type)) {
*rcode = KNOT_RCODE_FORMERR;
@@ -605,13 +608,7 @@ static int process_rr(const knot_rrset_t *rr, zone_update_t *update)
const zone_node_t *node = zone_update_get_node(update, rr->owner);
if (is_addition(rr)) {
- int ret = process_add(rr, node, update);
- if (ret == KNOT_EOK) {
- if (!sem_check(rr, node, update)) {
- return KNOT_EDENIED;
- }
- }
- return ret;
+ return process_add(rr, node, update);
} else if (is_removal(rr)) {
return process_remove(rr, node, update);
} else {
@@ -660,6 +657,27 @@ int ddns_process_prereqs(const knot_pkt_t *query, zone_update_t *update,
return ret;
}
+int ddns_precheck_update(const knot_pkt_t *query, zone_update_t *update,
+ uint16_t *rcode)
+{
+ if (query == NULL || rcode == NULL || update == NULL) {
+ return KNOT_EINVAL;
+ }
+
+ // Check all RRs in the authority section.
+ const knot_pktsection_t *authority = knot_pkt_section(query, KNOT_AUTHORITY);
+ const knot_rrset_t *authority_rr = (authority->count > 0) ? knot_pkt_rr(authority, 0) : NULL;
+ for (uint16_t i = 0; i < authority->count; ++i) {
+ int ret = check_update(&authority_rr[i], query, update->new_cont, rcode);
+ if (ret != KNOT_EOK) {
+ assert(*rcode != KNOT_RCODE_NOERROR);
+ return ret;
+ }
+ }
+
+ return KNOT_EOK;
+}
+
int ddns_process_update(const knot_pkt_t *query, zone_update_t *update,
uint16_t *rcode)
{
@@ -677,18 +695,11 @@ int ddns_process_update(const knot_pkt_t *query, zone_update_t *update,
const knot_rrset_t *authority_rr = (authority->count > 0) ? knot_pkt_rr(authority, 0) : NULL;
for (uint16_t i = 0; i < authority->count; ++i) {
const knot_rrset_t *rr = &authority_rr[i];
- // Check if RR is correct.
- int ret = check_update(rr, query, rcode);
- if (ret != KNOT_EOK) {
- assert(*rcode != KNOT_RCODE_NOERROR);
- return ret;
- }
-
if (skip_soa(rr, sn_old)) {
continue;
}
- ret = process_rr(rr, update);
+ int ret = process_rr(rr, update);
if (ret != KNOT_EOK) {
*rcode = ret_to_rcode(ret);
return ret;
diff --git a/src/knot/updates/ddns.h b/src/knot/updates/ddns.h
index d5661f5..40f1b37 100644
--- a/src/knot/updates/ddns.h
+++ b/src/knot/updates/ddns.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -32,6 +32,18 @@ int ddns_process_prereqs(const knot_pkt_t *query, zone_update_t *update,
uint16_t *rcode);
/*!
+ * \brief Performs a pre-check of the update'S sanity.
+ *
+ * \param query DNS message containing the update.
+ * \param update Zone to be checked.
+ * \param rcode Returned DNS RCODE.
+ *
+ * \return KNOT_E*
+ */
+int ddns_precheck_update(const knot_pkt_t *query, zone_update_t *update,
+ uint16_t *rcode);
+
+/*!
* \brief Processes DNS update and creates a changeset out of it. Zone is left
* intact.
*
diff --git a/src/knot/updates/zone-update.c b/src/knot/updates/zone-update.c
index 73c9558..4b65a2c 100644
--- a/src/knot/updates/zone-update.c
+++ b/src/knot/updates/zone-update.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -19,8 +19,8 @@
#include <urcu.h>
#include "knot/catalog/interpret.h"
+#include "knot/common/dbus.h"
#include "knot/common/log.h"
-#include "knot/common/systemd.h"
#include "knot/dnssec/zone-events.h"
#include "knot/server/server.h"
#include "knot/updates/zone-update.h"
@@ -942,26 +942,10 @@ int zone_update_commit(conf_t *conf, zone_update_t *update)
val = conf_zone_get(conf, C_DNSSEC_VALIDATION, update->zone->name);
if (conf_bool(&val)) {
bool incr_valid = update->flags & UPDATE_INCREMENTAL;
- const char *msg_valid = incr_valid ? "incremental " : "";
-
- ret = knot_dnssec_validate_zone(update, conf, 0, incr_valid);
+ ret = knot_dnssec_validate_zone(update, conf, 0, incr_valid, true);
if (ret != KNOT_EOK) {
- log_zone_error(update->zone->name, "DNSSEC, %svalidation failed (%s)",
- msg_valid, knot_strerror(ret));
- char type_str[16];
- knot_dname_txt_storage_t name_str;
- if (knot_dname_to_str(name_str, update->validation_hint.node, sizeof(name_str)) != NULL &&
- knot_rrtype_to_string(update->validation_hint.rrtype, type_str, sizeof(type_str)) >= 0) {
- log_zone_error(update->zone->name, "DNSSEC, validation hint: %s %s",
- name_str, type_str);
- }
discard_adds_tree(update);
- if (conf->cache.srv_dbus_event & DBUS_EVENT_ZONE_INVALID) {
- systemd_emit_zone_invalid(update->zone->name);
- }
return ret;
- } else {
- log_zone_info(update->zone->name, "DNSSEC, %svalidation successful", msg_valid);
}
}
@@ -1023,8 +1007,8 @@ int zone_update_commit(conf_t *conf, zone_update_t *update)
}
if (conf->cache.srv_dbus_event & DBUS_EVENT_ZONE_UPDATED) {
- systemd_emit_zone_updated(update->zone->name,
- zone_contents_serial(update->zone->contents));
+ dbus_emit_zone_updated(update->zone->name,
+ zone_contents_serial(update->zone->contents));
}
memset(update, 0, sizeof(*update));
diff --git a/src/knot/updates/zone-update.h b/src/knot/updates/zone-update.h
index 0499d72..814d0ec 100644
--- a/src/knot/updates/zone-update.h
+++ b/src/knot/updates/zone-update.h
@@ -25,7 +25,9 @@
typedef struct {
knot_dname_storage_t next;
const knot_dname_t *node;
+ uint32_t remaining_secs;
uint16_t rrtype;
+ int warning;
} dnssec_validation_hint_t;
/*! \brief Structure for zone contents updating / querying. */
diff --git a/src/knot/zone/backup.c b/src/knot/zone/backup.c
index bfe977b..5c3038a 100644
--- a/src/knot/zone/backup.c
+++ b/src/knot/zone/backup.c
@@ -85,6 +85,7 @@ int zone_backup_init(bool restore_mode, knot_backup_params_t filters, bool force
ctx->restore_mode = restore_mode;
ctx->backup_params = filters;
ctx->in_backup = 0; // Just to be sure.
+ ctx->arch_match = true;
ctx->forced = forced;
ctx->backup_format = BACKUP_VERSION;
ctx->backup_global = false;
@@ -105,6 +106,11 @@ int zone_backup_init(bool restore_mode, knot_backup_params_t filters, bool force
// For restore, check that there are all required data components in the backup.
if (restore_mode) {
+ if (!ctx->arch_match && filters & BACKUP_PARAM_DB) {
+ free(ctx);
+ return KNOT_ECPUCOMPAT;
+ }
+
// '+kaspdb' in backup provides data also for '+keysonly' restore.
knot_backup_params_t available = ctx->in_backup |
((bool)(ctx->in_backup & BACKUP_PARAM_KASPDB) * BACKUP_PARAM_KEYSONLY);
@@ -363,13 +369,13 @@ static int backup_keystore(conf_t *conf, zone_t *zone, zone_backup_ctx_t *ctx)
conf_val_t policy_id = get_zone_policy(conf, zone->name);
unsigned backend_type = 0;
- int ret = zone_init_keystore(conf, &policy_id, &from, &backend_type, NULL);
+ int ret = zone_init_keystore(conf, &policy_id, NULL, &from, &backend_type, NULL);
if (ret != KNOT_EOK) {
LOG_FAIL("keystore init");
return ret;
}
if (backend_type == KEYSTORE_BACKEND_PKCS11) {
- log_zone_notice(zone->name, "private keys from PKCS #11 aren't subject of backup/restore");
+ log_zone_notice(zone->name, "private keys from PKCS #11 are not subject of backup/restore");
(void)dnssec_keystore_deinit(from);
return KNOT_EOK;
}
diff --git a/src/knot/zone/backup.h b/src/knot/zone/backup.h
index 9f2660d..ad0c954 100644
--- a/src/knot/zone/backup.h
+++ b/src/knot/zone/backup.h
@@ -57,6 +57,11 @@ typedef enum {
BACKUP_PARAM_TIMERS | BACKUP_PARAM_KASPDB | \
BACKUP_PARAM_CATALOG)
+/*! \bref Backup components using LMDB databases. */
+#define BACKUP_PARAM_DB (BACKUP_PARAM_JOURNAL | BACKUP_PARAM_TIMERS | \
+ BACKUP_PARAM_KASPDB | BACKUP_PARAM_KEYSONLY | \
+ BACKUP_PARAM_CATALOG)
+
typedef struct {
const char *name;
knot_backup_params_t param;
@@ -70,6 +75,7 @@ typedef struct zone_backup_ctx {
bool forced; // if true, the force flag has been set
knot_backup_params_t backup_params; // bit-mapped list of backup components
knot_backup_params_t in_backup; // bit-mapped list of components available in backup
+ bool arch_match; // match of the system and the backup architectures
bool backup_global; // perform global backup for all zones
ssize_t readers; // when decremented to 0, all zones done, free this context
pthread_mutex_t readers_mutex; // mutex covering readers counter
diff --git a/src/knot/zone/backup_dir.c b/src/knot/zone/backup_dir.c
index 7bf9fd5..b382258 100644
--- a/src/knot/zone/backup_dir.c
+++ b/src/knot/zone/backup_dir.c
@@ -28,11 +28,21 @@
#include "contrib/getline.h"
#include "knot/common/log.h"
+#ifdef ENDIANITY_LITTLE
+ #define ENDIAN_STR "LE"
+#else
+ #define ENDIAN_STR "BE"
+#endif
+#define _STR(x) #x
+#define STR(x) _STR(x)
+#define KNOT_ARCH STR(__LONG_WIDTH__) ENDIAN_STR
+
#define LABEL_FILE "knot_backup.label"
#define LOCK_FILE "lock.knot_backup"
#define LABEL_FILE_HEAD "label: Knot DNS Backup\n"
#define LABEL_FILE_FORMAT "backup_format: %d\n"
+#define LABEL_FILE_ARCH "architecture: "
#define LABEL_FILE_PARAMS "parameters: "
#define LABEL_FILE_BACKUPDIR "backupdir "
#define LABEL_FILE_TIME_FORMAT "%Y-%m-%d %H:%M:%S %Z"
@@ -49,6 +59,7 @@
static const char *label_file_name = LABEL_FILE;
static const char *lock_file_name = LOCK_FILE;
static const char *label_file_head = LABEL_FILE_HEAD;
+static const char *label_file_arch = KNOT_ARCH;
static void get_full_path(zone_backup_ctx_t *ctx, const char *filename,
char *full_path, size_t full_path_size)
@@ -125,6 +136,9 @@ static int make_label_file(zone_backup_ctx_t *ctx)
localtime_r(&now, &tm);
strftime(finished_time, sizeof(finished_time), LABEL_FILE_TIME_FORMAT, &tm);
+ int lmdb_major, lmdb_minor, lmdb_patch;
+ (void)mdb_version(&lmdb_major, &lmdb_minor, &lmdb_patch);
+
// Print the label contents.
char params_str[PARAMS_MAX_LENGTH];
print_params(params_str, ctx->backup_params);
@@ -135,10 +149,14 @@ static int make_label_file(zone_backup_ctx_t *ctx)
"started_time: %s\n"
"finished_time: %s\n"
"knot_version: %s\n"
+ "lmdb_version: %d.%d.%d\n"
+ LABEL_FILE_ARCH "%s\n"
LABEL_FILE_PARAMS "%s+" LABEL_FILE_BACKUPDIR "%s\n"
"zone_count: %d\n",
label_file_head,
- ctx->backup_format, ident, started_time, finished_time, PACKAGE_VERSION,
+ ctx->backup_format, ident, started_time, finished_time,
+ PACKAGE_VERSION,
+ lmdb_major, lmdb_minor, lmdb_patch, label_file_arch,
params_str, ctx->backup_dir,
ctx->zone_count);
@@ -199,6 +217,7 @@ static int get_backup_format(zone_backup_ctx_t *ctx)
unsigned int remain = 3; // Bit-mapped "punch card" for lines to get data from.
while (remain > 0 && knot_getline(&line, &line_size, file) != -1) {
int value;
+ char str[8];
if (sscanf(line, LABEL_FILE_FORMAT, &value) != 0) {
if (value >= BACKUP_FORMAT_TERM) {
ret = KNOT_ENOTSUP;
@@ -212,6 +231,11 @@ static int get_backup_format(zone_backup_ctx_t *ctx)
continue;
}
}
+ if (sscanf(line, LABEL_FILE_ARCH "%7s\n", str) != 0 &&
+ strcmp(str, label_file_arch) != 0) {
+ ctx->arch_match = false;
+ continue;
+ }
if (strncmp(line, LABEL_FILE_PARAMS, sizeof(LABEL_FILE_PARAMS) - 1) == 0) {
ctx->in_backup = parse_params(line + sizeof(LABEL_FILE_PARAMS) - 1);
remain &= ~2;
@@ -240,6 +264,22 @@ int backupdir_init(zone_backup_ctx_t *ctx)
return KNOT_ENOTDIR;
}
} else {
+ if (ctx->forced) {
+ if (stat(ctx->backup_dir, &sb) == 0) {
+ int ret2 = remove_path(ctx->backup_dir, S_ISDIR(sb.st_mode));
+ if (ret2 != KNOT_EOK) {
+ return ret2;
+ }
+ } else if (errno != ENOENT) {
+ return knot_map_errno();
+ } else if (lstat(ctx->backup_dir, &sb) == 0 && S_ISLNK(sb.st_mode)) {
+ // Stale symlink.
+ if (unlink(ctx->backup_dir) != 0) {
+ return knot_map_errno();
+ }
+ } // Omitting lstat() failure check, make_dir() will do it.
+ }
+
ret = make_dir(ctx->backup_dir, S_IRWXU | S_IRWXG, true);
if (ret != KNOT_EOK) {
return ret;
diff --git a/src/knot/zone/contents.c b/src/knot/zone/contents.c
index cba13e8..262136b 100644
--- a/src/knot/zone/contents.c
+++ b/src/knot/zone/contents.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -106,6 +106,12 @@ static zone_node_t *get_nsec3_node(const zone_contents_t *zone,
return zone_tree_get(zone->nsec3_nodes, name);
}
+// UBSAN type punning workaround
+static zone_node_t *node_new_for_contents_wrap(const uint8_t *owner, void *contents)
+{
+ return node_new_for_contents(owner, contents);
+}
+
static int insert_rr(zone_contents_t *z, const knot_rrset_t *rr, zone_node_t **n)
{
if (knot_rrset_empty(rr)) {
@@ -114,7 +120,7 @@ static int insert_rr(zone_contents_t *z, const knot_rrset_t *rr, zone_node_t **n
if (*n == NULL) {
int ret = zone_tree_add_node(zone_contents_tree_for_rr(z, rr), z->apex, rr->owner,
- (zone_tree_new_node_cb_t)node_new_for_contents, z, n);
+ node_new_for_contents_wrap, z, n);
if (ret != KNOT_EOK) {
return ret;
}
diff --git a/src/knot/zone/contents.h b/src/knot/zone/contents.h
index 8f1f160..f344c97 100644
--- a/src/knot/zone/contents.h
+++ b/src/knot/zone/contents.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -16,6 +16,7 @@
#pragma once
+#include "contrib/time.h"
#include "libdnssec/nsec.h"
#include "libknot/rrtype/nsec3param.h"
#include "knot/zone/node.h"
@@ -38,6 +39,7 @@ typedef struct zone_contents {
size_t size;
uint32_t max_ttl;
bool dnssec;
+ knot_time_t dnssec_expire;
} zone_contents_t;
/*!
diff --git a/src/knot/zone/digest.c b/src/knot/zone/digest.c
index b961f15..a4d50ce 100644
--- a/src/knot/zone/digest.c
+++ b/src/knot/zone/digest.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -60,7 +60,7 @@ static int digest_rrset(knot_rrset_t *rrset, const zone_node_t *node, void *vctx
}
}
- size_t buf_req = knot_rrset_size(rrset);
+ size_t buf_req = knot_rrset_size_estimate(rrset);
if (buf_req > ctx->buf_size) {
uint8_t *newbuf = realloc(ctx->buf, buf_req);
if (newbuf == NULL) {
@@ -71,7 +71,7 @@ static int digest_rrset(knot_rrset_t *rrset, const zone_node_t *node, void *vctx
}
int ret = knot_rrset_to_wire_extra(rrset, ctx->buf, ctx->buf_size, 0,
- NULL, KNOT_PF_ORIGTTL | KNOT_PF_BUFENOUGH);
+ NULL, KNOT_PF_ORIGTTL);
// cleanup apex RRSIGs mess
if (node == ctx->apex && rrset->type == KNOT_RRTYPE_RRSIG) {
diff --git a/src/knot/zone/semantic-check.c b/src/knot/zone/semantic-check.c
index 862d7a4..3d085d8 100644
--- a/src/knot/zone/semantic-check.c
+++ b/src/knot/zone/semantic-check.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -29,6 +29,8 @@
static const char *error_messages[SEM_ERR_UNKNOWN + 1] = {
[SEM_ERR_SOA_NONE] =
"missing SOA at the zone apex",
+ [SEM_ERR_SOA_MULTIPLE] =
+ "multiple SOA records",
[SEM_ERR_CNAME_EXTRA_RECORDS] =
"another record exists beside CNAME",
@@ -58,6 +60,8 @@ static const char *error_messages[SEM_ERR_UNKNOWN + 1] = {
"inconsistent NSEC(3) chain",
[SEM_ERR_NSEC3_INSECURE_DELEGATION_OPT] =
"wrong NSEC3 opt-out",
+ [SEM_ERR_EXTRA_NSEC] =
+ "superfluous NSEC(3)",
[SEM_ERR_NSEC3PARAM_RDATA_FLAGS] =
"invalid flags in NSEC3PARAM",
@@ -504,6 +508,8 @@ static sem_error_t err_dnssec2sem(int ret, uint16_t rrtype, char *info, size_t l
return SEM_ERR_NSEC3_INSECURE_DELEGATION_OPT;
case KNOT_DNSSEC_EKEYTAG_LIMIT:
return SEM_ERR_DNSKEY_KEYTAG_LIMIT;
+ case KNOT_DNSSEC_EXTRA_NSEC:
+ return SEM_ERR_EXTRA_NSEC;
default:
return SEM_ERR_UNKNOWN;
}
@@ -512,7 +518,7 @@ static sem_error_t err_dnssec2sem(int ret, uint16_t rrtype, char *info, size_t l
static int verify_dnssec(zone_contents_t *zone, sem_handler_t *handler, time_t time)
{
zone_update_t fake_up = { .new_cont = zone, };
- int ret = knot_dnssec_validate_zone(&fake_up, NULL, time, false);
+ int ret = knot_dnssec_validate_zone(&fake_up, NULL, time, false, false);
if (fake_up.validation_hint.node != NULL) { // validation found an issue
char info[64] = "";
sem_error_t err = err_dnssec2sem(ret, fake_up.validation_hint.rrtype, info, sizeof(info));
diff --git a/src/knot/zone/semantic-check.h b/src/knot/zone/semantic-check.h
index 6a8b3c3..a0b1d21 100644
--- a/src/knot/zone/semantic-check.h
+++ b/src/knot/zone/semantic-check.h
@@ -35,6 +35,7 @@ typedef enum {
typedef enum {
// Mandatory checks.
SEM_ERR_SOA_NONE,
+ SEM_ERR_SOA_MULTIPLE,
SEM_ERR_CNAME_EXTRA_RECORDS,
SEM_ERR_CNAME_MULTIPLE,
@@ -74,6 +75,8 @@ typedef enum {
SEM_ERR_CDNSKEY_NO_CDS,
SEM_ERR_CDNSKEY_INVALID_DELETE,
+ SEM_ERR_EXTRA_NSEC,
+
// General error!
SEM_ERR_UNKNOWN
} sem_error_t;
diff --git a/src/knot/zone/zone-load.c b/src/knot/zone/zone-load.c
index 11cba83..9cd7ee2 100644
--- a/src/knot/zone/zone-load.c
+++ b/src/knot/zone/zone-load.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -33,9 +33,12 @@ int zone_load_contents(conf_t *conf, const knot_dname_t *zone_name,
}
char *zonefile = conf_zonefile(conf, zone_name);
+ conf_val_t val = conf_zone_get(conf, C_DEFAULT_TTL, zone_name);
+ uint32_t dflt_ttl = conf_int(&val);
zloader_t zl;
- int ret = zonefile_open(&zl, zonefile, zone_name, semcheck_mode, time(NULL));
+ int ret = zonefile_open(&zl, zonefile, zone_name, dflt_ttl,
+ semcheck_mode, time(NULL));
free(zonefile);
if (ret != KNOT_EOK) {
return ret;
diff --git a/src/knot/zone/zone-load.h b/src/knot/zone/zone-load.h
index c438903..0833e14 100644
--- a/src/knot/zone/zone-load.h
+++ b/src/knot/zone/zone-load.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,6 +20,8 @@
#include "knot/zone/semantic-check.h"
#include "knot/zone/zone.h"
+#define DEFAULT_TTL 3600
+
/*!
* \brief Load zone contents according to the configuration.
*
diff --git a/src/knot/zone/zone-tree.c b/src/knot/zone/zone-tree.c
index 87dde18..c3f79e7 100644
--- a/src/knot/zone/zone-tree.c
+++ b/src/knot/zone/zone-tree.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -241,7 +241,7 @@ int zone_tree_add_node(zone_tree_t *tree, zone_node_t *apex, const knot_dname_t
return ret;
}
zone_node_t *parent = NULL;
- ret = zone_tree_add_node(tree, apex, knot_wire_next_label(dname, NULL), new_cb, new_cb_ctx, &parent);
+ ret = zone_tree_add_node(tree, apex, knot_dname_next_label(dname), new_cb, new_cb_ctx, &parent);
if (ret != KNOT_EOK) {
return ret;
}
diff --git a/src/knot/zone/zone.c b/src/knot/zone/zone.c
index 7c84202..06a8a90 100644
--- a/src/knot/zone/zone.c
+++ b/src/knot/zone/zone.c
@@ -180,6 +180,7 @@ zone_t* zone_new(const knot_dname_t *name)
zone->ddns_queue_size = 0;
init_list(&zone->ddns_queue);
+ pthread_mutex_init(&zone->cu_lock, NULL);
knot_sem_init(&zone->cow_lock, 1);
// Preferred master lock
@@ -222,6 +223,7 @@ void zone_free(zone_t **zone_ptr)
free_ddns_queue(zone);
pthread_mutex_destroy(&zone->ddns_lock);
+ pthread_mutex_destroy(&zone->cu_lock);
knot_sem_destroy(&zone->cow_lock);
/* Control update. */
@@ -273,6 +275,12 @@ void zone_reset(conf_t *conf, zone_t *zone)
} \
}
+// UBSAN type punning workaround
+static bool dname_cmp_sweep_wrap(const uint8_t *zone, void *data)
+{
+ return knot_dname_cmp((const knot_dname_t *)zone, (const knot_dname_t *)data) != 0;
+}
+
int selective_zone_purge(conf_t *conf, zone_t *zone, purge_flag_t params)
{
if (conf == NULL || zone == NULL) {
@@ -291,7 +299,7 @@ int selective_zone_purge(conf_t *conf, zone_t *zone, purge_flag_t params)
zone_timers_sanitize(conf, zone);
zone->zonefile.bootstrap_cnt = 0;
ret = zone_timers_sweep(&zone->server->timerdb,
- (sweep_cb)knot_dname_cmp, zone->name);
+ dname_cmp_sweep_wrap, zone->name);
RETURN_IF_FAILED("timers", KNOT_ENOENT);
}
diff --git a/src/knot/zone/zone.h b/src/knot/zone/zone.h
index 0527c85..a6046de 100644
--- a/src/knot/zone/zone.h
+++ b/src/knot/zone/zone.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -16,6 +16,7 @@
#pragma once
+#include "contrib/atomic.h"
#include "contrib/semaphore.h"
#include "knot/catalog/catalog_update.h"
#include "knot/conf/conf.h"
@@ -114,6 +115,7 @@ typedef struct zone
/*! \brief Control update context. */
struct zone_update *control_update;
+ pthread_mutex_t cu_lock;
/*! \brief Ensue one COW transaction on zone's trees at a time. */
knot_sem_t cow_lock;
@@ -122,7 +124,7 @@ typedef struct zone
struct server *server;
/*! \brief Zone backup context (NULL unless backup pending). */
- struct zone_backup_ctx *backup_ctx;
+ knot_atomic_ptr_t backup_ctx;
/*! \brief Catalog-generate feature. */
knot_dname_t *catalog_gen;
diff --git a/src/knot/zone/zonedb-load.c b/src/knot/zone/zonedb-load.c
index d8acd0b..52d9b0f 100644
--- a/src/knot/zone/zonedb-load.c
+++ b/src/knot/zone/zonedb-load.c
@@ -510,7 +510,7 @@ static knot_zonedb_t *create_zonedb(conf_t *conf, server_t *server, reload_t mod
if (forw == NULL) {
knot_dname_txt_storage_t forw_str;
(void)knot_dname_to_str(forw_str, forw_name, sizeof(forw_str));
- log_zone_warning(z->name, "zone to reverse %s doesn't exist",
+ log_zone_warning(z->name, "zone to reverse %s does not exist",
forw_str);
} else {
z->reverse_from = forw;
@@ -587,6 +587,12 @@ catalog_only:
}
}
+// UBSAN type punning workaround
+static void zone_contents_deep_free_wrap(void *contents)
+{
+ zone_contents_deep_free((zone_contents_t *)contents);
+}
+
void zonedb_reload(conf_t *conf, server_t *server, reload_t mode)
{
if (conf == NULL || server == NULL) {
@@ -625,7 +631,7 @@ void zonedb_reload(conf_t *conf, server_t *server, reload_t mode)
/* Wait for readers to finish reading old zone database. */
synchronize_rcu();
- ptrlist_free_custom(&contents_tofree, NULL, (ptrlist_free_cb)zone_contents_deep_free);
+ ptrlist_free_custom(&contents_tofree, NULL, zone_contents_deep_free_wrap);
/* Remove old zone DB. */
remove_old_zonedb(conf, db_old, server, mode);
diff --git a/src/knot/zone/zonedb.c b/src/knot/zone/zonedb.c
index 98cade5..b0388c7 100644
--- a/src/knot/zone/zonedb.c
+++ b/src/knot/zone/zonedb.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -153,7 +153,7 @@ zone_t *knot_zonedb_find_suffix(knot_zonedb_t *db, const knot_dname_t *zone_name
return NULL;
}
- zone_name = knot_wire_next_label(zone_name, NULL);
+ zone_name = knot_dname_next_label(zone_name);
}
}
diff --git a/src/knot/zone/zonefile.c b/src/knot/zone/zonefile.c
index d104820..9d0bf97 100644
--- a/src/knot/zone/zonefile.c
+++ b/src/knot/zone/zonefile.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -81,12 +81,6 @@ int zcreator_step(zcreator_t *zc, const knot_rrset_t *rr)
return KNOT_EINVAL;
}
- if (rr->type == KNOT_RRTYPE_SOA &&
- node_rrtype_exists(zc->z->apex, KNOT_RRTYPE_SOA)) {
- // Ignore extra SOA
- return KNOT_EOK;
- }
-
zone_node_t *node = NULL;
int ret = zone_contents_add_rr(zc->z, rr, &node);
if (ret != KNOT_EOK) {
@@ -136,8 +130,8 @@ static void process_data(zs_scanner_t *scanner)
knot_rrset_clear(&rr, NULL);
}
-int zonefile_open(zloader_t *loader, const char *source,
- const knot_dname_t *origin, semcheck_optional_t semantic_checks, time_t time)
+int zonefile_open(zloader_t *loader, const char *source, const knot_dname_t *origin,
+ uint32_t dflt_ttl, semcheck_optional_t semantic_checks, time_t time)
{
if (!loader) {
return KNOT_EINVAL;
@@ -171,7 +165,7 @@ int zonefile_open(zloader_t *loader, const char *source,
return KNOT_ENOMEM;
}
- if (zs_init(&loader->scanner, origin_str, KNOT_CLASS_IN, 3600) != 0 ||
+ if (zs_init(&loader->scanner, origin_str, KNOT_CLASS_IN, dflt_ttl) != 0 ||
zs_set_input_file(&loader->scanner, source) != 0 ||
zs_set_processing(&loader->scanner, process_data, process_error, zc) != 0) {
zs_deinit(&loader->scanner);
@@ -219,10 +213,11 @@ zone_contents_t *zonefile_load(zloader_t *loader)
goto fail;
}
- if (!node_rrtype_exists(loader->creator->z->apex, KNOT_RRTYPE_SOA)) {
+ knot_rdataset_t *soa = node_rdataset(zc->z->apex, KNOT_RRTYPE_SOA);
+ if (soa == NULL || soa->count != 1) {
+ sem_error_t code = (soa == NULL) ? SEM_ERR_SOA_NONE : SEM_ERR_SOA_MULTIPLE;
loader->err_handler->error = true;
- loader->err_handler->cb(loader->err_handler, zc->z, NULL,
- SEM_ERR_SOA_NONE, NULL);
+ loader->err_handler->cb(loader->err_handler, zc->z, NULL, code, NULL);
goto fail;
}
diff --git a/src/knot/zone/zonefile.h b/src/knot/zone/zonefile.h
index c8dbfad..c86f59e 100644
--- a/src/knot/zone/zonefile.h
+++ b/src/knot/zone/zonefile.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -22,6 +22,7 @@
#include "knot/zone/zone.h"
#include "knot/zone/semantic-check.h"
#include "libzscanner/scanner.h"
+
/*!
* \brief Zone creator structure.
*/
@@ -52,14 +53,15 @@ void err_handler_logger(sem_handler_t *handler, const zone_contents_t *zone,
* \param loader Output zone loader.
* \param source Source file name.
* \param origin Zone origin.
+ * \param dflt_ttl Default TTL.
* \param semantic_checks Perform semantic checks.
* \param time Time for semantic check.
*
* \retval Initialized loader on success.
* \retval NULL on error.
*/
-int zonefile_open(zloader_t *loader, const char *source,
- const knot_dname_t *origin, semcheck_optional_t semantic_checks, time_t time);
+int zonefile_open(zloader_t *loader, const char *source, const knot_dname_t *origin,
+ uint32_t dflt_ttl, semcheck_optional_t semantic_checks, time_t time);
/*!
* \brief Loads zone from a zone file.
diff --git a/src/libdnssec/Makefile.inc b/src/libdnssec/Makefile.inc
index 981d841..62050b3 100644
--- a/src/libdnssec/Makefile.inc
+++ b/src/libdnssec/Makefile.inc
@@ -8,6 +8,9 @@ if ENABLE_PKCS11
libdnssec_la_LIBADD += $(pthread_LIBS)
endif
+EXTRA_DIST += \
+ libdnssec/sample_keys.h
+
include_libdnssecdir = $(includedir)/libdnssec
include_libdnssec_HEADERS = \
libdnssec/binary.h \
diff --git a/src/libdnssec/key/algorithm.c b/src/libdnssec/key/algorithm.c
index a9bc3ee..d242442 100644
--- a/src/libdnssec/key/algorithm.c
+++ b/src/libdnssec/key/algorithm.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2020 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -93,11 +93,9 @@ gnutls_pk_algorithm_t algorithm_to_gnutls(dnssec_key_algorithm_t dnssec)
return GNUTLS_PK_RSA;
case DNSSEC_KEY_ALGORITHM_ECDSA_P256_SHA256:
case DNSSEC_KEY_ALGORITHM_ECDSA_P384_SHA384:
- return GNUTLS_PK_EC;
-#ifdef HAVE_ED25519
+ return GNUTLS_PK_ECDSA;
case DNSSEC_KEY_ALGORITHM_ED25519:
return GNUTLS_PK_EDDSA_ED25519;
-#endif
#ifdef HAVE_ED448
case DNSSEC_KEY_ALGORITHM_ED448:
return GNUTLS_PK_EDDSA_ED448;
@@ -119,11 +117,7 @@ bool dnssec_algorithm_reproducible(dnssec_key_algorithm_t algorithm, bool enable
return true; // those are always reproducible
case DNSSEC_KEY_ALGORITHM_ECDSA_P256_SHA256:
case DNSSEC_KEY_ALGORITHM_ECDSA_P384_SHA384:
-#ifdef HAVE_GNUTLS_REPRODUCIBLE
- return enabled; // Reproducible only if GnuTLS supports && enabled
-#else
- return false;
-#endif
+ return enabled; // reproducible only if GnuTLS supports && enabled
default:
return false;
}
diff --git a/src/libdnssec/key/convert.c b/src/libdnssec/key/convert.c
index 56168f7..d06c25e 100644
--- a/src/libdnssec/key/convert.c
+++ b/src/libdnssec/key/convert.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2018 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -104,20 +104,16 @@ static size_t ecdsa_curve_point_size(gnutls_ecc_curve_t curve)
}
}
-#if defined(HAVE_ED25519) || defined(HAVE_ED448)
static size_t eddsa_curve_point_size(gnutls_ecc_curve_t curve)
{
switch (curve) {
-#ifdef HAVE_ED25519
case GNUTLS_ECC_CURVE_ED25519: return 32;
-#endif
#ifdef HAVE_ED448
case GNUTLS_ECC_CURVE_ED448: return 57;
#endif
default: return 0;
}
}
-#endif
/*!
* Convert ECDSA public key to DNSSEC format.
@@ -157,7 +153,6 @@ static int ecdsa_pubkey_to_rdata(gnutls_pubkey_t key, dnssec_binary_t *rdata)
/*!
* Convert EDDSA public key to DNSSEC format.
*/
-#if defined(HAVE_ED25519) || defined(HAVE_ED448)
static int eddsa_pubkey_to_rdata(gnutls_pubkey_t key, dnssec_binary_t *rdata)
{
assert(key);
@@ -187,7 +182,6 @@ static int eddsa_pubkey_to_rdata(gnutls_pubkey_t key, dnssec_binary_t *rdata)
return DNSSEC_EOK;
}
-#endif
/* -- crypto to DNSSEC ------------------------------------------------------*/
@@ -248,20 +242,16 @@ static gnutls_ecc_curve_t ecdsa_curve_from_rdata_size(size_t rdata_size)
/*!
* Get EDDSA curve based on DNSKEY RDATA size.
*/
-#if defined(HAVE_ED25519) || defined(HAVE_ED448)
static gnutls_ecc_curve_t eddsa_curve_from_rdata_size(size_t rdata_size)
{
switch (rdata_size) {
-#ifdef HAVE_ED25519
case 32: return GNUTLS_ECC_CURVE_ED25519;
-#endif
#ifdef HAVE_ED448
case 57: return GNUTLS_ECC_CURVE_ED448;
#endif
default: return GNUTLS_ECC_CURVE_INVALID;
}
}
-#endif
/*!
* Convert ECDSA key in DNSSEC format to crypto key.
@@ -296,7 +286,6 @@ static int ecdsa_rdata_to_pubkey(const dnssec_binary_t *rdata, gnutls_pubkey_t k
/*!
* Convert EDDSA key in DNSSEC format to crypto key.
*/
-#if defined(HAVE_ED25519) || defined(HAVE_ED448)
static int eddsa_rdata_to_pubkey(const dnssec_binary_t *rdata, gnutls_pubkey_t key)
{
assert(rdata);
@@ -320,7 +309,6 @@ static int eddsa_rdata_to_pubkey(const dnssec_binary_t *rdata, gnutls_pubkey_t k
return DNSSEC_EOK;
}
-#endif
/* -- internal API --------------------------------------------------------- */
@@ -339,10 +327,8 @@ int convert_pubkey_to_dnskey(gnutls_pubkey_t key, dnssec_binary_t *rdata)
switch ((gnutls_pk_algorithm_t)algorithm) {
case GNUTLS_PK_RSA: return rsa_pubkey_to_rdata(key, rdata);
- case GNUTLS_PK_EC: return ecdsa_pubkey_to_rdata(key, rdata);
-#ifdef HAVE_ED25519
+ case GNUTLS_PK_ECDSA: return ecdsa_pubkey_to_rdata(key, rdata);
case GNUTLS_PK_EDDSA_ED25519: return eddsa_pubkey_to_rdata(key, rdata);
-#endif
#ifdef HAVE_ED448
case GNUTLS_PK_EDDSA_ED448: return eddsa_pubkey_to_rdata(key, rdata);
#endif
@@ -363,10 +349,8 @@ int convert_dnskey_to_pubkey(uint8_t algorithm, const dnssec_binary_t *rdata,
switch(gnutls_alg) {
case GNUTLS_PK_RSA: return rsa_rdata_to_pubkey(rdata, key);
- case GNUTLS_PK_EC: return ecdsa_rdata_to_pubkey(rdata, key);
-#ifdef HAVE_ED25519
+ case GNUTLS_PK_ECDSA: return ecdsa_rdata_to_pubkey(rdata, key);
case GNUTLS_PK_EDDSA_ED25519: return eddsa_rdata_to_pubkey(rdata, key);
-#endif
#ifdef HAVE_ED448
case GNUTLS_PK_EDDSA_ED448: return eddsa_rdata_to_pubkey(rdata, key);
#endif
diff --git a/src/libdnssec/pem.c b/src/libdnssec/pem.c
index fa463f6..41fd855 100644
--- a/src/libdnssec/pem.c
+++ b/src/libdnssec/pem.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2020 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -130,29 +130,10 @@ int dnssec_pem_from_x509(gnutls_x509_privkey_t key, dnssec_binary_t *pem)
static int privkey_export_x509(gnutls_privkey_t key, gnutls_x509_privkey_t *_key)
{
-#ifdef HAVE_EXPORT_X509
if (gnutls_privkey_export_x509(key, _key) != GNUTLS_E_SUCCESS) {
return DNSSEC_KEY_EXPORT_ERROR;
}
-#else // Needed for GnuTLS < 3.4.0 (CentOS 7)
- struct privkey { // Extracted needed items only!
- gnutls_privkey_type_t type;
- gnutls_pk_algorithm_t pk_algorithm;
- gnutls_x509_privkey_t x509;
- };
- struct privkey *pkey = (struct privkey *)key;
- assert(pkey->type == GNUTLS_PRIVKEY_X509);
-
- if (gnutls_x509_privkey_init(_key) != GNUTLS_E_SUCCESS) {
- return DNSSEC_KEY_EXPORT_ERROR;
- }
-
- if (gnutls_x509_privkey_cpy(*_key, pkey->x509) != GNUTLS_E_SUCCESS) {
- gnutls_x509_privkey_deinit(*_key);
- return DNSSEC_KEY_EXPORT_ERROR;
- }
-#endif
return DNSSEC_EOK;
}
diff --git a/src/libdnssec/sample_keys.h b/src/libdnssec/sample_keys.h
new file mode 100644
index 0000000..5b6155e
--- /dev/null
+++ b/src/libdnssec/sample_keys.h
@@ -0,0 +1,498 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "libdnssec/binary.h"
+
+typedef struct key_parameters {
+ // DNSSEC fields
+ uint8_t *name;
+ uint16_t flags;
+ uint8_t protocol;
+ uint8_t algorithm;
+ dnssec_binary_t public_key;
+
+ // DNSSEC wire format
+ dnssec_binary_t rdata;
+
+ // Hashes
+ const char *key_id;
+ uint16_t keytag;
+ dnssec_binary_t ds_sha1;
+ dnssec_binary_t ds_sha256;
+ dnssec_binary_t ds_sha384;
+
+ // Key information
+ unsigned bit_size;
+
+ // Private key in PEM
+ dnssec_binary_t pem;
+} key_parameters_t;
+
+/*
+
+RSA-SHA-256
+
+rsa. IN DNSKEY 256 3 8 AwEAAaqwL+O6GcCPkRZjoObfIJHcHPwQQY9mnAg6kROea2gsyRJOAwBNQPCfXoPtmrU0BiZ0aGBVTVPAvZh+HJRu9NEfTNDPK2HSyHdSucjY1qs6WAub6oWHJuLBxMesftpnUwoLnVZyN+pOblUZUMsvxP3PlS+mA+E6NyQX0F/fcfGL
+rsa. IN DS 37335 8 1 2ABEFAAB07A900F8CB5B266FC930EEBEF51766F6
+rsa. IN DS 37335 8 2 30226484F230814C08C6DD9E2DF6E7A3DB860C2552A418CBF70D0FEE94DFA15F
+rsa. IN DS 37335 8 4 978E0F7766096E131E3E90C50B63DBD825E7428E864BC5A3D32F3135A3786F0CDC6A070B6B8D760190F0F572B03CA4C0
+
+Modulus: qrAv47oZwI+RFmOg5t8gkdwc/BBBj2acCDqRE55raCzJEk4DAE1A8J9eg+2atTQGJnRoYFVNU8C9mH4clG700R9M0M8rYdLId1K5yNjWqzpYC5vqhYcm4sHEx6x+2mdTCgudVnI36k5uVRlQyy/E/c+VL6YD4To3JBfQX99x8Ys=
+PublicExponent: AQAB
+PrivateExponent: NGDSoVBHfMbRoAw8oPxRk1D3eAZJCAdV1FSclmej0BkGLt7PnvUV+4D8UQHF2ts3E+/e48jpbM0VoUj53jbaWx1ULVmQ1cpJY0XLsRUmaQdOwEnSgXjtQy2htlth8RinB+LnVG8eUS9jWnEEikfvCLH0ptkOa/u6GKFUMj+Q95k=
+Prime1: 4ZZj/YD5xvjxEuE0uR0KedsZeGT6iHqwtmJuLNuhFaeXIw5vXXZmg88U/lIo2t0DESYTbfXglw0eu62MwWb+5w==
+Prime2: wbMU0wM6MYaDs4FfEeuTXT14P3cXZOFGikJPWiIUGoMGvDgYzxdiFoHzGdLkapsPizTqBKMtYQ9CYQa8g1cXvQ==
+Exponent1: ywKuZVqGbdtmB9mHuvc5kEPuffxRwjS3hsq538CfDH/PcYryCagdxYy8lcqWXa/7rJkZbyGQxh7Wg4tBWmM4DQ==
+Exponent2: L8MYv29sSgoBL6IW7zRHghZGMGANRLLH0g/HwVHl4yOr5X1voKEDbslcSGHYMPFLQ+goTDxwVB6PH52pnjk7gQ==
+Coefficient: USHiV/UQkTz3BlxZc1IAiUQv9/Ba8wtHWSVp+YqPhxt1sfdiyUMXtlA4f6WAKAGMraoRw4wIcYr+N6Wx+wwXZw==
+
+-----BEGIN PRIVATE KEY-----
+MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKqwL+O6GcCPkRZj
+oObfIJHcHPwQQY9mnAg6kROea2gsyRJOAwBNQPCfXoPtmrU0BiZ0aGBVTVPAvZh+
+HJRu9NEfTNDPK2HSyHdSucjY1qs6WAub6oWHJuLBxMesftpnUwoLnVZyN+pOblUZ
+UMsvxP3PlS+mA+E6NyQX0F/fcfGLAgMBAAECgYA0YNKhUEd8xtGgDDyg/FGTUPd4
+BkkIB1XUVJyWZ6PQGQYu3s+e9RX7gPxRAcXa2zcT797jyOlszRWhSPneNtpbHVQt
+WZDVykljRcuxFSZpB07ASdKBeO1DLaG2W2HxGKcH4udUbx5RL2NacQSKR+8IsfSm
+2Q5r+7oYoVQyP5D3mQJBAOGWY/2A+cb48RLhNLkdCnnbGXhk+oh6sLZibizboRWn
+lyMOb112ZoPPFP5SKNrdAxEmE2314JcNHrutjMFm/ucCQQDBsxTTAzoxhoOzgV8R
+65NdPXg/dxdk4UaKQk9aIhQagwa8OBjPF2IWgfMZ0uRqmw+LNOoEoy1hD0JhBryD
+Vxe9AkEAywKuZVqGbdtmB9mHuvc5kEPuffxRwjS3hsq538CfDH/PcYryCagdxYy8
+lcqWXa/7rJkZbyGQxh7Wg4tBWmM4DQJAL8MYv29sSgoBL6IW7zRHghZGMGANRLLH
+0g/HwVHl4yOr5X1voKEDbslcSGHYMPFLQ+goTDxwVB6PH52pnjk7gQJAUSHiV/UQ
+kTz3BlxZc1IAiUQv9/Ba8wtHWSVp+YqPhxt1sfdiyUMXtlA4f6WAKAGMraoRw4wI
+cYr+N6Wx+wwXZw==
+-----END PRIVATE KEY-----
+
+*/
+
+static const key_parameters_t SAMPLE_RSA_KEY = {
+ .name = (uint8_t *)"\x03""rsa",
+ .flags = 256,
+ .protocol = 3,
+ .algorithm = 8,
+ .public_key = { .size = 132, .data = (uint8_t []) {
+ 0x03, 0x01, 0x00, 0x01, 0xaa, 0xb0, 0x2f, 0xe3, 0xba, 0x19,
+ 0xc0, 0x8f, 0x91, 0x16, 0x63, 0xa0, 0xe6, 0xdf, 0x20, 0x91,
+ 0xdc, 0x1c, 0xfc, 0x10, 0x41, 0x8f, 0x66, 0x9c, 0x08, 0x3a,
+ 0x91, 0x13, 0x9e, 0x6b, 0x68, 0x2c, 0xc9, 0x12, 0x4e, 0x03,
+ 0x00, 0x4d, 0x40, 0xf0, 0x9f, 0x5e, 0x83, 0xed, 0x9a, 0xb5,
+ 0x34, 0x06, 0x26, 0x74, 0x68, 0x60, 0x55, 0x4d, 0x53, 0xc0,
+ 0xbd, 0x98, 0x7e, 0x1c, 0x94, 0x6e, 0xf4, 0xd1, 0x1f, 0x4c,
+ 0xd0, 0xcf, 0x2b, 0x61, 0xd2, 0xc8, 0x77, 0x52, 0xb9, 0xc8,
+ 0xd8, 0xd6, 0xab, 0x3a, 0x58, 0x0b, 0x9b, 0xea, 0x85, 0x87,
+ 0x26, 0xe2, 0xc1, 0xc4, 0xc7, 0xac, 0x7e, 0xda, 0x67, 0x53,
+ 0x0a, 0x0b, 0x9d, 0x56, 0x72, 0x37, 0xea, 0x4e, 0x6e, 0x55,
+ 0x19, 0x50, 0xcb, 0x2f, 0xc4, 0xfd, 0xcf, 0x95, 0x2f, 0xa6,
+ 0x03, 0xe1, 0x3a, 0x37, 0x24, 0x17, 0xd0, 0x5f, 0xdf, 0x71,
+ 0xf1, 0x8b,
+ }},
+ .rdata = { .size = 136, .data = (uint8_t []) {
+ 0x01, 0x00, 0x03, 0x08,
+ 0x03, 0x01, 0x00, 0x01, 0xaa, 0xb0, 0x2f, 0xe3, 0xba, 0x19,
+ 0xc0, 0x8f, 0x91, 0x16, 0x63, 0xa0, 0xe6, 0xdf, 0x20, 0x91,
+ 0xdc, 0x1c, 0xfc, 0x10, 0x41, 0x8f, 0x66, 0x9c, 0x08, 0x3a,
+ 0x91, 0x13, 0x9e, 0x6b, 0x68, 0x2c, 0xc9, 0x12, 0x4e, 0x03,
+ 0x00, 0x4d, 0x40, 0xf0, 0x9f, 0x5e, 0x83, 0xed, 0x9a, 0xb5,
+ 0x34, 0x06, 0x26, 0x74, 0x68, 0x60, 0x55, 0x4d, 0x53, 0xc0,
+ 0xbd, 0x98, 0x7e, 0x1c, 0x94, 0x6e, 0xf4, 0xd1, 0x1f, 0x4c,
+ 0xd0, 0xcf, 0x2b, 0x61, 0xd2, 0xc8, 0x77, 0x52, 0xb9, 0xc8,
+ 0xd8, 0xd6, 0xab, 0x3a, 0x58, 0x0b, 0x9b, 0xea, 0x85, 0x87,
+ 0x26, 0xe2, 0xc1, 0xc4, 0xc7, 0xac, 0x7e, 0xda, 0x67, 0x53,
+ 0x0a, 0x0b, 0x9d, 0x56, 0x72, 0x37, 0xea, 0x4e, 0x6e, 0x55,
+ 0x19, 0x50, 0xcb, 0x2f, 0xc4, 0xfd, 0xcf, 0x95, 0x2f, 0xa6,
+ 0x03, 0xe1, 0x3a, 0x37, 0x24, 0x17, 0xd0, 0x5f, 0xdf, 0x71,
+ 0xf1, 0x8b,
+ }},
+ .key_id = "76f0d6c093d8328bc7f0e25bd8cde5575bad9b44",
+ .keytag = 37335,
+ .ds_sha1 = { .size = 24, .data = (uint8_t []) {
+ 0x91, 0xd7, 0x08, 0x01,
+ 0x2a, 0xbe, 0xfa, 0xab, 0x07, 0xa9, 0x00, 0xf8, 0xcb, 0x5b,
+ 0x26, 0x6f, 0xc9, 0x30, 0xee, 0xbe, 0xf5, 0x17, 0x66, 0xf6,
+ }},
+ .ds_sha256 = { .size = 36, .data = (uint8_t []) {
+ 0x91, 0xd7, 0x08, 0x02,
+ 0x30, 0x22, 0x64, 0x84, 0xf2, 0x30, 0x81, 0x4c, 0x08, 0xc6,
+ 0xdd, 0x9e, 0x2d, 0xf6, 0xe7, 0xa3, 0xdb, 0x86, 0x0c, 0x25,
+ 0x52, 0xa4, 0x18, 0xcb, 0xf7, 0x0d, 0x0f, 0xee, 0x94, 0xdf,
+ 0xa1, 0x5f,
+ }},
+ .ds_sha384 = { .size = 52, .data = (uint8_t []) {
+ 0x91, 0xd7, 0x08, 0x04,
+ 0x97, 0x8e, 0x0f, 0x77, 0x66, 0x09, 0x6e, 0x13, 0x1e, 0x3e,
+ 0x90, 0xc5, 0x0b, 0x63, 0xdb, 0xd8, 0x25, 0xe7, 0x42, 0x8e,
+ 0x86, 0x4b, 0xc5, 0xa3, 0xd3, 0x2f, 0x31, 0x35, 0xa3, 0x78,
+ 0x6f, 0x0c, 0xdc, 0x6a, 0x07, 0x0b, 0x6b, 0x8d, 0x76, 0x01,
+ 0x90, 0xf0, 0xf5, 0x72, 0xb0, 0x3c, 0xa4, 0xc0,
+ }},
+ .bit_size = 1024,
+ .pem = { .size = 916, .data = (uint8_t []) {
+ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e,
+ 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b,
+ 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49,
+ 0x49, 0x43, 0x64, 0x67, 0x49, 0x42, 0x41, 0x44, 0x41, 0x4e,
+ 0x42, 0x67, 0x6b, 0x71, 0x68, 0x6b, 0x69, 0x47, 0x39, 0x77,
+ 0x30, 0x42, 0x41, 0x51, 0x45, 0x46, 0x41, 0x41, 0x53, 0x43,
+ 0x41, 0x6d, 0x41, 0x77, 0x67, 0x67, 0x4a, 0x63, 0x41, 0x67,
+ 0x45, 0x41, 0x41, 0x6f, 0x47, 0x42, 0x41, 0x4b, 0x71, 0x77,
+ 0x4c, 0x2b, 0x4f, 0x36, 0x47, 0x63, 0x43, 0x50, 0x6b, 0x52,
+ 0x5a, 0x6a, 0x0a, 0x6f, 0x4f, 0x62, 0x66, 0x49, 0x4a, 0x48,
+ 0x63, 0x48, 0x50, 0x77, 0x51, 0x51, 0x59, 0x39, 0x6d, 0x6e,
+ 0x41, 0x67, 0x36, 0x6b, 0x52, 0x4f, 0x65, 0x61, 0x32, 0x67,
+ 0x73, 0x79, 0x52, 0x4a, 0x4f, 0x41, 0x77, 0x42, 0x4e, 0x51,
+ 0x50, 0x43, 0x66, 0x58, 0x6f, 0x50, 0x74, 0x6d, 0x72, 0x55,
+ 0x30, 0x42, 0x69, 0x5a, 0x30, 0x61, 0x47, 0x42, 0x56, 0x54,
+ 0x56, 0x50, 0x41, 0x76, 0x5a, 0x68, 0x2b, 0x0a, 0x48, 0x4a,
+ 0x52, 0x75, 0x39, 0x4e, 0x45, 0x66, 0x54, 0x4e, 0x44, 0x50,
+ 0x4b, 0x32, 0x48, 0x53, 0x79, 0x48, 0x64, 0x53, 0x75, 0x63,
+ 0x6a, 0x59, 0x31, 0x71, 0x73, 0x36, 0x57, 0x41, 0x75, 0x62,
+ 0x36, 0x6f, 0x57, 0x48, 0x4a, 0x75, 0x4c, 0x42, 0x78, 0x4d,
+ 0x65, 0x73, 0x66, 0x74, 0x70, 0x6e, 0x55, 0x77, 0x6f, 0x4c,
+ 0x6e, 0x56, 0x5a, 0x79, 0x4e, 0x2b, 0x70, 0x4f, 0x62, 0x6c,
+ 0x55, 0x5a, 0x0a, 0x55, 0x4d, 0x73, 0x76, 0x78, 0x50, 0x33,
+ 0x50, 0x6c, 0x53, 0x2b, 0x6d, 0x41, 0x2b, 0x45, 0x36, 0x4e,
+ 0x79, 0x51, 0x58, 0x30, 0x46, 0x2f, 0x66, 0x63, 0x66, 0x47,
+ 0x4c, 0x41, 0x67, 0x4d, 0x42, 0x41, 0x41, 0x45, 0x43, 0x67,
+ 0x59, 0x41, 0x30, 0x59, 0x4e, 0x4b, 0x68, 0x55, 0x45, 0x64,
+ 0x38, 0x78, 0x74, 0x47, 0x67, 0x44, 0x44, 0x79, 0x67, 0x2f,
+ 0x46, 0x47, 0x54, 0x55, 0x50, 0x64, 0x34, 0x0a, 0x42, 0x6b,
+ 0x6b, 0x49, 0x42, 0x31, 0x58, 0x55, 0x56, 0x4a, 0x79, 0x57,
+ 0x5a, 0x36, 0x50, 0x51, 0x47, 0x51, 0x59, 0x75, 0x33, 0x73,
+ 0x2b, 0x65, 0x39, 0x52, 0x58, 0x37, 0x67, 0x50, 0x78, 0x52,
+ 0x41, 0x63, 0x58, 0x61, 0x32, 0x7a, 0x63, 0x54, 0x37, 0x39,
+ 0x37, 0x6a, 0x79, 0x4f, 0x6c, 0x73, 0x7a, 0x52, 0x57, 0x68,
+ 0x53, 0x50, 0x6e, 0x65, 0x4e, 0x74, 0x70, 0x62, 0x48, 0x56,
+ 0x51, 0x74, 0x0a, 0x57, 0x5a, 0x44, 0x56, 0x79, 0x6b, 0x6c,
+ 0x6a, 0x52, 0x63, 0x75, 0x78, 0x46, 0x53, 0x5a, 0x70, 0x42,
+ 0x30, 0x37, 0x41, 0x53, 0x64, 0x4b, 0x42, 0x65, 0x4f, 0x31,
+ 0x44, 0x4c, 0x61, 0x47, 0x32, 0x57, 0x32, 0x48, 0x78, 0x47,
+ 0x4b, 0x63, 0x48, 0x34, 0x75, 0x64, 0x55, 0x62, 0x78, 0x35,
+ 0x52, 0x4c, 0x32, 0x4e, 0x61, 0x63, 0x51, 0x53, 0x4b, 0x52,
+ 0x2b, 0x38, 0x49, 0x73, 0x66, 0x53, 0x6d, 0x0a, 0x32, 0x51,
+ 0x35, 0x72, 0x2b, 0x37, 0x6f, 0x59, 0x6f, 0x56, 0x51, 0x79,
+ 0x50, 0x35, 0x44, 0x33, 0x6d, 0x51, 0x4a, 0x42, 0x41, 0x4f,
+ 0x47, 0x57, 0x59, 0x2f, 0x32, 0x41, 0x2b, 0x63, 0x62, 0x34,
+ 0x38, 0x52, 0x4c, 0x68, 0x4e, 0x4c, 0x6b, 0x64, 0x43, 0x6e,
+ 0x6e, 0x62, 0x47, 0x58, 0x68, 0x6b, 0x2b, 0x6f, 0x68, 0x36,
+ 0x73, 0x4c, 0x5a, 0x69, 0x62, 0x69, 0x7a, 0x62, 0x6f, 0x52,
+ 0x57, 0x6e, 0x0a, 0x6c, 0x79, 0x4d, 0x4f, 0x62, 0x31, 0x31,
+ 0x32, 0x5a, 0x6f, 0x50, 0x50, 0x46, 0x50, 0x35, 0x53, 0x4b,
+ 0x4e, 0x72, 0x64, 0x41, 0x78, 0x45, 0x6d, 0x45, 0x32, 0x33,
+ 0x31, 0x34, 0x4a, 0x63, 0x4e, 0x48, 0x72, 0x75, 0x74, 0x6a,
+ 0x4d, 0x46, 0x6d, 0x2f, 0x75, 0x63, 0x43, 0x51, 0x51, 0x44,
+ 0x42, 0x73, 0x78, 0x54, 0x54, 0x41, 0x7a, 0x6f, 0x78, 0x68,
+ 0x6f, 0x4f, 0x7a, 0x67, 0x56, 0x38, 0x52, 0x0a, 0x36, 0x35,
+ 0x4e, 0x64, 0x50, 0x58, 0x67, 0x2f, 0x64, 0x78, 0x64, 0x6b,
+ 0x34, 0x55, 0x61, 0x4b, 0x51, 0x6b, 0x39, 0x61, 0x49, 0x68,
+ 0x51, 0x61, 0x67, 0x77, 0x61, 0x38, 0x4f, 0x42, 0x6a, 0x50,
+ 0x46, 0x32, 0x49, 0x57, 0x67, 0x66, 0x4d, 0x5a, 0x30, 0x75,
+ 0x52, 0x71, 0x6d, 0x77, 0x2b, 0x4c, 0x4e, 0x4f, 0x6f, 0x45,
+ 0x6f, 0x79, 0x31, 0x68, 0x44, 0x30, 0x4a, 0x68, 0x42, 0x72,
+ 0x79, 0x44, 0x0a, 0x56, 0x78, 0x65, 0x39, 0x41, 0x6b, 0x45,
+ 0x41, 0x79, 0x77, 0x4b, 0x75, 0x5a, 0x56, 0x71, 0x47, 0x62,
+ 0x64, 0x74, 0x6d, 0x42, 0x39, 0x6d, 0x48, 0x75, 0x76, 0x63,
+ 0x35, 0x6b, 0x45, 0x50, 0x75, 0x66, 0x66, 0x78, 0x52, 0x77,
+ 0x6a, 0x53, 0x33, 0x68, 0x73, 0x71, 0x35, 0x33, 0x38, 0x43,
+ 0x66, 0x44, 0x48, 0x2f, 0x50, 0x63, 0x59, 0x72, 0x79, 0x43,
+ 0x61, 0x67, 0x64, 0x78, 0x59, 0x79, 0x38, 0x0a, 0x6c, 0x63,
+ 0x71, 0x57, 0x58, 0x61, 0x2f, 0x37, 0x72, 0x4a, 0x6b, 0x5a,
+ 0x62, 0x79, 0x47, 0x51, 0x78, 0x68, 0x37, 0x57, 0x67, 0x34,
+ 0x74, 0x42, 0x57, 0x6d, 0x4d, 0x34, 0x44, 0x51, 0x4a, 0x41,
+ 0x4c, 0x38, 0x4d, 0x59, 0x76, 0x32, 0x39, 0x73, 0x53, 0x67,
+ 0x6f, 0x42, 0x4c, 0x36, 0x49, 0x57, 0x37, 0x7a, 0x52, 0x48,
+ 0x67, 0x68, 0x5a, 0x47, 0x4d, 0x47, 0x41, 0x4e, 0x52, 0x4c,
+ 0x4c, 0x48, 0x0a, 0x30, 0x67, 0x2f, 0x48, 0x77, 0x56, 0x48,
+ 0x6c, 0x34, 0x79, 0x4f, 0x72, 0x35, 0x58, 0x31, 0x76, 0x6f,
+ 0x4b, 0x45, 0x44, 0x62, 0x73, 0x6c, 0x63, 0x53, 0x47, 0x48,
+ 0x59, 0x4d, 0x50, 0x46, 0x4c, 0x51, 0x2b, 0x67, 0x6f, 0x54,
+ 0x44, 0x78, 0x77, 0x56, 0x42, 0x36, 0x50, 0x48, 0x35, 0x32,
+ 0x70, 0x6e, 0x6a, 0x6b, 0x37, 0x67, 0x51, 0x4a, 0x41, 0x55,
+ 0x53, 0x48, 0x69, 0x56, 0x2f, 0x55, 0x51, 0x0a, 0x6b, 0x54,
+ 0x7a, 0x33, 0x42, 0x6c, 0x78, 0x5a, 0x63, 0x31, 0x49, 0x41,
+ 0x69, 0x55, 0x51, 0x76, 0x39, 0x2f, 0x42, 0x61, 0x38, 0x77,
+ 0x74, 0x48, 0x57, 0x53, 0x56, 0x70, 0x2b, 0x59, 0x71, 0x50,
+ 0x68, 0x78, 0x74, 0x31, 0x73, 0x66, 0x64, 0x69, 0x79, 0x55,
+ 0x4d, 0x58, 0x74, 0x6c, 0x41, 0x34, 0x66, 0x36, 0x57, 0x41,
+ 0x4b, 0x41, 0x47, 0x4d, 0x72, 0x61, 0x6f, 0x52, 0x77, 0x34,
+ 0x77, 0x49, 0x0a, 0x63, 0x59, 0x72, 0x2b, 0x4e, 0x36, 0x57,
+ 0x78, 0x2b, 0x77, 0x77, 0x58, 0x5a, 0x77, 0x3d, 0x3d, 0x0a,
+ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x50,
+ 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59,
+ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a,
+ }},
+};
+
+/*
+
+ECDSA-P256-SHA256
+
+ecdsa. IN DNSKEY 256 3 13 8uD7C4THTM/w7uhryRSToeE/jKT78/p853RX0L5EwrZrSLBubLPiBw7g bvUP6SsIga5ZQ4CSAxNmYA/gZsuXzA==
+ecdsa. IN DS 5345 13 1 954103ac7c43810ce9f414e80f30ab1cbe49b236
+ecdsa. IN DS 5345 13 2 bac2107036e735b50f85006ce409a19a3438cab272e70769ebda032239a3d0ca
+ecdsa. IN DS 5345 13 4 a0ac6790483872be72a258314200a88ab75cdd70f66a18a09f0f414c074df0989fdb1df0e67d82d4312cda67b93a76c1
+
+PrivateKey: iyLIPdk3DOIxVmmSYlmTstbtUPiVlEyDX46psyCwNVQ=
+
+-----BEGIN PRIVATE KEY-----
+MIGUAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHoweAIBAQQhAIsiyD3ZNwziMVZp
+kmJZk7LW7VD4lZRMg1+OqbMgsDVUoAoGCCqGSM49AwEHoUQDQgAE8uD7C4THTM/w
+7uhryRSToeE/jKT78/p853RX0L5EwrZrSLBubLPiBw7gbvUP6SsIga5ZQ4CSAxNm
+YA/gZsuXzA==
+-----END PRIVATE KEY-----
+
+*/
+
+static const key_parameters_t SAMPLE_ECDSA_KEY = {
+ .name = (uint8_t *)"\x05""ecdsa",
+ .flags = 256,
+ .protocol = 3,
+ .algorithm = 13,
+ .public_key = { .size = 64, .data = (uint8_t []) {
+ 0xf2, 0xe0, 0xfb, 0x0b, 0x84, 0xc7, 0x4c, 0xcf, 0xf0, 0xee,
+ 0xe8, 0x6b, 0xc9, 0x14, 0x93, 0xa1, 0xe1, 0x3f, 0x8c, 0xa4,
+ 0xfb, 0xf3, 0xfa, 0x7c, 0xe7, 0x74, 0x57, 0xd0, 0xbe, 0x44,
+ 0xc2, 0xb6, 0x6b, 0x48, 0xb0, 0x6e, 0x6c, 0xb3, 0xe2, 0x07,
+ 0x0e, 0xe0, 0x6e, 0xf5, 0x0f, 0xe9, 0x2b, 0x08, 0x81, 0xae,
+ 0x59, 0x43, 0x80, 0x92, 0x03, 0x13, 0x66, 0x60, 0x0f, 0xe0,
+ 0x66, 0xcb, 0x97, 0xcc,
+ }},
+ .rdata = { .size = 68, .data = (uint8_t []) {
+ 0x01, 0x00, 0x03, 0x0d,
+ 0xf2, 0xe0, 0xfb, 0x0b, 0x84, 0xc7, 0x4c, 0xcf, 0xf0, 0xee,
+ 0xe8, 0x6b, 0xc9, 0x14, 0x93, 0xa1, 0xe1, 0x3f, 0x8c, 0xa4,
+ 0xfb, 0xf3, 0xfa, 0x7c, 0xe7, 0x74, 0x57, 0xd0, 0xbe, 0x44,
+ 0xc2, 0xb6, 0x6b, 0x48, 0xb0, 0x6e, 0x6c, 0xb3, 0xe2, 0x07,
+ 0x0e, 0xe0, 0x6e, 0xf5, 0x0f, 0xe9, 0x2b, 0x08, 0x81, 0xae,
+ 0x59, 0x43, 0x80, 0x92, 0x03, 0x13, 0x66, 0x60, 0x0f, 0xe0,
+ 0x66, 0xcb, 0x97, 0xcc,
+ }},
+ .keytag = 5345,
+ .key_id = "47fd10011e76cc6741af586041eae5519465fc8d",
+ .ds_sha1 = { .size = 24, .data = (uint8_t []) {
+ 0x14, 0xe1, 0x0d, 0x01,
+ 0x95, 0x41, 0x03, 0xac, 0x7c, 0x43, 0x81, 0x0c, 0xe9, 0xf4,
+ 0x14, 0xe8, 0x0f, 0x30, 0xab, 0x1c, 0xbe, 0x49, 0xb2, 0x36,
+ }},
+ .ds_sha256 = { .size = 36, .data = (uint8_t []) {
+ 0x14, 0xe1, 0x0d, 0x02,
+ 0xba, 0xc2, 0x10, 0x70, 0x36, 0xe7, 0x35, 0xb5, 0x0f, 0x85,
+ 0x00, 0x6c, 0xe4, 0x09, 0xa1, 0x9a, 0x34, 0x38, 0xca, 0xb2,
+ 0x72, 0xe7, 0x07, 0x69, 0xeb, 0xda, 0x03, 0x22, 0x39, 0xa3,
+ 0xd0, 0xca,
+ }},
+ .ds_sha384 = { .size = 52, .data = (uint8_t []) {
+ 0x14, 0xe1, 0x0d, 0x04,
+ 0xa0, 0xac, 0x67, 0x90, 0x48, 0x38, 0x72, 0xbe, 0x72, 0xa2,
+ 0x58, 0x31, 0x42, 0x00, 0xa8, 0x8a, 0xb7, 0x5c, 0xdd, 0x70,
+ 0xf6, 0x6a, 0x18, 0xa0, 0x9f, 0x0f, 0x41, 0x4c, 0x07, 0x4d,
+ 0xf0, 0x98, 0x9f, 0xdb, 0x1d, 0xf0, 0xe6, 0x7d, 0x82, 0xd4,
+ 0x31, 0x2c, 0xda, 0x67, 0xb9, 0x3a, 0x76, 0xc1,
+ }},
+ .bit_size = 256,
+ .pem = { .size = 262, .data = (uint8_t []) {
+ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e,
+ 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b,
+ 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49,
+ 0x47, 0x55, 0x41, 0x67, 0x45, 0x41, 0x4d, 0x42, 0x4d, 0x47,
+ 0x42, 0x79, 0x71, 0x47, 0x53, 0x4d, 0x34, 0x39, 0x41, 0x67,
+ 0x45, 0x47, 0x43, 0x43, 0x71, 0x47, 0x53, 0x4d, 0x34, 0x39,
+ 0x41, 0x77, 0x45, 0x48, 0x42, 0x48, 0x6f, 0x77, 0x65, 0x41,
+ 0x49, 0x42, 0x41, 0x51, 0x51, 0x68, 0x41, 0x49, 0x73, 0x69,
+ 0x79, 0x44, 0x33, 0x5a, 0x4e, 0x77, 0x7a, 0x69, 0x4d, 0x56,
+ 0x5a, 0x70, 0x0a, 0x6b, 0x6d, 0x4a, 0x5a, 0x6b, 0x37, 0x4c,
+ 0x57, 0x37, 0x56, 0x44, 0x34, 0x6c, 0x5a, 0x52, 0x4d, 0x67,
+ 0x31, 0x2b, 0x4f, 0x71, 0x62, 0x4d, 0x67, 0x73, 0x44, 0x56,
+ 0x55, 0x6f, 0x41, 0x6f, 0x47, 0x43, 0x43, 0x71, 0x47, 0x53,
+ 0x4d, 0x34, 0x39, 0x41, 0x77, 0x45, 0x48, 0x6f, 0x55, 0x51,
+ 0x44, 0x51, 0x67, 0x41, 0x45, 0x38, 0x75, 0x44, 0x37, 0x43,
+ 0x34, 0x54, 0x48, 0x54, 0x4d, 0x2f, 0x77, 0x0a, 0x37, 0x75,
+ 0x68, 0x72, 0x79, 0x52, 0x53, 0x54, 0x6f, 0x65, 0x45, 0x2f,
+ 0x6a, 0x4b, 0x54, 0x37, 0x38, 0x2f, 0x70, 0x38, 0x35, 0x33,
+ 0x52, 0x58, 0x30, 0x4c, 0x35, 0x45, 0x77, 0x72, 0x5a, 0x72,
+ 0x53, 0x4c, 0x42, 0x75, 0x62, 0x4c, 0x50, 0x69, 0x42, 0x77,
+ 0x37, 0x67, 0x62, 0x76, 0x55, 0x50, 0x36, 0x53, 0x73, 0x49,
+ 0x67, 0x61, 0x35, 0x5a, 0x51, 0x34, 0x43, 0x53, 0x41, 0x78,
+ 0x4e, 0x6d, 0x0a, 0x59, 0x41, 0x2f, 0x67, 0x5a, 0x73, 0x75,
+ 0x58, 0x7a, 0x41, 0x3d, 0x3d, 0x0a, 0x2d, 0x2d, 0x2d, 0x2d,
+ 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41,
+ 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d,
+ 0x2d, 0x0a,
+ }},
+};
+
+/*
+ * Private-key-format: v1.2
+ * Algorithm: 15 (ED25519)
+ * PrivateKey: ODIyNjAzODQ2MjgwODAxMjI2NDUxOTAyMDQxNDIyNjI=
+ *
+ * example.com. 3600 IN DNSKEY 256 3 15 (
+ * l02Woi0iS8Aa25FQkUd9RMzZHJpBoRQwAQEX1SxZJA4= )
+ *
+ * example.com. 3600 IN DS 3612 15 2 (
+ * 3aa5ab37efce57f737fc1627013fee07bdf241bd10f3b1964ab55c78e79
+ * a304b )
+ *
+ * example.com. 3600 IN MX 10 mail.example.com.
+ *
+ * example.com. 3600 IN RRSIG MX 15 2 3600 (
+ * 1440021600 1438207200 3613 example.com. (
+ * oL9krJun7xfBOIWcGHi7mag5/hdZrKWw15jPGrHpjQeRAvTdszaPD+QLs3f
+ * x8A4M3e23mRZ9VrbpMngwcrqNAg== )
+ */
+
+static const key_parameters_t SAMPLE_ED25519_KEY = {
+ .name = (uint8_t *)"\x07""ed25519",
+ .flags = 256,
+ .protocol = 3,
+ .algorithm = 15,
+ .public_key = { .size = 32, .data = (uint8_t []) {
+ 0x97, 0x4d, 0x96, 0xa2, 0x2d, 0x22, 0x4b, 0xc0, 0x1a, 0xdb, 0x91, 0x50,
+ 0x91, 0x47, 0x7d, 0x44, 0xcc, 0xd9, 0x1c, 0x9a, 0x41, 0xa1, 0x14, 0x30,
+ 0x01, 0x01, 0x17, 0xd5, 0x2c, 0x59, 0x24, 0x0e,
+ }},
+ .rdata = { .size = 36, .data = (uint8_t []) {
+ 0x01, 0x00, 0x03, 0x0f,
+ 0x97, 0x4d, 0x96, 0xa2, 0x2d, 0x22, 0x4b, 0xc0, 0x1a, 0xdb, 0x91, 0x50,
+ 0x91, 0x47, 0x7d, 0x44, 0xcc, 0xd9, 0x1c, 0x9a, 0x41, 0xa1, 0x14, 0x30,
+ 0x01, 0x01, 0x17, 0xd5, 0x2c, 0x59, 0x24, 0x0e,
+ }},
+ .keytag = 3612,
+ .key_id = "bea75b99fb22ee1a68106ad6399e4acc43eb9929",
+ .ds_sha1 = { .size = 24, .data = (uint8_t []) {
+ 0x0e, 0x1c, 0x0f, 0x01,
+ 0x50, 0x12, 0x49, 0x72, 0x1e, 0x1f, 0x09, 0xa7, 0x9d, 0x30, 0xd5, 0xc6,
+ 0xc4, 0xdc, 0xa1, 0xdc, 0x1d, 0xa4, 0xed, 0x5d,
+ }},
+ .ds_sha256 = { .size = 36, .data = (uint8_t []) {
+ 0x0e, 0x1c, 0x0f, 0x02,
+ 0x1b, 0x1c, 0x87, 0x66, 0xb2, 0xa9, 0x65, 0x66, 0xff, 0x19, 0x6f, 0x77,
+ 0xc0, 0xc4, 0x19, 0x4a, 0xf8, 0x6a, 0xaa, 0x10, 0x9c, 0x53, 0x46, 0xff,
+ 0x60, 0x23, 0x1a, 0x27, 0xd2, 0xb0, 0x7a, 0xc0,
+ }},
+ .ds_sha384 = { .size = 52, .data = (uint8_t []) {
+ 0x0e, 0x1c, 0x0f, 0x04,
+ 0xd1, 0x18, 0x31, 0x15, 0x3a, 0xf4, 0x98, 0x5e, 0xfb, 0xd0, 0xae, 0x79,
+ 0x2c, 0x96, 0x7e, 0xb4, 0xaf, 0xf3, 0xc3, 0x54, 0x88, 0xdb, 0x95, 0xf7,
+ 0xe2, 0xf8, 0x5d, 0xce, 0xc7, 0x4a, 0xe8, 0xf5, 0x9f, 0x9a, 0x72, 0x64,
+ 0x17, 0x98, 0xc9, 0x1c, 0x67, 0xc6, 0x75, 0xdb, 0x1d, 0x71, 0x0c, 0x18,
+ }},
+ .bit_size = 256,
+ .pem = { .size = 119, .data = (uint8_t []) {
+ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x50,
+ 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d,
+ 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x43, 0x34, 0x43, 0x41, 0x51, 0x41, 0x77,
+ 0x42, 0x51, 0x59, 0x44, 0x4b, 0x32, 0x56, 0x77, 0x42, 0x43, 0x49, 0x45,
+ 0x49, 0x44, 0x67, 0x79, 0x4d, 0x6a, 0x59, 0x77, 0x4d, 0x7a, 0x67, 0x30,
+ 0x4e, 0x6a, 0x49, 0x34, 0x4d, 0x44, 0x67, 0x77, 0x4d, 0x54, 0x49, 0x79,
+ 0x4e, 0x6a, 0x51, 0x31, 0x4d, 0x54, 0x6b, 0x77, 0x4d, 0x6a, 0x41, 0x30,
+ 0x4d, 0x54, 0x51, 0x79, 0x4d, 0x6a, 0x59, 0x79, 0x0a, 0x2d, 0x2d, 0x2d,
+ 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54,
+ 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a
+ }},
+};
+
+/*
+ * Private-key-format: v1.2
+ * Algorithm: 16 (ED448)
+ * PrivateKey: MEcCAQAwBQYDK2VxBDsEOVsk9cLaP+mD8n97xRET5bCqCUDZpPCIkCGrXLJG
+ * JgXCGlz4mOxH4qva7fIhEXm/62vtdbd55WRXIA==
+ *
+ * example.com. 3600 IN DNSKEY 256 3 16 (
+ * 3y0sCUZKI+DSyZQTTbgHOFppOzYz01iZQQVUWw9gCb1bLWNqqC/5qq2PL9T
+ * c6YaK2vHthBtaY0iA )
+ *
+ * example.com. 3600 IN DS 28205 16 2 (
+ * 7a27236ccb5193f696cdb4c5fd58af3500634bd836e6defacaac5dd4d76
+ * 6dcbe )
+ *
+ * example.com. 3600 IN MX 10 mail.example.com.
+ *
+ * example.com. 3600 IN RRSIG MX 16 2 3600 20211108134038 (
+ * 20211105115718 28205 example.com.
+ * uzvY2twOxxSas25N1HNQPRmhVgIaOHrEm6TccvwU
+ * WeJkecp2Nd0om5+Em1/91cfJWc/ZCFSYBcIAUFVB
+ * bMKoK0SXbmY5dM6rl0wQRk+Sl8VLyNttLMn5tpFk
+ * c74nWRGfXebz/HALT5WTdOidgIR8HCcA )
+ */
+
+static const key_parameters_t SAMPLE_ED448_KEY = {
+ .name = (uint8_t *)"\x07""example""\x03""com",
+ .flags = 256,
+ .protocol = 3,
+ .algorithm = 16,
+ .public_key = { .size = 57, .data = (uint8_t []) {
+ 0xdf, 0x2d, 0x2c, 0x09, 0x46, 0x4a, 0x23, 0xe0, 0xd2, 0xc9, 0x94, 0x13,
+ 0x4d, 0xb8, 0x07, 0x38, 0x5a, 0x69, 0x3b, 0x36, 0x33, 0xd3, 0x58, 0x99,
+ 0x41, 0x05, 0x54, 0x5b, 0x0f, 0x60, 0x09, 0xbd, 0x5b, 0x2d, 0x63, 0x6a,
+ 0xa8, 0x2f, 0xf9, 0xaa, 0xad, 0x8f, 0x2f, 0xd4, 0xdc, 0xe9, 0x86, 0x8a,
+ 0xda, 0xf1, 0xed, 0x84, 0x1b, 0x5a, 0x63, 0x48, 0x80,
+ }},
+ .rdata = { .size = 61, .data = (uint8_t []) {
+ 0x01, 0x00, 0x03, 0x10,
+ 0xdf, 0x2d, 0x2c, 0x09, 0x46, 0x4a, 0x23, 0xe0, 0xd2, 0xc9, 0x94, 0x13,
+ 0x4d, 0xb8, 0x07, 0x38, 0x5a, 0x69, 0x3b, 0x36, 0x33, 0xd3, 0x58, 0x99,
+ 0x41, 0x05, 0x54, 0x5b, 0x0f, 0x60, 0x09, 0xbd, 0x5b, 0x2d, 0x63, 0x6a,
+ 0xa8, 0x2f, 0xf9, 0xaa, 0xad, 0x8f, 0x2f, 0xd4, 0xdc, 0xe9, 0x86, 0x8a,
+ 0xda, 0xf1, 0xed, 0x84, 0x1b, 0x5a, 0x63, 0x48, 0x80,
+ }},
+ .keytag = 28205,
+ .key_id = "501a69b2d8ad46c721ffabaa9eaf8e7fa49c1454",
+ .ds_sha1 = { .size = 24, .data = (uint8_t []) {
+ 0x6e, 0x2d, 0x10, 0x01,
+ 0x69, 0xac, 0x45, 0x1c, 0xfa, 0xbb, 0xbb, 0x16, 0x5e, 0xf3, 0x82, 0x08,
+ 0x1f, 0xd3, 0x7e, 0x7a, 0xb4, 0xd9, 0x13, 0xbf,
+ }},
+ .ds_sha256 = { .size = 36, .data = (uint8_t []) {
+ 0x6e, 0x2d, 0x10, 0x02,
+ 0x7a, 0x27, 0x23, 0x6c, 0xcb, 0x51, 0x93, 0xf6, 0x96, 0xcd, 0xb4, 0xc5,
+ 0xfd, 0x58, 0xaf, 0x35, 0x00, 0x63, 0x4b, 0xd8, 0x36, 0xe6, 0xde, 0xfa,
+ 0xca, 0xac, 0x5d, 0xd4, 0xd7, 0x66, 0xdc, 0xbe,
+ }},
+ .ds_sha384 = { .size = 52, .data = (uint8_t []) {
+ 0x6e, 0x2d, 0x10, 0x04,
+ 0x6e, 0x06, 0x6f, 0xfb, 0xd5, 0xa2, 0x6c, 0xf3, 0x04, 0xa1, 0x2b, 0x76,
+ 0xf1, 0x83, 0xdb, 0xd3, 0x8b, 0x5e, 0x7c, 0xcb, 0x19, 0x79, 0xff, 0x3f,
+ 0x46, 0xee, 0xf2, 0x61, 0xf7, 0xa0, 0x48, 0x96, 0xbd, 0xe6, 0x6a, 0xe8,
+ 0xd0, 0x30, 0x54, 0xc8, 0x3a, 0xa1, 0x2d, 0xb3, 0x77, 0x37, 0xf1, 0xbb,
+ }},
+ .bit_size = 456,
+ .pem = { .size = 156, .data = (uint8_t []) {
+ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47, 0x49, 0x4e, 0x20, 0x50,
+ 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d,
+ 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x45, 0x63, 0x43, 0x41, 0x51, 0x41, 0x77,
+ 0x42, 0x51, 0x59, 0x44, 0x4b, 0x32, 0x56, 0x78, 0x42, 0x44, 0x73, 0x45,
+ 0x4f, 0x56, 0x73, 0x6b, 0x39, 0x63, 0x4c, 0x61, 0x50, 0x2b, 0x6d, 0x44,
+ 0x38, 0x6e, 0x39, 0x37, 0x78, 0x52, 0x45, 0x54, 0x35, 0x62, 0x43, 0x71,
+ 0x43, 0x55, 0x44, 0x5a, 0x70, 0x50, 0x43, 0x49, 0x6b, 0x43, 0x47, 0x72,
+ 0x58, 0x4c, 0x4a, 0x47, 0x4a, 0x67, 0x58, 0x43, 0x0a, 0x47, 0x6c, 0x7a,
+ 0x34, 0x6d, 0x4f, 0x78, 0x48, 0x34, 0x71, 0x76, 0x61, 0x37, 0x66, 0x49,
+ 0x68, 0x45, 0x58, 0x6d, 0x2f, 0x36, 0x32, 0x76, 0x74, 0x64, 0x62, 0x64,
+ 0x35, 0x35, 0x57, 0x52, 0x58, 0x49, 0x41, 0x3d, 0x3d, 0x0a, 0x2d, 0x2d,
+ 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41,
+ 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a
+ }},
+ /* raw private key outside of PEM:
+ *
+ * 0x5b, 0x24, 0xf5, 0xc2, 0xda, 0x3f, 0xe9, 0x83, 0xf2, 0x7f, 0x7b, 0xc5,
+ * 0x11, 0x13, 0xe5, 0xb0, 0xaa, 0x09, 0x40, 0xd9, 0xa4, 0xf0, 0x88, 0x90,
+ * 0x21, 0xab, 0x5c, 0xb2, 0x46, 0x26, 0x05, 0xc2, 0x1a, 0x5c, 0xf8, 0x98,
+ * 0xec, 0x47, 0xe2, 0xab, 0xda, 0xed, 0xf2, 0x21, 0x11, 0x79, 0xbf, 0xeb,
+ * 0x6b, 0xed, 0x75, 0xb7, 0x79, 0xe5, 0x64, 0x57, 0x20,
+ *
+ */
+};
diff --git a/src/libdnssec/sign/sign.c b/src/libdnssec/sign/sign.c
index 3a7bcba..727f650 100644
--- a/src/libdnssec/sign/sign.c
+++ b/src/libdnssec/sign/sign.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2020 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -202,34 +202,6 @@ static const algorithm_functions_t *get_functions(const dnssec_key_t *key)
}
}
-#ifndef HAVE_SIGN_DATA2
-/*!
- * Get digest algorithm used with a given key.
- */
-static gnutls_digest_algorithm_t get_digest_algorithm(const dnssec_key_t *key)
-{
- uint8_t algorithm = dnssec_key_get_algorithm(key);
-
- switch ((dnssec_key_algorithm_t)algorithm) {
- case DNSSEC_KEY_ALGORITHM_RSA_SHA1:
- case DNSSEC_KEY_ALGORITHM_RSA_SHA1_NSEC3:
- return GNUTLS_DIG_SHA1;
- case DNSSEC_KEY_ALGORITHM_RSA_SHA256:
- case DNSSEC_KEY_ALGORITHM_ECDSA_P256_SHA256:
- return GNUTLS_DIG_SHA256;
- case DNSSEC_KEY_ALGORITHM_RSA_SHA512:
- return GNUTLS_DIG_SHA512;
- case DNSSEC_KEY_ALGORITHM_ECDSA_P384_SHA384:
- return GNUTLS_DIG_SHA384;
- case DNSSEC_KEY_ALGORITHM_ED25519:
- case DNSSEC_KEY_ALGORITHM_ED448:
- return GNUTLS_DIG_SHA512;
- default:
- return GNUTLS_DIG_UNKNOWN;
- }
-}
-#endif
-
static gnutls_sign_algorithm_t algo_dnssec2gnutls(dnssec_key_algorithm_t algorithm)
{
switch (algorithm) {
@@ -244,10 +216,8 @@ static gnutls_sign_algorithm_t algo_dnssec2gnutls(dnssec_key_algorithm_t algorit
return GNUTLS_SIGN_RSA_SHA512;
case DNSSEC_KEY_ALGORITHM_ECDSA_P384_SHA384:
return GNUTLS_SIGN_ECDSA_SHA384;
-#ifdef HAVE_ED25519
case DNSSEC_KEY_ALGORITHM_ED25519:
return GNUTLS_SIGN_EDDSA_ED25519;
-#endif
#ifdef HAVE_ED448
case DNSSEC_KEY_ALGORITHM_ED448:
return GNUTLS_SIGN_EDDSA_ED448;
@@ -356,24 +326,15 @@ int dnssec_sign_write(dnssec_sign_ctx_t *ctx, dnssec_sign_flags_t flags, dnssec_
};
unsigned gnutls_flags = 0;
-#ifdef HAVE_GNUTLS_REPRODUCIBLE
if (flags & DNSSEC_SIGN_REPRODUCIBLE) {
gnutls_flags |= GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE;
}
-#endif
assert(ctx->key->private_key);
_cleanup_datum_ gnutls_datum_t raw = { 0 };
-#ifdef HAVE_SIGN_DATA2
int result = gnutls_privkey_sign_data2(ctx->key->private_key,
ctx->sign_algorithm,
gnutls_flags, &data, &raw);
-#else
- gnutls_digest_algorithm_t digest_algorithm = get_digest_algorithm(ctx->key);
- int result = gnutls_privkey_sign_data(ctx->key->private_key,
- digest_algorithm,
- gnutls_flags, &data, &raw);
-#endif
if (result < 0) {
return DNSSEC_SIGN_ERROR;
}
diff --git a/src/libdnssec/version.h b/src/libdnssec/version.h
index c8edcd0..cd5bad2 100644
--- a/src/libdnssec/version.h
+++ b/src/libdnssec/version.h
@@ -17,8 +17,8 @@
#pragma once
#define DNSSEC_VERSION_MAJOR 3
-#define DNSSEC_VERSION_MINOR 3
-#define DNSSEC_VERSION_PATCH 0x07
+#define DNSSEC_VERSION_MINOR 4
+#define DNSSEC_VERSION_PATCH 0x00
#define DNSSEC_VERSION_HEX ((DNSSEC_VERSION_MAJOR << 16) | \
(DNSSEC_VERSION_MINOR << 8) | \
diff --git a/src/libknot/Makefile.inc b/src/libknot/Makefile.inc
index f62d836..d09ff55 100755
--- a/src/libknot/Makefile.inc
+++ b/src/libknot/Makefile.inc
@@ -37,6 +37,8 @@ nobase_include_libknot_HEADERS = \
libknot/packet/wire.h \
libknot/probe/data.h \
libknot/probe/probe.h \
+ libknot/quic/tls.h \
+ libknot/quic/tls_common.h \
libknot/rdata.h \
libknot/rdataset.h \
libknot/rrset-dump.h \
@@ -78,6 +80,8 @@ libknot_la_SOURCES = \
libknot/packet/rrset-wire.c \
libknot/probe/data.c \
libknot/probe/probe.c \
+ libknot/quic/tls.c \
+ libknot/quic/tls_common.c \
libknot/rdataset.c \
libknot/rrset-dump.c \
libknot/rrset.c \
diff --git a/src/libknot/attribute.h b/src/libknot/attribute.h
index 525aef3..ce464fc 100644
--- a/src/libknot/attribute.h
+++ b/src/libknot/attribute.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -35,17 +35,19 @@
/*! \brief GNU C function attributes. */
#if __GNUC__ >= 3
-#define _pure_ __attribute__ ((pure))
-#define _const_ __attribute__ ((const))
-#define _noreturn_ __attribute__ ((noreturn))
-#define _malloc_ __attribute__ ((malloc))
-#define _mustcheck_ __attribute__ ((warn_unused_result))
+#define _pure_ __attribute__ ((pure))
+#define _const_ __attribute__ ((const))
+#define _noreturn_ __attribute__ ((noreturn))
+#define _malloc_ __attribute__ ((malloc))
+#define _mustcheck_ __attribute__ ((warn_unused_result))
+#define _nonnull_(...) __attribute__ ((nonnull(__VA_ARGS__)))
#else
#define _pure_
#define _const_
#define _noreturn_
#define _malloc_
#define _mustcheck_
+#define _nonnull_
#endif
/*! @} */
diff --git a/src/libknot/codes.c b/src/libknot/codes.c
index 9027e6f..b0b78fa 100644
--- a/src/libknot/codes.c
+++ b/src/libknot/codes.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -92,6 +92,7 @@ const knot_lookup_t knot_edns_ede_names[] = {
{ KNOT_EDNS_EDE_NSEC3_ITERS, "Unsupported NSEC3 Iterations Value" },
{ KNOT_EDNS_EDE_NONCONF_POLICY, "Unable to conform to policy" },
{ KNOT_EDNS_EDE_SYNTHESIZED, "Synthesized" },
+ { KNOT_EDNS_EDE_INV_QTYPE, "Invalid Query Type" },
{ 0, NULL }
};
@@ -126,6 +127,8 @@ const knot_lookup_t knot_svcb_param_names[] = {
{ KNOT_SVCB_PARAM_IPV4HINT, "ipv4hint" },
{ KNOT_SVCB_PARAM_ECH, "ech" },
{ KNOT_SVCB_PARAM_IPV6HINT, "ipv6hint" },
+ { KNOT_SVCB_PARAM_DOHPATH, "dohpath" },
+ { KNOT_SVCB_PARAM_OHTTP, "ohttp" },
{ 0, NULL }
};
@@ -139,4 +142,5 @@ const knot_lookup_t knot_edns_opt_names[] = {
{ KNOT_EDNS_OPTION_PADDING, "PADDING" },
{ KNOT_EDNS_OPTION_CHAIN, "CHAIN" },
{ KNOT_EDNS_OPTION_EDE, "EDE" },
+ { 0, NULL }
};
diff --git a/src/libknot/consts.h b/src/libknot/consts.h
index e6041b7..e3be096 100644
--- a/src/libknot/consts.h
+++ b/src/libknot/consts.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -134,6 +134,7 @@ typedef enum {
KNOT_EDNS_EDE_NSEC3_ITERS = 27,
KNOT_EDNS_EDE_NONCONF_POLICY = 28,
KNOT_EDNS_EDE_SYNTHESIZED = 29,
+ KNOT_EDNS_EDE_INV_QTYPE = 30,
} knot_edns_ede_t;
/*!
@@ -148,7 +149,7 @@ typedef enum {
/*!
* \brief Service Binding (SVCB) Parameter Registry
*
- * https://tools.ietf.org/html/draft-ietf-dnsop-svcb-https-05 // FIXME
+ * https://www.iana.org/assignments/dns-svcb/dns-svcb.xhtml
*/
typedef enum {
KNOT_SVCB_PARAM_MANDATORY = 0,
@@ -158,6 +159,8 @@ typedef enum {
KNOT_SVCB_PARAM_IPV4HINT = 4,
KNOT_SVCB_PARAM_ECH = 5,
KNOT_SVCB_PARAM_IPV6HINT = 6,
+ KNOT_SVCB_PARAM_DOHPATH = 7,
+ KNOT_SVCB_PARAM_OHTTP = 8,
} knot_svcb_param_t;
/*! @} */
diff --git a/src/libknot/control/control.c b/src/libknot/control/control.c
index 671896f..8cddd5d 100644
--- a/src/libknot/control/control.c
+++ b/src/libknot/control/control.c
@@ -36,9 +36,6 @@
#define CTL_BUFF_SIZE (256 * 1024)
#endif
-/*! Listen backlog size. */
-#define DEFAULT_LISTEN_BACKLOG 5
-
/*! Default socket operations timeout in milliseconds. */
#define DEFAULT_TIMEOUT (30 * 1000)
@@ -166,6 +163,18 @@ knot_ctl_t* knot_ctl_alloc(void)
}
_public_
+knot_ctl_t* knot_ctl_clone(knot_ctl_t *ctx)
+{
+ knot_ctl_t *res = knot_ctl_alloc();
+ if (res != NULL) {
+ res->timeout = ctx->timeout;
+ res->sock = ctx->sock;
+ ctx->sock = -1;
+ }
+ return res;
+}
+
+_public_
void knot_ctl_free(knot_ctl_t *ctx)
{
if (ctx == NULL) {
@@ -194,13 +203,7 @@ void knot_ctl_set_timeout(knot_ctl_t *ctx, int timeout_ms)
}
_public_
-int knot_ctl_bind(knot_ctl_t *ctx, const char *path)
-{
- return knot_ctl_bind2(ctx, path, DEFAULT_LISTEN_BACKLOG);
-}
-
-_public_
-int knot_ctl_bind2(knot_ctl_t *ctx, const char *path, unsigned backlog)
+int knot_ctl_bind(knot_ctl_t *ctx, const char *path, unsigned backlog)
{
if (ctx == NULL || path == NULL) {
return KNOT_EINVAL;
diff --git a/src/libknot/control/control.h b/src/libknot/control/control.h
index 8ab1e10..f110e3f 100644
--- a/src/libknot/control/control.h
+++ b/src/libknot/control/control.h
@@ -65,6 +65,18 @@ typedef struct knot_ctl knot_ctl_t;
knot_ctl_t* knot_ctl_alloc(void);
/*!
+ * \brief Allocates a control context based on an existing one.
+ *
+ * \param[in,out] ctx Original control context.
+ *
+ * \note The listen_sock is kept at the original, the current sock is taken
+ * by the clone and RESET in the original!
+ *
+ * \return Control context or NULL.
+ */
+knot_ctl_t* knot_ctl_clone(knot_ctl_t *ctx);
+
+/*!
* Deallocates a control context.
*
* \param[in] ctx Control context.
@@ -86,17 +98,13 @@ void knot_ctl_set_timeout(knot_ctl_t *ctx, int timeout_ms);
*
* \note Server operation.
*
- * \param[in] ctx Control context.
- * \param[in] path Control UNIX socket path.
+ * \param[in] ctx Control context.
+ * \param[in] path Control UNIX socket path.
+ * \param[in] backlog Socket listen backlog size.
*
* \return Error code, KNOT_EOK if successful.
*/
-int knot_ctl_bind(knot_ctl_t *ctx, const char *path);
-
-/*!
- * Same as knot_ctl_bind() with socket backlog specification.
- */
-int knot_ctl_bind2(knot_ctl_t *ctx, const char *path, unsigned backlog);
+int knot_ctl_bind(knot_ctl_t *ctx, const char *path, unsigned backlog);
/*!
* Unbinds a control socket.
diff --git a/src/libknot/descriptor.c b/src/libknot/descriptor.c
index 5ff2714..b5b8737 100644
--- a/src/libknot/descriptor.c
+++ b/src/libknot/descriptor.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2019 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -150,6 +150,8 @@ static const knot_rdata_descriptor_t rdata_descriptors[] = {
KNOT_RDATA_WF_END }, "URI" },
[KNOT_RRTYPE_CAA] = { { KNOT_RDATA_WF_REMAINDER,
KNOT_RDATA_WF_END }, "CAA" },
+ [KNOT_RRTYPE_WALLET] = { { KNOT_RDATA_WF_REMAINDER,
+ KNOT_RDATA_WF_END }, "WALLET" },
};
#define MAX_RRTYPE sizeof(rdata_descriptors) / sizeof(knot_rdata_descriptor_t) - 1
diff --git a/src/libknot/descriptor.h b/src/libknot/descriptor.h
index 14cd3b3..714bc5e 100644
--- a/src/libknot/descriptor.h
+++ b/src/libknot/descriptor.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -126,6 +126,8 @@ enum knot_rr_type {
KNOT_RRTYPE_ANY = 255, /*!< QTYPE. Any record. */
KNOT_RRTYPE_URI = 256, /*!< Uniform resource identifier. */
KNOT_RRTYPE_CAA = 257, /*!< Certification authority restriction. */
+
+ KNOT_RRTYPE_WALLET = 262, /*!< Public wallet address. */
};
/*!
diff --git a/src/libknot/dname.c b/src/libknot/dname.c
index 31b8a5f..d166f8d 100644
--- a/src/libknot/dname.c
+++ b/src/libknot/dname.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -62,11 +62,11 @@ static int dname_align(const uint8_t **d1, uint8_t d1_labels,
assert(d1 && d2);
for (unsigned j = d1_labels; j < d2_labels; ++j) {
- *d2 = knot_wire_next_label(*d2, NULL);
+ *d2 = knot_dname_next_label(*d2);
}
for (unsigned j = d2_labels; j < d1_labels; ++j) {
- *d1 = knot_wire_next_label(*d1, NULL);
+ *d1 = knot_dname_next_label(*d1);
}
return (d1_labels < d2_labels) ? d1_labels : d2_labels;
@@ -190,7 +190,7 @@ _public_
int knot_dname_unpack(uint8_t *dst, const knot_dname_t *src,
size_t maxlen, const uint8_t *pkt)
{
- if (dst == NULL || src == NULL) {
+ if (dst == NULL || src == NULL || pkt == NULL) {
return KNOT_EINVAL;
}
@@ -533,7 +533,7 @@ size_t knot_dname_size(const knot_dname_t *name)
_public_
size_t knot_dname_realsize(const knot_dname_t *name, const uint8_t *pkt)
{
- if (name == NULL) {
+ if (name == NULL || pkt == NULL) {
return 0;
}
@@ -573,8 +573,8 @@ size_t knot_dname_matched_labels(const knot_dname_t *d1, const knot_dname_t *d2)
}
/* Next label. */
- d1 = knot_wire_next_label(d1, NULL);
- d2 = knot_wire_next_label(d2, NULL);
+ d1 = knot_dname_next_label(d1);
+ d2 = knot_dname_next_label(d2);
--common;
}
@@ -596,7 +596,7 @@ knot_dname_t *knot_dname_replace_suffix(const knot_dname_t *name, unsigned label
}
size_t prefix_lbs = dname_lbs - labels;
- size_t prefix_len = knot_dname_prefixlen(name, prefix_lbs, NULL);
+ size_t prefix_len = knot_dname_prefixlen(name, prefix_lbs);
size_t suffix_len = knot_dname_size(suffix);
if (prefix_len == 0 || suffix_len == 0) {
return NULL;
@@ -614,7 +614,7 @@ knot_dname_t *knot_dname_replace_suffix(const knot_dname_t *name, unsigned label
while (prefix_lbs > 0) {
memcpy(dst, name, *name + 1);
dst += *name + 1;
- name = knot_wire_next_label(name, NULL);
+ name = knot_dname_next_label(name);
--prefix_lbs;
}
@@ -622,7 +622,7 @@ knot_dname_t *knot_dname_replace_suffix(const knot_dname_t *name, unsigned label
while (*suffix != '\0') {
memcpy(dst, suffix, *suffix + 1);
dst += *suffix + 1;
- suffix = knot_wire_next_label(suffix, NULL);
+ suffix = knot_dname_next_label(suffix);
}
*dst = '\0';
@@ -684,8 +684,8 @@ inline static bool dname_is_equal(const knot_dname_t *d1, const knot_dname_t *d2
while (*d1 != '\0' || *d2 != '\0') {
if (label_is_equal(d1, d2, no_case)) {
- d1 = knot_wire_next_label(d1, NULL);
- d2 = knot_wire_next_label(d2, NULL);
+ d1 = knot_dname_next_label(d1);
+ d2 = knot_dname_next_label(d2);
} else {
return false;
}
@@ -707,7 +707,7 @@ bool knot_dname_is_case_equal(const knot_dname_t *d1, const knot_dname_t *d2)
}
_public_
-size_t knot_dname_prefixlen(const uint8_t *name, unsigned nlabels, const uint8_t *pkt)
+size_t knot_dname_prefixlen(const uint8_t *name, unsigned nlabels)
{
if (name == NULL) {
return 0;
@@ -718,13 +718,10 @@ size_t knot_dname_prefixlen(const uint8_t *name, unsigned nlabels, const uint8_t
return 0;
}
- /* Seek first real label occurrence. */
- name = knot_wire_seek_label(name, pkt);
-
size_t len = 0;
while (*name != '\0') {
len += *name + 1;
- name = knot_wire_next_label(name, pkt);
+ name = knot_dname_next_label(name);
if (--nlabels == 0) { /* Count N first labels only. */
break;
}
@@ -743,7 +740,8 @@ size_t knot_dname_labels(const uint8_t *name, const uint8_t *pkt)
size_t count = 0;
while (*name != '\0') {
++count;
- name = knot_wire_next_label(name, pkt);
+ name = (pkt == NULL) ? knot_dname_next_label(name) :
+ knot_wire_next_label(name, pkt);
if (name == NULL) {
return 0;
}
@@ -794,7 +792,7 @@ int knot_dname_in_bailiwick(const knot_dname_t *name, const knot_dname_t *bailiw
}
for (int i = 0; i < label_diff; ++i) {
- name = knot_wire_next_label(name, NULL);
+ name = knot_dname_next_label(name);
}
return knot_dname_is_equal(name, bailiwick) ? label_diff : KNOT_EOUTOFZONE;
diff --git a/src/libknot/dname.h b/src/libknot/dname.h
index 5733de9..6d72f90 100644
--- a/src/libknot/dname.h
+++ b/src/libknot/dname.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -48,7 +48,7 @@ typedef char knot_dname_txt_storage_t[KNOT_DNAME_TXT_MAXLEN + 1];
*
* \param name Name on the wire.
* \param endp Name boundary.
- * \param pkt Wire.
+ * \param pkt Wire (can be NULL if not compressed).
*
* \retval (compressed) size of the domain name.
* \retval KNOT_EINVAL
@@ -195,7 +195,7 @@ size_t knot_dname_size(const knot_dname_t *name);
* \brief Returns full size of the given domain name (expanded compression ptrs).
*
* \param name Domain name to get the size of.
- * \param pkt Related packet (or NULL if unpacked)
+ * \param pkt Related packet.
*
* \retval size of the domain name.
* \retval 0 if invalid argument.
@@ -295,12 +295,11 @@ bool knot_dname_is_case_equal(const knot_dname_t *d1, const knot_dname_t *d2);
*
* \param name Domain name.
* \param nlabels First N labels.
- * \param pkt Related packet (or NULL if not compressed).
*
* \return Length of the prefix.
*/
_pure_
-size_t knot_dname_prefixlen(const uint8_t *name, unsigned nlabels, const uint8_t *pkt);
+size_t knot_dname_prefixlen(const uint8_t *name, unsigned nlabels);
/*!
* \brief Return number of labels in the domain name.
diff --git a/src/libknot/errcode.h b/src/libknot/errcode.h
index a9eb65c..3ee326c 100644
--- a/src/libknot/errcode.h
+++ b/src/libknot/errcode.h
@@ -57,6 +57,8 @@ enum knot_error {
KNOT_ERANGE = -ERANGE,
KNOT_EADDRNOTAVAIL = -EADDRNOTAVAIL,
KNOT_ENOTDIR = -ENOTDIR,
+ KNOT_EPERM = -EPERM,
+ KNOT_EROFS = -EROFS,
KNOT_ERRNO_ERROR = -500,
@@ -108,6 +110,7 @@ enum knot_error {
KNOT_EBADCERTKEY,
KNOT_EFACCES,
KNOT_EBACKUPDATA,
+ KNOT_ECPUCOMPAT,
KNOT_GENERAL_ERROR = -900,
@@ -119,6 +122,7 @@ enum knot_error {
KNOT_NET_EADDR,
KNOT_NET_ESOCKET,
KNOT_NET_ECONNECT,
+ KNOT_NET_EHSHAKE,
KNOT_NET_ESEND,
KNOT_NET_ERECV,
KNOT_NET_ETIMEOUT,
@@ -174,7 +178,9 @@ enum knot_error {
KNOT_NO_PUBLIC_KEY,
KNOT_NO_PRIVATE_KEY,
KNOT_NO_READY_KEY,
+ KNOT_ESOON_EXPIRE,
KNOT_DNSSEC_EKEYTAG_LIMIT,
+ KNOT_DNSSEC_EXTRA_NSEC,
KNOT_ERROR_MAX = -501
};
diff --git a/src/libknot/error.c b/src/libknot/error.c
index a148ee7..59f0a7a 100644
--- a/src/libknot/error.c
+++ b/src/libknot/error.c
@@ -58,6 +58,8 @@ static const struct error errors[] = {
{ KNOT_ERANGE, "value is out of range" },
{ KNOT_EADDRNOTAVAIL, "address is not available" },
{ KNOT_ENOTDIR, "not a directory" },
+ { KNOT_EPERM, "operation not permitted" },
+ { KNOT_EROFS, "read-only file system" },
{ KNOT_ERRNO_ERROR, "unknown system error" },
@@ -107,6 +109,7 @@ static const struct error errors[] = {
{ KNOT_EBADCERTKEY, "unknown certificate key" },
{ KNOT_EFACCES, "file permission denied" },
{ KNOT_EBACKUPDATA, "requested data not in backup" },
+ { KNOT_ECPUCOMPAT, "incompatible CPU architecture" },
{ KNOT_GENERAL_ERROR, "unknown general error" },
@@ -118,6 +121,7 @@ static const struct error errors[] = {
{ KNOT_NET_EADDR, "bad address or host name" },
{ KNOT_NET_ESOCKET, "can't create socket" },
{ KNOT_NET_ECONNECT, "can't connect" },
+ { KNOT_NET_EHSHAKE, "handshake failed" },
{ KNOT_NET_ESEND, "can't send data" },
{ KNOT_NET_ERECV, "can't receive data" },
{ KNOT_NET_ETIMEOUT, "network timeout" },
@@ -173,7 +177,9 @@ static const struct error errors[] = {
{ KNOT_NO_PUBLIC_KEY, "no public key" },
{ KNOT_NO_PRIVATE_KEY, "no private key" },
{ KNOT_NO_READY_KEY, "no key ready for submission" },
+ { KNOT_ESOON_EXPIRE, "oncoming RRSIG expiration" },
{ KNOT_DNSSEC_EKEYTAG_LIMIT, "many keys with equal keytag" },
+ { KNOT_DNSSEC_EXTRA_NSEC, "superfluous NSEC(3)" },
/* Terminator */
{ KNOT_ERROR, NULL }
diff --git a/src/libknot/packet/pkt.h b/src/libknot/packet/pkt.h
index 383f55e..da69c8c 100644
--- a/src/libknot/packet/pkt.h
+++ b/src/libknot/packet/pkt.h
@@ -52,7 +52,6 @@ enum {
KNOT_PF_NOCANON = 1 << 5, /*!< Don't canonicalize rrsets during parsing. */
KNOT_PF_ORIGTTL = 1 << 6, /*!< Write RRSIGs with their original TTL. */
KNOT_PF_SOAMINTTL = 1 << 7, /*!< Write SOA with its minimum-ttl as TTL. */
- KNOT_PF_BUFENOUGH = 1 << 8, /*!< The output buffer is big enough for the output. */
};
typedef struct knot_pkt knot_pkt_t;
diff --git a/src/libknot/packet/rrset-wire.c b/src/libknot/packet/rrset-wire.c
index a822cfe..1d4f78e 100644
--- a/src/libknot/packet/rrset-wire.c
+++ b/src/libknot/packet/rrset-wire.c
@@ -73,6 +73,7 @@ static bool dname_equal_wire(const knot_dname_t *d1, const knot_dname_t *d2,
{
assert(d1);
assert(d2);
+ assert(wire);
d2 = knot_wire_seek_label(d2, wire);
@@ -80,7 +81,7 @@ static bool dname_equal_wire(const knot_dname_t *d1, const knot_dname_t *d2,
if (!label_is_equal(d1, d2)) {
return false;
}
- d1 = knot_wire_next_label(d1, NULL);
+ d1 = knot_dname_next_label(d1);
d2 = knot_wire_next_label(d2, wire);
}
@@ -170,7 +171,7 @@ static int write_rdata_naptr_header(const uint8_t **src, size_t *src_avail,
written += (len); \
}
-#define CHECK_NEXT_LABEL(res) \
+#define CHECK_WIRE_NEXT_LABEL(res) \
if (res == NULL) { return KNOT_EINVAL; }
/*!
@@ -201,7 +202,7 @@ static int compr_put_dname(const knot_dname_t *dname, uint8_t *dst, uint16_t max
int suffix_labels = compr->suffix.labels;
while (suffix_labels > name_labels) {
suffix = knot_wire_next_label(suffix, compr->wire);
- CHECK_NEXT_LABEL(suffix);
+ CHECK_WIRE_NEXT_LABEL(suffix);
--suffix_labels;
}
@@ -210,8 +211,7 @@ static int compr_put_dname(const knot_dname_t *dname, uint8_t *dst, uint16_t max
uint16_t written = 0;
while (name_labels > suffix_labels) {
WRITE_LABEL(dst, written, dname, max, (*dname + 1));
- dname = knot_wire_next_label(dname, NULL);
- CHECK_NEXT_LABEL(dname);
+ dname = knot_dname_next_label(dname);
--name_labels;
}
@@ -221,10 +221,9 @@ static int compr_put_dname(const knot_dname_t *dname, uint8_t *dst, uint16_t max
const knot_dname_t *compr_ptr = suffix;
while (dname[0] != '\0') {
// Next labels.
- const knot_dname_t *next_dname = knot_wire_next_label(dname, NULL);
- CHECK_NEXT_LABEL(next_dname);
+ const knot_dname_t *next_dname = knot_dname_next_label(dname);
const knot_dname_t *next_suffix = knot_wire_next_label(suffix, compr->wire);
- CHECK_NEXT_LABEL(next_suffix);
+ CHECK_WIRE_NEXT_LABEL(next_suffix);
// Two labels match, extend suffix length.
if (!label_is_equal(dname, suffix)) {
@@ -324,11 +323,11 @@ static int write_owner(const knot_rrset_t *rrset, uint8_t **dst, size_t *dst_ava
return KNOT_EOK;
}
-static int write_fixed_header(const knot_rrset_t *rrset, uint16_t rrset_index,
+static int write_fixed_header(const knot_rrset_t *rrset, const knot_rdata_t *rdata,
uint8_t **dst, size_t *dst_avail, uint16_t flags)
{
assert(rrset);
- assert(rrset_index < rrset->rrs.count);
+ assert(rdata);
assert(dst && *dst);
assert(dst_avail);
@@ -339,10 +338,8 @@ static int write_fixed_header(const knot_rrset_t *rrset, uint16_t rrset_index,
wire_ctx_write_u16(&write, rrset->rclass);
if ((flags & KNOT_PF_ORIGTTL) && rrset->type == KNOT_RRTYPE_RRSIG) {
- const knot_rdata_t *rdata = knot_rdataset_at(&rrset->rrs, rrset_index);
wire_ctx_write_u32(&write, knot_rrsig_original_ttl(rdata));
} else if ((flags & KNOT_PF_SOAMINTTL) && rrset->type == KNOT_RRTYPE_SOA) {
- const knot_rdata_t *rdata = knot_rdataset_at(&rrset->rrs, rrset_index);
wire_ctx_write_u32(&write, MIN(knot_soa_minimum(rdata), rrset->ttl));
} else {
wire_ctx_write_u32(&write, rrset->ttl);
@@ -433,15 +430,15 @@ static int rdata_traverse_write(const uint8_t **src, size_t *src_avail,
}
static int write_rdata(const knot_rrset_t *rrset, uint16_t rrset_index,
- uint8_t **dst, size_t *dst_avail, knot_compr_t *compr)
+ const knot_rdata_t *rdata, uint8_t **dst, size_t *dst_avail,
+ knot_compr_t *compr)
{
assert(rrset);
assert(rrset_index < rrset->rrs.count);
+ assert(rdata);
assert(dst && *dst);
assert(dst_avail);
- const knot_rdata_t *rdata = knot_rdataset_at(&rrset->rrs, rrset_index);
-
// Reserve space for RDLENGTH.
if (sizeof(uint16_t) > *dst_avail) {
return KNOT_ESPACE;
@@ -478,7 +475,8 @@ static int write_rdata(const knot_rrset_t *rrset, uint16_t rrset_index,
return KNOT_EOK;
}
-static int write_rr(const knot_rrset_t *rrset, uint16_t rrset_index, uint8_t **dst,
+static int write_rr(const knot_rrset_t *rrset, uint16_t rrset_index,
+ const knot_rdata_t *rdata, uint8_t **dst,
size_t *dst_avail, knot_compr_t *compr, uint16_t flags)
{
int ret = write_owner(rrset, dst, dst_avail, compr);
@@ -486,17 +484,17 @@ static int write_rr(const knot_rrset_t *rrset, uint16_t rrset_index, uint8_t **d
return ret;
}
- ret = write_fixed_header(rrset, rrset_index, dst, dst_avail, flags);
+ ret = write_fixed_header(rrset, rdata, dst, dst_avail, flags);
if (ret != KNOT_EOK) {
return ret;
}
- return write_rdata(rrset, rrset_index, dst, dst_avail, compr);
+ return write_rdata(rrset, rrset_index, rdata, dst, dst_avail, compr);
}
_public_
int knot_rrset_to_wire_extra(const knot_rrset_t *rrset, uint8_t *wire,
- uint16_t max_size, uint16_t rotate,
+ uint32_t max_size, uint16_t rotate,
knot_compr_t *compr, uint16_t flags)
{
if (rrset == NULL || wire == NULL) {
@@ -512,15 +510,12 @@ int knot_rrset_to_wire_extra(const knot_rrset_t *rrset, uint8_t *wire,
uint8_t *write = wire;
size_t capacity = max_size;
- // FIXME remove this and make the max_size parameter uint32_t in next major libknot release!
- if ((flags & KNOT_PF_BUFENOUGH)) {
- capacity = SIZE_MAX;
- }
-
uint16_t count = rrset->rrs.count;
+ knot_rdata_t *rdata = rotate > 1 ? knot_rdataset_at(&rrset->rrs, rotate - 1) : rrset->rrs.rdata;
for (int i = rotate; i < count + rotate; i++) {
uint16_t pos = (i < count) ? i : (i - count);
- int ret = write_rr(rrset, pos, &write, &capacity, compr, flags);
+ rdata = pos ? knot_rdataset_next(rdata) : rrset->rrs.rdata;
+ int ret = write_rr(rrset, pos, rdata, &write, &capacity, compr, flags);
if (ret != KNOT_EOK) {
return ret;
}
diff --git a/src/libknot/packet/rrset-wire.h b/src/libknot/packet/rrset-wire.h
index 3be0cba..3247df8 100644
--- a/src/libknot/packet/rrset-wire.h
+++ b/src/libknot/packet/rrset-wire.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2018 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -41,12 +41,12 @@
* \return Output size, negative number on error (KNOT_E*).
*/
int knot_rrset_to_wire_extra(const knot_rrset_t *rrset, uint8_t *wire,
- uint16_t max_size, uint16_t rotate,
+ uint32_t max_size, uint16_t rotate,
knot_compr_t *compr, uint16_t flags);
/*! \brief Same as knot_rrset_to_wire_extra but without rrset rotation and flags. */
static inline int knot_rrset_to_wire(const knot_rrset_t *rrset, uint8_t *wire,
- uint16_t max_size, knot_compr_t *compr)
+ uint32_t max_size, knot_compr_t *compr)
{
return knot_rrset_to_wire_extra(rrset, wire, max_size, 0, compr, 0);
}
diff --git a/src/libknot/packet/wire.h b/src/libknot/packet/wire.h
index 630cd83..cff4b21 100644
--- a/src/libknot/packet/wire.h
+++ b/src/libknot/packet/wire.h
@@ -1025,13 +1025,11 @@ static inline uint16_t knot_wire_get_pointer(const uint8_t *pos)
return (knot_wire_read_u16(pos) - KNOT_WIRE_PTR_BASE); // Return offset.
}
-_pure_ _mustcheck_
+_pure_ _mustcheck_ _nonnull_(2)
static inline const uint8_t *knot_wire_seek_label(const uint8_t *lp, const uint8_t *wire)
{
+ assert(wire);
while (knot_wire_is_pointer(lp)) {
- if (!wire) {
- return NULL;
- }
const uint8_t *new_lp = wire + knot_wire_get_pointer(lp);
if (new_lp >= lp) {
assert(0);
@@ -1042,12 +1040,21 @@ static inline const uint8_t *knot_wire_seek_label(const uint8_t *lp, const uint8
return lp;
}
-_pure_ _mustcheck_
+_pure_ _mustcheck_ _nonnull_(1, 2)
static inline const uint8_t *knot_wire_next_label(const uint8_t *lp, const uint8_t *wire)
{
- if (!lp || !lp[0]) /* No label after final label. */
- return NULL;
+ assert(lp);
+ assert(lp[0] > 0); // Not a terminal label.
return knot_wire_seek_label(lp + (lp[0] + sizeof(uint8_t)), wire);
}
+_pure_ _mustcheck_ _nonnull_(1)
+static inline const uint8_t *knot_dname_next_label(const uint8_t *lp)
+{
+ assert(lp);
+ assert(lp[0] > 0); // Not a terminal label.
+ assert(!knot_wire_is_pointer(lp));
+ return lp + (lp[0] + sizeof(uint8_t));
+}
+
/*! @} */
diff --git a/src/libknot/quic/quic.c b/src/libknot/quic/quic.c
index f9d1d1d..4eb84c3 100644
--- a/src/libknot/quic/quic.c
+++ b/src/libknot/quic/quic.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -33,7 +33,6 @@
#include "contrib/macros.h"
#include "contrib/sockaddr.h"
-#include "contrib/string.h"
#include "contrib/ucw/lists.h"
#include "libknot/endian.h"
#include "libdnssec/error.h"
@@ -58,19 +57,6 @@
#define TLS_CALLBACK_ERR (-1)
-const gnutls_datum_t doq_alpn = {
- (unsigned char *)"doq", 3
-};
-
-typedef struct knot_quic_creds {
- gnutls_certificate_credentials_t tls_cert;
- gnutls_anti_replay_t tls_anti_replay;
- gnutls_datum_t tls_ticket_key;
- bool peer;
- uint8_t peer_pin_len;
- uint8_t peer_pin[];
-} knot_quic_creds_t;
-
typedef struct knot_quic_session {
node_t n;
gnutls_datum_t tls_session;
@@ -153,223 +139,6 @@ session_free:
return ret;
}
-static int tls_anti_replay_db_add_func(void *dbf, time_t exp_time,
- const gnutls_datum_t *key,
- const gnutls_datum_t *data)
-{
- return 0;
-}
-
-static void tls_session_ticket_key_free(gnutls_datum_t *ticket)
-{
- gnutls_memset(ticket->data, 0, ticket->size);
- gnutls_free(ticket->data);
-}
-
-static int self_key(gnutls_x509_privkey_t *privkey, const char *key_file)
-{
- gnutls_datum_t data = { 0 };
-
- int ret = gnutls_x509_privkey_init(privkey);
- if (ret != GNUTLS_E_SUCCESS) {
- return ret;
- }
-
- int fd = open(key_file, O_RDONLY);
- if (fd != -1) {
- struct stat stat;
- if (fstat(fd, &stat) != 0 ||
- (data.data = gnutls_malloc(stat.st_size)) == NULL ||
- read(fd, data.data, stat.st_size) != stat.st_size) {
- ret = GNUTLS_E_KEYFILE_ERROR;
- goto finish;
- }
-
- data.size = stat.st_size;
- ret = gnutls_x509_privkey_import_pkcs8(*privkey, &data, GNUTLS_X509_FMT_PEM,
- NULL, GNUTLS_PKCS_PLAIN);
- if (ret != GNUTLS_E_SUCCESS) {
- goto finish;
- }
- } else {
- ret = gnutls_x509_privkey_generate(*privkey, GNUTLS_PK_EDDSA_ED25519,
- GNUTLS_CURVE_TO_BITS(GNUTLS_ECC_CURVE_ED25519), 0);
- if (ret != GNUTLS_E_SUCCESS) {
- goto finish;
- }
-
- ret = gnutls_x509_privkey_export2_pkcs8(*privkey, GNUTLS_X509_FMT_PEM, NULL,
- GNUTLS_PKCS_PLAIN, &data);
- if (ret != GNUTLS_E_SUCCESS ||
- (fd = open(key_file, O_WRONLY | O_CREAT, 0600)) == -1 ||
- write(fd, data.data, data.size) != data.size) {
- ret = GNUTLS_E_KEYFILE_ERROR;
- goto finish;
- }
- }
-
-finish:
- close(fd);
- gnutls_free(data.data);
- if (ret != GNUTLS_E_SUCCESS) {
- gnutls_x509_privkey_deinit(*privkey);
- *privkey = NULL;
- }
- return ret;
-}
-
-static int self_signed_cert(gnutls_certificate_credentials_t tls_cert,
- const char *key_file)
-{
- gnutls_x509_privkey_t privkey = NULL;
- gnutls_x509_crt_t cert = NULL;
-
- char *hostname = sockaddr_hostname();
- if (hostname == NULL) {
- return GNUTLS_E_MEMORY_ERROR;
- }
-
- int ret;
- uint8_t serial[16];
- gnutls_rnd(GNUTLS_RND_NONCE, serial, sizeof(serial));
- // Clear the left-most bit to be a positive number (two's complement form).
- serial[0] &= 0x7F;
-
-#define CHK(cmd) if ((ret = (cmd)) != GNUTLS_E_SUCCESS) { goto finish; }
-#define NOW_DAYS(days) (time(NULL) + 24 * 3600 * (days))
-
- CHK(self_key(&privkey, key_file));
-
- CHK(gnutls_x509_crt_init(&cert));
- CHK(gnutls_x509_crt_set_version(cert, 3));
- CHK(gnutls_x509_crt_set_serial(cert, serial, sizeof(serial)));
- CHK(gnutls_x509_crt_set_activation_time(cert, NOW_DAYS(-1)));
- CHK(gnutls_x509_crt_set_expiration_time(cert, NOW_DAYS(10 * 365)));
- CHK(gnutls_x509_crt_set_dn_by_oid(cert, GNUTLS_OID_X520_COMMON_NAME, 0,
- hostname, strlen(hostname)));
- CHK(gnutls_x509_crt_set_key(cert, privkey));
- CHK(gnutls_x509_crt_sign2(cert, cert, privkey, GNUTLS_DIG_SHA512, 0));
-
- ret = gnutls_certificate_set_x509_key(tls_cert, &cert, 1, privkey);
-
-finish:
- free(hostname);
- gnutls_x509_crt_deinit(cert);
- gnutls_x509_privkey_deinit(privkey);
-
- return ret;
-}
-
-_public_
-struct knot_quic_creds *knot_quic_init_creds(const char *cert_file,
- const char *key_file)
-{
- knot_quic_creds_t *creds = calloc(1, sizeof(*creds));
- if (creds == NULL) {
- return NULL;
- }
-
- int ret = gnutls_certificate_allocate_credentials(&creds->tls_cert);
- if (ret != GNUTLS_E_SUCCESS) {
- goto fail;
- }
-
- ret = gnutls_anti_replay_init(&creds->tls_anti_replay);
- if (ret != GNUTLS_E_SUCCESS) {
- goto fail;
- }
- gnutls_anti_replay_set_add_function(creds->tls_anti_replay, tls_anti_replay_db_add_func);
- gnutls_anti_replay_set_ptr(creds->tls_anti_replay, NULL);
-
- if (cert_file != NULL) {
- ret = gnutls_certificate_set_x509_key_file(creds->tls_cert,
- cert_file, key_file,
- GNUTLS_X509_FMT_PEM);
- } else {
- ret = self_signed_cert(creds->tls_cert, key_file);
- }
- if (ret != GNUTLS_E_SUCCESS) {
- goto fail;
- }
-
- ret = gnutls_session_ticket_key_generate(&creds->tls_ticket_key);
- if (ret != GNUTLS_E_SUCCESS) {
- goto fail;
- }
-
- return creds;
-fail:
- knot_quic_free_creds(creds);
- return NULL;
-}
-
-_public_
-struct knot_quic_creds *knot_quic_init_creds_peer(const struct knot_quic_creds *local_creds,
- const uint8_t *peer_pin,
- uint8_t peer_pin_len)
-{
- knot_quic_creds_t *creds = calloc(1, sizeof(*creds) + peer_pin_len);
- if (creds == NULL) {
- return NULL;
- }
-
- if (local_creds != NULL) {
- creds->peer = true;
- creds->tls_cert = local_creds->tls_cert;
- } else {
- int ret = gnutls_certificate_allocate_credentials(&creds->tls_cert);
- if (ret != GNUTLS_E_SUCCESS) {
- free(creds);
- return NULL;
- }
- }
-
- if (peer_pin_len > 0 && peer_pin != NULL) {
- memcpy(creds->peer_pin, peer_pin, peer_pin_len);
- creds->peer_pin_len = peer_pin_len;
- }
-
- return creds;
-}
-
-_public_
-int knot_quic_creds_cert(struct knot_quic_creds *creds, struct gnutls_x509_crt_int **cert)
-{
- if (creds == NULL || cert == NULL) {
- return KNOT_EINVAL;
- }
-
- gnutls_x509_crt_t *certs;
- unsigned cert_count;
- int ret = gnutls_certificate_get_x509_crt(creds->tls_cert, 0, &certs, &cert_count);
- if (ret == GNUTLS_E_SUCCESS) {
- if (cert_count == 0) {
- gnutls_x509_crt_deinit(*certs);
- return KNOT_ENOENT;
- }
- *cert = *certs;
- free(certs);
- }
- return ret;
-}
-
-_public_
-void knot_quic_free_creds(struct knot_quic_creds *creds)
-{
- if (creds == NULL) {
- return;
- }
-
- if (!creds->peer && creds->tls_cert != NULL) {
- gnutls_certificate_free_credentials(creds->tls_cert);
- }
- gnutls_anti_replay_deinit(creds->tls_anti_replay);
- if (creds->tls_ticket_key.data != NULL) {
- tls_session_ticket_key_free(&creds->tls_ticket_key);
- }
- free(creds);
-}
-
static ngtcp2_conn *get_conn(ngtcp2_crypto_conn_ref *conn_ref)
{
return ((knot_quic_conn_t *)conn_ref->user_data)->conn;
@@ -377,51 +146,31 @@ static ngtcp2_conn *get_conn(ngtcp2_crypto_conn_ref *conn_ref)
static int tls_init_conn_session(knot_quic_conn_t *conn, bool server)
{
- if (gnutls_init(&conn->tls_session, (server ? GNUTLS_SERVER : GNUTLS_CLIENT) |
- GNUTLS_ENABLE_EARLY_DATA | GNUTLS_NO_AUTO_SEND_TICKET |
- GNUTLS_NO_END_OF_EARLY_DATA) != GNUTLS_E_SUCCESS) {
- return TLS_CALLBACK_ERR;
- }
-
- gnutls_certificate_send_x509_rdn_sequence(conn->tls_session, 1);
- gnutls_certificate_server_set_request(conn->tls_session, GNUTLS_CERT_REQUEST);
-
- if (gnutls_priority_set_direct(conn->tls_session, QUIC_PRIORITIES,
- NULL) != GNUTLS_E_SUCCESS) {
+ int ret = knot_tls_session(&conn->tls_session, conn->quic_table->creds,
+ conn->quic_table->priority, "\x03""doq",
+ true, server);
+ if (ret != KNOT_EOK) {
return TLS_CALLBACK_ERR;
}
- if (server && gnutls_session_ticket_enable_server(conn->tls_session,
- &conn->quic_table->creds->tls_ticket_key) != GNUTLS_E_SUCCESS) {
- return TLS_CALLBACK_ERR;
+ if (server) {
+ ret = ngtcp2_crypto_gnutls_configure_server_session(conn->tls_session);
+ } else {
+ ret = ngtcp2_crypto_gnutls_configure_client_session(conn->tls_session);
}
-
- int ret = ngtcp2_crypto_gnutls_configure_server_session(conn->tls_session);
- if (ret != 0) {
+ if (ret != NGTCP2_NO_ERROR) {
return TLS_CALLBACK_ERR;
}
- gnutls_record_set_max_early_data_size(conn->tls_session, 0xffffffffu);
-
conn->conn_ref = (nc_conn_ref_placeholder_t) {
.get_conn = get_conn,
.user_data = conn
};
- _Static_assert(sizeof(nc_conn_ref_placeholder_t) == sizeof(ngtcp2_crypto_conn_ref), "invalid placeholder for conn_ref");
+ _Static_assert(sizeof(nc_conn_ref_placeholder_t) == sizeof(ngtcp2_crypto_conn_ref),
+ "invalid placeholder for conn_ref");
gnutls_session_set_ptr(conn->tls_session, &conn->conn_ref);
- if (server) {
- gnutls_anti_replay_enable(conn->tls_session, conn->quic_table->creds->tls_anti_replay);
-
- }
- if (gnutls_credentials_set(conn->tls_session, GNUTLS_CRD_CERTIFICATE,
- conn->quic_table->creds->tls_cert) != GNUTLS_E_SUCCESS) {
- return TLS_CALLBACK_ERR;
- }
-
- gnutls_alpn_set_protocols(conn->tls_session, &doq_alpn, 1, GNUTLS_ALPN_MANDATORY);
-
ngtcp2_conn_set_tls_native_handle(conn->conn, conn->tls_session);
return KNOT_EOK;
@@ -477,54 +226,6 @@ uint16_t knot_quic_conn_local_port(knot_quic_conn_t *conn)
return ((const struct sockaddr_in6 *)path->local.addr)->sin6_port;
}
-_public_
-void knot_quic_conn_pin(knot_quic_conn_t *conn, uint8_t *pin, size_t *pin_size, bool local)
-{
- if (conn == NULL) {
- goto error;
- }
-
- const gnutls_datum_t *data = NULL;
- if (local) {
- data = gnutls_certificate_get_ours(conn->tls_session);
- } else {
- unsigned count = 0;
- data = gnutls_certificate_get_peers(conn->tls_session, &count);
- if (count == 0) {
- goto error;
- }
- }
- if (data == NULL) {
- goto error;
- }
-
- gnutls_x509_crt_t cert;
- int ret = gnutls_x509_crt_init(&cert);
- if (ret != GNUTLS_E_SUCCESS) {
- goto error;
- }
-
- ret = gnutls_x509_crt_import(cert, data, GNUTLS_X509_FMT_DER);
- if (ret != GNUTLS_E_SUCCESS) {
- gnutls_x509_crt_deinit(cert);
- goto error;
- }
-
- ret = gnutls_x509_crt_get_key_id(cert, GNUTLS_KEYID_USE_SHA256, pin, pin_size);
- if (ret != GNUTLS_E_SUCCESS) {
- gnutls_x509_crt_deinit(cert);
- goto error;
- }
-
- gnutls_x509_crt_deinit(cert);
-
- return;
-error:
- if (pin_size != NULL) {
- *pin_size = 0;
- }
-}
-
static void knot_quic_rand_cb(uint8_t *dest, size_t destlen, const ngtcp2_rand_ctx *rand_ctx)
{
(void)rand_ctx;
@@ -602,18 +303,8 @@ static int handshake_completed_cb(ngtcp2_conn *conn, void *user_data)
ctx->flags |= KNOT_QUIC_CONN_HANDSHAKE_DONE;
if (!ngtcp2_conn_is_server(conn)) {
- knot_quic_creds_t *creds = ctx->quic_table->creds;
- if (creds->peer_pin_len == 0) {
- return 0;
- }
- uint8_t pin[KNOT_QUIC_PIN_LEN];
- size_t pin_size = sizeof(pin);
- knot_quic_conn_pin(ctx, pin, &pin_size, false);
- if (pin_size != creds->peer_pin_len ||
- const_time_memcmp(pin, creds->peer_pin, pin_size) != 0) {
- return NGTCP2_ERR_CALLBACK_FAILURE;
- }
- return 0;
+ return knot_tls_pin_check(ctx->tls_session, ctx->quic_table->creds)
+ == KNOT_EOK ? 0 : NGTCP2_ERR_CALLBACK_FAILURE;
}
if (gnutls_session_ticket_send(ctx->tls_session, 1, 0) != GNUTLS_E_SUCCESS) {
@@ -945,6 +636,10 @@ int knot_quic_handle(knot_quic_table_t *table, knot_quic_reply_t *reply,
goto finish;
}
+ if (conn != NULL && (conn->flags & KNOT_QUIC_CONN_BLOCKED)) {
+ return KNOT_EOK;
+ }
+
ngtcp2_path path;
path.remote.addr = (struct sockaddr *)reply->ip_rem;
path.remote.addrlen = addr_len((struct sockaddr_in6 *)reply->ip_rem);
@@ -1249,6 +944,8 @@ int knot_quic_send(knot_quic_table_t *quic_table, knot_quic_conn_t *conn,
return KNOT_EINVAL;
} else if (reply->handle_ret < 0) {
return reply->handle_ret;
+ } else if ((conn->flags & KNOT_QUIC_CONN_BLOCKED) && !(flags & KNOT_QUIC_SEND_IGNORE_BLOCKED)) {
+ return KNOT_EOK;
} else if (reply->handle_ret > 0) {
return send_special(quic_table, reply, conn);
} else if (conn == NULL) {
diff --git a/src/libknot/quic/quic.h b/src/libknot/quic/quic.h
index 29a02e0..b4acb33 100644
--- a/src/libknot/quic/quic.h
+++ b/src/libknot/quic/quic.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -29,20 +29,18 @@
#include <netinet/in.h>
#include "libknot/quic/quic_conn.h"
-
-#define KNOT_QUIC_PIN_LEN 32
+#include "libknot/quic/tls_common.h"
#define KNOT_QUIC_HANDLE_RET_CLOSE 2000
// RFC 9250
#define KNOT_QUIC_ERR_EXCESSIVE_LOAD 0x4
-struct gnutls_x509_crt_int;
-struct knot_quic_creds;
struct knot_quic_session;
typedef enum {
KNOT_QUIC_SEND_IGNORE_LASTBYTE = (1 << 0),
+ KNOT_QUIC_SEND_IGNORE_BLOCKED = (1 << 1),
} knot_quic_send_flag_t;
typedef struct knot_quic_reply {
@@ -87,45 +85,6 @@ struct knot_quic_session *knot_quic_session_save(knot_quic_conn_t *conn);
int knot_quic_session_load(knot_quic_conn_t *conn, struct knot_quic_session *session);
/*!
- * \brief Init server TLS certificate for DoQ.
- *
- * \param cert_file X509 certificate PEM file path/name (NULL if auto-generated).
- * \param key_file Key PEM file path/name.
- *
- * \return Initialized creds.
- */
-struct knot_quic_creds *knot_quic_init_creds(const char *cert_file,
- const char *key_file);
-
-/*!
- * \brief Init peer TLS certificate for DoQ.
- *
- * \param local_creds Local credentials if server.
- * \param peer_pin Optional peer certificate pin to check.
- * \param peer_pin_len Length of the peer pin. Set 0 if not specified.
- *
- * \return Initialized creds.
- */
-struct knot_quic_creds *knot_quic_init_creds_peer(const struct knot_quic_creds *local_creds,
- const uint8_t *peer_pin,
- uint8_t peer_pin_len);
-
-/*!
- * \brief Gets the certificate from credentials.
- *
- * \param creds TLS credentials.
- * \param cert Output certificate.
- *
- * \return KNOT_E*
- */
-int knot_quic_creds_cert(struct knot_quic_creds *creds, struct gnutls_x509_crt_int **cert);
-
-/*!
- * \brief Deinit server TLS certificate for DoQ.
- */
-void knot_quic_free_creds(struct knot_quic_creds *creds);
-
-/*!
* \brief Returns timeout value for the connection.
*/
uint64_t quic_conn_get_timeout(knot_quic_conn_t *conn);
@@ -156,18 +115,6 @@ uint32_t knot_quic_conn_rtt(knot_quic_conn_t *conn);
uint16_t knot_quic_conn_local_port(knot_quic_conn_t *conn);
/*!
- * \brief Gets local or remote certificate pin.
- *
- * \note Zero output pin_size value means no certificate available or error.
- *
- * \param conn QUIC connection.
- * \param pin Output certificate pin.
- * \param pin_size Input size of the storage / output size of the stored pin.
- * \param local Local or remote certificate indication.
- */
-void knot_quic_conn_pin(knot_quic_conn_t *conn, uint8_t *pin, size_t *pin_size, bool local);
-
-/*!
* \brief Create new outgoing QUIC connection.
*
* \param table QUIC connections table to be added to.
diff --git a/src/libknot/quic/quic_conn.c b/src/libknot/quic/quic_conn.c
index 6616573..1a3b9df 100644
--- a/src/libknot/quic/quic_conn.c
+++ b/src/libknot/quic/quic_conn.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -29,6 +29,7 @@
#include "libdnssec/random.h"
#include "libknot/attribute.h"
#include "libknot/error.h"
+#include "libknot/quic/tls_common.h"
#include "libknot/quic/quic.h"
#include "libknot/xdp/tcp_iobuf.h"
#include "libknot/wire.h"
@@ -45,7 +46,7 @@ static int cmp_expiry_heap_nodes(void *c1, void *c2)
_public_
knot_quic_table_t *knot_quic_table_new(size_t max_conns, size_t max_ibufs, size_t max_obufs,
- size_t udp_payload, struct knot_quic_creds *creds)
+ size_t udp_payload, struct knot_creds *creds)
{
size_t table_size = max_conns * BUCKETS_PER_CONNS;
@@ -61,9 +62,17 @@ knot_quic_table_t *knot_quic_table_new(size_t max_conns, size_t max_ibufs, size_
res->obufs_max = max_obufs;
res->udp_payload_limit = udp_payload;
+ int ret = gnutls_priority_init2(&res->priority, KNOT_TLS_PRIORITIES, NULL,
+ GNUTLS_PRIORITY_INIT_DEF_APPEND);
+ if (ret != GNUTLS_E_SUCCESS) {
+ free(res);
+ return NULL;
+ }
+
res->expiry_heap = malloc(sizeof(struct heap));
if (res->expiry_heap == NULL || !heap_init(res->expiry_heap, cmp_expiry_heap_nodes, 0)) {
free(res->expiry_heap);
+ gnutls_priority_deinit(res->priority);
free(res);
return NULL;
}
@@ -92,6 +101,7 @@ void knot_quic_table_free(knot_quic_table_t *table)
assert(table->ibufs_size == 0);
assert(table->obufs_size == 0);
+ gnutls_priority_deinit(table->priority);
heap_deinit(table->expiry_heap);
free(table->expiry_heap);
free(table);
@@ -118,7 +128,9 @@ void knot_quic_table_sweep(knot_quic_table_t *table, struct knot_quic_reply *swe
while (!EMPTY_HEAP(table->expiry_heap)) {
knot_quic_conn_t *c = *(knot_quic_conn_t **)HHEAD(table->expiry_heap);
- if (table->usage > table->max_conns) {
+ if ((c->flags & KNOT_QUIC_CONN_BLOCKED)) {
+ break; // highly inprobable
+ } else if (table->usage > table->max_conns) {
knot_sweep_stats_incr(stats, KNOT_SWEEP_CTR_LIMIT_CONN);
send_excessive_load(c, sweep_reply, table);
knot_quic_table_rem(c, table);
@@ -476,7 +488,7 @@ uint8_t *knot_quic_stream_add_data(knot_quic_conn_t *conn, int64_t stream_id,
add_tail((list_t *)&s->outbufs, (node_t *)obuf);
s->obufs_size += obuf->len;
conn->obufs_size += obuf->len;
- conn->quic_table->obufs_size += obuf->len;
+ ATOMIC_ADD(conn->quic_table->obufs_size, obuf->len);
return obuf->buf + prefix;
}
@@ -497,7 +509,7 @@ void knot_quic_stream_ack_data(knot_quic_conn_t *conn, int64_t stream_id,
assert(HEAD(*obs) != first); // help CLANG analyzer understand what rem_node did and that further usage of HEAD(*obs) is safe
s->obufs_size -= first->len;
conn->obufs_size -= first->len;
- conn->quic_table->obufs_size -= first->len;
+ ATOMIC_SUB(conn->quic_table->obufs_size, first->len);
s->first_offset += first->len;
free(first);
if (s->unsent_obuf == first) {
@@ -556,6 +568,19 @@ void knot_quic_stream_mark_sent(knot_quic_conn_t *conn, int64_t stream_id,
}
_public_
+void knot_quic_conn_block(knot_quic_conn_t *conn, bool block)
+{
+ if (block) {
+ conn->flags |= KNOT_QUIC_CONN_BLOCKED;
+ conn->next_expiry = UINT64_MAX;
+ conn_heap_reschedule(conn, conn->quic_table);
+ } else {
+ conn->flags &= ~KNOT_QUIC_CONN_BLOCKED;
+ quic_conn_mark_used(conn, conn->quic_table);
+ }
+}
+
+_public_
void knot_quic_cleanup(knot_quic_conn_t *conns[], size_t n_conns)
{
for (size_t i = 0; i < n_conns; i++) {
diff --git a/src/libknot/quic/quic_conn.h b/src/libknot/quic/quic_conn.h
index 64ead51..49e0631 100644
--- a/src/libknot/quic/quic_conn.h
+++ b/src/libknot/quic/quic_conn.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -29,10 +29,13 @@
#include <stdint.h>
#include <sys/uio.h>
+#include "contrib/atomic.h"
+
#define MAX_STREAMS_PER_CONN 10 // this limits the number of un-finished streams per conn (i.e. if response has been recvd with FIN, it doesn't count)
+struct gnutls_priority_st;
struct ngtcp2_cid; // declaration taken from wherever in ngtcp2
-struct knot_quic_creds;
+struct knot_creds;
struct knot_quic_reply;
struct knot_sweep_stats;
@@ -70,6 +73,7 @@ typedef struct {
typedef enum {
KNOT_QUIC_CONN_HANDSHAKE_DONE = (1 << 0),
KNOT_QUIC_CONN_SESSION_TAKEN = (1 << 1),
+ KNOT_QUIC_CONN_BLOCKED = (1 << 2),
} knot_quic_conn_flag_t;
typedef struct knot_quic_conn {
@@ -111,12 +115,13 @@ typedef struct knot_quic_table {
size_t ibufs_max;
size_t obufs_max;
size_t ibufs_size;
- size_t obufs_size;
+ knot_atomic_size_t obufs_size;
size_t udp_payload_limit; // for simplicity not distinguishing IPv4/6
void (*log_cb)(const char *);
const char *qlog_dir;
uint64_t hash_secret[4];
- struct knot_quic_creds *creds;
+ struct knot_creds *creds;
+ struct gnutls_priority_st *priority;
struct heap *expiry_heap;
knot_quic_cid_t *conns[];
} knot_quic_table_t;
@@ -133,7 +138,7 @@ typedef struct knot_quic_table {
* \return Allocated table, or NULL.
*/
knot_quic_table_t *knot_quic_table_new(size_t max_conns, size_t max_ibufs, size_t max_obufs,
- size_t udp_payload, struct knot_quic_creds *creds);
+ size_t udp_payload, struct knot_creds *creds);
/*!
* \brief Free QUIC table including its contents.
@@ -306,6 +311,11 @@ void knot_quic_stream_mark_sent(knot_quic_conn_t *conn, int64_t stream_id,
size_t amount_sent);
/*!
+ * \brief (Un)block the connection for incoming/outgoing traffic and sweep.
+ */
+void knot_quic_conn_block(knot_quic_conn_t *conn, bool block);
+
+/*!
* \brief Free rest of resources of closed conns.
*
* \param conns Array with recently used conns (possibly NULLs).
diff --git a/src/libknot/quic/tls.c b/src/libknot/quic/tls.c
new file mode 100644
index 0000000..01172df
--- /dev/null
+++ b/src/libknot/quic/tls.c
@@ -0,0 +1,262 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include <arpa/inet.h>
+#include <assert.h>
+#include <gnutls/crypto.h>
+#include <gnutls/gnutls.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+
+#include "libknot/quic/tls.h"
+
+#include "contrib/macros.h"
+#include "contrib/time.h"
+#include "libknot/attribute.h"
+#include "libknot/error.h"
+#include "libknot/quic/tls_common.h"
+
+_public_
+knot_tls_ctx_t *knot_tls_ctx_new(struct knot_creds *creds, unsigned io_timeout,
+ unsigned hs_timeout, bool server)
+{
+ knot_tls_ctx_t *res = calloc(1, sizeof(*res));
+ if (res == NULL) {
+ return NULL;
+ }
+
+ res->creds = creds;
+ res->handshake_timeout = hs_timeout;
+ res->io_timeout = io_timeout;
+ res->server = server;
+
+ int ret = gnutls_priority_init2(&res->priority, KNOT_TLS_PRIORITIES, NULL,
+ GNUTLS_PRIORITY_INIT_DEF_APPEND);
+ if (ret != GNUTLS_E_SUCCESS) {
+ free(res);
+ return NULL;
+ }
+
+ return res;
+}
+
+_public_
+void knot_tls_ctx_free(knot_tls_ctx_t *ctx)
+{
+ if (ctx != NULL) {
+ gnutls_priority_deinit(ctx->priority);
+ free(ctx);
+ }
+}
+
+_public_
+knot_tls_conn_t *knot_tls_conn_new(knot_tls_ctx_t *ctx, int sock_fd)
+{
+ knot_tls_conn_t *res = calloc(1, sizeof(*res));
+ if (res == NULL) {
+ return NULL;
+ }
+ res->ctx = ctx;
+ res->fd = sock_fd;
+
+ int ret = knot_tls_session(&res->session, ctx->creds, ctx->priority,
+ "\x03""dot", false, ctx->server);
+ if (ret != KNOT_EOK) {
+ goto fail;
+ }
+
+ gnutls_transport_set_int(res->session, sock_fd); // Use internal recv/send/poll.
+ gnutls_handshake_set_timeout(res->session, ctx->handshake_timeout);
+
+ return res;
+fail:
+ gnutls_deinit(res->session);
+ free(res);
+ return NULL;
+}
+
+_public_
+void knot_tls_conn_del(knot_tls_conn_t *conn)
+{
+ if (conn != NULL && conn->fd_clones_count-- < 1) {
+ gnutls_deinit(conn->session);
+ free(conn);
+ }
+}
+
+_public_
+int knot_tls_handshake(knot_tls_conn_t *conn, bool oneshot)
+{
+ if (conn->flags & (KNOT_TLS_CONN_HANDSHAKE_DONE | KNOT_TLS_CONN_BLOCKED)) {
+ return KNOT_EOK;
+ }
+
+ /* Check if NB socket is writeable. */
+ int opt;
+ socklen_t opt_len = sizeof(opt);
+ int ret = getsockopt(conn->fd, SOL_SOCKET, SO_ERROR, &opt, &opt_len);
+ if (ret < 0 || opt == ECONNREFUSED) {
+ return KNOT_NET_ECONNECT;
+ }
+
+ gnutls_record_set_timeout(conn->session, conn->ctx->io_timeout);
+ do {
+ ret = gnutls_handshake(conn->session);
+ } while (!oneshot && ret < 0 && gnutls_error_is_fatal(ret) == 0);
+
+ switch (ret) {
+ case GNUTLS_E_SUCCESS:
+ conn->flags |= KNOT_TLS_CONN_HANDSHAKE_DONE;
+ return knot_tls_pin_check(conn->session, conn->ctx->creds);
+ case GNUTLS_E_TIMEDOUT:
+ return KNOT_NET_ETIMEOUT;
+ default:
+ if (gnutls_error_is_fatal(ret) == 0) {
+ return KNOT_EAGAIN;
+ } else {
+ return KNOT_NET_EHSHAKE;
+ }
+ }
+}
+
+#define TIMEOUT_CTX_INIT \
+ struct timespec begin, end; \
+ if (*timeout_ptr > 0) { \
+ clock_gettime(CLOCK_MONOTONIC, &begin); \
+ }
+
+#define TIMEOUT_CTX_UPDATE \
+ if (*timeout_ptr > 0) { \
+ clock_gettime(CLOCK_MONOTONIC, &end); \
+ int running_ms = time_diff_ms(&begin, &end); \
+ *timeout_ptr = MAX(*timeout_ptr - running_ms, 0); \
+ }
+
+static ssize_t recv_data(knot_tls_conn_t *conn, void *data, size_t size, int *timeout_ptr)
+{
+ gnutls_record_set_timeout(conn->session, *timeout_ptr);
+
+ size_t total = 0;
+ ssize_t res;
+ while (total < size) {
+ TIMEOUT_CTX_INIT
+ res = gnutls_record_recv(conn->session, data + total, size - total);
+ if (res > 0) {
+ total += res;
+ } else if (res == 0) {
+ return KNOT_ECONNRESET;
+ } else if (gnutls_error_is_fatal(res) != 0) {
+ return KNOT_NET_ERECV;
+ }
+ TIMEOUT_CTX_UPDATE
+ gnutls_record_set_timeout(conn->session, *timeout_ptr);
+ }
+
+ assert(total == size);
+ return size;
+}
+
+_public_
+ssize_t knot_tls_recv_dns(knot_tls_conn_t *conn, void *data, size_t size)
+{
+ if (conn == NULL || data == NULL) {
+ return KNOT_EINVAL;
+ }
+
+ if (conn->flags & KNOT_TLS_CONN_BLOCKED) {
+ return 0;
+ }
+
+ ssize_t ret = knot_tls_handshake(conn, false);
+ if (ret != KNOT_EOK) {
+ return ret;
+ }
+
+ int timeout = conn->ctx->io_timeout;
+
+ uint16_t msg_len;
+ ret = recv_data(conn, &msg_len, sizeof(msg_len), &timeout);
+ if (ret != sizeof(msg_len)) {
+ return ret;
+ }
+
+ msg_len = ntohs(msg_len);
+ if (size < msg_len) {
+ return KNOT_ESPACE;
+ }
+
+ ret = recv_data(conn, data, msg_len, &timeout);
+ if (ret != size) {
+ return ret;
+ }
+
+ return msg_len;
+}
+
+_public_
+ssize_t knot_tls_send_dns(knot_tls_conn_t *conn, void *data, size_t size)
+{
+ if (conn == NULL || data == NULL || size > UINT16_MAX) {
+ return KNOT_EINVAL;
+ }
+
+ ssize_t res = knot_tls_handshake(conn, false);
+ if (res != KNOT_EOK) {
+ return res;
+ }
+
+ // Enable data buffering.
+ gnutls_record_cork(conn->session);
+
+ uint16_t msg_len = htons(size);
+ res = gnutls_record_send(conn->session, &msg_len, sizeof(msg_len));
+ if (res != sizeof(msg_len)) {
+ return KNOT_NET_ESEND;
+ }
+
+ res = gnutls_record_send(conn->session, data, size);
+ if (res != size) {
+ return KNOT_NET_ESEND;
+ }
+
+ int timeout = conn->ctx->io_timeout, *timeout_ptr = &timeout;
+ gnutls_record_set_timeout(conn->session, timeout);
+
+ // Send the buffered data.
+ while (gnutls_record_check_corked(conn->session) > 0) {
+ TIMEOUT_CTX_INIT
+ int ret = gnutls_record_uncork(conn->session, 0);
+ if (ret < 0 && gnutls_error_is_fatal(ret) != 0) {
+ return ret == GNUTLS_E_TIMEDOUT ? KNOT_ETIMEOUT :
+ KNOT_NET_ESEND;
+ }
+ TIMEOUT_CTX_UPDATE
+ gnutls_record_set_timeout(conn->session, timeout);
+ }
+
+ return size;
+}
+
+_public_
+void knot_tls_conn_block(knot_tls_conn_t *conn, bool block)
+{
+ if (block) {
+ conn->flags |= KNOT_TLS_CONN_BLOCKED;
+ } else {
+ conn->flags &= ~KNOT_TLS_CONN_BLOCKED;
+ }
+}
diff --git a/src/libknot/quic/tls.h b/src/libknot/quic/tls.h
new file mode 100644
index 0000000..7801ca8
--- /dev/null
+++ b/src/libknot/quic/tls.h
@@ -0,0 +1,135 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+/*!
+ * \file
+ *
+ * \brief Pure TLS functionality.
+ *
+ * \addtogroup quic
+ * @{
+ */
+
+#pragma once
+
+#include <stdbool.h>
+#include <stdint.h>
+#include <sys/types.h>
+
+struct gnutls_priority_st;
+
+typedef enum {
+ KNOT_TLS_CONN_HANDSHAKE_DONE = (1 << 0),
+ KNOT_TLS_CONN_SESSION_TAKEN = (1 << 1), // unused, to be implemeted later
+ KNOT_TLS_CONN_BLOCKED = (1 << 2),
+} knot_tls_conn_flag_t;
+
+typedef struct knot_tls_ctx {
+ struct knot_creds *creds;
+ struct gnutls_priority_st *priority;
+ unsigned handshake_timeout;
+ unsigned io_timeout;
+ bool server;
+} knot_tls_ctx_t;
+
+typedef struct knot_tls_conn {
+ struct gnutls_session_int *session;
+ struct knot_tls_ctx *ctx;
+ int fd;
+ unsigned fd_clones_count;
+ knot_tls_conn_flag_t flags;
+} knot_tls_conn_t;
+
+/*!
+ * \brief Initialize DoT answering context.
+ *
+ * \param creds Certificate credentials.
+ * \param io_timeout Connections' IO-timeout (in milliseconds).
+ * \param hs_timeout Handshake timeout (in milliseconds).
+ * \param server Server context (otherwise client).
+ *
+ * \return Initialized context or NULL.
+ */
+knot_tls_ctx_t *knot_tls_ctx_new(struct knot_creds *creds, unsigned io_timeout,
+ unsigned hs_timeout, bool server);
+
+/*!
+ * \brief Free DoT answering context.
+ */
+void knot_tls_ctx_free(knot_tls_ctx_t *ctx);
+
+/*!
+ * \brief Initialize DoT connection.
+ *
+ * \param ctx DoT answering context.
+ * \param sock_fd Opened TCP connection socket.
+ *
+ * \return Connection struct or NULL.
+ */
+knot_tls_conn_t *knot_tls_conn_new(knot_tls_ctx_t *ctx, int sock_fd);
+
+/*!
+ * \brief Free DoT connection struct.
+ *
+ * \note Doesn't close the TCP connection socket.
+ */
+void knot_tls_conn_del(knot_tls_conn_t *conn);
+
+/*!
+ * \brief Perform the TLS handshake (via gnutls_handshake()).
+ *
+ * \note This is also done by the recv/send functions.
+ *
+ * \param conn DoT connection.
+ * \param oneshot If set, don't wait untill the handshake is finished.
+ *
+ * \retval KNOT_EOK Handshake successfully finished.
+ * \retval KNOT_EGAIN Handshake not finished, call me again.
+ * \retval KNOT_NET_EHSHAKE Handshake error.
+ * \retval KNOT_NET_ECONNECT Socket not connected.
+ */
+int knot_tls_handshake(knot_tls_conn_t *conn, bool oneshot);
+
+/*!
+ * \brief Receive a size-word-prefixed DNS message.
+ *
+ * \param conn DoT connection.
+ * \param data Destination buffer.
+ * \param size Maximum buffer size.
+ *
+ * \return Either the DNS message size received or negative error code.
+ *
+ * \note The two-byte-size-prefix is stripped upon reception, not stored to the buffer.
+ */
+ssize_t knot_tls_recv_dns(knot_tls_conn_t *conn, void *data, size_t size);
+
+/*!
+ * \brief Send a size-word-prefixed DNS message.
+ *
+ * \param conn DoT connection.
+ * \param data DNS payload.
+ * \param size Payload size.
+ *
+ * \return Either exactly 'size' or a negative error code.
+ */
+ssize_t knot_tls_send_dns(knot_tls_conn_t *conn, void *data, size_t size);
+
+/*!
+ * \brief Set or unset the conection's BLOCKED flag.
+ */
+void knot_tls_conn_block(knot_tls_conn_t *conn, bool block);
+
+/*! @} */
diff --git a/src/libknot/quic/tls_common.c b/src/libknot/quic/tls_common.c
new file mode 100644
index 0000000..d1647d8
--- /dev/null
+++ b/src/libknot/quic/tls_common.c
@@ -0,0 +1,472 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include <fcntl.h>
+#include <gnutls/crypto.h>
+#include <gnutls/gnutls.h>
+#include <gnutls/x509.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <time.h>
+#include <unistd.h>
+
+#include "libknot/quic/tls_common.h"
+
+#include "contrib/atomic.h"
+#include "contrib/sockaddr.h"
+#include "contrib/string.h"
+#include "libknot/attribute.h"
+#include "libknot/error.h"
+
+typedef struct knot_creds {
+ knot_atomic_ptr_t cert_creds; // Current credentials.
+ gnutls_certificate_credentials_t cert_creds_prev; // Previous credentials (for pending connections).
+ gnutls_anti_replay_t tls_anti_replay;
+ gnutls_datum_t tls_ticket_key;
+ bool peer;
+ uint8_t peer_pin_len;
+ uint8_t peer_pin[];
+} knot_creds_t;
+
+static int tls_anti_replay_db_add_func(void *dbf, time_t exp_time,
+ const gnutls_datum_t *key,
+ const gnutls_datum_t *data)
+{
+ return 0;
+}
+
+static void tls_session_ticket_key_free(gnutls_datum_t *ticket)
+{
+ memzero(ticket->data, ticket->size);
+ gnutls_free(ticket->data);
+}
+
+static int self_key(gnutls_x509_privkey_t *privkey, const char *key_file)
+{
+ gnutls_datum_t data = { 0 };
+
+ int ret = gnutls_x509_privkey_init(privkey);
+ if (ret != GNUTLS_E_SUCCESS) {
+ return ret;
+ }
+
+ int fd = open(key_file, O_RDONLY);
+ if (fd != -1) {
+ struct stat stat;
+ if (fstat(fd, &stat) != 0 ||
+ (data.data = gnutls_malloc(stat.st_size)) == NULL ||
+ read(fd, data.data, stat.st_size) != stat.st_size) {
+ ret = GNUTLS_E_KEYFILE_ERROR;
+ goto finish;
+ }
+
+ data.size = stat.st_size;
+ ret = gnutls_x509_privkey_import_pkcs8(*privkey, &data, GNUTLS_X509_FMT_PEM,
+ NULL, GNUTLS_PKCS_PLAIN);
+ if (ret != GNUTLS_E_SUCCESS) {
+ goto finish;
+ }
+ } else {
+ ret = gnutls_x509_privkey_generate(*privkey, GNUTLS_PK_EDDSA_ED25519,
+ GNUTLS_CURVE_TO_BITS(GNUTLS_ECC_CURVE_ED25519), 0);
+ if (ret != GNUTLS_E_SUCCESS) {
+ goto finish;
+ }
+
+ ret = gnutls_x509_privkey_export2_pkcs8(*privkey, GNUTLS_X509_FMT_PEM, NULL,
+ GNUTLS_PKCS_PLAIN, &data);
+ if (ret != GNUTLS_E_SUCCESS ||
+ (fd = open(key_file, O_WRONLY | O_CREAT, 0600)) == -1 ||
+ write(fd, data.data, data.size) != data.size) {
+ ret = GNUTLS_E_KEYFILE_ERROR;
+ goto finish;
+ }
+ }
+
+finish:
+ if (fd > -1) {
+ close(fd);
+ }
+ gnutls_free(data.data);
+ if (ret != GNUTLS_E_SUCCESS) {
+ gnutls_x509_privkey_deinit(*privkey);
+ *privkey = NULL;
+ }
+ return ret;
+}
+
+static int self_signed_cert(gnutls_certificate_credentials_t tls_cert,
+ const char *key_file)
+{
+ gnutls_x509_privkey_t privkey = NULL;
+ gnutls_x509_crt_t cert = NULL;
+
+ char *hostname = sockaddr_hostname();
+ if (hostname == NULL) {
+ return GNUTLS_E_MEMORY_ERROR;
+ }
+
+ int ret;
+ uint8_t serial[16];
+ gnutls_rnd(GNUTLS_RND_NONCE, serial, sizeof(serial));
+ // Clear the left-most bit to be a positive number (two's complement form).
+ serial[0] &= 0x7F;
+
+#define CHK(cmd) if ((ret = (cmd)) != GNUTLS_E_SUCCESS) { goto finish; }
+#define NOW_DAYS(days) (time(NULL) + 24 * 3600 * (days))
+
+ CHK(self_key(&privkey, key_file));
+
+ CHK(gnutls_x509_crt_init(&cert));
+ CHK(gnutls_x509_crt_set_version(cert, 3));
+ CHK(gnutls_x509_crt_set_serial(cert, serial, sizeof(serial)));
+ CHK(gnutls_x509_crt_set_activation_time(cert, NOW_DAYS(-1)));
+ CHK(gnutls_x509_crt_set_expiration_time(cert, NOW_DAYS(10 * 365)));
+ CHK(gnutls_x509_crt_set_dn_by_oid(cert, GNUTLS_OID_X520_COMMON_NAME, 0,
+ hostname, strlen(hostname)));
+ CHK(gnutls_x509_crt_set_key(cert, privkey));
+ CHK(gnutls_x509_crt_sign2(cert, cert, privkey, GNUTLS_DIG_SHA512, 0));
+
+ ret = gnutls_certificate_set_x509_key(tls_cert, &cert, 1, privkey);
+
+finish:
+ free(hostname);
+ gnutls_x509_crt_deinit(cert);
+ gnutls_x509_privkey_deinit(privkey);
+
+ return ret;
+}
+
+_public_
+struct knot_creds *knot_creds_init(const char *key_file, const char *cert_file)
+{
+ knot_creds_t *creds = calloc(1, sizeof(*creds));
+ if (creds == NULL) {
+ return NULL;
+ }
+
+ int ret = knot_creds_update(creds, key_file, cert_file);
+ if (ret != KNOT_EOK) {
+ goto fail;
+ }
+
+ ret = gnutls_anti_replay_init(&creds->tls_anti_replay);
+ if (ret != GNUTLS_E_SUCCESS) {
+ goto fail;
+ }
+ gnutls_anti_replay_set_add_function(creds->tls_anti_replay, tls_anti_replay_db_add_func);
+ gnutls_anti_replay_set_ptr(creds->tls_anti_replay, NULL);
+
+ ret = gnutls_session_ticket_key_generate(&creds->tls_ticket_key);
+ if (ret != GNUTLS_E_SUCCESS) {
+ goto fail;
+ }
+
+ return creds;
+fail:
+ knot_creds_free(creds);
+ return NULL;
+}
+
+_public_
+struct knot_creds *knot_creds_init_peer(const struct knot_creds *local_creds,
+ const uint8_t *peer_pin,
+ uint8_t peer_pin_len)
+{
+ knot_creds_t *creds = calloc(1, sizeof(*creds) + peer_pin_len);
+ if (creds == NULL) {
+ return NULL;
+ }
+
+ if (local_creds != NULL) {
+ creds->peer = true;
+ creds->cert_creds = ATOMIC_GET(local_creds->cert_creds);
+ } else {
+ gnutls_certificate_credentials_t new_creds;
+ int ret = gnutls_certificate_allocate_credentials(&new_creds);
+ if (ret != GNUTLS_E_SUCCESS) {
+ free(creds);
+ return NULL;
+ }
+ creds->cert_creds = new_creds;
+ }
+
+ if (peer_pin_len > 0 && peer_pin != NULL) {
+ memcpy(creds->peer_pin, peer_pin, peer_pin_len);
+ creds->peer_pin_len = peer_pin_len;
+ }
+
+ return creds;
+}
+
+static int creds_cert(gnutls_certificate_credentials_t creds,
+ struct gnutls_x509_crt_int **cert)
+{
+ gnutls_x509_crt_t *certs;
+ unsigned cert_count;
+ int ret = gnutls_certificate_get_x509_crt(creds, 0, &certs, &cert_count);
+ if (ret == GNUTLS_E_SUCCESS) {
+ if (cert_count == 0) {
+ gnutls_x509_crt_deinit(*certs);
+ return KNOT_ENOENT;
+ }
+ *cert = *certs;
+ free(certs);
+ return KNOT_EOK;
+ }
+ return KNOT_ERROR;
+}
+
+static int creds_changed(gnutls_certificate_credentials_t creds,
+ gnutls_certificate_credentials_t prev,
+ bool self_cert, bool *changed)
+{
+ if (creds == NULL || prev == NULL) {
+ *changed = true;
+ return KNOT_EOK;
+ }
+
+ gnutls_x509_crt_t cert = NULL, cert_prev = NULL;
+
+ int ret = creds_cert(creds, &cert);
+ if (ret != KNOT_EOK) {
+ goto failed;
+ }
+ ret = creds_cert(prev, &cert_prev);
+ if (ret != KNOT_EOK) {
+ goto failed;
+ }
+
+ if (self_cert) {
+ uint8_t pin[KNOT_TLS_PIN_LEN], pin_prev[KNOT_TLS_PIN_LEN];
+ size_t pin_size = sizeof(pin), pin_prev_size = sizeof(pin_prev);
+
+ ret = gnutls_x509_crt_get_key_id(cert, GNUTLS_KEYID_USE_SHA256,
+ pin, &pin_size);
+ if (ret != KNOT_EOK) {
+ goto failed;
+ }
+ ret = gnutls_x509_crt_get_key_id(cert_prev, GNUTLS_KEYID_USE_SHA256,
+ pin_prev, &pin_prev_size);
+ if (ret != KNOT_EOK) {
+ goto failed;
+ }
+
+ *changed = (pin_size != pin_prev_size) ||
+ memcmp(pin, pin_prev, pin_size) != 0;
+ } else {
+ *changed = (gnutls_x509_crt_equals(cert, cert_prev) == 0);
+ }
+
+ ret = KNOT_EOK;
+failed:
+ gnutls_x509_crt_deinit(cert);
+ gnutls_x509_crt_deinit(cert_prev);
+
+ return ret;
+}
+
+_public_
+int knot_creds_update(struct knot_creds *creds, const char *key_file, const char *cert_file)
+{
+ if (creds == NULL || key_file == NULL) {
+ return KNOT_EINVAL;
+ }
+
+ gnutls_certificate_credentials_t new_creds;
+ int ret = gnutls_certificate_allocate_credentials(&new_creds);
+ if (ret != GNUTLS_E_SUCCESS) {
+ return KNOT_ENOMEM;
+ }
+
+ if (cert_file != NULL) {
+ ret = gnutls_certificate_set_x509_key_file(new_creds,
+ cert_file, key_file,
+ GNUTLS_X509_FMT_PEM);
+ } else {
+ ret = self_signed_cert(new_creds, key_file);
+ }
+ if (ret != GNUTLS_E_SUCCESS) {
+ gnutls_certificate_free_credentials(new_creds);
+ return KNOT_EFILE;
+ }
+
+ bool changed = false;
+ ret = creds_changed(new_creds, ATOMIC_GET(creds->cert_creds),
+ cert_file == NULL, &changed);
+ if (ret != KNOT_EOK) {
+ gnutls_certificate_free_credentials(new_creds);
+ return ret;
+ }
+
+ if (changed) {
+ if (creds->cert_creds_prev != NULL) {
+ gnutls_certificate_free_credentials(creds->cert_creds_prev);
+ }
+ creds->cert_creds_prev = ATOMIC_XCHG(creds->cert_creds, new_creds);
+ } else {
+ gnutls_certificate_free_credentials(new_creds);
+ }
+
+ return KNOT_EOK;
+}
+
+_public_
+int knot_creds_cert(struct knot_creds *creds, struct gnutls_x509_crt_int **cert)
+{
+ if (creds == NULL || cert == NULL) {
+ return KNOT_EINVAL;
+ }
+
+ return creds_cert(ATOMIC_GET(creds->cert_creds), cert);
+}
+
+_public_
+void knot_creds_free(struct knot_creds *creds)
+{
+ if (creds == NULL) {
+ return;
+ }
+
+ if (!creds->peer && creds->cert_creds != NULL) {
+ gnutls_certificate_free_credentials(creds->cert_creds);
+ if (creds->cert_creds_prev != NULL) {
+ gnutls_certificate_free_credentials(creds->cert_creds_prev);
+ }
+ }
+ gnutls_anti_replay_deinit(creds->tls_anti_replay);
+ if (creds->tls_ticket_key.data != NULL) {
+ tls_session_ticket_key_free(&creds->tls_ticket_key);
+ }
+ free(creds);
+}
+
+_public_
+int knot_tls_session(struct gnutls_session_int **session,
+ struct knot_creds *creds,
+ struct gnutls_priority_st *priority,
+ const char *alpn,
+ bool early_data,
+ bool server)
+{
+ if (session == NULL || creds == NULL || priority == NULL || alpn == NULL) {
+ return KNOT_EINVAL;
+ }
+
+ gnutls_init_flags_t flags = GNUTLS_NO_SIGNAL;
+ if (early_data) {
+ flags |= GNUTLS_ENABLE_EARLY_DATA;
+#ifdef ENABLE_QUIC // Next flags aren't available in older GnuTLS versions.
+ flags |= GNUTLS_NO_AUTO_SEND_TICKET | GNUTLS_NO_END_OF_EARLY_DATA;
+#endif
+ }
+
+ int ret = gnutls_init(session, (server ? GNUTLS_SERVER : GNUTLS_CLIENT) | flags);
+ if (ret == GNUTLS_E_SUCCESS) {
+ gnutls_certificate_send_x509_rdn_sequence(*session, 1);
+ gnutls_certificate_server_set_request(*session, GNUTLS_CERT_REQUEST);
+ ret = gnutls_priority_set(*session, priority);
+ }
+ if (server && ret == GNUTLS_E_SUCCESS) {
+ ret = gnutls_session_ticket_enable_server(*session, &creds->tls_ticket_key);
+ }
+ if (ret == GNUTLS_E_SUCCESS) {
+ const gnutls_datum_t alpn_datum = { (void *)&alpn[1], alpn[0] };
+ gnutls_alpn_set_protocols(*session, &alpn_datum, 1, GNUTLS_ALPN_MANDATORY);
+ if (early_data) {
+ gnutls_record_set_max_early_data_size(*session, 0xffffffffu);
+ }
+ if (server) {
+ gnutls_anti_replay_enable(*session, creds->tls_anti_replay);
+ }
+ ret = gnutls_credentials_set(*session, GNUTLS_CRD_CERTIFICATE,
+ ATOMIC_GET(creds->cert_creds));
+ }
+ if (ret != GNUTLS_E_SUCCESS) {
+ gnutls_deinit(*session);
+ *session = NULL;
+ }
+ return ret == GNUTLS_E_SUCCESS ? KNOT_EOK : KNOT_ERROR;
+}
+
+_public_
+void knot_tls_pin(struct gnutls_session_int *session, uint8_t *pin,
+ size_t *pin_size, bool local)
+{
+ if (session == NULL) {
+ goto error;
+ }
+
+ const gnutls_datum_t *data = NULL;
+ if (local) {
+ data = gnutls_certificate_get_ours(session);
+ } else {
+ unsigned count = 0;
+ data = gnutls_certificate_get_peers(session, &count);
+ if (count == 0) {
+ goto error;
+ }
+ }
+ if (data == NULL) {
+ goto error;
+ }
+
+ gnutls_x509_crt_t cert;
+ int ret = gnutls_x509_crt_init(&cert);
+ if (ret != GNUTLS_E_SUCCESS) {
+ goto error;
+ }
+
+ ret = gnutls_x509_crt_import(cert, data, GNUTLS_X509_FMT_DER);
+ if (ret != GNUTLS_E_SUCCESS) {
+ gnutls_x509_crt_deinit(cert);
+ goto error;
+ }
+
+ ret = gnutls_x509_crt_get_key_id(cert, GNUTLS_KEYID_USE_SHA256, pin, pin_size);
+ if (ret != GNUTLS_E_SUCCESS) {
+ gnutls_x509_crt_deinit(cert);
+ goto error;
+ }
+
+ gnutls_x509_crt_deinit(cert);
+
+ return;
+error:
+ if (pin_size != NULL) {
+ *pin_size = 0;
+ }
+}
+
+_public_
+int knot_tls_pin_check(struct gnutls_session_int *session,
+ struct knot_creds *creds)
+{
+ if (creds->peer_pin_len == 0) {
+ return KNOT_EOK;
+ }
+
+ uint8_t pin[KNOT_TLS_PIN_LEN];
+ size_t pin_size = sizeof(pin);
+ knot_tls_pin(session, pin, &pin_size, false);
+ if (pin_size != creds->peer_pin_len ||
+ const_time_memcmp(pin, creds->peer_pin, pin_size) != 0) {
+ return KNOT_EBADCERTKEY;
+ }
+
+ return KNOT_EOK;
+}
diff --git a/src/libknot/quic/tls_common.h b/src/libknot/quic/tls_common.h
new file mode 100644
index 0000000..934f256
--- /dev/null
+++ b/src/libknot/quic/tls_common.h
@@ -0,0 +1,134 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+/*!
+ * \file
+ *
+ * \brief Credentials handling common to QUIC and TLS.
+ *
+ * \addtogroup quic
+ * @{
+ */
+
+#pragma once
+
+#include <stdbool.h>
+#include <stddef.h>
+#include <stdint.h>
+
+#define KNOT_TLS_PIN_LEN 32
+#define KNOT_TLS_PRIORITIES "-VERS-ALL:+VERS-TLS1.3:" \
+ "-GROUP-ALL:+GROUP-X25519:+GROUP-SECP256R1:" \
+ "+GROUP-SECP384R1:+GROUP-SECP521R1"
+
+struct gnutls_priority_st;
+struct gnutls_session_int;
+struct gnutls_x509_crt_int;
+struct knot_creds;
+
+/*!
+ * \brief Init server TLS key and certificate for DoQ.
+ *
+ * \param key_file Key PEM file path/name.
+ * \param cert_file X509 certificate PEM file path/name (NULL if auto-generated).
+ *
+ * \return Initialized creds.
+ */
+struct knot_creds *knot_creds_init(const char *key_file, const char *cert_file);
+
+/*!
+ * \brief Init peer TLS key and certificate for DoQ.
+ *
+ * \param local_creds Local credentials if server.
+ * \param peer_pin Optional peer certificate pin to check.
+ * \param peer_pin_len Length of the peer pin. Set 0 if not specified.
+ *
+ * \return Initialized creds.
+ */
+struct knot_creds *knot_creds_init_peer(const struct knot_creds *local_creds,
+ const uint8_t *peer_pin,
+ uint8_t peer_pin_len);
+
+/*!
+ * \brief Load new server TLS key and certificate for DoQ.
+ *
+ * \param creds Server credentials where key/cert pair will be updated.
+ * \param key_file Key PEM file path/name.
+ * \param cert_file X509 certificate PEM file path/name (NULL if auto-generated).
+ *
+ * \return KNOT_E*
+ */
+int knot_creds_update(struct knot_creds *creds, const char *key_file, const char *cert_file);
+
+/*!
+ * \brief Gets the certificate from credentials.
+ *
+ * \param creds TLS credentials.
+ * \param cert Output certificate.
+ *
+ * \return KNOT_E*
+ */
+int knot_creds_cert(struct knot_creds *creds, struct gnutls_x509_crt_int **cert);
+
+/*!
+ * \brief Deinit server TLS certificate for DoQ.
+ */
+void knot_creds_free(struct knot_creds *creds);
+
+/*!
+ * \brief Initialize GnuTLS session with credentials, ALPN, etc.
+ *
+ * \param session Out: initialized GnuTLS session struct.
+ * \param creds Certificate credentials.
+ * \param priority Session priority configuration.
+ * \param alpn ALPN string, first byte is the string length.
+ * \param early_data Allow early data.
+ * \param server Should be server session (otherwise client).
+ *
+ * \return KNOT_E*
+ */
+int knot_tls_session(struct gnutls_session_int **session,
+ struct knot_creds *creds,
+ struct gnutls_priority_st *priority,
+ const char *alpn,
+ bool early_data,
+ bool server);
+
+/*!
+ * \brief Gets local or remote certificate pin.
+ *
+ * \note Zero output pin_size value means no certificate available or error.
+ *
+ * \param session TLS connection.
+ * \param pin Output certificate pin.
+ * \param pin_size Input size of the storage / output size of the stored pin.
+ * \param local Local or remote certificate indication.
+ */
+void knot_tls_pin(struct gnutls_session_int *session, uint8_t *pin,
+ size_t *pin_size, bool local);
+
+/*!
+ * \brief Checks remote certificate pin in the session against credentials.
+ *
+ * \param session TLS connection.
+ * \param creds TLS credentials.
+ *
+ * \return KNOT_EOK or KNOT_EBADCERTKEY
+ */
+int knot_tls_pin_check(struct gnutls_session_int *session,
+ struct knot_creds *creds);
+
+/*! @} */
diff --git a/src/libknot/rrset-dump.c b/src/libknot/rrset-dump.c
index 51a52dd..9fac99d 100644
--- a/src/libknot/rrset-dump.c
+++ b/src/libknot/rrset-dump.c
@@ -508,10 +508,46 @@ static void wire_len_data_encode_to_str(rrset_dump_params_t *p,
}
}
-static void wire_data_omit(rrset_dump_params_t *p)
+static void wire_data_omit(rrset_dump_params_t *p,
+ const size_t len_len,
+ const bool print_len)
{
CHECK_PRET
+ size_t in_len;
+
+ // First len_len bytes are data length.
+ CHECK_INMAX(len_len)
+
+ // Read data length.
+ switch (len_len) {
+ case 0:
+ in_len = p->in_max;
+ break;
+ case 2:
+ in_len = knot_wire_read_u16(p->in);
+ break;
+ default:
+ p->ret = -1;
+ return;
+ }
+
+ // If required print data length.
+ if (print_len == true && len_len != 0) {
+ assert(len_len == 2);
+ wire_num16_to_str(p);
+ CHECK_PRET
+
+ // If something follows, print one space character.
+ if (in_len > 0) {
+ dump_string(p, " ");
+ CHECK_PRET
+ }
+ } else {
+ p->in += len_len;
+ p->in_max -= len_len;
+ }
+
const char *omit_message = "[omitted]";
const size_t omlen = strlen(omit_message);
@@ -527,8 +563,8 @@ static void wire_data_omit(rrset_dump_params_t *p)
STRING_TERMINATION
- p->in += p->in_max;
- p->in_max = 0;
+ p->in += in_len;
+ p->in_max -= in_len;
}
static void wire_dnskey_to_tag(rrset_dump_params_t *p)
@@ -1540,6 +1576,12 @@ static void wire_svcparam_to_str(rrset_dump_params_t *p)
case KNOT_SVCB_PARAM_IPV6HINT:
wire_value_list_to_str(p, wire_ipv6_to_str, p->in + val_len);
break;
+ case KNOT_SVCB_PARAM_DOHPATH:
+ wire_text_to_str(p, val_len, NULL, true, false);
+ break;
+ case KNOT_SVCB_PARAM_OHTTP:
+ p->ret = -1; // must not have value
+ break;
default:
wire_text_to_str(p, val_len, NULL, true, false);
}
@@ -1729,6 +1771,10 @@ static void dnskey_info(const uint8_t *rdata,
#define DUMP_TYPE wire_type_to_str(p); CHECK_RET(p);
#define DUMP_HEX wire_data_encode_to_str(p, &hex_encode, \
&hex_encode_alloc); CHECK_RET(p);
+#define DUMP_OMIT wire_data_omit(p, 0, false); CHECK_RET(p);
+#define DUMP_HEX_OMIT if (p->style->hide_crypto) { DUMP_OMIT; } \
+ else if (p->style->wrap) { WRAP_INIT; DUMP_HEX; WRAP_END; } \
+ else { DUMP_HEX; }
#define DUMP_BASE64 wire_data_encode_to_str(p, &knot_base64_encode, \
&knot_base64_encode_alloc); CHECK_RET(p);
#define DUMP_HASH wire_len_data_encode_to_str(p, &knot_base32hex_encode, \
@@ -1737,9 +1783,9 @@ static void dnskey_info(const uint8_t *rdata,
1, false, "-"); CHECK_RET(p);
#define DUMP_TSIG_DGST wire_len_data_encode_to_str(p, &knot_base64_encode, \
2, true, ""); CHECK_RET(p);
+#define DUMP_TSIG_OMIT wire_data_omit(p, 2, true); CHECK_RET(p);
#define DUMP_TSIG_DATA wire_len_data_encode_to_str(p, &num48_encode, \
2, true, ""); CHECK_RET(p);
-#define DUMP_OMIT wire_data_omit(p); CHECK_RET(p);
#define DUMP_KEY_OMIT wire_dnskey_to_tag(p); CHECK_RET(p);
#define DUMP_TEXT wire_text_to_str1(p, true, false); CHECK_RET(p);
#define DUMP_LONG_TEXT wire_text_to_str(p, p->in_max, NULL, true, false); CHECK_RET(p);
@@ -1917,16 +1963,17 @@ static int dump_naptr(DUMP_PARAMS)
static int dump_cert(DUMP_PARAMS)
{
- if (p->style->wrap) {
- DUMP_NUM16; DUMP_SPACE;
- DUMP_NUM16; DUMP_SPACE;
- DUMP_NUM8; DUMP_SPACE; WRAP_INIT;
+ DUMP_NUM16; DUMP_SPACE;
+ DUMP_NUM16; DUMP_SPACE;
+ DUMP_NUM8; DUMP_SPACE;
+
+ if (p->style->hide_crypto) {
+ DUMP_OMIT;
+ } else if (p->style->wrap) {
+ WRAP_INIT;
DUMP_BASE64;
WRAP_END;
} else {
- DUMP_NUM16; DUMP_SPACE;
- DUMP_NUM16; DUMP_SPACE;
- DUMP_NUM8; DUMP_SPACE;
DUMP_BASE64;
}
@@ -1976,34 +2023,19 @@ static int dump_apl(DUMP_PARAMS)
static int dump_ds(DUMP_PARAMS)
{
- if (p->style->wrap) {
- DUMP_NUM16; DUMP_SPACE;
- DUMP_NUM8; DUMP_SPACE;
- DUMP_NUM8; DUMP_SPACE; WRAP_INIT;
- DUMP_HEX;
- WRAP_END;
- } else {
- DUMP_NUM16; DUMP_SPACE;
- DUMP_NUM8; DUMP_SPACE;
- DUMP_NUM8; DUMP_SPACE;
- DUMP_HEX;
- }
+ DUMP_NUM16; DUMP_SPACE;
+ DUMP_NUM8; DUMP_SPACE;
+ DUMP_NUM8; DUMP_SPACE;
+ DUMP_HEX_OMIT;
DUMP_END;
}
static int dump_sshfp(DUMP_PARAMS)
{
- if (p->style->wrap) {
- DUMP_NUM8; DUMP_SPACE;
- DUMP_NUM8; DUMP_SPACE; WRAP_INIT;
- DUMP_HEX;
- WRAP_END;
- } else {
- DUMP_NUM8; DUMP_SPACE;
- DUMP_NUM8; DUMP_SPACE;
- DUMP_HEX;
- }
+ DUMP_NUM8; DUMP_SPACE;
+ DUMP_NUM8; DUMP_SPACE;
+ DUMP_HEX_OMIT;
DUMP_END;
}
@@ -2061,7 +2093,9 @@ static int dump_nsec(DUMP_PARAMS)
static int dump_dhcid(DUMP_PARAMS)
{
- if (p->style->wrap) {
+ if (p->style->hide_crypto) {
+ DUMP_OMIT;
+ } else if (p->style->wrap) {
WRAP_INIT;
DUMP_BASE64;
WRAP_END;
@@ -2106,18 +2140,10 @@ static int dump_nsec3param(DUMP_PARAMS)
static int dump_tlsa(DUMP_PARAMS)
{
- if (p->style->wrap) {
- DUMP_NUM8; DUMP_SPACE;
- DUMP_NUM8; DUMP_SPACE;
- DUMP_NUM8; DUMP_SPACE; WRAP_INIT;
- DUMP_HEX;
- WRAP_END;
- } else {
- DUMP_NUM8; DUMP_SPACE;
- DUMP_NUM8; DUMP_SPACE;
- DUMP_NUM8; DUMP_SPACE;
- DUMP_HEX;
- }
+ DUMP_NUM8; DUMP_SPACE;
+ DUMP_NUM8; DUMP_SPACE;
+ DUMP_NUM8; DUMP_SPACE;
+ DUMP_HEX_OMIT;
DUMP_END;
}
@@ -2133,18 +2159,10 @@ static int dump_csync(DUMP_PARAMS)
static int dump_zonemd(DUMP_PARAMS)
{
- if (p->style->wrap) {
- DUMP_NUM32; DUMP_SPACE;
- DUMP_NUM8; DUMP_SPACE;
- DUMP_NUM8; DUMP_SPACE; WRAP_INIT;
- DUMP_HEX;
- WRAP_END;
- } else {
- DUMP_NUM32; DUMP_SPACE;
- DUMP_NUM8; DUMP_SPACE;
- DUMP_NUM8; DUMP_SPACE;
- DUMP_HEX;
- }
+ DUMP_NUM32; DUMP_SPACE;
+ DUMP_NUM8; DUMP_SPACE;
+ DUMP_NUM8; DUMP_SPACE;
+ DUMP_HEX_OMIT;
DUMP_END;
}
@@ -2178,7 +2196,11 @@ static int dump_tsig(DUMP_PARAMS)
DUMP_DNAME; DUMP_SPACE;
DUMP_NUM48; DUMP_SPACE;
DUMP_NUM16; DUMP_SPACE; WRAP_INIT;
- DUMP_TSIG_DGST; WRAP_LINE;
+ if (p->style->hide_crypto) {
+ DUMP_TSIG_OMIT; WRAP_LINE;
+ } else {
+ DUMP_TSIG_DGST; WRAP_LINE;
+ }
DUMP_NUM16; DUMP_SPACE;
DUMP_TSIG_RCODE; DUMP_SPACE;
DUMP_TSIG_DATA;
@@ -2187,7 +2209,11 @@ static int dump_tsig(DUMP_PARAMS)
DUMP_DNAME; DUMP_SPACE;
DUMP_NUM48; DUMP_SPACE;
DUMP_NUM16; DUMP_SPACE;
- DUMP_TSIG_DGST; DUMP_SPACE;
+ if (p->style->hide_crypto) {
+ DUMP_TSIG_OMIT; DUMP_SPACE;
+ } else {
+ DUMP_TSIG_DGST; DUMP_SPACE;
+ }
DUMP_NUM16; DUMP_SPACE;
DUMP_TSIG_RCODE; DUMP_SPACE;
DUMP_TSIG_DATA;
@@ -2263,6 +2289,7 @@ static int txt_dump_data(rrset_dump_params_t *p, uint16_t type)
return dump_mx(p);
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
+ case KNOT_RRTYPE_WALLET:
return dump_txt(p);
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
diff --git a/src/libknot/rrtype/tsig.c b/src/libknot/rrtype/tsig.c
index 83f8436..0002963 100644
--- a/src/libknot/rrtype/tsig.c
+++ b/src/libknot/rrtype/tsig.c
@@ -245,7 +245,11 @@ int knot_tsig_rdata_set_other_data(knot_rrset_t *tsig, uint16_t len,
_public_
const knot_dname_t *knot_tsig_rdata_alg_name(const knot_rrset_t *tsig)
{
- return knot_rdataset_at(&tsig->rrs, 0)->data;
+ const knot_rdata_t *rr_data = knot_rdataset_at(&tsig->rrs, 0);
+ if (!rr_data) {
+ return NULL;
+ }
+ return rr_data->data;
}
_public_
diff --git a/src/libknot/version.h b/src/libknot/version.h
index cca89f7..8e21f49 100644
--- a/src/libknot/version.h
+++ b/src/libknot/version.h
@@ -17,8 +17,8 @@
#pragma once
#define KNOT_VERSION_MAJOR 3
-#define KNOT_VERSION_MINOR 3
-#define KNOT_VERSION_PATCH 0x07
+#define KNOT_VERSION_MINOR 4
+#define KNOT_VERSION_PATCH 0x00
#define KNOT_VERSION_HEX ((KNOT_VERSION_MAJOR << 16) | \
(KNOT_VERSION_MINOR << 8) | \
diff --git a/src/libknot/xdp/Makefile.in b/src/libknot/xdp/Makefile.in
index 8aa77ce..f065f3e 100644
--- a/src/libknot/xdp/Makefile.in
+++ b/src/libknot/xdp/Makefile.in
@@ -270,6 +270,8 @@ infodir = @infodir@
install_sh = @install_sh@
libbpf_CFLAGS = @libbpf_CFLAGS@
libbpf_LIBS = @libbpf_LIBS@
+libdbus_CFLAGS = @libdbus_CFLAGS@
+libdbus_LIBS = @libdbus_LIBS@
libdir = @libdir@
libdnssec_SONAME = @libdnssec_SONAME@
libdnssec_SOVERSION = @libdnssec_SOVERSION@
@@ -281,8 +283,6 @@ libfstrm_CFLAGS = @libfstrm_CFLAGS@
libfstrm_LIBS = @libfstrm_LIBS@
libidn2_CFLAGS = @libidn2_CFLAGS@
libidn2_LIBS = @libidn2_LIBS@
-libidn_CFLAGS = @libidn_CFLAGS@
-libidn_LIBS = @libidn_LIBS@
libknot_SONAME = @libknot_SONAME@
libknot_SOVERSION = @libknot_SOVERSION@
libknot_VERSION_INFO = @libknot_VERSION_INFO@
@@ -300,7 +300,6 @@ libprotobuf_c_CFLAGS = @libprotobuf_c_CFLAGS@
libprotobuf_c_LIBS = @libprotobuf_c_LIBS@
liburcu_CFLAGS = @liburcu_CFLAGS@
liburcu_LIBS = @liburcu_LIBS@
-liburcu_PKGCONFIG = @liburcu_PKGCONFIG@
libxdp_CFLAGS = @libxdp_CFLAGS@
libxdp_LIBS = @libxdp_LIBS@
libzscanner_SONAME = @libzscanner_SONAME@
diff --git a/src/libknot/xdp/bpf-user.c b/src/libknot/xdp/bpf-user.c
index 449dffe..4963e3d 100644
--- a/src/libknot/xdp/bpf-user.c
+++ b/src/libknot/xdp/bpf-user.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -289,13 +289,13 @@ int kxsk_iface_new(const char *if_name, unsigned if_queue, knot_xdp_load_bpf_t l
ret = get_bpf_maps(ret, iface);
}
if (ret < 0) {
- free(iface);
+ kxsk_iface_free(iface);
return ret;
}
knot_xdp_mode_t mode = knot_eth_xdp_mode(iface->if_index);
if (mode == KNOT_XDP_MODE_NONE) {
- free(iface);
+ kxsk_iface_free(iface);
return KNOT_ENOTSUP;
}
diff --git a/src/libknot/xdp/bpf-user.h b/src/libknot/xdp/bpf-user.h
index 37aac61..b76c9d6 100644
--- a/src/libknot/xdp/bpf-user.h
+++ b/src/libknot/xdp/bpf-user.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -60,8 +60,10 @@ struct kxsk_umem {
/*! The memory frames. */
struct umem_frame *frames;
+ /*! Size of RX and TX rings. */
+ uint16_t ring_size;
/*! The number of free frames (for TX). */
- uint32_t tx_free_count;
+ uint16_t tx_free_count;
/*! Stack of indices of the free frames (for TX). */
uint16_t tx_free_indices[];
};
@@ -82,15 +84,15 @@ struct knot_xdp_socket {
/*! If non-NULL, it's a mocked socket with this send function. */
int (*send_mock)(struct knot_xdp_socket *, const knot_xdp_msg_t[], uint32_t, uint32_t *);
- /*! The kernel has to be woken up by a syscall indication. */
- bool kernel_needs_wakeup;
-
/*! The limit of frame size. */
unsigned frame_limit;
/*! Mapping of interface indices to VLAN tags. */
uint16_t *vlan_map;
uint16_t vlan_map_max;
+
+ /*! Enabled preferred busy polling. */
+ bool busy_poll;
};
/*!
diff --git a/src/libknot/xdp/tcp.c b/src/libknot/xdp/tcp.c
index 94d445c..d219db9 100644
--- a/src/libknot/xdp/tcp.c
+++ b/src/libknot/xdp/tcp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -287,169 +287,162 @@ static void conn_update(knot_tcp_conn_t *conn, const knot_xdp_msg_t *msg)
}
_public_
-int knot_tcp_recv(knot_tcp_relay_t *relays, knot_xdp_msg_t msgs[], uint32_t msg_count,
+int knot_tcp_recv(knot_tcp_relay_t *relay, knot_xdp_msg_t *msg,
knot_tcp_table_t *tcp_table, knot_tcp_table_t *syn_table,
knot_tcp_ignore_t ignore)
{
- if (msg_count == 0) {
- return KNOT_EOK;
- }
- if (relays == NULL || msgs == NULL || tcp_table == NULL) {
+ if (relay == NULL || msg == NULL || tcp_table == NULL) {
return KNOT_EINVAL;
}
- memset(relays, 0, msg_count * sizeof(*relays));
+ memset(relay, 0, sizeof(*relay));
- knot_tcp_relay_t *relay = relays;
int ret = KNOT_EOK;
- for (knot_xdp_msg_t *msg = msgs; msg != msgs + msg_count && ret == KNOT_EOK; msg++) {
- if (!(msg->flags & KNOT_XDP_MSG_TCP)) {
- continue;
- }
+ if (!(msg->flags & KNOT_XDP_MSG_TCP)) {
+ return KNOT_EOK;
+ }
- uint64_t conn_hash = 0;
- knot_tcp_conn_t **pconn = tcp_table_lookup(&msg->ip_from, &msg->ip_to,
- &conn_hash, tcp_table);
- knot_tcp_conn_t *conn = *pconn;
- bool seq_ack_match = check_seq_ack(msg, conn);
- if (seq_ack_match) {
- assert(conn->mss != 0);
- conn_update(conn, msg);
-
- rem_align_pointers(conn, tcp_table);
- rem_node(tcp_conn_node(conn));
- add_tail(tcp_table_timeout(tcp_table), tcp_conn_node(conn));
-
- if (msg->flags & KNOT_XDP_MSG_ACK) {
- conn->acked = msg->ackno;
- knot_tcp_outbufs_ack(&conn->outbufs, msg->ackno, &tcp_table->outbufs_total);
- }
+ uint64_t conn_hash = 0;
+ knot_tcp_conn_t **pconn = tcp_table_lookup(&msg->ip_from, &msg->ip_to,
+ &conn_hash, tcp_table);
+ knot_tcp_conn_t *conn = *pconn;
+ bool seq_ack_match = check_seq_ack(msg, conn);
+ if (seq_ack_match) {
+ assert(conn->mss != 0);
+ conn_update(conn, msg);
+
+ rem_align_pointers(conn, tcp_table);
+ rem_node(tcp_conn_node(conn));
+ add_tail(tcp_table_timeout(tcp_table), tcp_conn_node(conn));
+
+ if (msg->flags & KNOT_XDP_MSG_ACK) {
+ conn->acked = msg->ackno;
+ knot_tcp_outbufs_ack(&conn->outbufs, msg->ackno, &tcp_table->outbufs_total);
}
+ }
- relay->msg = msg;
- relay->conn = conn;
+ relay->msg = msg;
+ relay->conn = conn;
- // process incoming data
- if (seq_ack_match && (msg->flags & KNOT_XDP_MSG_ACK) && msg->payload.iov_len > 0) {
- if (!(ignore & XDP_TCP_IGNORE_DATA_ACK)) {
- relay->auto_answer = KNOT_XDP_MSG_ACK;
- }
- ret = knot_tcp_inbufs_upd(&conn->inbuf, msg->payload, false,
- &relay->inbf, &tcp_table->inbufs_total);
- if (ret != KNOT_EOK) {
- break;
- }
- if (conn->inbuf.iov_len > 0 && tcp_table->next_ibuf == NULL) {
- tcp_table->next_ibuf = conn;
- }
+ // process incoming data
+ if (seq_ack_match && (msg->flags & KNOT_XDP_MSG_ACK) && msg->payload.iov_len > 0) {
+ if (!(ignore & XDP_TCP_IGNORE_DATA_ACK)) {
+ relay->auto_answer = KNOT_XDP_MSG_ACK;
+ }
+ ret = knot_tcp_inbufs_upd(&conn->inbuf, msg->payload, false,
+ &relay->inbf, &tcp_table->inbufs_total);
+ if (ret != KNOT_EOK) {
+ return ret;
+ }
+ if (conn->inbuf.iov_len > 0 && tcp_table->next_ibuf == NULL) {
+ tcp_table->next_ibuf = conn;
}
+ }
- // process TCP connection state
- switch (msg->flags & (KNOT_XDP_MSG_SYN | KNOT_XDP_MSG_ACK |
- KNOT_XDP_MSG_FIN | KNOT_XDP_MSG_RST)) {
- case KNOT_XDP_MSG_SYN:
- case (KNOT_XDP_MSG_SYN | KNOT_XDP_MSG_ACK):
- if (conn == NULL) {
- bool synack = (msg->flags & KNOT_XDP_MSG_ACK);
-
- knot_tcp_table_t *add_table = tcp_table;
- if (syn_table != NULL && !synack) {
- add_table = syn_table;
- if (*tcp_table_lookup(&msg->ip_from, &msg->ip_to, &conn_hash, syn_table) != NULL) {
- break;
- }
- }
+ // process TCP connection state
+ switch (msg->flags & (KNOT_XDP_MSG_SYN | KNOT_XDP_MSG_ACK |
+ KNOT_XDP_MSG_FIN | KNOT_XDP_MSG_RST)) {
+ case KNOT_XDP_MSG_SYN:
+ case (KNOT_XDP_MSG_SYN | KNOT_XDP_MSG_ACK):
+ if (conn == NULL) {
+ bool synack = (msg->flags & KNOT_XDP_MSG_ACK);
- ret = tcp_table_add(msg, conn_hash, add_table, &relay->conn);
- if (ret == KNOT_EOK) {
- relay->action = synack ? XDP_TCP_ESTABLISH : XDP_TCP_SYN;
- if (!(ignore & XDP_TCP_IGNORE_ESTABLISH)) {
- relay->auto_answer = synack ? KNOT_XDP_MSG_ACK : (KNOT_XDP_MSG_SYN | KNOT_XDP_MSG_ACK);
- }
-
- conn = relay->conn;
- conn->state = synack ? XDP_TCP_NORMAL: XDP_TCP_ESTABLISHING;
- conn->mss = MAX(msg->mss, 536); // minimal MSS, most importantly not zero!
- conn->window_scale = msg->win_scale;
- conn_update(conn, msg);
- if (!synack) {
- conn->acked = dnssec_random_uint32_t();
- conn->ackno = conn->acked;
- }
+ knot_tcp_table_t *add_table = tcp_table;
+ if (syn_table != NULL) {
+ if (synack) {
+ break; // creating conn based on SYN+ACK is only for kxdpgun, disallow in knotd
+ }
+ add_table = syn_table;
+ if (*tcp_table_lookup(&msg->ip_from, &msg->ip_to, &conn_hash, syn_table) != NULL) {
+ break;
}
- } else {
- relay->auto_answer = KNOT_XDP_MSG_ACK;
}
- break;
- case KNOT_XDP_MSG_ACK:
- if (!seq_ack_match) {
- if (syn_table != NULL && msg->payload.iov_len == 0 &&
- (pconn = tcp_table_lookup(&msg->ip_from, &msg->ip_to, &conn_hash, syn_table)) != NULL &&
- (conn = *pconn) != NULL && check_seq_ack(msg, conn)) {
- // move conn from syn_table to tcp_table
- tcp_table_remove(pconn, syn_table);
- tcp_table_insert(conn, conn_hash, tcp_table);
- relay->conn = conn;
- relay->action = XDP_TCP_ESTABLISH;
- conn->state = XDP_TCP_NORMAL;
- conn_update(conn, msg);
+
+ ret = tcp_table_add(msg, conn_hash, add_table, &relay->conn);
+ if (ret == KNOT_EOK) {
+ relay->action = synack ? XDP_TCP_ESTABLISH : XDP_TCP_SYN;
+ if (!(ignore & XDP_TCP_IGNORE_ESTABLISH)) {
+ relay->auto_answer = synack ? KNOT_XDP_MSG_ACK : (KNOT_XDP_MSG_SYN | KNOT_XDP_MSG_ACK);
}
- } else {
- switch (conn->state) {
- case XDP_TCP_NORMAL:
- case XDP_TCP_CLOSING1: // just a mess, ignore
- break;
- case XDP_TCP_ESTABLISHING:
- conn->state = XDP_TCP_NORMAL;
- relay->action = XDP_TCP_ESTABLISH;
- break;
- case XDP_TCP_CLOSING2:
- if (msg->payload.iov_len == 0) { // otherwise ignore close
- tcp_table_remove(pconn, tcp_table);
- relay->answer = XDP_TCP_FREE;
- }
- break;
+
+ conn = relay->conn;
+ conn->state = synack ? XDP_TCP_NORMAL: XDP_TCP_ESTABLISHING;
+ conn->mss = MAX(msg->mss, 536); // minimal MSS, most importantly not zero!
+ conn->window_scale = msg->win_scale;
+ conn_update(conn, msg);
+ if (!synack) {
+ conn->acked = dnssec_random_uint32_t();
+ conn->ackno = conn->acked;
}
}
- break;
- case (KNOT_XDP_MSG_FIN | KNOT_XDP_MSG_ACK):
- if (ignore & XDP_TCP_IGNORE_FIN) {
- break;
+ } else {
+ relay->auto_answer = KNOT_XDP_MSG_ACK;
+ }
+ break;
+ case KNOT_XDP_MSG_ACK:
+ if (!seq_ack_match) {
+ if (syn_table != NULL && msg->payload.iov_len == 0 && conn == NULL &&
+ (pconn = tcp_table_lookup(&msg->ip_from, &msg->ip_to, &conn_hash, syn_table)) != NULL &&
+ (conn = *pconn) != NULL && check_seq_ack(msg, conn)) {
+ // move conn from syn_table to tcp_table
+ tcp_table_remove(pconn, syn_table);
+ tcp_table_insert(conn, conn_hash, tcp_table);
+ relay->conn = conn;
+ relay->action = XDP_TCP_ESTABLISH;
+ conn->state = XDP_TCP_NORMAL;
+ conn_update(conn, msg);
}
- if (!seq_ack_match) {
- if (conn != NULL) {
- relay->auto_answer = KNOT_XDP_MSG_RST;
- relay->auto_seqno = msg->ackno;
- } // else ignore. It would be better and possible, but no big value for the price of CPU.
- } else {
- if (conn->state == XDP_TCP_CLOSING1) {
- relay->action = XDP_TCP_CLOSE;
- relay->auto_answer = KNOT_XDP_MSG_ACK;
- relay->answer = XDP_TCP_FREE;
+ } else {
+ switch (conn->state) {
+ case XDP_TCP_NORMAL:
+ case XDP_TCP_CLOSING1: // just a mess, ignore
+ break;
+ case XDP_TCP_ESTABLISHING:
+ conn->state = XDP_TCP_NORMAL;
+ relay->action = XDP_TCP_ESTABLISH;
+ break;
+ case XDP_TCP_CLOSING2:
+ if (msg->payload.iov_len == 0) { // otherwise ignore close
tcp_table_remove(pconn, tcp_table);
- } else if (msg->payload.iov_len == 0) { // otherwise ignore FIN
- relay->action = XDP_TCP_CLOSE;
- relay->auto_answer = KNOT_XDP_MSG_FIN | KNOT_XDP_MSG_ACK;
- conn->state = XDP_TCP_CLOSING2;
+ relay->answer = XDP_TCP_FREE;
}
+ break;
}
+ }
+ break;
+ case (KNOT_XDP_MSG_FIN | KNOT_XDP_MSG_ACK):
+ if (ignore & XDP_TCP_IGNORE_FIN) {
break;
- case KNOT_XDP_MSG_RST:
- if (conn != NULL && msg->seqno == conn->seqno) {
- relay->action = XDP_TCP_RESET;
- tcp_table_remove(pconn, tcp_table);
- relay->answer = XDP_TCP_FREE;
- } else if (conn != NULL) {
+ }
+ if (!seq_ack_match) {
+ if (conn != NULL) {
+ relay->auto_answer = KNOT_XDP_MSG_RST;
+ relay->auto_seqno = msg->ackno;
+ } // else ignore. It would be better and possible, but no big value for the price of CPU.
+ } else {
+ if (conn->state == XDP_TCP_CLOSING1) {
+ relay->action = XDP_TCP_CLOSE;
relay->auto_answer = KNOT_XDP_MSG_ACK;
+ relay->answer = XDP_TCP_FREE;
+ tcp_table_remove(pconn, tcp_table);
+ } else if (msg->payload.iov_len == 0) { // otherwise ignore FIN
+ relay->action = XDP_TCP_CLOSE;
+ relay->auto_answer = KNOT_XDP_MSG_FIN | KNOT_XDP_MSG_ACK;
+ conn->state = XDP_TCP_CLOSING2;
}
- break;
- default:
- break;
}
-
- if (!knot_tcp_relay_empty(relay)) {
- relay++;
+ break;
+ case KNOT_XDP_MSG_RST:
+ if (conn != NULL && msg->seqno == conn->seqno) {
+ relay->action = XDP_TCP_RESET;
+ tcp_table_remove(pconn, tcp_table);
+ relay->answer = XDP_TCP_FREE;
+ } else if (conn != NULL) {
+ relay->auto_answer = KNOT_XDP_MSG_ACK;
}
+ break;
+ default:
+ break;
}
return ret;
diff --git a/src/libknot/xdp/tcp.h b/src/libknot/xdp/tcp.h
index 09fe652..39a30fd 100644
--- a/src/libknot/xdp/tcp.h
+++ b/src/libknot/xdp/tcp.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -148,18 +148,19 @@ knot_tcp_table_t *knot_tcp_table_new(size_t size, knot_tcp_table_t *secret_share
void knot_tcp_table_free(knot_tcp_table_t *table);
/*!
- * \brief Process received packets, prepare automatic responses (e.g. ACK), pick incoming data.
+ * \brief Process received packet, prepare automatic response (e.g. ACK), pick incoming data.
*
- * \param relays Out: relays to be filled with message/connection details.
- * \param msgs Packets received by knot_xdp_recv().
- * \param msg_count Number of received packets.
+ * \param relay Out: relay to be filled with message/connection details.
+ * \param msg Packet received by knot_xdp_recv().
* \param tcp_table Table of TCP connections.
* \param syn_table Optional: extra table for handling partially established connections.
* \param ignore Ignore specific TCP packets indication.
*
+ * \note resulting relay might be knot_tcp_relay_empty()
+ *
* \return KNOT_E*
*/
-int knot_tcp_recv(knot_tcp_relay_t *relays, knot_xdp_msg_t msgs[], uint32_t msg_count,
+int knot_tcp_recv(knot_tcp_relay_t *relay, knot_xdp_msg_t *msg,
knot_tcp_table_t *tcp_table, knot_tcp_table_t *syn_table,
knot_tcp_ignore_t ignore);
diff --git a/src/libknot/xdp/xdp.c b/src/libknot/xdp/xdp.c
index 8286884..132f5c4 100644
--- a/src/libknot/xdp/xdp.c
+++ b/src/libknot/xdp/xdp.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -38,63 +38,68 @@
#include "contrib/net.h"
#define FRAME_SIZE 2048
-
-#define FRAME_COUNT_TX 2048
-#define FRAME_COUNT_RX 2048
-#define FRAME_COUNT (FRAME_COUNT_TX + FRAME_COUNT_RX)
-
-#define RING_LEN_TX FRAME_COUNT_TX
-#define RING_LEN_CQ FRAME_COUNT_TX
-#define RING_LEN_RX FRAME_COUNT_RX
-/* It's recommended that the FQ ring size >= HW RX ring size + AF_XDP RX ring size. */
-#define RING_LEN_FQ (2 * FRAME_COUNT_RX)
-
-#define ALLOC_RETRY_NUM 15
-#define ALLOC_RETRY_DELAY 20 // In nanoseconds.
-
-/* With recent compilers we statically check #defines for settings that
- * get refused by AF_XDP drivers (in current versions, at least). */
-#if (__STDC_VERSION__ >= 201112L)
-#define IS_POWER_OF_2(n) (((n) & (n - 1)) == 0)
-_Static_assert((FRAME_SIZE == 4096 || FRAME_SIZE == 2048)
- && IS_POWER_OF_2(RING_LEN_TX) && IS_POWER_OF_2(RING_LEN_RX)
- && IS_POWER_OF_2(RING_LEN_CQ) && IS_POWER_OF_2(RING_LEN_FQ)
- && FRAME_COUNT_TX <= (1 << 16) /* see tx_free_indices */
- , "Incorrect #define combination for AF_XDP.");
-#endif
+#define DEFAULT_RING_SIZE 2048
+#define RETRY_DELAY 20 // In nanoseconds.
struct umem_frame {
uint8_t bytes[FRAME_SIZE];
};
-static int configure_xsk_umem(struct kxsk_umem **out_umem, bool extra_frames)
+static bool valid_config(const knot_xdp_config_t *config)
+{
+ if (FRAME_SIZE != 2048 && FRAME_SIZE != 4096) {
+ return false;
+ }
+
+ if (config == NULL) {
+ return true;
+ }
+
+ if ((config->ring_size & (config->ring_size - 1)) != 0) {
+ return false;
+ }
+
+ return true;
+}
+
+static uint32_t ring_size(const knot_xdp_config_t *config)
+{
+ return config != NULL ? config->ring_size : DEFAULT_RING_SIZE;
+}
+
+static int configure_xsk_umem(struct kxsk_umem **out_umem, uint32_t ring_size)
{
/* Allocate memory and call driver to create the UMEM. */
struct kxsk_umem *umem = calloc(1,
offsetof(struct kxsk_umem, tx_free_indices)
- + sizeof(umem->tx_free_indices[0]) * FRAME_COUNT_TX);
+ + sizeof(umem->tx_free_indices[0]) * ring_size);
if (umem == NULL) {
return KNOT_ENOMEM;
}
+ umem->ring_size = ring_size;
- size_t frame_count = FRAME_COUNT + (extra_frames ? FRAME_COUNT_RX : 0);
+ /* It's recommended that the FQ ring size >= HW RX ring size + AF_XDP RX ring size.
+ * However, the performance is better if FQ size == AF_XDP RX size. */
+ const uint32_t FQ_SIZE = umem->ring_size;
+ const uint32_t CQ_SIZE = umem->ring_size;
+ const uint32_t FRAMES = FQ_SIZE + CQ_SIZE;
int ret = posix_memalign((void **)&umem->frames, getpagesize(),
- FRAME_SIZE * frame_count);
+ FRAME_SIZE * FRAMES);
if (ret != 0) {
free(umem);
return KNOT_ENOMEM;
}
- const struct xsk_umem_config config = {
- .fill_size = RING_LEN_FQ,
- .comp_size = RING_LEN_CQ,
+ const struct xsk_umem_config umem_config = {
+ .fill_size = FQ_SIZE,
+ .comp_size = CQ_SIZE,
.frame_size = FRAME_SIZE,
.frame_headroom = KNOT_XDP_PKT_ALIGNMENT,
};
- ret = xsk_umem__create(&umem->umem, umem->frames, FRAME_SIZE * frame_count,
- &umem->fq, &umem->cq, &config);
+ ret = xsk_umem__create(&umem->umem, umem->frames, FRAME_SIZE * FRAMES,
+ &umem->fq, &umem->cq, &umem_config);
if (ret != KNOT_EOK) {
free(umem->frames);
free(umem);
@@ -103,23 +108,23 @@ static int configure_xsk_umem(struct kxsk_umem **out_umem, bool extra_frames)
*out_umem = umem;
/* Designate the starting chunk of buffers for TX, and put them onto the stack. */
- umem->tx_free_count = FRAME_COUNT_TX;
- for (uint32_t i = 0; i < FRAME_COUNT_TX; ++i) {
+ umem->tx_free_count = CQ_SIZE;
+ for (uint32_t i = 0; i < CQ_SIZE; ++i) {
umem->tx_free_indices[i] = i;
}
/* Designate the rest of buffers for RX, and pass them to the driver. */
uint32_t idx = 0;
- ret = xsk_ring_prod__reserve(&umem->fq, frame_count - FRAME_COUNT_TX, &idx);
- if (ret != frame_count - FRAME_COUNT_TX) {
+ ret = xsk_ring_prod__reserve(&umem->fq, FQ_SIZE, &idx);
+ if (ret != FQ_SIZE) {
assert(0);
return KNOT_ERROR;
}
assert(idx == 0);
- for (uint32_t i = FRAME_COUNT_TX; i < frame_count; ++i) {
+ for (uint32_t i = CQ_SIZE; i < CQ_SIZE + FQ_SIZE; ++i) {
*xsk_ring_prod__fill_addr(&umem->fq, idx++) = i * FRAME_SIZE;
}
- xsk_ring_prod__submit(&umem->fq, frame_count - FRAME_COUNT_TX);
+ xsk_ring_prod__submit(&umem->fq, FQ_SIZE);
return KNOT_EOK;
}
@@ -131,6 +136,33 @@ static void deconfigure_xsk_umem(struct kxsk_umem *umem)
free(umem);
}
+static int enable_busypoll(int socket, unsigned timeout_us, unsigned budget)
+{
+#if defined(SO_PREFER_BUSY_POLL) && defined(SO_BUSY_POLL_BUDGET)
+ int opt_val = 1;
+ if (setsockopt(socket, SOL_SOCKET, SO_PREFER_BUSY_POLL,
+ &opt_val, sizeof(opt_val)) != 0) {
+ return knot_map_errno();
+ }
+
+ opt_val = timeout_us;
+ if (setsockopt(socket, SOL_SOCKET, SO_BUSY_POLL,
+ &opt_val, sizeof(opt_val)) != 0) {
+ return knot_map_errno();
+ }
+
+ opt_val = budget;
+ if (setsockopt(socket, SOL_SOCKET, SO_BUSY_POLL_BUDGET,
+ &opt_val, sizeof(opt_val)) != 0) {
+ return knot_map_errno();
+ }
+
+ return KNOT_EOK;
+#else
+ return KNOT_ENOTSUP;
+#endif
+}
+
static int configure_xsk_socket(struct kxsk_umem *umem,
const struct kxsk_iface *iface,
knot_xdp_socket_t **out_sock,
@@ -143,14 +175,14 @@ static int configure_xsk_socket(struct kxsk_umem *umem,
xsk_info->iface = iface;
xsk_info->umem = umem;
- uint16_t bind_flags = 0;
+ uint16_t bind_flags = XDP_USE_NEED_WAKEUP;
if (config != NULL && config->force_copy) {
bind_flags |= XDP_COPY;
}
const struct xsk_socket_config sock_conf = {
- .tx_size = RING_LEN_TX,
- .rx_size = RING_LEN_RX,
+ .tx_size = umem->ring_size,
+ .rx_size = umem->ring_size,
.libbpf_flags = XSK_LIBBPF_FLAGS__INHIBIT_PROG_LOAD,
.bind_flags = bind_flags,
};
@@ -163,6 +195,17 @@ static int configure_xsk_socket(struct kxsk_umem *umem,
return ret;
}
+ if (config != NULL && config->busy_poll_budget > 0) {
+ ret = enable_busypoll(xsk_socket__fd(xsk_info->xsk),
+ config->busy_poll_timeout, config->busy_poll_budget);
+ if (ret != KNOT_EOK) {
+ xsk_socket__delete(xsk_info->xsk);
+ free(xsk_info);
+ return ret;
+ }
+ xsk_info->busy_poll = true;
+ }
+
*out_sock = xsk_info;
return KNOT_EOK;
}
@@ -172,7 +215,7 @@ int knot_xdp_init(knot_xdp_socket_t **socket, const char *if_name, int if_queue,
knot_xdp_filter_flag_t flags, uint16_t udp_port, uint16_t quic_port,
knot_xdp_load_bpf_t load_bpf, const knot_xdp_config_t *xdp_config)
{
- if (socket == NULL || if_name == NULL ||
+ if (socket == NULL || if_name == NULL || !valid_config(xdp_config) ||
(udp_port == quic_port && (flags & KNOT_XDP_FILTER_UDP) && (flags & KNOT_XDP_FILTER_QUIC)) ||
(flags & (KNOT_XDP_FILTER_UDP | KNOT_XDP_FILTER_TCP | KNOT_XDP_FILTER_QUIC)) == 0) {
return KNOT_EINVAL;
@@ -187,7 +230,7 @@ int knot_xdp_init(knot_xdp_socket_t **socket, const char *if_name, int if_queue,
/* Initialize shared packet_buffer for umem usage. */
struct kxsk_umem *umem = NULL;
- ret = configure_xsk_umem(&umem, xdp_config->extra_frames);
+ ret = configure_xsk_umem(&umem, ring_size(xdp_config));
if (ret != KNOT_EOK) {
kxsk_iface_free(iface);
return ret;
@@ -266,7 +309,7 @@ static void tx_free_relative(struct kxsk_umem *umem, uint64_t addr_relative)
{
/* The address may not point to *start* of buffer, but `/` solves that. */
uint64_t index = addr_relative / FRAME_SIZE;
- assert(index < FRAME_COUNT);
+ assert(index < umem->ring_size);
umem->tx_free_indices[umem->tx_free_count++] = index;
}
@@ -285,7 +328,7 @@ void knot_xdp_send_prepare(knot_xdp_socket_t *socket)
if (completed == 0) {
return;
}
- assert(umem->tx_free_count + completed <= FRAME_COUNT_TX);
+ assert(umem->tx_free_count + completed <= umem->ring_size);
for (uint32_t i = 0; i < completed; ++i) {
uint64_t addr_relative = *xsk_ring_cons__comp_addr(cq, idx++);
@@ -301,12 +344,13 @@ static struct umem_frame *alloc_tx_frame(knot_xdp_socket_t *socket)
return malloc(sizeof(struct umem_frame));
}
- const struct timespec delay = { .tv_nsec = ALLOC_RETRY_DELAY };
struct kxsk_umem *umem = socket->umem;
- for (int i = 0; unlikely(umem->tx_free_count == 0); i++) {
- if (i == ALLOC_RETRY_NUM) {
- return NULL;
+ const struct timespec delay = { .tv_nsec = RETRY_DELAY };
+ while (unlikely(umem->tx_free_count == 0)) {
+ if (socket->busy_poll || xsk_ring_prod__needs_wakeup(&socket->tx)) {
+ (void)sendto(xsk_socket__fd(socket->xsk), NULL, 0,
+ MSG_DONTWAIT, NULL, 0);
}
nanosleep(&delay, NULL);
knot_xdp_send_prepare(socket);
@@ -381,9 +425,7 @@ int knot_xdp_send(knot_xdp_socket_t *socket, const knot_xdp_msg_t msgs[],
}
if (unlikely(socket->send_mock != NULL)) {
int ret = socket->send_mock(socket, msgs, count, sent);
- for (uint32_t i = 0; i < count; ++i) {
- free_unsent(socket, &msgs[i]);
- }
+ knot_xdp_send_free(socket, msgs, count);
return ret;
}
@@ -393,12 +435,13 @@ int knot_xdp_send(knot_xdp_socket_t *socket, const knot_xdp_msg_t msgs[],
* and the API doesn't allow "cancelling reservations".
* Therefore we handle `socket->tx.cached_prod` by hand.
*/
- if (xsk_prod_nb_free(&socket->tx, count) < count) {
- /* This situation was sometimes observed in the emulated XDP mode. */
- for (uint32_t i = 0; i < count; ++i) {
- free_unsent(socket, &msgs[i]);
+ const struct timespec delay = { .tv_nsec = RETRY_DELAY };
+ while (unlikely(xsk_prod_nb_free(&socket->tx, count) < count)) {
+ if (socket->busy_poll || xsk_ring_prod__needs_wakeup(&socket->tx)) {
+ (void)sendto(xsk_socket__fd(socket->xsk), NULL, 0,
+ MSG_DONTWAIT, NULL, 0);
}
- return KNOT_ENOBUFS;
+ nanosleep(&delay, NULL);
}
uint32_t idx = socket->tx.cached_prod;
@@ -425,7 +468,6 @@ int knot_xdp_send(knot_xdp_socket_t *socket, const knot_xdp_msg_t msgs[],
assert(*sent <= count);
socket->tx.cached_prod = idx;
xsk_ring_prod__submit(&socket->tx, *sent);
- socket->kernel_needs_wakeup = true;
return KNOT_EOK;
}
@@ -446,34 +488,19 @@ int knot_xdp_send_finish(knot_xdp_socket_t *socket)
return KNOT_EINVAL;
}
- /* Trigger sending queued packets. */
- if (!socket->kernel_needs_wakeup) {
+ if (!socket->busy_poll && !xsk_ring_prod__needs_wakeup(&socket->tx)) {
return KNOT_EOK;
}
int ret = sendto(xsk_socket__fd(socket->xsk), NULL, 0, MSG_DONTWAIT, NULL, 0);
- const bool is_ok = (ret >= 0);
- // List of "safe" errors taken from
- // https://github.com/torvalds/linux/blame/master/samples/bpf/xdpsock_user.c
- const bool is_again = !is_ok && (errno == ENOBUFS || errno == EAGAIN
- || errno == EBUSY || errno == ENETDOWN);
- // Some of the !is_ok cases are a little unclear - what to do about the syscall,
- // including how caller of _sendmsg_finish() should react.
- if (is_ok || !is_again) {
- socket->kernel_needs_wakeup = false;
- }
- if (is_again) {
- return KNOT_EAGAIN;
- } else if (is_ok) {
+ if (ret >= 0) {
return KNOT_EOK;
+ } else if (errno == ENOBUFS || errno == EAGAIN || errno == EBUSY ||
+ errno == ENETDOWN) {
+ return KNOT_EAGAIN;
} else {
return -errno;
}
- /* This syscall might be avoided with a newer kernel feature (>= 5.4):
- https://www.kernel.org/doc/html/latest/networking/af_xdp.html#xdp-use-need-wakeup-bind-flag
- Unfortunately it's not easy to continue supporting older kernels
- when using this feature on newer ones.
- */
}
_public_
@@ -518,7 +545,7 @@ int knot_xdp_recv(knot_xdp_socket_t *socket, knot_xdp_msg_t msgs[],
static uint8_t *msg_uframe_ptr(const knot_xdp_msg_t *msg)
{
- return NULL + ((msg->payload.iov_base - NULL) & ~(FRAME_SIZE - 1));
+ return (uint8_t *)((uintptr_t)msg->payload.iov_base & ~(FRAME_SIZE - 1));
}
_public_
@@ -529,30 +556,32 @@ void knot_xdp_recv_finish(knot_xdp_socket_t *socket, const knot_xdp_msg_t msgs[]
return;
}
- const struct timespec delay = { .tv_nsec = ALLOC_RETRY_DELAY };
-
struct kxsk_umem *const umem = socket->umem;
struct xsk_ring_prod *const fq = &umem->fq;
uint32_t idx = 0;
- uint32_t reserved = xsk_ring_prod__reserve(fq, count, &idx);
- for (int i = 0; unlikely(reserved < count); i++) {
- if (i == ALLOC_RETRY_NUM) {
- return;
+ const struct timespec delay = { .tv_nsec = RETRY_DELAY };
+ while (unlikely(xsk_ring_prod__reserve(fq, count, &idx) != count)) {
+ if (socket->busy_poll || xsk_ring_prod__needs_wakeup(fq)) {
+ (void)recvfrom(xsk_socket__fd(socket->xsk), NULL, 0,
+ MSG_DONTWAIT, NULL, NULL);
}
nanosleep(&delay, NULL);
- reserved = xsk_ring_prod__reserve(fq, count, &idx);
}
- for (uint32_t i = 0; i < reserved; ++i) {
+ for (uint32_t i = 0; i < count; ++i) {
uint8_t *uframe_p = msg_uframe_ptr(&msgs[i]);
uint64_t offset = uframe_p - umem->frames->bytes;
*xsk_ring_prod__fill_addr(fq, idx++) = offset;
}
- xsk_ring_prod__submit(fq, reserved);
+ xsk_ring_prod__submit(fq, count);
+ // recvfrom() here slightly worsens the performance, poll is called later anyway.
}
+// The number of busy frames
+#define RING_BUSY(ring) ((*(ring)->producer - *(ring)->consumer) & (ring)->mask)
+
_public_
void knot_xdp_socket_info(const knot_xdp_socket_t *socket, FILE *file)
{
@@ -560,10 +589,6 @@ void knot_xdp_socket_info(const knot_xdp_socket_t *socket, FILE *file)
return;
}
- // The number of busy frames
- #define RING_BUSY(ring) \
- ((*(ring)->producer - *(ring)->consumer) & (ring)->mask)
-
#define RING_PRINFO(name, ring) \
fprintf(file, "Ring %s: size %4d, busy %4d (prod %4d, cons %4d)\n", \
name, (unsigned)(ring)->size, \
@@ -571,11 +596,11 @@ void knot_xdp_socket_info(const knot_xdp_socket_t *socket, FILE *file)
(unsigned)*(ring)->producer, (unsigned)*(ring)->consumer)
const int rx_busyf = RING_BUSY(&socket->umem->fq) + RING_BUSY(&socket->rx);
- fprintf(file, "\nLOST RX frames: %4d", (int)(FRAME_COUNT_RX - rx_busyf));
+ fprintf(file, "\nLOST RX frames: %4d", (int)(socket->umem->ring_size - rx_busyf));
const int tx_busyf = RING_BUSY(&socket->umem->cq) + RING_BUSY(&socket->tx);
const int tx_freef = socket->umem->tx_free_count;
- fprintf(file, "\nLOST TX frames: %4d\n", (int)(FRAME_COUNT_TX - tx_busyf - tx_freef));
+ fprintf(file, "\nLOST TX frames: %4d\n", (int)(socket->umem->ring_size - tx_busyf - tx_freef));
RING_PRINFO("FQ", &socket->umem->fq);
RING_PRINFO("RX", &socket->rx);
@@ -583,3 +608,39 @@ void knot_xdp_socket_info(const knot_xdp_socket_t *socket, FILE *file)
RING_PRINFO("CQ", &socket->umem->cq);
fprintf(file, "TX free frames: %4d\n", tx_freef);
}
+
+_public_
+int knot_xdp_socket_stats(knot_xdp_socket_t *socket, knot_xdp_stats_t *stats)
+{
+ if (socket == NULL || stats == NULL) {
+ return KNOT_EINVAL;
+ }
+
+ memset(stats, 0, sizeof(*stats));
+
+ stats->if_name = socket->iface->if_name;
+ stats->if_index = socket->iface->if_index;
+ stats->if_queue = socket->iface->if_queue;
+
+ struct xdp_statistics xdp_stats;
+ socklen_t optlen = sizeof(xdp_stats);
+
+ int fd = knot_xdp_socket_fd(socket);
+ int ret = getsockopt(fd, SOL_XDP, XDP_STATISTICS, &xdp_stats, &optlen);
+ if (ret != 0) {
+ return knot_map_errno();
+ } else if (optlen != sizeof(xdp_stats)) {
+ return KNOT_EINVAL;
+ }
+
+ size_t common_size = MIN(sizeof(xdp_stats), sizeof(stats->socket));
+ memcpy(&stats->socket, &xdp_stats, common_size);
+
+ stats->rings.tx_busy = socket->umem->ring_size - socket->umem->tx_free_count;
+ stats->rings.fq_fill = RING_BUSY(&socket->umem->fq);
+ stats->rings.rx_fill = RING_BUSY(&socket->rx);
+ stats->rings.tx_fill = RING_BUSY(&socket->tx);
+ stats->rings.cq_fill = RING_BUSY(&socket->umem->cq);
+
+ return KNOT_EOK;
+}
diff --git a/src/libknot/xdp/xdp.h b/src/libknot/xdp/xdp.h
index 6c8bb1e..5944d44 100644
--- a/src/libknot/xdp/xdp.h
+++ b/src/libknot/xdp/xdp.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -53,14 +53,54 @@ typedef struct knot_xdp_socket knot_xdp_socket_t;
/*! \brief Configuration of XDP socket. */
struct knot_xdp_config {
- bool force_generic; /*!< Use generic XDP mode (avoid driver/hadrware implementation). */
- bool force_copy; /*!< Force copying packet data between kernel and user-space (avoid zero-copy). */
- bool extra_frames; /*!< Extra FQ frames. */
+ uint16_t ring_size; /*!< Size of RX and TX rings (must be power of 2). */
+ bool force_generic; /*!< Use generic XDP mode (avoid driver/hardware implementation). */
+ bool force_copy; /*!< Force copying packet data between kernel and user-space (avoid zero-copy). */
+ unsigned busy_poll_timeout; /*!< Preferred busy poll budget (0 means disabled). */
+ unsigned busy_poll_budget; /*!< Preferred busy poll timeout (in microseconds) . */
};
/*! \brief Configuration of XDP socket. */
typedef struct knot_xdp_config knot_xdp_config_t;
+/*! \brief Various statistics of an XDP socket (optimally kernel >=5.9). */
+typedef struct {
+ /*! Interface name. */
+ const char *if_name;
+ /*! Interface name index (derived from ifname). */
+ int if_index;
+ /*! Network card queue id. */
+ unsigned if_queue;
+ /*! Counters (xdp_statistics) retrieved from the kernel via XDP_STATISTICS. */
+ struct {
+ /*! Dropped for other reasons. */
+ uint64_t rx_dropped;
+ /*! Dropped due to invalid descriptor. */
+ uint64_t rx_invalid;
+ /*! Dropped due to invalid descriptor. */
+ uint64_t tx_invalid;
+ /*! Dropped due to rx ring being full. */
+ uint64_t rx_full;
+ /*! Failed to retrieve item from fill ring. */
+ uint64_t fq_empty;
+ /*! Failed to retrieve item from tx ring. */
+ uint64_t tx_empty;
+ } socket;
+ /*! States of rings of the XDP socket. */
+ struct {
+ /*! Busy TX buffers. */
+ uint16_t tx_busy;
+ /*! Free buffers to consume from FQ ring. */
+ uint16_t fq_fill;
+ /*! Pending buffers in TX ring. */
+ uint16_t rx_fill;
+ /*! Pending buffers in RX ring. */
+ uint16_t tx_fill;
+ /*! Pending buffers in CQ ring. */
+ uint16_t cq_fill;
+ } rings;
+} knot_xdp_stats_t;
+
/*!
* \brief Initialize XDP socket.
*
@@ -196,4 +236,14 @@ void knot_xdp_recv_finish(knot_xdp_socket_t *socket, const knot_xdp_msg_t msgs[]
*/
void knot_xdp_socket_info(const knot_xdp_socket_t *socket, FILE *file);
+/*!
+ * \brief Gets various statistics of the XDP socket.
+ *
+ * \param socket XDP socket.
+ * \param stats Output structure.
+ *
+ * \return KNOT_E*
+ */
+int knot_xdp_socket_stats(knot_xdp_socket_t *socket, knot_xdp_stats_t *stats);
+
/*! @} */
diff --git a/src/libknot/yparser/ypschema.h b/src/libknot/yparser/ypschema.h
index 57ced72..7fca93e 100644
--- a/src/libknot/yparser/ypschema.h
+++ b/src/libknot/yparser/ypschema.h
@@ -130,6 +130,8 @@ typedef union {
int64_t dflt;
/*! Possible unit type. */
yp_style_t unit;
+ /*! Alternative default value. */
+ int64_t dflt_alt;
} i;
/*! Boolean variables. */
struct {
diff --git a/src/libknot/yparser/yptrafo.c b/src/libknot/yparser/yptrafo.c
index 60b3717..764a5d1 100644
--- a/src/libknot/yparser/yptrafo.c
+++ b/src/libknot/yparser/yptrafo.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -31,25 +31,31 @@
#include "contrib/wire_ctx.h"
enum {
- UNIT_BYTE = 'B',
- UNIT_KILO = 'K',
- UNIT_MEGA = 'M',
- UNIT_GIGA = 'G',
- UNIT_SEC = 's',
- UNIT_MIN = 'm',
- UNIT_HOUR = 'h',
- UNIT_DAY = 'd'
+ UNIT_BYTE = 'B',
+ UNIT_KILO = 'K',
+ UNIT_MEGA = 'M',
+ UNIT_GIGA = 'G',
+ UNIT_SEC = 's',
+ UNIT_MIN = 'm',
+ UNIT_HOUR = 'h',
+ UNIT_DAY = 'd',
+ UNIT_WEEK = 'w',
+ UNIT_MONTH = 'M',
+ UNIT_YEAR = 'y',
};
enum {
- MULTI_BYTE = 1,
- MULTI_KILO = 1024,
- MULTI_MEGA = 1024 * 1024,
- MULTI_GIGA = 1024 * 1024 * 1024,
- MULTI_SEC = 1,
- MULTI_MIN = 60,
- MULTI_HOUR = 3600,
- MULTI_DAY = 24 * 3600
+ MULTI_BYTE = 1,
+ MULTI_KILO = 1024,
+ MULTI_MEGA = 1024 * 1024,
+ MULTI_GIGA = 1024 * 1024 * 1024,
+ MULTI_SEC = 1,
+ MULTI_MIN = 60,
+ MULTI_HOUR = 3600,
+ MULTI_DAY = 24 * 3600,
+ MULTI_WEEK = MULTI_DAY * 7,
+ MULTI_MONTH = MULTI_DAY * 30,
+ MULTI_YEAR = MULTI_DAY * 365,
};
static wire_ctx_t copy_in(
@@ -186,6 +192,15 @@ static int remove_unit(
case UNIT_DAY:
multiplier = MULTI_DAY;
break;
+ case UNIT_WEEK:
+ multiplier = MULTI_WEEK;
+ break;
+ case UNIT_MONTH:
+ multiplier = MULTI_MONTH;
+ break;
+ case UNIT_YEAR:
+ multiplier = MULTI_YEAR;
+ break;
default:
return KNOT_EINVAL;
}
@@ -295,9 +310,18 @@ static void add_unit(
} else if (*number < MULTI_DAY) {
multiplier = MULTI_HOUR;
new_unit = UNIT_HOUR;
- } else {
+ } else if (*number < MULTI_WEEK) {
multiplier = MULTI_DAY;
new_unit = UNIT_DAY;
+ } else if (*number < MULTI_MONTH) {
+ multiplier = MULTI_WEEK;
+ new_unit = UNIT_WEEK;
+ } else if (*number < MULTI_YEAR) {
+ multiplier = MULTI_MONTH;
+ new_unit = UNIT_MONTH;
+ } else {
+ multiplier = MULTI_YEAR;
+ new_unit = UNIT_YEAR;
}
}
diff --git a/src/libzscanner/scanner.c.g2 b/src/libzscanner/scanner.c.g2
index f97c3ae..1edb9f4 100644
--- a/src/libzscanner/scanner.c.g2
+++ b/src/libzscanner/scanner.c.g2
@@ -109,7 +109,7 @@ int zs_init(
memset(s, 0, sizeof(*s));
// Nonzero initial scanner state.
- s->cs = 1396;
+ s->cs = 1444;
// Reset the file descriptor.
s->file.descriptor = -1;
@@ -435,7 +435,7 @@ static void parse(
_again:
switch ( cs ) {
- case 1396: goto st1396;
+ case 1444: goto st1444;
case 0: goto st0;
case 1: goto st1;
case 2: goto st2;
@@ -450,7 +450,7 @@ _again:
case 11: goto st11;
case 12: goto st12;
case 13: goto st13;
- case 1397: goto st1397;
+ case 1445: goto st1445;
case 14: goto st14;
case 15: goto st15;
case 16: goto st16;
@@ -611,54 +611,54 @@ _again:
case 171: goto st171;
case 172: goto st172;
case 173: goto st173;
- case 1398: goto st1398;
case 174: goto st174;
case 175: goto st175;
case 176: goto st176;
case 177: goto st177;
case 178: goto st178;
case 179: goto st179;
+ case 1446: goto st1446;
case 180: goto st180;
case 181: goto st181;
case 182: goto st182;
case 183: goto st183;
- case 1399: goto st1399;
case 184: goto st184;
case 185: goto st185;
case 186: goto st186;
case 187: goto st187;
case 188: goto st188;
case 189: goto st189;
+ case 1447: goto st1447;
case 190: goto st190;
case 191: goto st191;
- case 1400: goto st1400;
case 192: goto st192;
case 193: goto st193;
case 194: goto st194;
- case 1401: goto st1401;
case 195: goto st195;
case 196: goto st196;
case 197: goto st197;
+ case 1448: goto st1448;
case 198: goto st198;
case 199: goto st199;
case 200: goto st200;
+ case 1449: goto st1449;
case 201: goto st201;
case 202: goto st202;
case 203: goto st203;
case 204: goto st204;
case 205: goto st205;
- case 1402: goto st1402;
case 206: goto st206;
case 207: goto st207;
case 208: goto st208;
case 209: goto st209;
- case 1403: goto st1403;
case 210: goto st210;
case 211: goto st211;
+ case 1450: goto st1450;
case 212: goto st212;
case 213: goto st213;
case 214: goto st214;
case 215: goto st215;
+ case 1451: goto st1451;
case 216: goto st216;
case 217: goto st217;
case 218: goto st218;
@@ -671,7 +671,6 @@ _again:
case 225: goto st225;
case 226: goto st226;
case 227: goto st227;
- case 1404: goto st1404;
case 228: goto st228;
case 229: goto st229;
case 230: goto st230;
@@ -679,6 +678,7 @@ _again:
case 232: goto st232;
case 233: goto st233;
case 234: goto st234;
+ case 1452: goto st1452;
case 235: goto st235;
case 236: goto st236;
case 237: goto st237;
@@ -688,7 +688,6 @@ _again:
case 241: goto st241;
case 242: goto st242;
case 243: goto st243;
- case 1405: goto st1405;
case 244: goto st244;
case 245: goto st245;
case 246: goto st246;
@@ -696,6 +695,7 @@ _again:
case 248: goto st248;
case 249: goto st249;
case 250: goto st250;
+ case 1453: goto st1453;
case 251: goto st251;
case 252: goto st252;
case 253: goto st253;
@@ -752,24 +752,22 @@ _again:
case 304: goto st304;
case 305: goto st305;
case 306: goto st306;
- case 1406: goto st1406;
case 307: goto st307;
case 308: goto st308;
- case 1407: goto st1407;
case 309: goto st309;
case 310: goto st310;
- case 1408: goto st1408;
case 311: goto st311;
case 312: goto st312;
case 313: goto st313;
case 314: goto st314;
case 315: goto st315;
+ case 1454: goto st1454;
case 316: goto st316;
case 317: goto st317;
+ case 1455: goto st1455;
case 318: goto st318;
case 319: goto st319;
- case 1409: goto st1409;
- case 1410: goto st1410;
+ case 1456: goto st1456;
case 320: goto st320;
case 321: goto st321;
case 322: goto st322;
@@ -779,13 +777,14 @@ _again:
case 326: goto st326;
case 327: goto st327;
case 328: goto st328;
+ case 1457: goto st1457;
+ case 1458: goto st1458;
case 329: goto st329;
case 330: goto st330;
case 331: goto st331;
case 332: goto st332;
case 333: goto st333;
case 334: goto st334;
- case 1411: goto st1411;
case 335: goto st335;
case 336: goto st336;
case 337: goto st337;
@@ -795,8 +794,8 @@ _again:
case 341: goto st341;
case 342: goto st342;
case 343: goto st343;
+ case 1459: goto st1459;
case 344: goto st344;
- case 1412: goto st1412;
case 345: goto st345;
case 346: goto st346;
case 347: goto st347;
@@ -806,12 +805,12 @@ _again:
case 351: goto st351;
case 352: goto st352;
case 353: goto st353;
+ case 1460: goto st1460;
case 354: goto st354;
case 355: goto st355;
case 356: goto st356;
case 357: goto st357;
case 358: goto st358;
- case 1413: goto st1413;
case 359: goto st359;
case 360: goto st360;
case 361: goto st361;
@@ -819,9 +818,9 @@ _again:
case 363: goto st363;
case 364: goto st364;
case 365: goto st365;
- case 1414: goto st1414;
case 366: goto st366;
case 367: goto st367;
+ case 1461: goto st1461;
case 368: goto st368;
case 369: goto st369;
case 370: goto st370;
@@ -829,9 +828,7 @@ _again:
case 372: goto st372;
case 373: goto st373;
case 374: goto st374;
- case 1415: goto st1415;
- case 1416: goto st1416;
- case 1417: goto st1417;
+ case 1462: goto st1462;
case 375: goto st375;
case 376: goto st376;
case 377: goto st377;
@@ -840,21 +837,24 @@ _again:
case 380: goto st380;
case 381: goto st381;
case 382: goto st382;
- case 1418: goto st1418;
- case 1419: goto st1419;
case 383: goto st383;
+ case 1463: goto st1463;
+ case 1464: goto st1464;
+ case 1465: goto st1465;
case 384: goto st384;
case 385: goto st385;
- case 1420: goto st1420;
case 386: goto st386;
case 387: goto st387;
case 388: goto st388;
case 389: goto st389;
case 390: goto st390;
case 391: goto st391;
+ case 1466: goto st1466;
+ case 1467: goto st1467;
case 392: goto st392;
case 393: goto st393;
case 394: goto st394;
+ case 1468: goto st1468;
case 395: goto st395;
case 396: goto st396;
case 397: goto st397;
@@ -1007,47 +1007,47 @@ _again:
case 544: goto st544;
case 545: goto st545;
case 546: goto st546;
- case 1421: goto st1421;
- case 1422: goto st1422;
- case 1423: goto st1423;
case 547: goto st547;
case 548: goto st548;
case 549: goto st549;
case 550: goto st550;
case 551: goto st551;
- case 1424: goto st1424;
case 552: goto st552;
case 553: goto st553;
case 554: goto st554;
case 555: goto st555;
- case 1425: goto st1425;
- case 1426: goto st1426;
- case 1427: goto st1427;
case 556: goto st556;
case 557: goto st557;
- case 1428: goto st1428;
case 558: goto st558;
case 559: goto st559;
case 560: goto st560;
case 561: goto st561;
+ case 1469: goto st1469;
+ case 1470: goto st1470;
+ case 1471: goto st1471;
case 562: goto st562;
case 563: goto st563;
- case 1429: goto st1429;
case 564: goto st564;
case 565: goto st565;
case 566: goto st566;
+ case 1472: goto st1472;
case 567: goto st567;
case 568: goto st568;
case 569: goto st569;
case 570: goto st570;
+ case 1473: goto st1473;
+ case 1474: goto st1474;
+ case 1475: goto st1475;
case 571: goto st571;
case 572: goto st572;
+ case 1476: goto st1476;
case 573: goto st573;
case 574: goto st574;
case 575: goto st575;
case 576: goto st576;
case 577: goto st577;
case 578: goto st578;
+ case 1477: goto st1477;
case 579: goto st579;
case 580: goto st580;
case 581: goto st581;
@@ -1081,8 +1081,6 @@ _again:
case 609: goto st609;
case 610: goto st610;
case 611: goto st611;
- case 1430: goto st1430;
- case 1431: goto st1431;
case 612: goto st612;
case 613: goto st613;
case 614: goto st614;
@@ -1093,7 +1091,6 @@ _again:
case 619: goto st619;
case 620: goto st620;
case 621: goto st621;
- case 1432: goto st1432;
case 622: goto st622;
case 623: goto st623;
case 624: goto st624;
@@ -1111,6 +1108,8 @@ _again:
case 636: goto st636;
case 637: goto st637;
case 638: goto st638;
+ case 1478: goto st1478;
+ case 1479: goto st1479;
case 639: goto st639;
case 640: goto st640;
case 641: goto st641;
@@ -1120,6 +1119,7 @@ _again:
case 645: goto st645;
case 646: goto st646;
case 647: goto st647;
+ case 1480: goto st1480;
case 648: goto st648;
case 649: goto st649;
case 650: goto st650;
@@ -1173,7 +1173,6 @@ _again:
case 698: goto st698;
case 699: goto st699;
case 700: goto st700;
- case 1433: goto st1433;
case 701: goto st701;
case 702: goto st702;
case 703: goto st703;
@@ -1216,6 +1215,7 @@ _again:
case 740: goto st740;
case 741: goto st741;
case 742: goto st742;
+ case 1481: goto st1481;
case 743: goto st743;
case 744: goto st744;
case 745: goto st745;
@@ -1278,7 +1278,6 @@ _again:
case 802: goto st802;
case 803: goto st803;
case 804: goto st804;
- case 1434: goto st1434;
case 805: goto st805;
case 806: goto st806;
case 807: goto st807;
@@ -1320,10 +1319,9 @@ _again:
case 843: goto st843;
case 844: goto st844;
case 845: goto st845;
- case 1435: goto st1435;
case 846: goto st846;
+ case 1482: goto st1482;
case 847: goto st847;
- case 1436: goto st1436;
case 848: goto st848;
case 849: goto st849;
case 850: goto st850;
@@ -1338,7 +1336,6 @@ _again:
case 859: goto st859;
case 860: goto st860;
case 861: goto st861;
- case 1437: goto st1437;
case 862: goto st862;
case 863: goto st863;
case 864: goto st864;
@@ -1361,33 +1358,29 @@ _again:
case 881: goto st881;
case 882: goto st882;
case 883: goto st883;
- case 1438: goto st1438;
case 884: goto st884;
case 885: goto st885;
case 886: goto st886;
case 887: goto st887;
+ case 1483: goto st1483;
case 888: goto st888;
- case 1439: goto st1439;
case 889: goto st889;
+ case 1484: goto st1484;
case 890: goto st890;
case 891: goto st891;
case 892: goto st892;
case 893: goto st893;
- case 1440: goto st1440;
case 894: goto st894;
case 895: goto st895;
case 896: goto st896;
case 897: goto st897;
case 898: goto st898;
- case 1441: goto st1441;
- case 1442: goto st1442;
- case 1443: goto st1443;
case 899: goto st899;
case 900: goto st900;
- case 1444: goto st1444;
case 901: goto st901;
case 902: goto st902;
case 903: goto st903;
+ case 1485: goto st1485;
case 904: goto st904;
case 905: goto st905;
case 906: goto st906;
@@ -1410,32 +1403,30 @@ _again:
case 923: goto st923;
case 924: goto st924;
case 925: goto st925;
+ case 1486: goto st1486;
case 926: goto st926;
case 927: goto st927;
- case 1445: goto st1445;
- case 1446: goto st1446;
- case 1447: goto st1447;
case 928: goto st928;
case 929: goto st929;
case 930: goto st930;
- case 1448: goto st1448;
- case 1449: goto st1449;
+ case 1487: goto st1487;
case 931: goto st931;
case 932: goto st932;
case 933: goto st933;
case 934: goto st934;
- case 1450: goto st1450;
- case 1451: goto st1451;
case 935: goto st935;
+ case 1488: goto st1488;
case 936: goto st936;
case 937: goto st937;
case 938: goto st938;
- case 1452: goto st1452;
- case 1453: goto st1453;
case 939: goto st939;
case 940: goto st940;
+ case 1489: goto st1489;
+ case 1490: goto st1490;
+ case 1491: goto st1491;
case 941: goto st941;
case 942: goto st942;
+ case 1492: goto st1492;
case 943: goto st943;
case 944: goto st944;
case 945: goto st945;
@@ -1457,25 +1448,32 @@ _again:
case 961: goto st961;
case 962: goto st962;
case 963: goto st963;
- case 1454: goto st1454;
case 964: goto st964;
case 965: goto st965;
case 966: goto st966;
case 967: goto st967;
case 968: goto st968;
case 969: goto st969;
+ case 1493: goto st1493;
+ case 1494: goto st1494;
+ case 1495: goto st1495;
case 970: goto st970;
case 971: goto st971;
case 972: goto st972;
+ case 1496: goto st1496;
+ case 1497: goto st1497;
case 973: goto st973;
case 974: goto st974;
case 975: goto st975;
case 976: goto st976;
+ case 1498: goto st1498;
+ case 1499: goto st1499;
case 977: goto st977;
case 978: goto st978;
- case 1455: goto st1455;
case 979: goto st979;
case 980: goto st980;
+ case 1500: goto st1500;
+ case 1501: goto st1501;
case 981: goto st981;
case 982: goto st982;
case 983: goto st983;
@@ -1487,7 +1485,6 @@ _again:
case 989: goto st989;
case 990: goto st990;
case 991: goto st991;
- case 1456: goto st1456;
case 992: goto st992;
case 993: goto st993;
case 994: goto st994;
@@ -1499,12 +1496,10 @@ _again:
case 1000: goto st1000;
case 1001: goto st1001;
case 1002: goto st1002;
- case 1457: goto st1457;
- case 1458: goto st1458;
case 1003: goto st1003;
case 1004: goto st1004;
case 1005: goto st1005;
- case 1459: goto st1459;
+ case 1502: goto st1502;
case 1006: goto st1006;
case 1007: goto st1007;
case 1008: goto st1008;
@@ -1515,23 +1510,18 @@ _again:
case 1013: goto st1013;
case 1014: goto st1014;
case 1015: goto st1015;
- case 1460: goto st1460;
- case 1461: goto st1461;
- case 1462: goto st1462;
case 1016: goto st1016;
case 1017: goto st1017;
case 1018: goto st1018;
case 1019: goto st1019;
case 1020: goto st1020;
+ case 1503: goto st1503;
case 1021: goto st1021;
case 1022: goto st1022;
case 1023: goto st1023;
case 1024: goto st1024;
case 1025: goto st1025;
case 1026: goto st1026;
- case 1463: goto st1463;
- case 1464: goto st1464;
- case 1465: goto st1465;
case 1027: goto st1027;
case 1028: goto st1028;
case 1029: goto st1029;
@@ -1539,27 +1529,24 @@ _again:
case 1031: goto st1031;
case 1032: goto st1032;
case 1033: goto st1033;
+ case 1504: goto st1504;
case 1034: goto st1034;
case 1035: goto st1035;
case 1036: goto st1036;
case 1037: goto st1037;
case 1038: goto st1038;
- case 1466: goto st1466;
case 1039: goto st1039;
case 1040: goto st1040;
case 1041: goto st1041;
- case 1467: goto st1467;
- case 1468: goto st1468;
case 1042: goto st1042;
- case 1469: goto st1469;
- case 1470: goto st1470;
case 1043: goto st1043;
- case 1471: goto st1471;
- case 1472: goto st1472;
case 1044: goto st1044;
+ case 1505: goto st1505;
+ case 1506: goto st1506;
case 1045: goto st1045;
case 1046: goto st1046;
case 1047: goto st1047;
+ case 1507: goto st1507;
case 1048: goto st1048;
case 1049: goto st1049;
case 1050: goto st1050;
@@ -1570,6 +1557,9 @@ _again:
case 1055: goto st1055;
case 1056: goto st1056;
case 1057: goto st1057;
+ case 1508: goto st1508;
+ case 1509: goto st1509;
+ case 1510: goto st1510;
case 1058: goto st1058;
case 1059: goto st1059;
case 1060: goto st1060;
@@ -1581,6 +1571,9 @@ _again:
case 1066: goto st1066;
case 1067: goto st1067;
case 1068: goto st1068;
+ case 1511: goto st1511;
+ case 1512: goto st1512;
+ case 1513: goto st1513;
case 1069: goto st1069;
case 1070: goto st1070;
case 1071: goto st1071;
@@ -1593,12 +1586,18 @@ _again:
case 1078: goto st1078;
case 1079: goto st1079;
case 1080: goto st1080;
+ case 1514: goto st1514;
case 1081: goto st1081;
case 1082: goto st1082;
case 1083: goto st1083;
+ case 1515: goto st1515;
+ case 1516: goto st1516;
case 1084: goto st1084;
+ case 1517: goto st1517;
+ case 1518: goto st1518;
case 1085: goto st1085;
- case 1473: goto st1473;
+ case 1519: goto st1519;
+ case 1520: goto st1520;
case 1086: goto st1086;
case 1087: goto st1087;
case 1088: goto st1088;
@@ -1641,6 +1640,7 @@ _again:
case 1125: goto st1125;
case 1126: goto st1126;
case 1127: goto st1127;
+ case 1521: goto st1521;
case 1128: goto st1128;
case 1129: goto st1129;
case 1130: goto st1130;
@@ -1770,7 +1770,6 @@ _again:
case 1254: goto st1254;
case 1255: goto st1255;
case 1256: goto st1256;
- case 1474: goto st1474;
case 1257: goto st1257;
case 1258: goto st1258;
case 1259: goto st1259;
@@ -1779,13 +1778,11 @@ _again:
case 1262: goto st1262;
case 1263: goto st1263;
case 1264: goto st1264;
- case 1475: goto st1475;
case 1265: goto st1265;
case 1266: goto st1266;
case 1267: goto st1267;
case 1268: goto st1268;
case 1269: goto st1269;
- case 1476: goto st1476;
case 1270: goto st1270;
case 1271: goto st1271;
case 1272: goto st1272;
@@ -1804,7 +1801,6 @@ _again:
case 1285: goto st1285;
case 1286: goto st1286;
case 1287: goto st1287;
- case 1477: goto st1477;
case 1288: goto st1288;
case 1289: goto st1289;
case 1290: goto st1290;
@@ -1822,27 +1818,26 @@ _again:
case 1302: goto st1302;
case 1303: goto st1303;
case 1304: goto st1304;
+ case 1522: goto st1522;
case 1305: goto st1305;
case 1306: goto st1306;
- case 1478: goto st1478;
case 1307: goto st1307;
case 1308: goto st1308;
case 1309: goto st1309;
case 1310: goto st1310;
case 1311: goto st1311;
case 1312: goto st1312;
+ case 1523: goto st1523;
case 1313: goto st1313;
case 1314: goto st1314;
case 1315: goto st1315;
case 1316: goto st1316;
case 1317: goto st1317;
+ case 1524: goto st1524;
case 1318: goto st1318;
case 1319: goto st1319;
case 1320: goto st1320;
case 1321: goto st1321;
- case 1479: goto st1479;
- case 1480: goto st1480;
- case 1481: goto st1481;
case 1322: goto st1322;
case 1323: goto st1323;
case 1324: goto st1324;
@@ -1851,21 +1846,18 @@ _again:
case 1327: goto st1327;
case 1328: goto st1328;
case 1329: goto st1329;
- case 1482: goto st1482;
case 1330: goto st1330;
case 1331: goto st1331;
case 1332: goto st1332;
case 1333: goto st1333;
case 1334: goto st1334;
case 1335: goto st1335;
+ case 1525: goto st1525;
case 1336: goto st1336;
case 1337: goto st1337;
case 1338: goto st1338;
case 1339: goto st1339;
case 1340: goto st1340;
- case 1483: goto st1483;
- case 1484: goto st1484;
- case 1485: goto st1485;
case 1341: goto st1341;
case 1342: goto st1342;
case 1343: goto st1343;
@@ -1873,7 +1865,6 @@ _again:
case 1345: goto st1345;
case 1346: goto st1346;
case 1347: goto st1347;
- case 1486: goto st1486;
case 1348: goto st1348;
case 1349: goto st1349;
case 1350: goto st1350;
@@ -1881,13 +1872,13 @@ _again:
case 1352: goto st1352;
case 1353: goto st1353;
case 1354: goto st1354;
+ case 1526: goto st1526;
case 1355: goto st1355;
case 1356: goto st1356;
case 1357: goto st1357;
case 1358: goto st1358;
case 1359: goto st1359;
case 1360: goto st1360;
- case 1487: goto st1487;
case 1361: goto st1361;
case 1362: goto st1362;
case 1363: goto st1363;
@@ -1895,21 +1886,22 @@ _again:
case 1365: goto st1365;
case 1366: goto st1366;
case 1367: goto st1367;
- case 1488: goto st1488;
case 1368: goto st1368;
case 1369: goto st1369;
+ case 1527: goto st1527;
+ case 1528: goto st1528;
+ case 1529: goto st1529;
case 1370: goto st1370;
case 1371: goto st1371;
case 1372: goto st1372;
case 1373: goto st1373;
- case 1489: goto st1489;
case 1374: goto st1374;
case 1375: goto st1375;
case 1376: goto st1376;
case 1377: goto st1377;
+ case 1530: goto st1530;
case 1378: goto st1378;
case 1379: goto st1379;
- case 1490: goto st1490;
case 1380: goto st1380;
case 1381: goto st1381;
case 1382: goto st1382;
@@ -1918,16 +1910,72 @@ _again:
case 1385: goto st1385;
case 1386: goto st1386;
case 1387: goto st1387;
- case 1491: goto st1491;
case 1388: goto st1388;
+ case 1531: goto st1531;
+ case 1532: goto st1532;
+ case 1533: goto st1533;
case 1389: goto st1389;
case 1390: goto st1390;
case 1391: goto st1391;
case 1392: goto st1392;
case 1393: goto st1393;
case 1394: goto st1394;
- case 1492: goto st1492;
case 1395: goto st1395;
+ case 1534: goto st1534;
+ case 1396: goto st1396;
+ case 1397: goto st1397;
+ case 1398: goto st1398;
+ case 1399: goto st1399;
+ case 1400: goto st1400;
+ case 1401: goto st1401;
+ case 1402: goto st1402;
+ case 1403: goto st1403;
+ case 1404: goto st1404;
+ case 1405: goto st1405;
+ case 1406: goto st1406;
+ case 1407: goto st1407;
+ case 1408: goto st1408;
+ case 1535: goto st1535;
+ case 1409: goto st1409;
+ case 1410: goto st1410;
+ case 1411: goto st1411;
+ case 1412: goto st1412;
+ case 1413: goto st1413;
+ case 1414: goto st1414;
+ case 1415: goto st1415;
+ case 1536: goto st1536;
+ case 1416: goto st1416;
+ case 1417: goto st1417;
+ case 1418: goto st1418;
+ case 1419: goto st1419;
+ case 1420: goto st1420;
+ case 1421: goto st1421;
+ case 1537: goto st1537;
+ case 1422: goto st1422;
+ case 1423: goto st1423;
+ case 1424: goto st1424;
+ case 1425: goto st1425;
+ case 1426: goto st1426;
+ case 1427: goto st1427;
+ case 1538: goto st1538;
+ case 1428: goto st1428;
+ case 1429: goto st1429;
+ case 1430: goto st1430;
+ case 1431: goto st1431;
+ case 1432: goto st1432;
+ case 1433: goto st1433;
+ case 1434: goto st1434;
+ case 1435: goto st1435;
+ case 1539: goto st1539;
+ case 1436: goto st1436;
+ case 1437: goto st1437;
+ case 1438: goto st1438;
+ case 1439: goto st1439;
+ case 1440: goto st1440;
+ case 1441: goto st1441;
+ case 1442: goto st1442;
+ case 1540: goto st1540;
+ case 1443: goto st1443;
default: break;
}
@@ -1936,12 +1984,12 @@ _again:
_resume:
switch ( cs )
{
-tr22:
+tr23:
{
s->line_counter++;
}
- goto st1396;
-tr87:
+ goto st1444;
+tr89:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -1949,7 +1997,7 @@ tr87:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -1962,23 +2010,23 @@ tr87:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1396; goto _out;}
+ {p++; cs = 1444; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1396; goto _out;}
+ p--; {p++; cs = 1444; goto _out;}
}
}
{
s->line_counter++;
}
- goto st1396;
-tr93:
+ goto st1444;
+tr95:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -1991,19 +2039,19 @@ tr93:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1396; goto _out;}
+ {p++; cs = 1444; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1396; goto _out;}
+ p--; {p++; cs = 1444; goto _out;}
}
}
{
s->line_counter++;
}
- goto st1396;
-tr96:
+ goto st1444;
+tr98:
{
s->buffer[s->buffer_length++] = 0;
@@ -2013,14 +2061,14 @@ tr96:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1396; goto _out;}
+ {p++; cs = 1444; goto _out;}
}
}
}
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -2033,19 +2081,19 @@ tr96:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1396; goto _out;}
+ {p++; cs = 1444; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1396; goto _out;}
+ p--; {p++; cs = 1444; goto _out;}
}
}
{
s->line_counter++;
}
- goto st1396;
-tr754:
+ goto st1444;
+tr772:
{
s->buffer[s->buffer_length++] = 0;
@@ -2055,15 +2103,15 @@ tr754:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1396; goto _out;}
+ {p++; cs = 1444; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1396;
-tr848:
+ goto st1444;
+tr866:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -2077,14 +2125,14 @@ tr848:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1396; goto _out;}
+ {p++; cs = 1444; goto _out;}
}
}
}
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -2097,19 +2145,19 @@ tr848:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1396; goto _out;}
+ {p++; cs = 1444; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1396; goto _out;}
+ p--; {p++; cs = 1444; goto _out;}
}
}
{
s->line_counter++;
}
- goto st1396;
-tr966:
+ goto st1444;
+tr984:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -2117,7 +2165,7 @@ tr966:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -2130,12 +2178,12 @@ tr966:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1396; goto _out;}
+ {p++; cs = 1444; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1396; goto _out;}
+ p--; {p++; cs = 1444; goto _out;}
}
}
{
@@ -2150,16 +2198,16 @@ tr966:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1396; goto _out;}
+ {p++; cs = 1444; goto _out;}
}
}
}
- goto st1396;
-tr970:
+ goto st1444;
+tr988:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -2172,12 +2220,12 @@ tr970:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1396; goto _out;}
+ {p++; cs = 1444; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1396; goto _out;}
+ p--; {p++; cs = 1444; goto _out;}
}
}
{
@@ -2192,12 +2240,12 @@ tr970:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1396; goto _out;}
+ {p++; cs = 1444; goto _out;}
}
}
}
- goto st1396;
-tr4211:
+ goto st1444;
+tr4291:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -2205,8 +2253,8 @@ tr4211:
{
s->line_counter++;
}
- goto st1396;
-tr4275:
+ goto st1444;
+tr4357:
{
NOERR;
}
@@ -2217,11 +2265,11 @@ tr4275:
{
s->line_counter++;
}
- goto st1396;
-st1396:
+ goto st1444;
+st1444:
if ( ++p == pe )
- goto _test_eof1396;
-case 1396:
+ goto _test_eof1444;
+case 1444:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -2235,928 +2283,928 @@ case 1396:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr4206;
- case 32: goto tr4206;
- case 36: goto st184;
- case 40: goto tr4208;
- case 41: goto tr4209;
- case 42: goto tr4210;
- case 92: goto tr4210;
- case 95: goto tr4210;
- case 1802: goto tr4211;
- case 1851: goto tr4212;
- case 2058: goto tr4213;
- case 2107: goto tr4214;
+ case 9: goto tr4286;
+ case 32: goto tr4286;
+ case 36: goto st190;
+ case 40: goto tr4288;
+ case 41: goto tr4289;
+ case 42: goto tr4290;
+ case 92: goto tr4290;
+ case 95: goto tr4290;
+ case 1802: goto tr4291;
+ case 1851: goto tr4292;
+ case 2058: goto tr4293;
+ case 2107: goto tr4294;
}
if ( _widec < 64 ) {
if ( 45 <= _widec && _widec <= 57 )
- goto tr4210;
+ goto tr4290;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr4210;
+ goto tr4290;
} else
- goto tr4210;
- goto tr4205;
+ goto tr4290;
+ goto tr4285;
tr0:
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr26:
+tr27:
{
WARN(ZS_BAD_TIME_UNIT);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr38:
+tr39:
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr61:
+tr63:
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr75:
+tr77:
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr83:
+tr85:
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr89:
+tr91:
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr118:
+tr120:
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr145:
+tr148:
{
WARN(ZS_BAD_TIME_UNIT);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr151:
+tr154:
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr656:
+tr660:
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr658:
+tr662:
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr755:
+tr773:
{
ERR(ZS_BAD_DIRECTIVE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr766:
+tr784:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr780:
+tr798:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_TIME_UNIT);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr808:
+tr826:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr823:
+tr841:
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr861:
+tr879:
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
ERR(ZS_BAD_DIRECTIVE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr871:
+tr889:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr877:
+tr895:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_TIME_UNIT);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr890:
+tr908:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr904:
+tr922:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr996:
+tr1014:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1011:
+tr1029:
{
WARN(ZS_BAD_DNAME_CHAR);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1024:
+tr1042:
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_DNAME_CHAR);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1032:
+tr1050:
{
WARN(ZS_BAD_TEXT_CHAR);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_TEXT);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1040:
+tr1058:
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_TEXT_CHAR);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_TEXT);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1056:
+tr1074:
{
WARN(ZS_BAD_TEXT);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1065:
+tr1083:
{
ERR(ZS_BAD_TTL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1071:
+tr1089:
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
ERR(ZS_BAD_TTL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1073:
+tr1091:
{
WARN(ZS_BAD_TIME_UNIT);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
ERR(ZS_BAD_TTL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1085:
+tr1103:
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
ERR(ZS_BAD_TTL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1094:
+tr1112:
{
WARN(ZS_BAD_TIME_UNIT);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
ERR(ZS_BAD_TTL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1109:
+tr1127:
{
ERR(ZS_BAD_ORIGIN);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1121:
+tr1139:
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
ERR(ZS_BAD_ORIGIN);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1137:
+tr1155:
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
ERR(ZS_BAD_ORIGIN);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1151:
+tr1169:
{
ERR(ZS_BAD_INCLUDE_FILENAME);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1152:
+tr1170:
{
ERR(ZS_BAD_INCLUDE_FILENAME);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1159:
+tr1177:
{
ERR(ZS_BAD_INCLUDE_ORIGIN);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1169:
+tr1187:
{
ERR(ZS_BAD_INCLUDE_ORIGIN);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1186:
+tr1204:
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
ERR(ZS_BAD_INCLUDE_ORIGIN);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1203:
+tr1221:
{
WARN(ZS_BAD_BASE64_CHAR);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1219:
+tr1237:
{
WARN(ZS_BAD_BITMAP);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1792:
+tr1824:
{
WARN(ZS_BAD_HEX_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1798:
+tr1830:
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_HEX_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1806:
+tr1838:
{
WARN(ZS_BAD_HEX_CHAR);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_HEX_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_HEX_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1868:
+tr1900:
{
WARN(ZS_BAD_SVCB_MANDATORY);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1898:
+tr1939:
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_SVCB_MANDATORY);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr1921:
+tr1967:
{
WARN(ZS_BAD_SVCB_PARAM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr2005:
+tr2063:
{
WARN(ZS_BAD_ADDRESS_CHAR);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_SVCB_PARAM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr2049:
+tr2107:
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_SVCB_PARAM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr2129:
+tr2198:
{
WARN(ZS_BAD_ALGORITHM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr2251:
+tr2320:
{
WARN(ZS_BAD_CERT_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr2304:
+tr2373:
{
WARN(ZS_BAD_ADDRESS_CHAR);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr2327:
+tr2396:
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr2346:
+tr2415:
{
WARN(ZS_BAD_TIME_UNIT);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr2512:
+tr2581:
{
s->long_string = false;
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr2535:
+tr2604:
{
WARN(ZS_BAD_LOC_DATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr2938:
+tr3007:
{
WARN(ZS_BAD_APL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr2953:
+tr3022:
{
WARN(ZS_BAD_ADDRESS_CHAR);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_APL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr2998:
+tr3067:
{
WARN(ZS_BAD_HEX_CHAR);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr3069:
+tr3138:
{
WARN(ZS_BAD_GATEWAY);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr3084:
+tr3153:
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_GATEWAY);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr3098:
+tr3167:
{
WARN(ZS_BAD_GATEWAY);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_GATEWAY_KEY);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr3121:
+tr3190:
{
WARN(ZS_BAD_GATEWAY_KEY);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr3145:
+tr3214:
{
WARN(ZS_BAD_ADDRESS_CHAR);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_GATEWAY);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr3152:
+tr3221:
{
WARN(ZS_BAD_ADDRESS_CHAR);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_GATEWAY);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_GATEWAY_KEY);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr3271:
+tr3340:
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr3327:
+tr3397:
{
WARN(ZS_BAD_TIMESTAMP_CHAR);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr3756:
+tr3826:
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr3867:
+tr3947:
{
WARN(ZS_BAD_BASE32HEX_CHAR);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr4106:
+tr4186:
{
WARN(ZS_BAD_HEX_CHAR);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_CHAR_COLON);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr4112:
+tr4192:
{
WARN(ZS_BAD_CHAR_COLON);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_HEX_CHAR);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr4118:
+tr4198:
{
WARN(ZS_BAD_CHAR_DASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_HEX_CHAR);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr4205:
+tr4285:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr4227:
+tr4307:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr4250:
+tr4331:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr4269:
+tr4351:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
ERR(ZS_BAD_DIRECTIVE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
-tr4293:
+tr4375:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_RDATA);
- p--; {goto st307;}
+ p--; {goto st316;}
}
{
WARN(ZS_BAD_REST);
- p--; {goto st307;}
+ p--; {goto st316;}
}
goto st0;
st0:
@@ -3166,7 +3214,7 @@ tr2:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -3175,16 +3223,16 @@ tr3:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st1;
-tr4206:
+tr4286:
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -3192,17 +3240,17 @@ tr4206:
s->buffer_length = 0;
}
goto st1;
-tr4208:
+tr4288:
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -3211,17 +3259,17 @@ tr4208:
s->buffer_length = 0;
}
goto st1;
-tr4209:
+tr4289:
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -3230,18 +3278,18 @@ tr4209:
s->buffer_length = 0;
}
goto st1;
-tr4279:
+tr4361:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -3249,18 +3297,18 @@ tr4279:
s->buffer_length = 0;
}
goto st1;
-tr4280:
+tr4362:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -3268,14 +3316,14 @@ tr4280:
s->buffer_length = 0;
}
goto st1;
-tr4270:
+tr4352:
{
NOERR;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -3283,20 +3331,20 @@ tr4270:
s->buffer_length = 0;
}
goto st1;
-tr4272:
+tr4354:
{
NOERR;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -3305,20 +3353,20 @@ tr4272:
s->buffer_length = 0;
}
goto st1;
-tr4273:
+tr4355:
{
NOERR;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -3364,7 +3412,8 @@ case 1:
case 83: goto tr18;
case 84: goto tr19;
case 85: goto tr20;
- case 90: goto tr21;
+ case 87: goto tr21;
+ case 90: goto tr22;
case 97: goto tr5;
case 99: goto tr6;
case 100: goto tr7;
@@ -3381,11 +3430,12 @@ case 1:
case 115: goto tr18;
case 116: goto tr19;
case 117: goto tr20;
- case 122: goto tr21;
- case 1802: goto tr22;
- case 1851: goto tr23;
- case 2058: goto tr24;
- case 2107: goto tr25;
+ case 119: goto tr21;
+ case 122: goto tr22;
+ case 1802: goto tr23;
+ case 1851: goto tr24;
+ case 2058: goto tr25;
+ case 2107: goto tr26;
}
if ( 48 <= _widec && _widec <= 57 )
goto tr4;
@@ -3405,11 +3455,11 @@ tr4:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
goto st2;
-tr30:
+tr31:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -3421,7 +3471,7 @@ tr30:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
goto st2;
@@ -3442,107 +3492,107 @@ case 2:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr27;
- case 32: goto tr27;
- case 40: goto tr28;
- case 41: goto tr29;
- case 68: goto tr31;
- case 72: goto tr32;
- case 77: goto tr33;
- case 83: goto st198;
- case 87: goto tr35;
- case 100: goto tr31;
- case 104: goto tr32;
- case 109: goto tr33;
- case 115: goto st198;
- case 119: goto tr35;
- case 2058: goto tr36;
- case 2107: goto tr37;
+ case 9: goto tr28;
+ case 32: goto tr28;
+ case 40: goto tr29;
+ case 41: goto tr30;
+ case 68: goto tr32;
+ case 72: goto tr33;
+ case 77: goto tr34;
+ case 83: goto st204;
+ case 87: goto tr36;
+ case 100: goto tr32;
+ case 104: goto tr33;
+ case 109: goto tr34;
+ case 115: goto st204;
+ case 119: goto tr36;
+ case 2058: goto tr37;
+ case 2107: goto tr38;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr30;
- goto tr26;
-tr40:
+ goto tr31;
+ goto tr27;
+tr41:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st3;
-tr41:
+tr42:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st3;
-tr59:
+tr61:
{
s->line_counter++;
}
goto st3;
-tr27:
+tr28:
{
if (s->number64 <= UINT32_MAX) {
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
goto st3;
-tr28:
+tr29:
{
if (s->number64 <= UINT32_MAX) {
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st3;
-tr29:
+tr30:
{
if (s->number64 <= UINT32_MAX) {
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st3;
-tr36:
+tr37:
{
if (s->number64 <= UINT32_MAX) {
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
goto st3;
-tr807:
+tr825:
{
s->buffer[s->buffer_length++] = 0;
@@ -3560,13 +3610,13 @@ tr807:
s->line_counter++;
}
goto st3;
-tr800:
+tr818:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -3574,17 +3624,17 @@ tr800:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
goto st3;
-tr801:
+tr819:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -3592,24 +3642,24 @@ tr801:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st3;
-tr802:
+tr820:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -3617,24 +3667,24 @@ tr802:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st3;
-tr804:
+tr822:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -3642,7 +3692,7 @@ tr804:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -3668,46 +3718,48 @@ case 3:
switch( _widec ) {
case 9: goto st3;
case 32: goto st3;
- case 40: goto tr40;
- case 41: goto tr41;
- case 65: goto tr42;
- case 67: goto tr43;
- case 68: goto tr44;
- case 69: goto tr45;
- case 72: goto tr46;
- case 73: goto tr47;
- case 75: goto tr48;
- case 76: goto tr49;
- case 77: goto tr50;
- case 78: goto tr51;
- case 79: goto tr52;
- case 80: goto tr53;
- case 82: goto tr54;
- case 83: goto tr55;
- case 84: goto tr56;
- case 85: goto tr57;
- case 90: goto tr58;
- case 97: goto tr42;
- case 99: goto tr43;
- case 100: goto tr44;
- case 101: goto tr45;
- case 104: goto tr46;
- case 105: goto tr47;
- case 107: goto tr48;
- case 108: goto tr49;
- case 109: goto tr50;
- case 110: goto tr51;
- case 111: goto tr52;
- case 112: goto tr53;
- case 114: goto tr54;
- case 115: goto tr55;
- case 116: goto tr56;
- case 117: goto tr57;
- case 122: goto tr58;
- case 2058: goto tr59;
- case 2107: goto tr60;
- }
- goto tr38;
+ case 40: goto tr41;
+ case 41: goto tr42;
+ case 65: goto tr43;
+ case 67: goto tr44;
+ case 68: goto tr45;
+ case 69: goto tr46;
+ case 72: goto tr47;
+ case 73: goto tr48;
+ case 75: goto tr49;
+ case 76: goto tr50;
+ case 77: goto tr51;
+ case 78: goto tr52;
+ case 79: goto tr53;
+ case 80: goto tr54;
+ case 82: goto tr55;
+ case 83: goto tr56;
+ case 84: goto tr57;
+ case 85: goto tr58;
+ case 87: goto tr59;
+ case 90: goto tr60;
+ case 97: goto tr43;
+ case 99: goto tr44;
+ case 100: goto tr45;
+ case 101: goto tr46;
+ case 104: goto tr47;
+ case 105: goto tr48;
+ case 107: goto tr49;
+ case 108: goto tr50;
+ case 109: goto tr51;
+ case 110: goto tr52;
+ case 111: goto tr53;
+ case 112: goto tr54;
+ case 114: goto tr55;
+ case 115: goto tr56;
+ case 116: goto tr57;
+ case 117: goto tr58;
+ case 119: goto tr59;
+ case 122: goto tr60;
+ case 2058: goto tr61;
+ case 2107: goto tr62;
+ }
+ goto tr39;
tr5:
{
s->r_class = s->default_class;
@@ -3716,12 +3768,12 @@ tr5:
s->r_ttl = s->default_ttl;
}
goto st4;
-tr42:
+tr43:
{
s->r_class = s->default_class;
}
goto st4;
-tr708:
+tr725:
{
s->r_ttl = s->default_ttl;
}
@@ -3747,54 +3799,54 @@ case 4:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr62;
- case 32: goto tr62;
- case 40: goto tr63;
- case 41: goto tr64;
- case 65: goto st266;
- case 70: goto st269;
- case 80: goto st273;
- case 97: goto st266;
- case 102: goto st269;
- case 112: goto st273;
- case 3082: goto tr68;
- case 3131: goto tr69;
- case 3338: goto tr70;
- case 3387: goto tr70;
- case 3594: goto tr71;
- case 3643: goto tr72;
- }
- goto tr61;
-tr76:
+ case 9: goto tr64;
+ case 32: goto tr64;
+ case 40: goto tr65;
+ case 41: goto tr66;
+ case 65: goto st274;
+ case 70: goto st277;
+ case 80: goto st281;
+ case 97: goto st274;
+ case 102: goto st277;
+ case 112: goto st281;
+ case 3082: goto tr70;
+ case 3131: goto tr71;
+ case 3338: goto tr72;
+ case 3387: goto tr72;
+ case 3594: goto tr73;
+ case 3643: goto tr74;
+ }
+ goto tr63;
+tr78:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr77:
+tr79:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr79:
+tr81:
{
s->line_counter++;
}
goto st5;
-tr62:
+tr64:
{ s->r_type = KNOT_RRTYPE_A; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr63:
+tr65:
{ s->r_type = KNOT_RRTYPE_A; }
{
rdata_tail = s->r_data;
@@ -3802,12 +3854,12 @@ tr63:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr64:
+tr66:
{ s->r_type = KNOT_RRTYPE_A; }
{
rdata_tail = s->r_data;
@@ -3815,12 +3867,12 @@ tr64:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr68:
+tr70:
{ s->r_type = KNOT_RRTYPE_A; }
{
rdata_tail = s->r_data;
@@ -3829,7 +3881,7 @@ tr68:
s->line_counter++;
}
goto st5;
-tr100:
+tr102:
{
s->buffer[s->buffer_length++] = 0;
@@ -3847,13 +3899,13 @@ tr100:
s->line_counter++;
}
goto st5;
-tr163:
+tr166:
{ s->r_type = KNOT_RRTYPE_CAA; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr164:
+tr167:
{ s->r_type = KNOT_RRTYPE_CAA; }
{
rdata_tail = s->r_data;
@@ -3861,12 +3913,12 @@ tr164:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr165:
+tr168:
{ s->r_type = KNOT_RRTYPE_CAA; }
{
rdata_tail = s->r_data;
@@ -3874,12 +3926,12 @@ tr165:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr166:
+tr169:
{ s->r_type = KNOT_RRTYPE_CAA; }
{
rdata_tail = s->r_data;
@@ -3888,13 +3940,13 @@ tr166:
s->line_counter++;
}
goto st5;
-tr185:
+tr188:
{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr186:
+tr189:
{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
{
rdata_tail = s->r_data;
@@ -3902,12 +3954,12 @@ tr186:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr187:
+tr190:
{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
{
rdata_tail = s->r_data;
@@ -3915,12 +3967,12 @@ tr187:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr188:
+tr191:
{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
{
rdata_tail = s->r_data;
@@ -3929,13 +3981,13 @@ tr188:
s->line_counter++;
}
goto st5;
-tr193:
+tr196:
{ s->r_type = KNOT_RRTYPE_CDS; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr194:
+tr197:
{ s->r_type = KNOT_RRTYPE_CDS; }
{
rdata_tail = s->r_data;
@@ -3943,12 +3995,12 @@ tr194:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr195:
+tr198:
{ s->r_type = KNOT_RRTYPE_CDS; }
{
rdata_tail = s->r_data;
@@ -3956,12 +4008,12 @@ tr195:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr196:
+tr199:
{ s->r_type = KNOT_RRTYPE_CDS; }
{
rdata_tail = s->r_data;
@@ -3970,13 +4022,13 @@ tr196:
s->line_counter++;
}
goto st5;
-tr203:
+tr206:
{ s->r_type = KNOT_RRTYPE_CERT; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr204:
+tr207:
{ s->r_type = KNOT_RRTYPE_CERT; }
{
rdata_tail = s->r_data;
@@ -3984,12 +4036,12 @@ tr204:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr205:
+tr208:
{ s->r_type = KNOT_RRTYPE_CERT; }
{
rdata_tail = s->r_data;
@@ -3997,12 +4049,12 @@ tr205:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr206:
+tr209:
{ s->r_type = KNOT_RRTYPE_CERT; }
{
rdata_tail = s->r_data;
@@ -4011,13 +4063,13 @@ tr206:
s->line_counter++;
}
goto st5;
-tr214:
+tr217:
{ s->r_type = KNOT_RRTYPE_CNAME; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr215:
+tr218:
{ s->r_type = KNOT_RRTYPE_CNAME; }
{
rdata_tail = s->r_data;
@@ -4025,12 +4077,12 @@ tr215:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr216:
+tr219:
{ s->r_type = KNOT_RRTYPE_CNAME; }
{
rdata_tail = s->r_data;
@@ -4038,12 +4090,12 @@ tr216:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr217:
+tr220:
{ s->r_type = KNOT_RRTYPE_CNAME; }
{
rdata_tail = s->r_data;
@@ -4052,13 +4104,13 @@ tr217:
s->line_counter++;
}
goto st5;
-tr225:
+tr228:
{ s->r_type = KNOT_RRTYPE_CSYNC; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr226:
+tr229:
{ s->r_type = KNOT_RRTYPE_CSYNC; }
{
rdata_tail = s->r_data;
@@ -4066,12 +4118,12 @@ tr226:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr227:
+tr230:
{ s->r_type = KNOT_RRTYPE_CSYNC; }
{
rdata_tail = s->r_data;
@@ -4079,12 +4131,12 @@ tr227:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr228:
+tr231:
{ s->r_type = KNOT_RRTYPE_CSYNC; }
{
rdata_tail = s->r_data;
@@ -4093,13 +4145,13 @@ tr228:
s->line_counter++;
}
goto st5;
-tr239:
+tr242:
{ s->r_type = KNOT_RRTYPE_DHCID; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr240:
+tr243:
{ s->r_type = KNOT_RRTYPE_DHCID; }
{
rdata_tail = s->r_data;
@@ -4107,12 +4159,12 @@ tr240:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr241:
+tr244:
{ s->r_type = KNOT_RRTYPE_DHCID; }
{
rdata_tail = s->r_data;
@@ -4120,12 +4172,12 @@ tr241:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr242:
+tr245:
{ s->r_type = KNOT_RRTYPE_DHCID; }
{
rdata_tail = s->r_data;
@@ -4134,13 +4186,13 @@ tr242:
s->line_counter++;
}
goto st5;
-tr251:
+tr254:
{ s->r_type = KNOT_RRTYPE_DNAME; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr252:
+tr255:
{ s->r_type = KNOT_RRTYPE_DNAME; }
{
rdata_tail = s->r_data;
@@ -4148,12 +4200,12 @@ tr252:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr253:
+tr256:
{ s->r_type = KNOT_RRTYPE_DNAME; }
{
rdata_tail = s->r_data;
@@ -4161,12 +4213,12 @@ tr253:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr254:
+tr257:
{ s->r_type = KNOT_RRTYPE_DNAME; }
{
rdata_tail = s->r_data;
@@ -4175,13 +4227,13 @@ tr254:
s->line_counter++;
}
goto st5;
-tr262:
+tr265:
{ s->r_type = KNOT_RRTYPE_DNSKEY; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr263:
+tr266:
{ s->r_type = KNOT_RRTYPE_DNSKEY; }
{
rdata_tail = s->r_data;
@@ -4189,12 +4241,12 @@ tr263:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr264:
+tr267:
{ s->r_type = KNOT_RRTYPE_DNSKEY; }
{
rdata_tail = s->r_data;
@@ -4202,12 +4254,12 @@ tr264:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr265:
+tr268:
{ s->r_type = KNOT_RRTYPE_DNSKEY; }
{
rdata_tail = s->r_data;
@@ -4216,13 +4268,13 @@ tr265:
s->line_counter++;
}
goto st5;
-tr270:
+tr273:
{ s->r_type = KNOT_RRTYPE_DS; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr271:
+tr274:
{ s->r_type = KNOT_RRTYPE_DS; }
{
rdata_tail = s->r_data;
@@ -4230,12 +4282,12 @@ tr271:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr272:
+tr275:
{ s->r_type = KNOT_RRTYPE_DS; }
{
rdata_tail = s->r_data;
@@ -4243,12 +4295,12 @@ tr272:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr273:
+tr276:
{ s->r_type = KNOT_RRTYPE_DS; }
{
rdata_tail = s->r_data;
@@ -4257,13 +4309,13 @@ tr273:
s->line_counter++;
}
goto st5;
-tr283:
+tr286:
{ s->r_type = KNOT_RRTYPE_EUI48; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr284:
+tr287:
{ s->r_type = KNOT_RRTYPE_EUI48; }
{
rdata_tail = s->r_data;
@@ -4271,12 +4323,12 @@ tr284:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr285:
+tr288:
{ s->r_type = KNOT_RRTYPE_EUI48; }
{
rdata_tail = s->r_data;
@@ -4284,12 +4336,12 @@ tr285:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr286:
+tr289:
{ s->r_type = KNOT_RRTYPE_EUI48; }
{
rdata_tail = s->r_data;
@@ -4298,13 +4350,13 @@ tr286:
s->line_counter++;
}
goto st5;
-tr292:
+tr295:
{ s->r_type = KNOT_RRTYPE_EUI64; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr293:
+tr296:
{ s->r_type = KNOT_RRTYPE_EUI64; }
{
rdata_tail = s->r_data;
@@ -4312,12 +4364,12 @@ tr293:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr294:
+tr297:
{ s->r_type = KNOT_RRTYPE_EUI64; }
{
rdata_tail = s->r_data;
@@ -4325,12 +4377,12 @@ tr294:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr295:
+tr298:
{ s->r_type = KNOT_RRTYPE_EUI64; }
{
rdata_tail = s->r_data;
@@ -4339,13 +4391,13 @@ tr295:
s->line_counter++;
}
goto st5;
-tr305:
+tr308:
{ s->r_type = KNOT_RRTYPE_HINFO; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr306:
+tr309:
{ s->r_type = KNOT_RRTYPE_HINFO; }
{
rdata_tail = s->r_data;
@@ -4353,12 +4405,12 @@ tr306:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr307:
+tr310:
{ s->r_type = KNOT_RRTYPE_HINFO; }
{
rdata_tail = s->r_data;
@@ -4366,12 +4418,12 @@ tr307:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr308:
+tr311:
{ s->r_type = KNOT_RRTYPE_HINFO; }
{
rdata_tail = s->r_data;
@@ -4380,13 +4432,13 @@ tr308:
s->line_counter++;
}
goto st5;
-tr316:
+tr319:
{ s->r_type = KNOT_RRTYPE_HTTPS; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr317:
+tr320:
{ s->r_type = KNOT_RRTYPE_HTTPS; }
{
rdata_tail = s->r_data;
@@ -4394,12 +4446,12 @@ tr317:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr318:
+tr321:
{ s->r_type = KNOT_RRTYPE_HTTPS; }
{
rdata_tail = s->r_data;
@@ -4407,12 +4459,12 @@ tr318:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr319:
+tr322:
{ s->r_type = KNOT_RRTYPE_HTTPS; }
{
rdata_tail = s->r_data;
@@ -4421,13 +4473,13 @@ tr319:
s->line_counter++;
}
goto st5;
-tr359:
+tr363:
{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr360:
+tr364:
{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
{
rdata_tail = s->r_data;
@@ -4435,12 +4487,12 @@ tr360:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr361:
+tr365:
{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
{
rdata_tail = s->r_data;
@@ -4448,12 +4500,12 @@ tr361:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr362:
+tr366:
{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
{
rdata_tail = s->r_data;
@@ -4462,13 +4514,13 @@ tr362:
s->line_counter++;
}
goto st5;
-tr370:
+tr374:
{ s->r_type = KNOT_RRTYPE_KEY; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr371:
+tr375:
{ s->r_type = KNOT_RRTYPE_KEY; }
{
rdata_tail = s->r_data;
@@ -4476,12 +4528,12 @@ tr371:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr372:
+tr376:
{ s->r_type = KNOT_RRTYPE_KEY; }
{
rdata_tail = s->r_data;
@@ -4489,12 +4541,12 @@ tr372:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr373:
+tr377:
{ s->r_type = KNOT_RRTYPE_KEY; }
{
rdata_tail = s->r_data;
@@ -4503,13 +4555,13 @@ tr373:
s->line_counter++;
}
goto st5;
-tr378:
+tr382:
{ s->r_type = KNOT_RRTYPE_KX; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr379:
+tr383:
{ s->r_type = KNOT_RRTYPE_KX; }
{
rdata_tail = s->r_data;
@@ -4517,12 +4569,12 @@ tr379:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr380:
+tr384:
{ s->r_type = KNOT_RRTYPE_KX; }
{
rdata_tail = s->r_data;
@@ -4530,12 +4582,12 @@ tr380:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr381:
+tr385:
{ s->r_type = KNOT_RRTYPE_KX; }
{
rdata_tail = s->r_data;
@@ -4544,13 +4596,13 @@ tr381:
s->line_counter++;
}
goto st5;
-tr391:
+tr395:
{ s->r_type = KNOT_RRTYPE_L32; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr392:
+tr396:
{ s->r_type = KNOT_RRTYPE_L32; }
{
rdata_tail = s->r_data;
@@ -4558,12 +4610,12 @@ tr392:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr393:
+tr397:
{ s->r_type = KNOT_RRTYPE_L32; }
{
rdata_tail = s->r_data;
@@ -4571,12 +4623,12 @@ tr393:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr394:
+tr398:
{ s->r_type = KNOT_RRTYPE_L32; }
{
rdata_tail = s->r_data;
@@ -4585,13 +4637,13 @@ tr394:
s->line_counter++;
}
goto st5;
-tr400:
+tr404:
{ s->r_type = KNOT_RRTYPE_L64; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr401:
+tr405:
{ s->r_type = KNOT_RRTYPE_L64; }
{
rdata_tail = s->r_data;
@@ -4599,12 +4651,12 @@ tr401:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr402:
+tr406:
{ s->r_type = KNOT_RRTYPE_L64; }
{
rdata_tail = s->r_data;
@@ -4612,12 +4664,12 @@ tr402:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr403:
+tr407:
{ s->r_type = KNOT_RRTYPE_L64; }
{
rdata_tail = s->r_data;
@@ -4626,13 +4678,13 @@ tr403:
s->line_counter++;
}
goto st5;
-tr409:
+tr413:
{ s->r_type = KNOT_RRTYPE_LOC; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr410:
+tr414:
{ s->r_type = KNOT_RRTYPE_LOC; }
{
rdata_tail = s->r_data;
@@ -4640,12 +4692,12 @@ tr410:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr411:
+tr415:
{ s->r_type = KNOT_RRTYPE_LOC; }
{
rdata_tail = s->r_data;
@@ -4653,12 +4705,12 @@ tr411:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr412:
+tr416:
{ s->r_type = KNOT_RRTYPE_LOC; }
{
rdata_tail = s->r_data;
@@ -4667,13 +4719,13 @@ tr412:
s->line_counter++;
}
goto st5;
-tr417:
+tr421:
{ s->r_type = KNOT_RRTYPE_LP; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr418:
+tr422:
{ s->r_type = KNOT_RRTYPE_LP; }
{
rdata_tail = s->r_data;
@@ -4681,12 +4733,12 @@ tr418:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr419:
+tr423:
{ s->r_type = KNOT_RRTYPE_LP; }
{
rdata_tail = s->r_data;
@@ -4694,12 +4746,12 @@ tr419:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr420:
+tr424:
{ s->r_type = KNOT_RRTYPE_LP; }
{
rdata_tail = s->r_data;
@@ -4708,13 +4760,13 @@ tr420:
s->line_counter++;
}
goto st5;
-tr430:
+tr434:
{ s->r_type = KNOT_RRTYPE_MINFO; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr431:
+tr435:
{ s->r_type = KNOT_RRTYPE_MINFO; }
{
rdata_tail = s->r_data;
@@ -4722,12 +4774,12 @@ tr431:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr432:
+tr436:
{ s->r_type = KNOT_RRTYPE_MINFO; }
{
rdata_tail = s->r_data;
@@ -4735,12 +4787,12 @@ tr432:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr433:
+tr437:
{ s->r_type = KNOT_RRTYPE_MINFO; }
{
rdata_tail = s->r_data;
@@ -4749,13 +4801,13 @@ tr433:
s->line_counter++;
}
goto st5;
-tr438:
+tr442:
{ s->r_type = KNOT_RRTYPE_MX; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr439:
+tr443:
{ s->r_type = KNOT_RRTYPE_MX; }
{
rdata_tail = s->r_data;
@@ -4763,12 +4815,12 @@ tr439:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr440:
+tr444:
{ s->r_type = KNOT_RRTYPE_MX; }
{
rdata_tail = s->r_data;
@@ -4776,12 +4828,12 @@ tr440:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr441:
+tr445:
{ s->r_type = KNOT_RRTYPE_MX; }
{
rdata_tail = s->r_data;
@@ -4790,13 +4842,13 @@ tr441:
s->line_counter++;
}
goto st5;
-tr452:
+tr456:
{ s->r_type = KNOT_RRTYPE_NAPTR; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr453:
+tr457:
{ s->r_type = KNOT_RRTYPE_NAPTR; }
{
rdata_tail = s->r_data;
@@ -4804,12 +4856,12 @@ tr453:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr454:
+tr458:
{ s->r_type = KNOT_RRTYPE_NAPTR; }
{
rdata_tail = s->r_data;
@@ -4817,12 +4869,12 @@ tr454:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr455:
+tr459:
{ s->r_type = KNOT_RRTYPE_NAPTR; }
{
rdata_tail = s->r_data;
@@ -4831,13 +4883,13 @@ tr455:
s->line_counter++;
}
goto st5;
-tr461:
+tr465:
{ s->r_type = KNOT_RRTYPE_NID; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr462:
+tr466:
{ s->r_type = KNOT_RRTYPE_NID; }
{
rdata_tail = s->r_data;
@@ -4845,12 +4897,12 @@ tr462:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr463:
+tr467:
{ s->r_type = KNOT_RRTYPE_NID; }
{
rdata_tail = s->r_data;
@@ -4858,12 +4910,12 @@ tr463:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr464:
+tr468:
{ s->r_type = KNOT_RRTYPE_NID; }
{
rdata_tail = s->r_data;
@@ -4872,13 +4924,13 @@ tr464:
s->line_counter++;
}
goto st5;
-tr469:
+tr473:
{ s->r_type = KNOT_RRTYPE_NS; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr470:
+tr474:
{ s->r_type = KNOT_RRTYPE_NS; }
{
rdata_tail = s->r_data;
@@ -4886,12 +4938,12 @@ tr470:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr471:
+tr475:
{ s->r_type = KNOT_RRTYPE_NS; }
{
rdata_tail = s->r_data;
@@ -4899,12 +4951,12 @@ tr471:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr473:
+tr477:
{ s->r_type = KNOT_RRTYPE_NS; }
{
rdata_tail = s->r_data;
@@ -4913,13 +4965,13 @@ tr473:
s->line_counter++;
}
goto st5;
-tr479:
+tr483:
{ s->r_type = KNOT_RRTYPE_NSEC; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr480:
+tr484:
{ s->r_type = KNOT_RRTYPE_NSEC; }
{
rdata_tail = s->r_data;
@@ -4927,12 +4979,12 @@ tr480:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr481:
+tr485:
{ s->r_type = KNOT_RRTYPE_NSEC; }
{
rdata_tail = s->r_data;
@@ -4940,12 +4992,12 @@ tr481:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr483:
+tr487:
{ s->r_type = KNOT_RRTYPE_NSEC; }
{
rdata_tail = s->r_data;
@@ -4954,13 +5006,13 @@ tr483:
s->line_counter++;
}
goto st5;
-tr488:
+tr492:
{ s->r_type = KNOT_RRTYPE_NSEC3; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr489:
+tr493:
{ s->r_type = KNOT_RRTYPE_NSEC3; }
{
rdata_tail = s->r_data;
@@ -4968,12 +5020,12 @@ tr489:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr490:
+tr494:
{ s->r_type = KNOT_RRTYPE_NSEC3; }
{
rdata_tail = s->r_data;
@@ -4981,12 +5033,12 @@ tr490:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr492:
+tr496:
{ s->r_type = KNOT_RRTYPE_NSEC3; }
{
rdata_tail = s->r_data;
@@ -4995,13 +5047,13 @@ tr492:
s->line_counter++;
}
goto st5;
-tr501:
+tr505:
{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr502:
+tr506:
{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
{
rdata_tail = s->r_data;
@@ -5009,12 +5061,12 @@ tr502:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr503:
+tr507:
{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
{
rdata_tail = s->r_data;
@@ -5022,12 +5074,12 @@ tr503:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr504:
+tr508:
{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
{
rdata_tail = s->r_data;
@@ -5036,13 +5088,13 @@ tr504:
s->line_counter++;
}
goto st5;
-tr518:
+tr522:
{ s->r_type = KNOT_RRTYPE_OPENPGPKEY; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr519:
+tr523:
{ s->r_type = KNOT_RRTYPE_OPENPGPKEY; }
{
rdata_tail = s->r_data;
@@ -5050,12 +5102,12 @@ tr519:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr520:
+tr524:
{ s->r_type = KNOT_RRTYPE_OPENPGPKEY; }
{
rdata_tail = s->r_data;
@@ -5063,12 +5115,12 @@ tr520:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr521:
+tr525:
{ s->r_type = KNOT_RRTYPE_OPENPGPKEY; }
{
rdata_tail = s->r_data;
@@ -5077,13 +5129,13 @@ tr521:
s->line_counter++;
}
goto st5;
-tr528:
+tr532:
{ s->r_type = KNOT_RRTYPE_PTR; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr529:
+tr533:
{ s->r_type = KNOT_RRTYPE_PTR; }
{
rdata_tail = s->r_data;
@@ -5091,12 +5143,12 @@ tr529:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr530:
+tr534:
{ s->r_type = KNOT_RRTYPE_PTR; }
{
rdata_tail = s->r_data;
@@ -5104,12 +5156,12 @@ tr530:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr531:
+tr535:
{ s->r_type = KNOT_RRTYPE_PTR; }
{
rdata_tail = s->r_data;
@@ -5118,13 +5170,13 @@ tr531:
s->line_counter++;
}
goto st5;
-tr539:
+tr543:
{ s->r_type = KNOT_RRTYPE_RP; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr540:
+tr544:
{ s->r_type = KNOT_RRTYPE_RP; }
{
rdata_tail = s->r_data;
@@ -5132,12 +5184,12 @@ tr540:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr541:
+tr545:
{ s->r_type = KNOT_RRTYPE_RP; }
{
rdata_tail = s->r_data;
@@ -5145,12 +5197,12 @@ tr541:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr542:
+tr546:
{ s->r_type = KNOT_RRTYPE_RP; }
{
rdata_tail = s->r_data;
@@ -5159,13 +5211,13 @@ tr542:
s->line_counter++;
}
goto st5;
-tr550:
+tr554:
{ s->r_type = KNOT_RRTYPE_RRSIG; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr551:
+tr555:
{ s->r_type = KNOT_RRTYPE_RRSIG; }
{
rdata_tail = s->r_data;
@@ -5173,12 +5225,12 @@ tr551:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr552:
+tr556:
{ s->r_type = KNOT_RRTYPE_RRSIG; }
{
rdata_tail = s->r_data;
@@ -5186,12 +5238,12 @@ tr552:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr553:
+tr557:
{ s->r_type = KNOT_RRTYPE_RRSIG; }
{
rdata_tail = s->r_data;
@@ -5200,13 +5252,13 @@ tr553:
s->line_counter++;
}
goto st5;
-tr558:
+tr562:
{ s->r_type = KNOT_RRTYPE_RT; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr559:
+tr563:
{ s->r_type = KNOT_RRTYPE_RT; }
{
rdata_tail = s->r_data;
@@ -5214,12 +5266,12 @@ tr559:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr560:
+tr564:
{ s->r_type = KNOT_RRTYPE_RT; }
{
rdata_tail = s->r_data;
@@ -5227,12 +5279,12 @@ tr560:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr561:
+tr565:
{ s->r_type = KNOT_RRTYPE_RT; }
{
rdata_tail = s->r_data;
@@ -5241,13 +5293,13 @@ tr561:
s->line_counter++;
}
goto st5;
-tr576:
+tr580:
{ s->r_type = KNOT_RRTYPE_SMIMEA; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr577:
+tr581:
{ s->r_type = KNOT_RRTYPE_SMIMEA; }
{
rdata_tail = s->r_data;
@@ -5255,12 +5307,12 @@ tr577:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr578:
+tr582:
{ s->r_type = KNOT_RRTYPE_SMIMEA; }
{
rdata_tail = s->r_data;
@@ -5268,12 +5320,12 @@ tr578:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr579:
+tr583:
{ s->r_type = KNOT_RRTYPE_SMIMEA; }
{
rdata_tail = s->r_data;
@@ -5282,13 +5334,13 @@ tr579:
s->line_counter++;
}
goto st5;
-tr585:
+tr589:
{ s->r_type = KNOT_RRTYPE_SOA; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr586:
+tr590:
{ s->r_type = KNOT_RRTYPE_SOA; }
{
rdata_tail = s->r_data;
@@ -5296,12 +5348,12 @@ tr586:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr587:
+tr591:
{ s->r_type = KNOT_RRTYPE_SOA; }
{
rdata_tail = s->r_data;
@@ -5309,12 +5361,12 @@ tr587:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr588:
+tr592:
{ s->r_type = KNOT_RRTYPE_SOA; }
{
rdata_tail = s->r_data;
@@ -5323,13 +5375,13 @@ tr588:
s->line_counter++;
}
goto st5;
-tr594:
+tr598:
{ s->r_type = KNOT_RRTYPE_SPF; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr595:
+tr599:
{ s->r_type = KNOT_RRTYPE_SPF; }
{
rdata_tail = s->r_data;
@@ -5337,12 +5389,12 @@ tr595:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr596:
+tr600:
{ s->r_type = KNOT_RRTYPE_SPF; }
{
rdata_tail = s->r_data;
@@ -5350,12 +5402,12 @@ tr596:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr597:
+tr601:
{ s->r_type = KNOT_RRTYPE_SPF; }
{
rdata_tail = s->r_data;
@@ -5364,13 +5416,13 @@ tr597:
s->line_counter++;
}
goto st5;
-tr603:
+tr607:
{ s->r_type = KNOT_RRTYPE_SRV; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr604:
+tr608:
{ s->r_type = KNOT_RRTYPE_SRV; }
{
rdata_tail = s->r_data;
@@ -5378,12 +5430,12 @@ tr604:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr605:
+tr609:
{ s->r_type = KNOT_RRTYPE_SRV; }
{
rdata_tail = s->r_data;
@@ -5391,12 +5443,12 @@ tr605:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr606:
+tr610:
{ s->r_type = KNOT_RRTYPE_SRV; }
{
rdata_tail = s->r_data;
@@ -5405,13 +5457,13 @@ tr606:
s->line_counter++;
}
goto st5;
-tr614:
+tr618:
{ s->r_type = KNOT_RRTYPE_SSHFP; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr615:
+tr619:
{ s->r_type = KNOT_RRTYPE_SSHFP; }
{
rdata_tail = s->r_data;
@@ -5419,12 +5471,12 @@ tr615:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr616:
+tr620:
{ s->r_type = KNOT_RRTYPE_SSHFP; }
{
rdata_tail = s->r_data;
@@ -5432,12 +5484,12 @@ tr616:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr617:
+tr621:
{ s->r_type = KNOT_RRTYPE_SSHFP; }
{
rdata_tail = s->r_data;
@@ -5446,13 +5498,13 @@ tr617:
s->line_counter++;
}
goto st5;
-tr624:
+tr628:
{ s->r_type = KNOT_RRTYPE_SVCB; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr625:
+tr629:
{ s->r_type = KNOT_RRTYPE_SVCB; }
{
rdata_tail = s->r_data;
@@ -5460,12 +5512,12 @@ tr625:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr626:
+tr630:
{ s->r_type = KNOT_RRTYPE_SVCB; }
{
rdata_tail = s->r_data;
@@ -5473,12 +5525,12 @@ tr626:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr627:
+tr631:
{ s->r_type = KNOT_RRTYPE_SVCB; }
{
rdata_tail = s->r_data;
@@ -5487,13 +5539,13 @@ tr627:
s->line_counter++;
}
goto st5;
-tr637:
+tr641:
{ s->r_type = KNOT_RRTYPE_TLSA; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr638:
+tr642:
{ s->r_type = KNOT_RRTYPE_TLSA; }
{
rdata_tail = s->r_data;
@@ -5501,12 +5553,12 @@ tr638:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr639:
+tr643:
{ s->r_type = KNOT_RRTYPE_TLSA; }
{
rdata_tail = s->r_data;
@@ -5514,12 +5566,12 @@ tr639:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr640:
+tr644:
{ s->r_type = KNOT_RRTYPE_TLSA; }
{
rdata_tail = s->r_data;
@@ -5528,13 +5580,13 @@ tr640:
s->line_counter++;
}
goto st5;
-tr646:
+tr650:
{ s->r_type = KNOT_RRTYPE_TXT; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr647:
+tr651:
{ s->r_type = KNOT_RRTYPE_TXT; }
{
rdata_tail = s->r_data;
@@ -5542,12 +5594,12 @@ tr647:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr648:
+tr652:
{ s->r_type = KNOT_RRTYPE_TXT; }
{
rdata_tail = s->r_data;
@@ -5555,12 +5607,12 @@ tr648:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr649:
+tr653:
{ s->r_type = KNOT_RRTYPE_TXT; }
{
rdata_tail = s->r_data;
@@ -5569,26 +5621,26 @@ tr649:
s->line_counter++;
}
goto st5;
-tr659:
+tr663:
{
if (s->number64 <= UINT16_MAX) {
s->r_type = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
rdata_tail = s->r_data;
}
goto st5;
-tr660:
+tr664:
{
if (s->number64 <= UINT16_MAX) {
s->r_type = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -5597,18 +5649,18 @@ tr660:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr661:
+tr665:
{
if (s->number64 <= UINT16_MAX) {
s->r_type = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -5617,18 +5669,18 @@ tr661:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr663:
+tr667:
{
if (s->number64 <= UINT16_MAX) {
s->r_type = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -5638,13 +5690,13 @@ tr663:
s->line_counter++;
}
goto st5;
-tr670:
+tr674:
{ s->r_type = KNOT_RRTYPE_URI; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr671:
+tr675:
{ s->r_type = KNOT_RRTYPE_URI; }
{
rdata_tail = s->r_data;
@@ -5652,12 +5704,12 @@ tr671:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr672:
+tr676:
{ s->r_type = KNOT_RRTYPE_URI; }
{
rdata_tail = s->r_data;
@@ -5665,12 +5717,12 @@ tr672:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr673:
+tr677:
{ s->r_type = KNOT_RRTYPE_URI; }
{
rdata_tail = s->r_data;
@@ -5679,13 +5731,54 @@ tr673:
s->line_counter++;
}
goto st5;
-tr683:
+tr687:
+ { s->r_type = KNOT_RRTYPE_WALLET; }
+ {
+ rdata_tail = s->r_data;
+ }
+ goto st5;
+tr688:
+ { s->r_type = KNOT_RRTYPE_WALLET; }
+ {
+ rdata_tail = s->r_data;
+ }
+ {
+ if (s->multiline == true) {
+ ERR(ZS_LEFT_PARENTHESIS);
+ p--; {goto st316;}
+ }
+ s->multiline = true;
+ }
+ goto st5;
+tr689:
+ { s->r_type = KNOT_RRTYPE_WALLET; }
+ {
+ rdata_tail = s->r_data;
+ }
+ {
+ if (s->multiline == false) {
+ ERR(ZS_RIGHT_PARENTHESIS);
+ p--; {goto st316;}
+ }
+ s->multiline = false;
+ }
+ goto st5;
+tr690:
+ { s->r_type = KNOT_RRTYPE_WALLET; }
+ {
+ rdata_tail = s->r_data;
+ }
+ {
+ s->line_counter++;
+ }
+ goto st5;
+tr700:
{ s->r_type = KNOT_RRTYPE_ZONEMD; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr684:
+tr701:
{ s->r_type = KNOT_RRTYPE_ZONEMD; }
{
rdata_tail = s->r_data;
@@ -5693,12 +5786,12 @@ tr684:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr685:
+tr702:
{ s->r_type = KNOT_RRTYPE_ZONEMD; }
{
rdata_tail = s->r_data;
@@ -5706,12 +5799,12 @@ tr685:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr686:
+tr703:
{ s->r_type = KNOT_RRTYPE_ZONEMD; }
{
rdata_tail = s->r_data;
@@ -5720,13 +5813,13 @@ tr686:
s->line_counter++;
}
goto st5;
-tr933:
+tr951:
{ s->r_type = KNOT_RRTYPE_AAAA; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr934:
+tr952:
{ s->r_type = KNOT_RRTYPE_AAAA; }
{
rdata_tail = s->r_data;
@@ -5734,12 +5827,12 @@ tr934:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr935:
+tr953:
{ s->r_type = KNOT_RRTYPE_AAAA; }
{
rdata_tail = s->r_data;
@@ -5747,12 +5840,12 @@ tr935:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr936:
+tr954:
{ s->r_type = KNOT_RRTYPE_AAAA; }
{
rdata_tail = s->r_data;
@@ -5761,13 +5854,13 @@ tr936:
s->line_counter++;
}
goto st5;
-tr944:
+tr962:
{ s->r_type = KNOT_RRTYPE_AFSDB; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr945:
+tr963:
{ s->r_type = KNOT_RRTYPE_AFSDB; }
{
rdata_tail = s->r_data;
@@ -5775,12 +5868,12 @@ tr945:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr946:
+tr964:
{ s->r_type = KNOT_RRTYPE_AFSDB; }
{
rdata_tail = s->r_data;
@@ -5788,12 +5881,12 @@ tr946:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr947:
+tr965:
{ s->r_type = KNOT_RRTYPE_AFSDB; }
{
rdata_tail = s->r_data;
@@ -5802,13 +5895,13 @@ tr947:
s->line_counter++;
}
goto st5;
-tr953:
+tr971:
{ s->r_type = KNOT_RRTYPE_APL; }
{
rdata_tail = s->r_data;
}
goto st5;
-tr954:
+tr972:
{ s->r_type = KNOT_RRTYPE_APL; }
{
rdata_tail = s->r_data;
@@ -5816,12 +5909,12 @@ tr954:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st5;
-tr955:
+tr973:
{ s->r_type = KNOT_RRTYPE_APL; }
{
rdata_tail = s->r_data;
@@ -5829,12 +5922,12 @@ tr955:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st5;
-tr956:
+tr974:
{ s->r_type = KNOT_RRTYPE_APL; }
{
rdata_tail = s->r_data;
@@ -5866,26 +5959,26 @@ case 5:
switch( _widec ) {
case 9: goto st5;
case 32: goto st5;
- case 40: goto tr76;
- case 41: goto tr77;
- case 92: goto tr78;
- case 3082: goto tr79;
- case 3131: goto tr80;
- case 3338: goto tr73;
- case 3387: goto tr73;
- case 3594: goto tr81;
- case 3643: goto tr82;
+ case 40: goto tr78;
+ case 41: goto tr79;
+ case 92: goto tr80;
+ case 3082: goto tr81;
+ case 3131: goto tr82;
+ case 3338: goto tr75;
+ case 3387: goto tr75;
+ case 3594: goto tr83;
+ case 3643: goto tr84;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr73;
+ goto tr75;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr73;
+ goto tr75;
} else
- goto tr73;
- goto tr75;
-tr70:
+ goto tr75;
+ goto tr77;
+tr72:
{ s->r_type = KNOT_RRTYPE_A; }
{
rdata_tail = s->r_data;
@@ -5894,182 +5987,184 @@ tr70:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr73:
+tr75:
{
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr97:
+tr99:
{
if (*wrap == WRAP_NONE) {
p--;
@@ -6079,92 +6174,93 @@ tr97:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr98:
+tr100:
{
switch (s->r_type) {
// Next types must not have empty rdata.
@@ -6215,15 +6311,16 @@ tr98:
case KNOT_RRTYPE_CAA:
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st540;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st555;}
// Next types can have empty rdata.
case KNOT_RRTYPE_APL:
default:
- {stack[top++] = 6;goto st549;}
+ {stack[top++] = 6;goto st564;}
}
}
goto st6;
-tr168:
+tr171:
{ s->r_type = KNOT_RRTYPE_CAA; }
{
rdata_tail = s->r_data;
@@ -6232,92 +6329,93 @@ tr168:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr190:
+tr193:
{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
{
rdata_tail = s->r_data;
@@ -6326,92 +6424,93 @@ tr190:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr198:
+tr201:
{ s->r_type = KNOT_RRTYPE_CDS; }
{
rdata_tail = s->r_data;
@@ -6420,92 +6519,93 @@ tr198:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr208:
+tr211:
{ s->r_type = KNOT_RRTYPE_CERT; }
{
rdata_tail = s->r_data;
@@ -6514,92 +6614,93 @@ tr208:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr219:
+tr222:
{ s->r_type = KNOT_RRTYPE_CNAME; }
{
rdata_tail = s->r_data;
@@ -6608,92 +6709,93 @@ tr219:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr230:
+tr233:
{ s->r_type = KNOT_RRTYPE_CSYNC; }
{
rdata_tail = s->r_data;
@@ -6702,92 +6804,93 @@ tr230:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr244:
+tr247:
{ s->r_type = KNOT_RRTYPE_DHCID; }
{
rdata_tail = s->r_data;
@@ -6796,92 +6899,93 @@ tr244:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr256:
+tr259:
{ s->r_type = KNOT_RRTYPE_DNAME; }
{
rdata_tail = s->r_data;
@@ -6890,92 +6994,93 @@ tr256:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr267:
+tr270:
{ s->r_type = KNOT_RRTYPE_DNSKEY; }
{
rdata_tail = s->r_data;
@@ -6984,92 +7089,93 @@ tr267:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr275:
+tr278:
{ s->r_type = KNOT_RRTYPE_DS; }
{
rdata_tail = s->r_data;
@@ -7078,92 +7184,93 @@ tr275:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr288:
+tr291:
{ s->r_type = KNOT_RRTYPE_EUI48; }
{
rdata_tail = s->r_data;
@@ -7172,92 +7279,93 @@ tr288:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr297:
+tr300:
{ s->r_type = KNOT_RRTYPE_EUI64; }
{
rdata_tail = s->r_data;
@@ -7266,92 +7374,93 @@ tr297:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr310:
+tr313:
{ s->r_type = KNOT_RRTYPE_HINFO; }
{
rdata_tail = s->r_data;
@@ -7360,92 +7469,93 @@ tr310:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr321:
+tr324:
{ s->r_type = KNOT_RRTYPE_HTTPS; }
{
rdata_tail = s->r_data;
@@ -7454,92 +7564,93 @@ tr321:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr364:
+tr368:
{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
{
rdata_tail = s->r_data;
@@ -7548,92 +7659,93 @@ tr364:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr375:
+tr379:
{ s->r_type = KNOT_RRTYPE_KEY; }
{
rdata_tail = s->r_data;
@@ -7642,92 +7754,93 @@ tr375:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr383:
+tr387:
{ s->r_type = KNOT_RRTYPE_KX; }
{
rdata_tail = s->r_data;
@@ -7736,92 +7849,93 @@ tr383:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr396:
+tr400:
{ s->r_type = KNOT_RRTYPE_L32; }
{
rdata_tail = s->r_data;
@@ -7830,92 +7944,93 @@ tr396:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr405:
+tr409:
{ s->r_type = KNOT_RRTYPE_L64; }
{
rdata_tail = s->r_data;
@@ -7924,92 +8039,93 @@ tr405:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr414:
+tr418:
{ s->r_type = KNOT_RRTYPE_LOC; }
{
rdata_tail = s->r_data;
@@ -8018,92 +8134,93 @@ tr414:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr422:
+tr426:
{ s->r_type = KNOT_RRTYPE_LP; }
{
rdata_tail = s->r_data;
@@ -8112,92 +8229,93 @@ tr422:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr435:
+tr439:
{ s->r_type = KNOT_RRTYPE_MINFO; }
{
rdata_tail = s->r_data;
@@ -8206,92 +8324,93 @@ tr435:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr443:
+tr447:
{ s->r_type = KNOT_RRTYPE_MX; }
{
rdata_tail = s->r_data;
@@ -8300,92 +8419,93 @@ tr443:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr457:
+tr461:
{ s->r_type = KNOT_RRTYPE_NAPTR; }
{
rdata_tail = s->r_data;
@@ -8394,92 +8514,93 @@ tr457:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr466:
+tr470:
{ s->r_type = KNOT_RRTYPE_NID; }
{
rdata_tail = s->r_data;
@@ -8488,92 +8609,93 @@ tr466:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr475:
+tr479:
{ s->r_type = KNOT_RRTYPE_NS; }
{
rdata_tail = s->r_data;
@@ -8582,92 +8704,93 @@ tr475:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr485:
+tr489:
{ s->r_type = KNOT_RRTYPE_NSEC; }
{
rdata_tail = s->r_data;
@@ -8676,92 +8799,93 @@ tr485:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr494:
+tr498:
{ s->r_type = KNOT_RRTYPE_NSEC3; }
{
rdata_tail = s->r_data;
@@ -8770,92 +8894,93 @@ tr494:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr506:
+tr510:
{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
{
rdata_tail = s->r_data;
@@ -8864,92 +8989,93 @@ tr506:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr523:
+tr527:
{ s->r_type = KNOT_RRTYPE_OPENPGPKEY; }
{
rdata_tail = s->r_data;
@@ -8958,92 +9084,93 @@ tr523:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr533:
+tr537:
{ s->r_type = KNOT_RRTYPE_PTR; }
{
rdata_tail = s->r_data;
@@ -9052,92 +9179,93 @@ tr533:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr544:
+tr548:
{ s->r_type = KNOT_RRTYPE_RP; }
{
rdata_tail = s->r_data;
@@ -9146,92 +9274,93 @@ tr544:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr555:
+tr559:
{ s->r_type = KNOT_RRTYPE_RRSIG; }
{
rdata_tail = s->r_data;
@@ -9240,92 +9369,93 @@ tr555:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr563:
+tr567:
{ s->r_type = KNOT_RRTYPE_RT; }
{
rdata_tail = s->r_data;
@@ -9334,92 +9464,93 @@ tr563:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr581:
+tr585:
{ s->r_type = KNOT_RRTYPE_SMIMEA; }
{
rdata_tail = s->r_data;
@@ -9428,92 +9559,93 @@ tr581:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr590:
+tr594:
{ s->r_type = KNOT_RRTYPE_SOA; }
{
rdata_tail = s->r_data;
@@ -9522,92 +9654,93 @@ tr590:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr599:
+tr603:
{ s->r_type = KNOT_RRTYPE_SPF; }
{
rdata_tail = s->r_data;
@@ -9616,92 +9749,93 @@ tr599:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr608:
+tr612:
{ s->r_type = KNOT_RRTYPE_SRV; }
{
rdata_tail = s->r_data;
@@ -9710,92 +9844,93 @@ tr608:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr619:
+tr623:
{ s->r_type = KNOT_RRTYPE_SSHFP; }
{
rdata_tail = s->r_data;
@@ -9804,92 +9939,93 @@ tr619:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr629:
+tr633:
{ s->r_type = KNOT_RRTYPE_SVCB; }
{
rdata_tail = s->r_data;
@@ -9898,92 +10034,93 @@ tr629:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr642:
+tr646:
{ s->r_type = KNOT_RRTYPE_TLSA; }
{
rdata_tail = s->r_data;
@@ -9992,92 +10129,93 @@ tr642:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr651:
+tr655:
{ s->r_type = KNOT_RRTYPE_TXT; }
{
rdata_tail = s->r_data;
@@ -10086,98 +10224,99 @@ tr651:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr665:
+tr669:
{
if (s->number64 <= UINT16_MAX) {
s->r_type = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -10187,92 +10326,93 @@ tr665:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr675:
+tr679:
{ s->r_type = KNOT_RRTYPE_URI; }
{
rdata_tail = s->r_data;
@@ -10281,92 +10421,188 @@ tr675:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
+ {stack[top++] = 6;goto st932;}
+ case KNOT_RRTYPE_TXT:
+ case KNOT_RRTYPE_SPF:
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
+ case KNOT_RRTYPE_AAAA:
+ {stack[top++] = 6;goto st941;}
+ case KNOT_RRTYPE_LOC:
+ {stack[top++] = 6;goto st943;}
+ case KNOT_RRTYPE_SRV:
+ {stack[top++] = 6;goto st998;}
+ case KNOT_RRTYPE_NAPTR:
+ {stack[top++] = 6;goto st1009;}
+ case KNOT_RRTYPE_CERT:
+ {stack[top++] = 6;goto st1026;}
+ case KNOT_RRTYPE_APL:
+ {stack[top++] = 6;goto st1037;}
+ case KNOT_RRTYPE_DS:
+ case KNOT_RRTYPE_CDS:
+ {stack[top++] = 6;goto st1048;}
+ case KNOT_RRTYPE_SSHFP:
+ {stack[top++] = 6;goto st1061;}
+ case KNOT_RRTYPE_IPSECKEY:
+ {stack[top++] = 6;goto st1071;}
+ case KNOT_RRTYPE_RRSIG:
+ {stack[top++] = 6;goto st1110;}
+ case KNOT_RRTYPE_NSEC:
+ {stack[top++] = 6;goto st1302;}
+ case KNOT_RRTYPE_KEY:
+ case KNOT_RRTYPE_DNSKEY:
+ case KNOT_RRTYPE_CDNSKEY:
+ {stack[top++] = 6;goto st1305;}
+ case KNOT_RRTYPE_DHCID:
+ case KNOT_RRTYPE_OPENPGPKEY:
+ {stack[top++] = 6;goto st1316;}
+ case KNOT_RRTYPE_NSEC3:
+ {stack[top++] = 6;goto st1318;}
+ case KNOT_RRTYPE_NSEC3PARAM:
+ {stack[top++] = 6;goto st1347;}
+ case KNOT_RRTYPE_TLSA:
+ case KNOT_RRTYPE_SMIMEA:
+ {stack[top++] = 6;goto st1360;}
+ case KNOT_RRTYPE_CSYNC:
+ {stack[top++] = 6;goto st1373;}
+ case KNOT_RRTYPE_ZONEMD:
+ {stack[top++] = 6;goto st1379;}
+ case KNOT_RRTYPE_NID:
+ case KNOT_RRTYPE_L64:
+ {stack[top++] = 6;goto st1397;}
+ case KNOT_RRTYPE_L32:
+ {stack[top++] = 6;goto st1392;}
+ case KNOT_RRTYPE_EUI48:
+ {stack[top++] = 6;goto st1410;}
+ case KNOT_RRTYPE_EUI64:
+ {stack[top++] = 6;goto st1416;}
+ case KNOT_RRTYPE_URI:
+ {stack[top++] = 6;goto st1422;}
+ case KNOT_RRTYPE_CAA:
+ {stack[top++] = 6;goto st1430;}
+ case KNOT_RRTYPE_SVCB:
+ case KNOT_RRTYPE_HTTPS:
+ {stack[top++] = 6;goto st1438;}
+ default:
+ WARN(ZS_CANNOT_TEXT_DATA);
+ {goto st316;}
+ }
+ }
+ goto st6;
+tr692:
+ { s->r_type = KNOT_RRTYPE_WALLET; }
+ {
+ rdata_tail = s->r_data;
+ }
+ {
+ p--;
+ switch (s->r_type) {
+ case KNOT_RRTYPE_A:
+ {stack[top++] = 6;goto st886;}
+ case KNOT_RRTYPE_NS:
+ case KNOT_RRTYPE_CNAME:
+ case KNOT_RRTYPE_PTR:
+ case KNOT_RRTYPE_DNAME:
+ {stack[top++] = 6;goto st888;}
+ case KNOT_RRTYPE_SOA:
{stack[top++] = 6;goto st890;}
+ case KNOT_RRTYPE_HINFO:
+ {stack[top++] = 6;goto st922;}
+ case KNOT_RRTYPE_MINFO:
+ case KNOT_RRTYPE_RP:
+ {stack[top++] = 6;goto st927;}
+ case KNOT_RRTYPE_MX:
+ case KNOT_RRTYPE_AFSDB:
+ case KNOT_RRTYPE_RT:
+ case KNOT_RRTYPE_KX:
+ case KNOT_RRTYPE_LP:
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr688:
+tr705:
{ s->r_type = KNOT_RRTYPE_ZONEMD; }
{
rdata_tail = s->r_data;
@@ -10375,92 +10611,93 @@ tr688:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr938:
+tr956:
{ s->r_type = KNOT_RRTYPE_AAAA; }
{
rdata_tail = s->r_data;
@@ -10469,92 +10706,93 @@ tr938:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr949:
+tr967:
{ s->r_type = KNOT_RRTYPE_AFSDB; }
{
rdata_tail = s->r_data;
@@ -10563,92 +10801,93 @@ tr949:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
-tr958:
+tr976:
{ s->r_type = KNOT_RRTYPE_APL; }
{
rdata_tail = s->r_data;
@@ -10657,88 +10896,89 @@ tr958:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 6;goto st844;}
+ {stack[top++] = 6;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 6;goto st846;}
+ {stack[top++] = 6;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 6;goto st848;}
+ {stack[top++] = 6;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 6;goto st880;}
+ {stack[top++] = 6;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 6;goto st885;}
+ {stack[top++] = 6;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 6;goto st890;}
+ {stack[top++] = 6;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 6;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 6;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 6;goto st899;}
+ {stack[top++] = 6;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 6;goto st901;}
+ {stack[top++] = 6;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 6;goto st956;}
+ {stack[top++] = 6;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 6;goto st967;}
+ {stack[top++] = 6;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 6;goto st984;}
+ {stack[top++] = 6;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 6;goto st995;}
+ {stack[top++] = 6;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 6;goto st1006;}
+ {stack[top++] = 6;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 6;goto st1019;}
+ {stack[top++] = 6;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 6;goto st1029;}
+ {stack[top++] = 6;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 6;goto st1068;}
+ {stack[top++] = 6;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 6;goto st1254;}
+ {stack[top++] = 6;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 6;goto st1257;}
+ {stack[top++] = 6;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 6;goto st1268;}
+ {stack[top++] = 6;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 6;goto st1270;}
+ {stack[top++] = 6;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 6;goto st1299;}
+ {stack[top++] = 6;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 6;goto st1312;}
+ {stack[top++] = 6;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 6;goto st1325;}
+ {stack[top++] = 6;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 6;goto st1331;}
+ {stack[top++] = 6;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 6;goto st1349;}
+ {stack[top++] = 6;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 6;goto st1344;}
+ {stack[top++] = 6;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 6;goto st1362;}
+ {stack[top++] = 6;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 6;goto st1368;}
+ {stack[top++] = 6;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 6;goto st1374;}
+ {stack[top++] = 6;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 6;goto st1382;}
+ {stack[top++] = 6;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 6;goto st1390;}
+ {stack[top++] = 6;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st6;
@@ -10759,41 +10999,41 @@ case 6:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr84;
- case 32: goto tr84;
- case 40: goto tr85;
- case 41: goto tr86;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr87;
- case 2107: goto tr88;
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
}
- goto tr83;
-tr91:
+ goto tr85;
+tr93:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st7;
-tr92:
+tr94:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st7;
-tr84:
+tr86:
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
goto st7;
-tr85:
+tr87:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -10801,12 +11041,12 @@ tr85:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st7;
-tr86:
+tr88:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -10814,7 +11054,7 @@ tr86:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -10838,20 +11078,20 @@ case 7:
switch( _widec ) {
case 9: goto st7;
case 32: goto st7;
- case 40: goto tr91;
- case 41: goto tr92;
- case 1802: goto tr93;
- case 1851: goto tr94;
- case 2058: goto tr93;
- case 2107: goto tr94;
- }
- goto tr89;
-tr94:
+ case 40: goto tr93;
+ case 41: goto tr94;
+ case 1802: goto tr95;
+ case 1851: goto tr96;
+ case 2058: goto tr95;
+ case 2107: goto tr96;
+ }
+ goto tr91;
+tr96:
{
s->buffer_length = 0;
}
goto st8;
-tr88:
+tr90:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -10860,14 +11100,14 @@ tr88:
s->buffer_length = 0;
}
goto st8;
-tr95:
+tr97:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
goto st8;
-tr849:
+tr867:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -10881,7 +11121,7 @@ tr849:
}
}
goto st8;
-tr853:
+tr871:
{
s->buffer_length = 0;
}
@@ -10896,9 +11136,9 @@ st8:
goto _test_eof8;
case 8:
if ( (*p) == 10 )
- goto tr96;
- goto tr95;
-tr78:
+ goto tr98;
+ goto tr97;
+tr80:
{
if (pe - p == 1) {
*wrap = WRAP_DETECTED;
@@ -10910,14 +11150,14 @@ st9:
goto _test_eof9;
case 9:
if ( (*p) == 35 )
- goto tr98;
- goto tr97;
-tr80:
+ goto tr100;
+ goto tr99;
+tr82:
{
s->buffer_length = 0;
}
goto st10;
-tr69:
+tr71:
{ s->r_type = KNOT_RRTYPE_A; }
{
rdata_tail = s->r_data;
@@ -10926,14 +11166,14 @@ tr69:
s->buffer_length = 0;
}
goto st10;
-tr99:
+tr101:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
goto st10;
-tr167:
+tr170:
{ s->r_type = KNOT_RRTYPE_CAA; }
{
rdata_tail = s->r_data;
@@ -10942,7 +11182,7 @@ tr167:
s->buffer_length = 0;
}
goto st10;
-tr189:
+tr192:
{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
{
rdata_tail = s->r_data;
@@ -10951,7 +11191,7 @@ tr189:
s->buffer_length = 0;
}
goto st10;
-tr197:
+tr200:
{ s->r_type = KNOT_RRTYPE_CDS; }
{
rdata_tail = s->r_data;
@@ -10960,7 +11200,7 @@ tr197:
s->buffer_length = 0;
}
goto st10;
-tr207:
+tr210:
{ s->r_type = KNOT_RRTYPE_CERT; }
{
rdata_tail = s->r_data;
@@ -10969,7 +11209,7 @@ tr207:
s->buffer_length = 0;
}
goto st10;
-tr218:
+tr221:
{ s->r_type = KNOT_RRTYPE_CNAME; }
{
rdata_tail = s->r_data;
@@ -10978,7 +11218,7 @@ tr218:
s->buffer_length = 0;
}
goto st10;
-tr229:
+tr232:
{ s->r_type = KNOT_RRTYPE_CSYNC; }
{
rdata_tail = s->r_data;
@@ -10987,7 +11227,7 @@ tr229:
s->buffer_length = 0;
}
goto st10;
-tr243:
+tr246:
{ s->r_type = KNOT_RRTYPE_DHCID; }
{
rdata_tail = s->r_data;
@@ -10996,7 +11236,7 @@ tr243:
s->buffer_length = 0;
}
goto st10;
-tr255:
+tr258:
{ s->r_type = KNOT_RRTYPE_DNAME; }
{
rdata_tail = s->r_data;
@@ -11005,7 +11245,7 @@ tr255:
s->buffer_length = 0;
}
goto st10;
-tr266:
+tr269:
{ s->r_type = KNOT_RRTYPE_DNSKEY; }
{
rdata_tail = s->r_data;
@@ -11014,7 +11254,7 @@ tr266:
s->buffer_length = 0;
}
goto st10;
-tr274:
+tr277:
{ s->r_type = KNOT_RRTYPE_DS; }
{
rdata_tail = s->r_data;
@@ -11023,7 +11263,7 @@ tr274:
s->buffer_length = 0;
}
goto st10;
-tr287:
+tr290:
{ s->r_type = KNOT_RRTYPE_EUI48; }
{
rdata_tail = s->r_data;
@@ -11032,7 +11272,7 @@ tr287:
s->buffer_length = 0;
}
goto st10;
-tr296:
+tr299:
{ s->r_type = KNOT_RRTYPE_EUI64; }
{
rdata_tail = s->r_data;
@@ -11041,7 +11281,7 @@ tr296:
s->buffer_length = 0;
}
goto st10;
-tr309:
+tr312:
{ s->r_type = KNOT_RRTYPE_HINFO; }
{
rdata_tail = s->r_data;
@@ -11050,7 +11290,7 @@ tr309:
s->buffer_length = 0;
}
goto st10;
-tr320:
+tr323:
{ s->r_type = KNOT_RRTYPE_HTTPS; }
{
rdata_tail = s->r_data;
@@ -11059,7 +11299,7 @@ tr320:
s->buffer_length = 0;
}
goto st10;
-tr363:
+tr367:
{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
{
rdata_tail = s->r_data;
@@ -11068,7 +11308,7 @@ tr363:
s->buffer_length = 0;
}
goto st10;
-tr374:
+tr378:
{ s->r_type = KNOT_RRTYPE_KEY; }
{
rdata_tail = s->r_data;
@@ -11077,7 +11317,7 @@ tr374:
s->buffer_length = 0;
}
goto st10;
-tr382:
+tr386:
{ s->r_type = KNOT_RRTYPE_KX; }
{
rdata_tail = s->r_data;
@@ -11086,7 +11326,7 @@ tr382:
s->buffer_length = 0;
}
goto st10;
-tr395:
+tr399:
{ s->r_type = KNOT_RRTYPE_L32; }
{
rdata_tail = s->r_data;
@@ -11095,7 +11335,7 @@ tr395:
s->buffer_length = 0;
}
goto st10;
-tr404:
+tr408:
{ s->r_type = KNOT_RRTYPE_L64; }
{
rdata_tail = s->r_data;
@@ -11104,7 +11344,7 @@ tr404:
s->buffer_length = 0;
}
goto st10;
-tr413:
+tr417:
{ s->r_type = KNOT_RRTYPE_LOC; }
{
rdata_tail = s->r_data;
@@ -11113,7 +11353,7 @@ tr413:
s->buffer_length = 0;
}
goto st10;
-tr421:
+tr425:
{ s->r_type = KNOT_RRTYPE_LP; }
{
rdata_tail = s->r_data;
@@ -11122,7 +11362,7 @@ tr421:
s->buffer_length = 0;
}
goto st10;
-tr434:
+tr438:
{ s->r_type = KNOT_RRTYPE_MINFO; }
{
rdata_tail = s->r_data;
@@ -11131,7 +11371,7 @@ tr434:
s->buffer_length = 0;
}
goto st10;
-tr442:
+tr446:
{ s->r_type = KNOT_RRTYPE_MX; }
{
rdata_tail = s->r_data;
@@ -11140,7 +11380,7 @@ tr442:
s->buffer_length = 0;
}
goto st10;
-tr456:
+tr460:
{ s->r_type = KNOT_RRTYPE_NAPTR; }
{
rdata_tail = s->r_data;
@@ -11149,7 +11389,7 @@ tr456:
s->buffer_length = 0;
}
goto st10;
-tr465:
+tr469:
{ s->r_type = KNOT_RRTYPE_NID; }
{
rdata_tail = s->r_data;
@@ -11158,7 +11398,7 @@ tr465:
s->buffer_length = 0;
}
goto st10;
-tr474:
+tr478:
{ s->r_type = KNOT_RRTYPE_NS; }
{
rdata_tail = s->r_data;
@@ -11167,7 +11407,7 @@ tr474:
s->buffer_length = 0;
}
goto st10;
-tr484:
+tr488:
{ s->r_type = KNOT_RRTYPE_NSEC; }
{
rdata_tail = s->r_data;
@@ -11176,7 +11416,7 @@ tr484:
s->buffer_length = 0;
}
goto st10;
-tr493:
+tr497:
{ s->r_type = KNOT_RRTYPE_NSEC3; }
{
rdata_tail = s->r_data;
@@ -11185,7 +11425,7 @@ tr493:
s->buffer_length = 0;
}
goto st10;
-tr505:
+tr509:
{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
{
rdata_tail = s->r_data;
@@ -11194,7 +11434,7 @@ tr505:
s->buffer_length = 0;
}
goto st10;
-tr522:
+tr526:
{ s->r_type = KNOT_RRTYPE_OPENPGPKEY; }
{
rdata_tail = s->r_data;
@@ -11203,7 +11443,7 @@ tr522:
s->buffer_length = 0;
}
goto st10;
-tr532:
+tr536:
{ s->r_type = KNOT_RRTYPE_PTR; }
{
rdata_tail = s->r_data;
@@ -11212,7 +11452,7 @@ tr532:
s->buffer_length = 0;
}
goto st10;
-tr543:
+tr547:
{ s->r_type = KNOT_RRTYPE_RP; }
{
rdata_tail = s->r_data;
@@ -11221,7 +11461,7 @@ tr543:
s->buffer_length = 0;
}
goto st10;
-tr554:
+tr558:
{ s->r_type = KNOT_RRTYPE_RRSIG; }
{
rdata_tail = s->r_data;
@@ -11230,7 +11470,7 @@ tr554:
s->buffer_length = 0;
}
goto st10;
-tr562:
+tr566:
{ s->r_type = KNOT_RRTYPE_RT; }
{
rdata_tail = s->r_data;
@@ -11239,7 +11479,7 @@ tr562:
s->buffer_length = 0;
}
goto st10;
-tr580:
+tr584:
{ s->r_type = KNOT_RRTYPE_SMIMEA; }
{
rdata_tail = s->r_data;
@@ -11248,7 +11488,7 @@ tr580:
s->buffer_length = 0;
}
goto st10;
-tr589:
+tr593:
{ s->r_type = KNOT_RRTYPE_SOA; }
{
rdata_tail = s->r_data;
@@ -11257,7 +11497,7 @@ tr589:
s->buffer_length = 0;
}
goto st10;
-tr598:
+tr602:
{ s->r_type = KNOT_RRTYPE_SPF; }
{
rdata_tail = s->r_data;
@@ -11266,7 +11506,7 @@ tr598:
s->buffer_length = 0;
}
goto st10;
-tr607:
+tr611:
{ s->r_type = KNOT_RRTYPE_SRV; }
{
rdata_tail = s->r_data;
@@ -11275,7 +11515,7 @@ tr607:
s->buffer_length = 0;
}
goto st10;
-tr618:
+tr622:
{ s->r_type = KNOT_RRTYPE_SSHFP; }
{
rdata_tail = s->r_data;
@@ -11284,7 +11524,7 @@ tr618:
s->buffer_length = 0;
}
goto st10;
-tr628:
+tr632:
{ s->r_type = KNOT_RRTYPE_SVCB; }
{
rdata_tail = s->r_data;
@@ -11293,7 +11533,7 @@ tr628:
s->buffer_length = 0;
}
goto st10;
-tr641:
+tr645:
{ s->r_type = KNOT_RRTYPE_TLSA; }
{
rdata_tail = s->r_data;
@@ -11302,7 +11542,7 @@ tr641:
s->buffer_length = 0;
}
goto st10;
-tr650:
+tr654:
{ s->r_type = KNOT_RRTYPE_TXT; }
{
rdata_tail = s->r_data;
@@ -11311,13 +11551,13 @@ tr650:
s->buffer_length = 0;
}
goto st10;
-tr664:
+tr668:
{
if (s->number64 <= UINT16_MAX) {
s->r_type = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -11327,7 +11567,7 @@ tr664:
s->buffer_length = 0;
}
goto st10;
-tr674:
+tr678:
{ s->r_type = KNOT_RRTYPE_URI; }
{
rdata_tail = s->r_data;
@@ -11336,7 +11576,16 @@ tr674:
s->buffer_length = 0;
}
goto st10;
-tr687:
+tr691:
+ { s->r_type = KNOT_RRTYPE_WALLET; }
+ {
+ rdata_tail = s->r_data;
+ }
+ {
+ s->buffer_length = 0;
+ }
+ goto st10;
+tr704:
{ s->r_type = KNOT_RRTYPE_ZONEMD; }
{
rdata_tail = s->r_data;
@@ -11345,7 +11594,7 @@ tr687:
s->buffer_length = 0;
}
goto st10;
-tr937:
+tr955:
{ s->r_type = KNOT_RRTYPE_AAAA; }
{
rdata_tail = s->r_data;
@@ -11354,7 +11603,7 @@ tr937:
s->buffer_length = 0;
}
goto st10;
-tr948:
+tr966:
{ s->r_type = KNOT_RRTYPE_AFSDB; }
{
rdata_tail = s->r_data;
@@ -11363,7 +11612,7 @@ tr948:
s->buffer_length = 0;
}
goto st10;
-tr957:
+tr975:
{ s->r_type = KNOT_RRTYPE_APL; }
{
rdata_tail = s->r_data;
@@ -11395,11 +11644,11 @@ case 10:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr100;
+ goto tr102;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr99;
- goto tr75;
-tr71:
+ goto tr101;
+ goto tr77;
+tr73:
{ s->r_type = KNOT_RRTYPE_A; }
{
rdata_tail = s->r_data;
@@ -11411,92 +11660,93 @@ tr71:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr81:
+tr83:
{
s->line_counter++;
}
@@ -11504,92 +11754,93 @@ tr81:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr169:
+tr172:
{ s->r_type = KNOT_RRTYPE_CAA; }
{
rdata_tail = s->r_data;
@@ -11601,92 +11852,93 @@ tr169:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr191:
+tr194:
{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
{
rdata_tail = s->r_data;
@@ -11698,92 +11950,93 @@ tr191:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr199:
+tr202:
{ s->r_type = KNOT_RRTYPE_CDS; }
{
rdata_tail = s->r_data;
@@ -11795,92 +12048,93 @@ tr199:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr209:
+tr212:
{ s->r_type = KNOT_RRTYPE_CERT; }
{
rdata_tail = s->r_data;
@@ -11892,92 +12146,93 @@ tr209:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr220:
+tr223:
{ s->r_type = KNOT_RRTYPE_CNAME; }
{
rdata_tail = s->r_data;
@@ -11989,92 +12244,93 @@ tr220:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr231:
+tr234:
{ s->r_type = KNOT_RRTYPE_CSYNC; }
{
rdata_tail = s->r_data;
@@ -12086,92 +12342,93 @@ tr231:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr245:
+tr248:
{ s->r_type = KNOT_RRTYPE_DHCID; }
{
rdata_tail = s->r_data;
@@ -12183,92 +12440,93 @@ tr245:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr257:
+tr260:
{ s->r_type = KNOT_RRTYPE_DNAME; }
{
rdata_tail = s->r_data;
@@ -12280,92 +12538,93 @@ tr257:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr268:
+tr271:
{ s->r_type = KNOT_RRTYPE_DNSKEY; }
{
rdata_tail = s->r_data;
@@ -12377,92 +12636,93 @@ tr268:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr276:
+tr279:
{ s->r_type = KNOT_RRTYPE_DS; }
{
rdata_tail = s->r_data;
@@ -12474,92 +12734,93 @@ tr276:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr289:
+tr292:
{ s->r_type = KNOT_RRTYPE_EUI48; }
{
rdata_tail = s->r_data;
@@ -12571,92 +12832,93 @@ tr289:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr298:
+tr301:
{ s->r_type = KNOT_RRTYPE_EUI64; }
{
rdata_tail = s->r_data;
@@ -12668,92 +12930,93 @@ tr298:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr311:
+tr314:
{ s->r_type = KNOT_RRTYPE_HINFO; }
{
rdata_tail = s->r_data;
@@ -12765,92 +13028,93 @@ tr311:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr322:
+tr325:
{ s->r_type = KNOT_RRTYPE_HTTPS; }
{
rdata_tail = s->r_data;
@@ -12862,92 +13126,93 @@ tr322:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr365:
+tr369:
{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
{
rdata_tail = s->r_data;
@@ -12959,92 +13224,93 @@ tr365:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr376:
+tr380:
{ s->r_type = KNOT_RRTYPE_KEY; }
{
rdata_tail = s->r_data;
@@ -13056,92 +13322,93 @@ tr376:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr384:
+tr388:
{ s->r_type = KNOT_RRTYPE_KX; }
{
rdata_tail = s->r_data;
@@ -13153,92 +13420,93 @@ tr384:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr397:
+tr401:
{ s->r_type = KNOT_RRTYPE_L32; }
{
rdata_tail = s->r_data;
@@ -13250,92 +13518,93 @@ tr397:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr406:
+tr410:
{ s->r_type = KNOT_RRTYPE_L64; }
{
rdata_tail = s->r_data;
@@ -13347,92 +13616,93 @@ tr406:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr415:
+tr419:
{ s->r_type = KNOT_RRTYPE_LOC; }
{
rdata_tail = s->r_data;
@@ -13444,92 +13714,93 @@ tr415:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr423:
+tr427:
{ s->r_type = KNOT_RRTYPE_LP; }
{
rdata_tail = s->r_data;
@@ -13541,92 +13812,93 @@ tr423:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr436:
+tr440:
{ s->r_type = KNOT_RRTYPE_MINFO; }
{
rdata_tail = s->r_data;
@@ -13638,92 +13910,93 @@ tr436:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr444:
+tr448:
{ s->r_type = KNOT_RRTYPE_MX; }
{
rdata_tail = s->r_data;
@@ -13735,92 +14008,93 @@ tr444:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr458:
+tr462:
{ s->r_type = KNOT_RRTYPE_NAPTR; }
{
rdata_tail = s->r_data;
@@ -13832,92 +14106,93 @@ tr458:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr467:
+tr471:
{ s->r_type = KNOT_RRTYPE_NID; }
{
rdata_tail = s->r_data;
@@ -13929,92 +14204,93 @@ tr467:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr476:
+tr480:
{ s->r_type = KNOT_RRTYPE_NS; }
{
rdata_tail = s->r_data;
@@ -14026,92 +14302,93 @@ tr476:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr486:
+tr490:
{ s->r_type = KNOT_RRTYPE_NSEC; }
{
rdata_tail = s->r_data;
@@ -14123,92 +14400,93 @@ tr486:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr495:
+tr499:
{ s->r_type = KNOT_RRTYPE_NSEC3; }
{
rdata_tail = s->r_data;
@@ -14220,92 +14498,93 @@ tr495:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr507:
+tr511:
{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
{
rdata_tail = s->r_data;
@@ -14317,92 +14596,93 @@ tr507:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr524:
+tr528:
{ s->r_type = KNOT_RRTYPE_OPENPGPKEY; }
{
rdata_tail = s->r_data;
@@ -14414,92 +14694,93 @@ tr524:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr534:
+tr538:
{ s->r_type = KNOT_RRTYPE_PTR; }
{
rdata_tail = s->r_data;
@@ -14511,92 +14792,93 @@ tr534:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr545:
+tr549:
{ s->r_type = KNOT_RRTYPE_RP; }
{
rdata_tail = s->r_data;
@@ -14608,92 +14890,93 @@ tr545:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr556:
+tr560:
{ s->r_type = KNOT_RRTYPE_RRSIG; }
{
rdata_tail = s->r_data;
@@ -14705,92 +14988,93 @@ tr556:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr564:
+tr568:
{ s->r_type = KNOT_RRTYPE_RT; }
{
rdata_tail = s->r_data;
@@ -14802,92 +15086,93 @@ tr564:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr582:
+tr586:
{ s->r_type = KNOT_RRTYPE_SMIMEA; }
{
rdata_tail = s->r_data;
@@ -14899,92 +15184,93 @@ tr582:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr591:
+tr595:
{ s->r_type = KNOT_RRTYPE_SOA; }
{
rdata_tail = s->r_data;
@@ -14996,92 +15282,93 @@ tr591:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr600:
+tr604:
{ s->r_type = KNOT_RRTYPE_SPF; }
{
rdata_tail = s->r_data;
@@ -15093,92 +15380,93 @@ tr600:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr609:
+tr613:
{ s->r_type = KNOT_RRTYPE_SRV; }
{
rdata_tail = s->r_data;
@@ -15190,92 +15478,93 @@ tr609:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr620:
+tr624:
{ s->r_type = KNOT_RRTYPE_SSHFP; }
{
rdata_tail = s->r_data;
@@ -15287,92 +15576,93 @@ tr620:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr630:
+tr634:
{ s->r_type = KNOT_RRTYPE_SVCB; }
{
rdata_tail = s->r_data;
@@ -15384,92 +15674,93 @@ tr630:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr643:
+tr647:
{ s->r_type = KNOT_RRTYPE_TLSA; }
{
rdata_tail = s->r_data;
@@ -15481,92 +15772,93 @@ tr643:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr652:
+tr656:
{ s->r_type = KNOT_RRTYPE_TXT; }
{
rdata_tail = s->r_data;
@@ -15578,98 +15870,99 @@ tr652:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr666:
+tr670:
{
if (s->number64 <= UINT16_MAX) {
s->r_type = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -15682,92 +15975,93 @@ tr666:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr676:
+tr680:
{ s->r_type = KNOT_RRTYPE_URI; }
{
rdata_tail = s->r_data;
@@ -15779,92 +16073,191 @@ tr676:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
+ {stack[top++] = 11;goto st932;}
+ case KNOT_RRTYPE_TXT:
+ case KNOT_RRTYPE_SPF:
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
+ case KNOT_RRTYPE_AAAA:
+ {stack[top++] = 11;goto st941;}
+ case KNOT_RRTYPE_LOC:
+ {stack[top++] = 11;goto st943;}
+ case KNOT_RRTYPE_SRV:
+ {stack[top++] = 11;goto st998;}
+ case KNOT_RRTYPE_NAPTR:
+ {stack[top++] = 11;goto st1009;}
+ case KNOT_RRTYPE_CERT:
+ {stack[top++] = 11;goto st1026;}
+ case KNOT_RRTYPE_APL:
+ {stack[top++] = 11;goto st1037;}
+ case KNOT_RRTYPE_DS:
+ case KNOT_RRTYPE_CDS:
+ {stack[top++] = 11;goto st1048;}
+ case KNOT_RRTYPE_SSHFP:
+ {stack[top++] = 11;goto st1061;}
+ case KNOT_RRTYPE_IPSECKEY:
+ {stack[top++] = 11;goto st1071;}
+ case KNOT_RRTYPE_RRSIG:
+ {stack[top++] = 11;goto st1110;}
+ case KNOT_RRTYPE_NSEC:
+ {stack[top++] = 11;goto st1302;}
+ case KNOT_RRTYPE_KEY:
+ case KNOT_RRTYPE_DNSKEY:
+ case KNOT_RRTYPE_CDNSKEY:
+ {stack[top++] = 11;goto st1305;}
+ case KNOT_RRTYPE_DHCID:
+ case KNOT_RRTYPE_OPENPGPKEY:
+ {stack[top++] = 11;goto st1316;}
+ case KNOT_RRTYPE_NSEC3:
+ {stack[top++] = 11;goto st1318;}
+ case KNOT_RRTYPE_NSEC3PARAM:
+ {stack[top++] = 11;goto st1347;}
+ case KNOT_RRTYPE_TLSA:
+ case KNOT_RRTYPE_SMIMEA:
+ {stack[top++] = 11;goto st1360;}
+ case KNOT_RRTYPE_CSYNC:
+ {stack[top++] = 11;goto st1373;}
+ case KNOT_RRTYPE_ZONEMD:
+ {stack[top++] = 11;goto st1379;}
+ case KNOT_RRTYPE_NID:
+ case KNOT_RRTYPE_L64:
+ {stack[top++] = 11;goto st1397;}
+ case KNOT_RRTYPE_L32:
+ {stack[top++] = 11;goto st1392;}
+ case KNOT_RRTYPE_EUI48:
+ {stack[top++] = 11;goto st1410;}
+ case KNOT_RRTYPE_EUI64:
+ {stack[top++] = 11;goto st1416;}
+ case KNOT_RRTYPE_URI:
+ {stack[top++] = 11;goto st1422;}
+ case KNOT_RRTYPE_CAA:
+ {stack[top++] = 11;goto st1430;}
+ case KNOT_RRTYPE_SVCB:
+ case KNOT_RRTYPE_HTTPS:
+ {stack[top++] = 11;goto st1438;}
+ default:
+ WARN(ZS_CANNOT_TEXT_DATA);
+ {goto st316;}
+ }
+ }
+ goto st11;
+tr693:
+ { s->r_type = KNOT_RRTYPE_WALLET; }
+ {
+ rdata_tail = s->r_data;
+ }
+ {
+ s->line_counter++;
+ }
+ {
+ p--;
+ switch (s->r_type) {
+ case KNOT_RRTYPE_A:
+ {stack[top++] = 11;goto st886;}
+ case KNOT_RRTYPE_NS:
+ case KNOT_RRTYPE_CNAME:
+ case KNOT_RRTYPE_PTR:
+ case KNOT_RRTYPE_DNAME:
+ {stack[top++] = 11;goto st888;}
+ case KNOT_RRTYPE_SOA:
{stack[top++] = 11;goto st890;}
+ case KNOT_RRTYPE_HINFO:
+ {stack[top++] = 11;goto st922;}
+ case KNOT_RRTYPE_MINFO:
+ case KNOT_RRTYPE_RP:
+ {stack[top++] = 11;goto st927;}
+ case KNOT_RRTYPE_MX:
+ case KNOT_RRTYPE_AFSDB:
+ case KNOT_RRTYPE_RT:
+ case KNOT_RRTYPE_KX:
+ case KNOT_RRTYPE_LP:
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr689:
+tr706:
{ s->r_type = KNOT_RRTYPE_ZONEMD; }
{
rdata_tail = s->r_data;
@@ -15876,92 +16269,93 @@ tr689:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr939:
+tr957:
{ s->r_type = KNOT_RRTYPE_AAAA; }
{
rdata_tail = s->r_data;
@@ -15973,92 +16367,93 @@ tr939:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr950:
+tr968:
{ s->r_type = KNOT_RRTYPE_AFSDB; }
{
rdata_tail = s->r_data;
@@ -16070,92 +16465,93 @@ tr950:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
-tr959:
+tr977:
{ s->r_type = KNOT_RRTYPE_APL; }
{
rdata_tail = s->r_data;
@@ -16167,88 +16563,89 @@ tr959:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 11;goto st844;}
+ {stack[top++] = 11;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 11;goto st846;}
+ {stack[top++] = 11;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 11;goto st848;}
+ {stack[top++] = 11;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 11;goto st880;}
+ {stack[top++] = 11;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 11;goto st885;}
+ {stack[top++] = 11;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 11;goto st890;}
+ {stack[top++] = 11;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 11;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 11;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 11;goto st899;}
+ {stack[top++] = 11;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 11;goto st901;}
+ {stack[top++] = 11;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 11;goto st956;}
+ {stack[top++] = 11;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 11;goto st967;}
+ {stack[top++] = 11;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 11;goto st984;}
+ {stack[top++] = 11;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 11;goto st995;}
+ {stack[top++] = 11;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 11;goto st1006;}
+ {stack[top++] = 11;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 11;goto st1019;}
+ {stack[top++] = 11;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 11;goto st1029;}
+ {stack[top++] = 11;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 11;goto st1068;}
+ {stack[top++] = 11;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 11;goto st1254;}
+ {stack[top++] = 11;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 11;goto st1257;}
+ {stack[top++] = 11;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 11;goto st1268;}
+ {stack[top++] = 11;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 11;goto st1270;}
+ {stack[top++] = 11;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 11;goto st1299;}
+ {stack[top++] = 11;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 11;goto st1312;}
+ {stack[top++] = 11;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 11;goto st1325;}
+ {stack[top++] = 11;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 11;goto st1331;}
+ {stack[top++] = 11;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 11;goto st1349;}
+ {stack[top++] = 11;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 11;goto st1344;}
+ {stack[top++] = 11;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 11;goto st1362;}
+ {stack[top++] = 11;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 11;goto st1368;}
+ {stack[top++] = 11;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 11;goto st1374;}
+ {stack[top++] = 11;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 11;goto st1382;}
+ {stack[top++] = 11;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 11;goto st1390;}
+ {stack[top++] = 11;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st11;
@@ -16273,58 +16670,58 @@ case 11:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr101;
- case 32: goto tr101;
- case 40: goto tr102;
- case 41: goto tr103;
- case 92: goto tr78;
- case 2826: goto tr87;
- case 2875: goto tr88;
- case 3082: goto tr87;
- case 3131: goto tr104;
- case 3338: goto tr105;
- case 3387: goto tr106;
- case 3594: goto tr87;
- case 3643: goto tr107;
+ case 9: goto tr103;
+ case 32: goto tr103;
+ case 40: goto tr104;
+ case 41: goto tr105;
+ case 92: goto tr80;
+ case 2826: goto tr89;
+ case 2875: goto tr90;
+ case 3082: goto tr89;
+ case 3131: goto tr106;
+ case 3338: goto tr107;
+ case 3387: goto tr108;
+ case 3594: goto tr89;
+ case 3643: goto tr109;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr73;
+ goto tr75;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr73;
+ goto tr75;
} else
- goto tr73;
- goto tr83;
-tr109:
+ goto tr75;
+ goto tr85;
+tr111:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st12;
-tr110:
+tr112:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st12;
-tr101:
+tr103:
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
goto st12;
-tr102:
+tr104:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -16333,11 +16730,11 @@ tr102:
s->buffer_length = 0;
}
goto st12;
-tr103:
+tr105:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -16369,40 +16766,40 @@ case 12:
switch( _widec ) {
case 9: goto st12;
case 32: goto st12;
- case 40: goto tr109;
- case 41: goto tr110;
- case 92: goto tr78;
- case 2826: goto tr93;
- case 2875: goto tr94;
- case 3082: goto tr93;
- case 3131: goto tr111;
- case 3338: goto tr112;
- case 3387: goto tr113;
- case 3594: goto tr93;
- case 3643: goto tr114;
+ case 40: goto tr111;
+ case 41: goto tr112;
+ case 92: goto tr80;
+ case 2826: goto tr95;
+ case 2875: goto tr96;
+ case 3082: goto tr95;
+ case 3131: goto tr113;
+ case 3338: goto tr114;
+ case 3387: goto tr115;
+ case 3594: goto tr95;
+ case 3643: goto tr116;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr73;
+ goto tr75;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr73;
+ goto tr75;
} else
- goto tr73;
- goto tr83;
-tr111:
+ goto tr75;
+ goto tr85;
+tr113:
{
s->buffer_length = 0;
}
goto st13;
-tr115:
+tr117:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
goto st13;
-tr104:
+tr106:
{
s->buffer_length = 0;
}
@@ -16411,7 +16808,7 @@ tr104:
s->buffer_length = 0;
}
goto st13;
-tr174:
+tr177:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -16425,7 +16822,7 @@ tr174:
s->buffer_length = 0;
}
goto st13;
-tr178:
+tr181:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -16435,7 +16832,7 @@ tr178:
s->buffer_length = 0;
}
goto st13;
-tr828:
+tr846:
{ s->r_type = KNOT_RRTYPE_A; }
{
rdata_tail = s->r_data;
@@ -16471,16 +16868,16 @@ case 13:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 1802: goto tr96;
- case 2058: goto tr116;
+ case 1802: goto tr98;
+ case 2058: goto tr118;
}
if ( _widec > 1919 ) {
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr115;
+ goto tr117;
} else if ( _widec >= 1664 )
- goto tr95;
- goto tr83;
-tr116:
+ goto tr97;
+ goto tr85;
+tr118:
{
s->buffer[s->buffer_length++] = 0;
@@ -16490,7 +16887,7 @@ tr116:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1397; goto _out;}
+ {p++; cs = 1445; goto _out;}
}
}
}
@@ -16500,7 +16897,7 @@ tr116:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -16513,23 +16910,23 @@ tr116:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1397; goto _out;}
+ {p++; cs = 1445; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1397; goto _out;}
+ p--; {p++; cs = 1445; goto _out;}
}
}
- goto st1397;
-tr836:
+ goto st1445;
+tr854:
{
s->line_counter++;
}
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -16542,16 +16939,16 @@ tr836:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1397; goto _out;}
+ {p++; cs = 1445; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1397; goto _out;}
+ p--; {p++; cs = 1445; goto _out;}
}
}
- goto st1397;
-tr827:
+ goto st1445;
+tr845:
{ s->r_type = KNOT_RRTYPE_A; }
{
rdata_tail = s->r_data;
@@ -16566,7 +16963,7 @@ tr827:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -16579,19 +16976,19 @@ tr827:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1397; goto _out;}
+ {p++; cs = 1445; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1397; goto _out;}
+ p--; {p++; cs = 1445; goto _out;}
}
}
- goto st1397;
-st1397:
+ goto st1445;
+st1445:
if ( ++p == pe )
- goto _test_eof1397;
-case 1397:
+ goto _test_eof1445;
+case 1445:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -16609,71 +17006,71 @@ case 1397:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr4215;
- case 32: goto tr4215;
- case 36: goto tr4216;
- case 40: goto tr4217;
- case 41: goto tr4218;
- case 42: goto tr4219;
- case 58: goto tr73;
- case 92: goto tr4220;
- case 95: goto tr4219;
- case 2826: goto tr4211;
- case 2875: goto tr4212;
- case 3082: goto tr4221;
- case 3131: goto tr4222;
- case 3338: goto tr4223;
- case 3387: goto tr4224;
- case 3594: goto tr4225;
- case 3643: goto tr4226;
+ case 9: goto tr4295;
+ case 32: goto tr4295;
+ case 36: goto tr4296;
+ case 40: goto tr4297;
+ case 41: goto tr4298;
+ case 42: goto tr4299;
+ case 58: goto tr75;
+ case 92: goto tr4300;
+ case 95: goto tr4299;
+ case 2826: goto tr4291;
+ case 2875: goto tr4292;
+ case 3082: goto tr4301;
+ case 3131: goto tr4302;
+ case 3338: goto tr4303;
+ case 3387: goto tr4304;
+ case 3594: goto tr4305;
+ case 3643: goto tr4306;
}
if ( _widec < 60 ) {
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr73;
+ goto tr75;
} else if ( _widec > 44 ) {
if ( 45 <= _widec && _widec <= 57 )
- goto tr4219;
+ goto tr4299;
} else
- goto tr73;
+ goto tr75;
} else if ( _widec > 63 ) {
if ( _widec < 91 ) {
if ( 64 <= _widec && _widec <= 90 )
- goto tr4219;
+ goto tr4299;
} else if ( _widec > 96 ) {
if ( _widec > 122 ) {
if ( 123 <= _widec )
- goto tr73;
+ goto tr75;
} else if ( _widec >= 97 )
- goto tr4219;
+ goto tr4299;
} else
- goto tr73;
+ goto tr75;
} else
- goto tr73;
- goto tr871;
-tr119:
+ goto tr75;
+ goto tr889;
+tr121:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st14;
-tr120:
+tr122:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st14;
-tr4215:
+tr4295:
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -16681,18 +17078,18 @@ tr4215:
s->buffer_length = 0;
}
goto st14;
-tr4217:
+tr4297:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -16700,18 +17097,18 @@ tr4217:
s->buffer_length = 0;
}
goto st14;
-tr4218:
+tr4298:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -16742,66 +17139,68 @@ case 14:
switch( _widec ) {
case 9: goto st14;
case 32: goto st14;
- case 40: goto tr119;
- case 41: goto tr120;
- case 58: goto tr73;
- case 65: goto tr122;
- case 67: goto tr123;
- case 68: goto tr124;
- case 69: goto tr125;
- case 72: goto tr126;
- case 73: goto tr127;
- case 75: goto tr128;
- case 76: goto tr129;
- case 77: goto tr130;
- case 78: goto tr131;
- case 79: goto tr132;
- case 80: goto tr133;
- case 82: goto tr134;
- case 83: goto tr135;
- case 84: goto tr136;
- case 85: goto tr137;
- case 90: goto tr138;
- case 92: goto tr78;
- case 97: goto tr122;
- case 99: goto tr123;
- case 100: goto tr124;
- case 101: goto tr125;
- case 104: goto tr126;
- case 105: goto tr127;
- case 107: goto tr128;
- case 108: goto tr129;
- case 109: goto tr130;
- case 110: goto tr131;
- case 111: goto tr132;
- case 112: goto tr133;
- case 114: goto tr134;
- case 115: goto tr135;
- case 116: goto tr136;
- case 117: goto tr137;
- case 122: goto tr138;
- case 2826: goto tr22;
- case 2875: goto tr23;
- case 3082: goto tr139;
- case 3131: goto tr140;
- case 3338: goto tr141;
- case 3387: goto tr142;
- case 3594: goto tr143;
- case 3643: goto tr144;
+ case 40: goto tr121;
+ case 41: goto tr122;
+ case 58: goto tr75;
+ case 65: goto tr124;
+ case 67: goto tr125;
+ case 68: goto tr126;
+ case 69: goto tr127;
+ case 72: goto tr128;
+ case 73: goto tr129;
+ case 75: goto tr130;
+ case 76: goto tr131;
+ case 77: goto tr132;
+ case 78: goto tr133;
+ case 79: goto tr134;
+ case 80: goto tr135;
+ case 82: goto tr136;
+ case 83: goto tr137;
+ case 84: goto tr138;
+ case 85: goto tr139;
+ case 87: goto tr140;
+ case 90: goto tr141;
+ case 92: goto tr80;
+ case 97: goto tr124;
+ case 99: goto tr125;
+ case 100: goto tr126;
+ case 101: goto tr127;
+ case 104: goto tr128;
+ case 105: goto tr129;
+ case 107: goto tr130;
+ case 108: goto tr131;
+ case 109: goto tr132;
+ case 110: goto tr133;
+ case 111: goto tr134;
+ case 112: goto tr135;
+ case 114: goto tr136;
+ case 115: goto tr137;
+ case 116: goto tr138;
+ case 117: goto tr139;
+ case 119: goto tr140;
+ case 122: goto tr141;
+ case 2826: goto tr23;
+ case 2875: goto tr24;
+ case 3082: goto tr142;
+ case 3131: goto tr143;
+ case 3338: goto tr144;
+ case 3387: goto tr145;
+ case 3594: goto tr146;
+ case 3643: goto tr147;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr73;
+ goto tr75;
} else if ( _widec > 47 ) {
if ( _widec > 57 ) {
if ( 60 <= _widec )
- goto tr73;
+ goto tr75;
} else if ( _widec >= 48 )
- goto tr121;
+ goto tr123;
} else
- goto tr73;
- goto tr118;
-tr121:
+ goto tr75;
+ goto tr120;
+tr123:
{
s->number64 = 0;
}
@@ -16816,95 +17215,96 @@ tr121:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 15;goto st844;}
+ {stack[top++] = 15;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 15;goto st846;}
+ {stack[top++] = 15;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 15;goto st848;}
+ {stack[top++] = 15;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 15;goto st880;}
+ {stack[top++] = 15;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 15;goto st885;}
+ {stack[top++] = 15;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 15;goto st890;}
+ {stack[top++] = 15;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 15;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 15;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 15;goto st899;}
+ {stack[top++] = 15;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 15;goto st901;}
+ {stack[top++] = 15;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 15;goto st956;}
+ {stack[top++] = 15;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 15;goto st967;}
+ {stack[top++] = 15;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 15;goto st984;}
+ {stack[top++] = 15;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 15;goto st995;}
+ {stack[top++] = 15;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 15;goto st1006;}
+ {stack[top++] = 15;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 15;goto st1019;}
+ {stack[top++] = 15;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 15;goto st1029;}
+ {stack[top++] = 15;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 15;goto st1068;}
+ {stack[top++] = 15;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 15;goto st1254;}
+ {stack[top++] = 15;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 15;goto st1257;}
+ {stack[top++] = 15;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 15;goto st1268;}
+ {stack[top++] = 15;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 15;goto st1270;}
+ {stack[top++] = 15;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 15;goto st1299;}
+ {stack[top++] = 15;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 15;goto st1312;}
+ {stack[top++] = 15;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 15;goto st1325;}
+ {stack[top++] = 15;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 15;goto st1331;}
+ {stack[top++] = 15;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 15;goto st1349;}
+ {stack[top++] = 15;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 15;goto st1344;}
+ {stack[top++] = 15;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 15;goto st1362;}
+ {stack[top++] = 15;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 15;goto st1368;}
+ {stack[top++] = 15;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 15;goto st1374;}
+ {stack[top++] = 15;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 15;goto st1382;}
+ {stack[top++] = 15;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 15;goto st1390;}
+ {stack[top++] = 15;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st15;
@@ -16925,53 +17325,53 @@ case 15:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr146;
- case 32: goto tr146;
- case 40: goto tr147;
- case 41: goto tr148;
- case 68: goto tr31;
- case 72: goto tr32;
- case 77: goto tr33;
- case 83: goto st198;
- case 87: goto tr35;
- case 100: goto tr31;
- case 104: goto tr32;
- case 109: goto tr33;
- case 115: goto st198;
- case 119: goto tr35;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr149;
- case 2107: goto tr150;
+ case 9: goto tr149;
+ case 32: goto tr149;
+ case 40: goto tr150;
+ case 41: goto tr151;
+ case 68: goto tr32;
+ case 72: goto tr33;
+ case 77: goto tr34;
+ case 83: goto st204;
+ case 87: goto tr36;
+ case 100: goto tr32;
+ case 104: goto tr33;
+ case 109: goto tr34;
+ case 115: goto st204;
+ case 119: goto tr36;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr152;
+ case 2107: goto tr153;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr30;
- goto tr145;
-tr153:
+ goto tr31;
+ goto tr148;
+tr156:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st16;
-tr154:
+tr157:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st16;
-tr146:
+tr149:
{
if (s->number64 <= UINT32_MAX) {
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -16979,19 +17379,19 @@ tr146:
s->buffer_length = 0;
}
goto st16;
-tr147:
+tr150:
{
if (s->number64 <= UINT32_MAX) {
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -17000,19 +17400,19 @@ tr147:
s->buffer_length = 0;
}
goto st16;
-tr148:
+tr151:
{
if (s->number64 <= UINT32_MAX) {
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -17040,48 +17440,50 @@ case 16:
switch( _widec ) {
case 9: goto st16;
case 32: goto st16;
- case 40: goto tr153;
- case 41: goto tr154;
- case 65: goto tr42;
- case 67: goto tr43;
- case 68: goto tr44;
- case 69: goto tr45;
- case 72: goto tr46;
- case 73: goto tr47;
- case 75: goto tr48;
- case 76: goto tr49;
- case 77: goto tr50;
- case 78: goto tr51;
- case 79: goto tr52;
- case 80: goto tr53;
- case 82: goto tr54;
- case 83: goto tr55;
- case 84: goto tr56;
- case 85: goto tr57;
- case 90: goto tr58;
- case 97: goto tr42;
- case 99: goto tr43;
- case 100: goto tr44;
- case 101: goto tr45;
- case 104: goto tr46;
- case 105: goto tr47;
- case 107: goto tr48;
- case 108: goto tr49;
- case 109: goto tr50;
- case 110: goto tr51;
- case 111: goto tr52;
- case 112: goto tr53;
- case 114: goto tr54;
- case 115: goto tr55;
- case 116: goto tr56;
- case 117: goto tr57;
- case 122: goto tr58;
- case 1802: goto tr93;
- case 1851: goto tr94;
- case 2058: goto tr155;
- case 2107: goto tr156;
- }
- goto tr151;
+ case 40: goto tr156;
+ case 41: goto tr157;
+ case 65: goto tr43;
+ case 67: goto tr44;
+ case 68: goto tr45;
+ case 69: goto tr46;
+ case 72: goto tr47;
+ case 73: goto tr48;
+ case 75: goto tr49;
+ case 76: goto tr50;
+ case 77: goto tr51;
+ case 78: goto tr52;
+ case 79: goto tr53;
+ case 80: goto tr54;
+ case 82: goto tr55;
+ case 83: goto tr56;
+ case 84: goto tr57;
+ case 85: goto tr58;
+ case 87: goto tr59;
+ case 90: goto tr60;
+ case 97: goto tr43;
+ case 99: goto tr44;
+ case 100: goto tr45;
+ case 101: goto tr46;
+ case 104: goto tr47;
+ case 105: goto tr48;
+ case 107: goto tr49;
+ case 108: goto tr50;
+ case 109: goto tr51;
+ case 110: goto tr52;
+ case 111: goto tr53;
+ case 112: goto tr54;
+ case 114: goto tr55;
+ case 115: goto tr56;
+ case 116: goto tr57;
+ case 117: goto tr58;
+ case 119: goto tr59;
+ case 122: goto tr60;
+ case 1802: goto tr95;
+ case 1851: goto tr96;
+ case 2058: goto tr158;
+ case 2107: goto tr159;
+ }
+ goto tr154;
tr6:
{
s->r_class = s->default_class;
@@ -17090,12 +17492,12 @@ tr6:
s->r_ttl = s->default_ttl;
}
goto st17;
-tr43:
+tr44:
{
s->r_class = s->default_class;
}
goto st17;
-tr709:
+tr726:
{
s->r_ttl = s->default_ttl;
}
@@ -17116,7 +17518,7 @@ case 17:
case 110: goto st32;
case 115: goto st36;
}
- goto tr38;
+ goto tr39;
st18:
if ( ++p == pe )
goto _test_eof18;
@@ -17125,7 +17527,7 @@ case 18:
case 65: goto st19;
case 97: goto st19;
}
- goto tr38;
+ goto tr39;
st19:
if ( ++p == pe )
goto _test_eof19;
@@ -17147,19 +17549,19 @@ case 19:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr163;
- case 32: goto tr163;
- case 40: goto tr164;
- case 41: goto tr165;
- case 3082: goto tr166;
- case 3131: goto tr167;
- case 3338: goto tr168;
- case 3387: goto tr168;
- case 3594: goto tr169;
- case 3643: goto tr170;
+ case 9: goto tr166;
+ case 32: goto tr166;
+ case 40: goto tr167;
+ case 41: goto tr168;
+ case 3082: goto tr169;
+ case 3131: goto tr170;
+ case 3338: goto tr171;
+ case 3387: goto tr171;
+ case 3594: goto tr172;
+ case 3643: goto tr173;
}
- goto tr61;
-tr72:
+ goto tr63;
+tr74:
{ s->r_type = KNOT_RRTYPE_A; }
{
rdata_tail = s->r_data;
@@ -17171,92 +17573,93 @@ tr72:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr82:
+tr84:
{
s->buffer_length = 0;
}
@@ -17264,92 +17667,93 @@ tr82:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr170:
+tr173:
{ s->r_type = KNOT_RRTYPE_CAA; }
{
rdata_tail = s->r_data;
@@ -17361,92 +17765,93 @@ tr170:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr192:
+tr195:
{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
{
rdata_tail = s->r_data;
@@ -17458,92 +17863,93 @@ tr192:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr200:
+tr203:
{ s->r_type = KNOT_RRTYPE_CDS; }
{
rdata_tail = s->r_data;
@@ -17555,92 +17961,93 @@ tr200:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr210:
+tr213:
{ s->r_type = KNOT_RRTYPE_CERT; }
{
rdata_tail = s->r_data;
@@ -17652,92 +18059,93 @@ tr210:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr221:
+tr224:
{ s->r_type = KNOT_RRTYPE_CNAME; }
{
rdata_tail = s->r_data;
@@ -17749,92 +18157,93 @@ tr221:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr232:
+tr235:
{ s->r_type = KNOT_RRTYPE_CSYNC; }
{
rdata_tail = s->r_data;
@@ -17846,92 +18255,93 @@ tr232:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr246:
+tr249:
{ s->r_type = KNOT_RRTYPE_DHCID; }
{
rdata_tail = s->r_data;
@@ -17943,92 +18353,93 @@ tr246:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr258:
+tr261:
{ s->r_type = KNOT_RRTYPE_DNAME; }
{
rdata_tail = s->r_data;
@@ -18040,92 +18451,93 @@ tr258:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr269:
+tr272:
{ s->r_type = KNOT_RRTYPE_DNSKEY; }
{
rdata_tail = s->r_data;
@@ -18137,92 +18549,93 @@ tr269:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr277:
+tr280:
{ s->r_type = KNOT_RRTYPE_DS; }
{
rdata_tail = s->r_data;
@@ -18234,92 +18647,93 @@ tr277:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr290:
+tr293:
{ s->r_type = KNOT_RRTYPE_EUI48; }
{
rdata_tail = s->r_data;
@@ -18331,92 +18745,93 @@ tr290:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr299:
+tr302:
{ s->r_type = KNOT_RRTYPE_EUI64; }
{
rdata_tail = s->r_data;
@@ -18428,92 +18843,93 @@ tr299:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr312:
+tr315:
{ s->r_type = KNOT_RRTYPE_HINFO; }
{
rdata_tail = s->r_data;
@@ -18525,92 +18941,93 @@ tr312:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr323:
+tr326:
{ s->r_type = KNOT_RRTYPE_HTTPS; }
{
rdata_tail = s->r_data;
@@ -18622,92 +19039,93 @@ tr323:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr366:
+tr370:
{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
{
rdata_tail = s->r_data;
@@ -18719,92 +19137,93 @@ tr366:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr377:
+tr381:
{ s->r_type = KNOT_RRTYPE_KEY; }
{
rdata_tail = s->r_data;
@@ -18816,92 +19235,93 @@ tr377:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr385:
+tr389:
{ s->r_type = KNOT_RRTYPE_KX; }
{
rdata_tail = s->r_data;
@@ -18913,92 +19333,93 @@ tr385:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr398:
+tr402:
{ s->r_type = KNOT_RRTYPE_L32; }
{
rdata_tail = s->r_data;
@@ -19010,92 +19431,93 @@ tr398:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr407:
+tr411:
{ s->r_type = KNOT_RRTYPE_L64; }
{
rdata_tail = s->r_data;
@@ -19107,92 +19529,93 @@ tr407:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr416:
+tr420:
{ s->r_type = KNOT_RRTYPE_LOC; }
{
rdata_tail = s->r_data;
@@ -19204,92 +19627,93 @@ tr416:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr424:
+tr428:
{ s->r_type = KNOT_RRTYPE_LP; }
{
rdata_tail = s->r_data;
@@ -19301,92 +19725,93 @@ tr424:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr437:
+tr441:
{ s->r_type = KNOT_RRTYPE_MINFO; }
{
rdata_tail = s->r_data;
@@ -19398,92 +19823,93 @@ tr437:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr445:
+tr449:
{ s->r_type = KNOT_RRTYPE_MX; }
{
rdata_tail = s->r_data;
@@ -19495,92 +19921,93 @@ tr445:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr459:
+tr463:
{ s->r_type = KNOT_RRTYPE_NAPTR; }
{
rdata_tail = s->r_data;
@@ -19592,92 +20019,93 @@ tr459:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr468:
+tr472:
{ s->r_type = KNOT_RRTYPE_NID; }
{
rdata_tail = s->r_data;
@@ -19689,92 +20117,93 @@ tr468:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr477:
+tr481:
{ s->r_type = KNOT_RRTYPE_NS; }
{
rdata_tail = s->r_data;
@@ -19786,92 +20215,93 @@ tr477:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr487:
+tr491:
{ s->r_type = KNOT_RRTYPE_NSEC; }
{
rdata_tail = s->r_data;
@@ -19883,92 +20313,93 @@ tr487:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr496:
+tr500:
{ s->r_type = KNOT_RRTYPE_NSEC3; }
{
rdata_tail = s->r_data;
@@ -19980,92 +20411,93 @@ tr496:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr508:
+tr512:
{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
{
rdata_tail = s->r_data;
@@ -20077,92 +20509,93 @@ tr508:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr525:
+tr529:
{ s->r_type = KNOT_RRTYPE_OPENPGPKEY; }
{
rdata_tail = s->r_data;
@@ -20174,92 +20607,93 @@ tr525:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr535:
+tr539:
{ s->r_type = KNOT_RRTYPE_PTR; }
{
rdata_tail = s->r_data;
@@ -20271,92 +20705,93 @@ tr535:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr546:
+tr550:
{ s->r_type = KNOT_RRTYPE_RP; }
{
rdata_tail = s->r_data;
@@ -20368,92 +20803,93 @@ tr546:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr557:
+tr561:
{ s->r_type = KNOT_RRTYPE_RRSIG; }
{
rdata_tail = s->r_data;
@@ -20465,92 +20901,93 @@ tr557:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr565:
+tr569:
{ s->r_type = KNOT_RRTYPE_RT; }
{
rdata_tail = s->r_data;
@@ -20562,92 +20999,93 @@ tr565:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr583:
+tr587:
{ s->r_type = KNOT_RRTYPE_SMIMEA; }
{
rdata_tail = s->r_data;
@@ -20659,92 +21097,93 @@ tr583:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr592:
+tr596:
{ s->r_type = KNOT_RRTYPE_SOA; }
{
rdata_tail = s->r_data;
@@ -20756,92 +21195,93 @@ tr592:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr601:
+tr605:
{ s->r_type = KNOT_RRTYPE_SPF; }
{
rdata_tail = s->r_data;
@@ -20853,92 +21293,93 @@ tr601:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr610:
+tr614:
{ s->r_type = KNOT_RRTYPE_SRV; }
{
rdata_tail = s->r_data;
@@ -20950,92 +21391,93 @@ tr610:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr621:
+tr625:
{ s->r_type = KNOT_RRTYPE_SSHFP; }
{
rdata_tail = s->r_data;
@@ -21047,92 +21489,93 @@ tr621:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr631:
+tr635:
{ s->r_type = KNOT_RRTYPE_SVCB; }
{
rdata_tail = s->r_data;
@@ -21144,92 +21587,93 @@ tr631:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr644:
+tr648:
{ s->r_type = KNOT_RRTYPE_TLSA; }
{
rdata_tail = s->r_data;
@@ -21241,92 +21685,93 @@ tr644:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr653:
+tr657:
{ s->r_type = KNOT_RRTYPE_TXT; }
{
rdata_tail = s->r_data;
@@ -21338,98 +21783,99 @@ tr653:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr667:
+tr671:
{
if (s->number64 <= UINT16_MAX) {
s->r_type = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -21442,92 +21888,93 @@ tr667:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr677:
+tr681:
{ s->r_type = KNOT_RRTYPE_URI; }
{
rdata_tail = s->r_data;
@@ -21539,92 +21986,191 @@ tr677:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
+ {stack[top++] = 20;goto st932;}
+ case KNOT_RRTYPE_TXT:
+ case KNOT_RRTYPE_SPF:
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
+ case KNOT_RRTYPE_AAAA:
+ {stack[top++] = 20;goto st941;}
+ case KNOT_RRTYPE_LOC:
+ {stack[top++] = 20;goto st943;}
+ case KNOT_RRTYPE_SRV:
+ {stack[top++] = 20;goto st998;}
+ case KNOT_RRTYPE_NAPTR:
+ {stack[top++] = 20;goto st1009;}
+ case KNOT_RRTYPE_CERT:
+ {stack[top++] = 20;goto st1026;}
+ case KNOT_RRTYPE_APL:
+ {stack[top++] = 20;goto st1037;}
+ case KNOT_RRTYPE_DS:
+ case KNOT_RRTYPE_CDS:
+ {stack[top++] = 20;goto st1048;}
+ case KNOT_RRTYPE_SSHFP:
+ {stack[top++] = 20;goto st1061;}
+ case KNOT_RRTYPE_IPSECKEY:
+ {stack[top++] = 20;goto st1071;}
+ case KNOT_RRTYPE_RRSIG:
+ {stack[top++] = 20;goto st1110;}
+ case KNOT_RRTYPE_NSEC:
+ {stack[top++] = 20;goto st1302;}
+ case KNOT_RRTYPE_KEY:
+ case KNOT_RRTYPE_DNSKEY:
+ case KNOT_RRTYPE_CDNSKEY:
+ {stack[top++] = 20;goto st1305;}
+ case KNOT_RRTYPE_DHCID:
+ case KNOT_RRTYPE_OPENPGPKEY:
+ {stack[top++] = 20;goto st1316;}
+ case KNOT_RRTYPE_NSEC3:
+ {stack[top++] = 20;goto st1318;}
+ case KNOT_RRTYPE_NSEC3PARAM:
+ {stack[top++] = 20;goto st1347;}
+ case KNOT_RRTYPE_TLSA:
+ case KNOT_RRTYPE_SMIMEA:
+ {stack[top++] = 20;goto st1360;}
+ case KNOT_RRTYPE_CSYNC:
+ {stack[top++] = 20;goto st1373;}
+ case KNOT_RRTYPE_ZONEMD:
+ {stack[top++] = 20;goto st1379;}
+ case KNOT_RRTYPE_NID:
+ case KNOT_RRTYPE_L64:
+ {stack[top++] = 20;goto st1397;}
+ case KNOT_RRTYPE_L32:
+ {stack[top++] = 20;goto st1392;}
+ case KNOT_RRTYPE_EUI48:
+ {stack[top++] = 20;goto st1410;}
+ case KNOT_RRTYPE_EUI64:
+ {stack[top++] = 20;goto st1416;}
+ case KNOT_RRTYPE_URI:
+ {stack[top++] = 20;goto st1422;}
+ case KNOT_RRTYPE_CAA:
+ {stack[top++] = 20;goto st1430;}
+ case KNOT_RRTYPE_SVCB:
+ case KNOT_RRTYPE_HTTPS:
+ {stack[top++] = 20;goto st1438;}
+ default:
+ WARN(ZS_CANNOT_TEXT_DATA);
+ {goto st316;}
+ }
+ }
+ goto st20;
+tr694:
+ { s->r_type = KNOT_RRTYPE_WALLET; }
+ {
+ rdata_tail = s->r_data;
+ }
+ {
+ s->buffer_length = 0;
+ }
+ {
+ p--;
+ switch (s->r_type) {
+ case KNOT_RRTYPE_A:
+ {stack[top++] = 20;goto st886;}
+ case KNOT_RRTYPE_NS:
+ case KNOT_RRTYPE_CNAME:
+ case KNOT_RRTYPE_PTR:
+ case KNOT_RRTYPE_DNAME:
+ {stack[top++] = 20;goto st888;}
+ case KNOT_RRTYPE_SOA:
{stack[top++] = 20;goto st890;}
+ case KNOT_RRTYPE_HINFO:
+ {stack[top++] = 20;goto st922;}
+ case KNOT_RRTYPE_MINFO:
+ case KNOT_RRTYPE_RP:
+ {stack[top++] = 20;goto st927;}
+ case KNOT_RRTYPE_MX:
+ case KNOT_RRTYPE_AFSDB:
+ case KNOT_RRTYPE_RT:
+ case KNOT_RRTYPE_KX:
+ case KNOT_RRTYPE_LP:
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr690:
+tr707:
{ s->r_type = KNOT_RRTYPE_ZONEMD; }
{
rdata_tail = s->r_data;
@@ -21636,92 +22182,93 @@ tr690:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr940:
+tr958:
{ s->r_type = KNOT_RRTYPE_AAAA; }
{
rdata_tail = s->r_data;
@@ -21733,92 +22280,93 @@ tr940:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr951:
+tr969:
{ s->r_type = KNOT_RRTYPE_AFSDB; }
{
rdata_tail = s->r_data;
@@ -21830,92 +22378,93 @@ tr951:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
-tr960:
+tr978:
{ s->r_type = KNOT_RRTYPE_APL; }
{
rdata_tail = s->r_data;
@@ -21927,88 +22476,89 @@ tr960:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 20;goto st844;}
+ {stack[top++] = 20;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 20;goto st846;}
+ {stack[top++] = 20;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 20;goto st848;}
+ {stack[top++] = 20;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 20;goto st880;}
+ {stack[top++] = 20;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 20;goto st885;}
+ {stack[top++] = 20;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 20;goto st890;}
+ {stack[top++] = 20;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 20;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 20;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 20;goto st899;}
+ {stack[top++] = 20;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 20;goto st901;}
+ {stack[top++] = 20;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 20;goto st956;}
+ {stack[top++] = 20;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 20;goto st967;}
+ {stack[top++] = 20;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 20;goto st984;}
+ {stack[top++] = 20;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 20;goto st995;}
+ {stack[top++] = 20;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 20;goto st1006;}
+ {stack[top++] = 20;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 20;goto st1019;}
+ {stack[top++] = 20;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 20;goto st1029;}
+ {stack[top++] = 20;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 20;goto st1068;}
+ {stack[top++] = 20;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 20;goto st1254;}
+ {stack[top++] = 20;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 20;goto st1257;}
+ {stack[top++] = 20;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 20;goto st1268;}
+ {stack[top++] = 20;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 20;goto st1270;}
+ {stack[top++] = 20;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 20;goto st1299;}
+ {stack[top++] = 20;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 20;goto st1312;}
+ {stack[top++] = 20;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 20;goto st1325;}
+ {stack[top++] = 20;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 20;goto st1331;}
+ {stack[top++] = 20;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 20;goto st1349;}
+ {stack[top++] = 20;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 20;goto st1344;}
+ {stack[top++] = 20;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 20;goto st1362;}
+ {stack[top++] = 20;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 20;goto st1368;}
+ {stack[top++] = 20;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 20;goto st1374;}
+ {stack[top++] = 20;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 20;goto st1382;}
+ {stack[top++] = 20;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 20;goto st1390;}
+ {stack[top++] = 20;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
goto st20;
@@ -22047,30 +22597,30 @@ case 20:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 1801: goto tr84;
- case 1802: goto tr87;
- case 1824: goto tr84;
- case 1832: goto tr85;
- case 1833: goto tr86;
- case 1851: goto tr88;
- case 2057: goto tr171;
- case 2058: goto tr87;
- case 2080: goto tr171;
- case 2088: goto tr172;
- case 2089: goto tr173;
- case 2107: goto tr174;
+ case 1801: goto tr86;
+ case 1802: goto tr89;
+ case 1824: goto tr86;
+ case 1832: goto tr87;
+ case 1833: goto tr88;
+ case 1851: goto tr90;
+ case 2057: goto tr174;
+ case 2058: goto tr89;
+ case 2080: goto tr174;
+ case 2088: goto tr175;
+ case 2089: goto tr176;
+ case 2107: goto tr177;
}
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr99;
- goto tr83;
-tr175:
+ goto tr101;
+ goto tr85;
+tr178:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
goto st21;
-tr171:
+tr174:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -22081,7 +22631,7 @@ tr171:
s->buffer_length = 0;
}
goto st21;
-tr172:
+tr175:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -22094,12 +22644,12 @@ tr172:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st21;
-tr173:
+tr176:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -22112,12 +22662,12 @@ tr173:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st21;
-tr176:
+tr179:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -22126,12 +22676,12 @@ tr176:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st21;
-tr177:
+tr180:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -22140,7 +22690,7 @@ tr177:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -22181,21 +22731,21 @@ case 21:
}
switch( _widec ) {
case 1801: goto st7;
- case 1802: goto tr93;
+ case 1802: goto tr95;
case 1824: goto st7;
- case 1832: goto tr91;
- case 1833: goto tr92;
- case 1851: goto tr94;
- case 2057: goto tr175;
- case 2058: goto tr93;
- case 2080: goto tr175;
- case 2088: goto tr176;
- case 2089: goto tr177;
- case 2107: goto tr178;
+ case 1832: goto tr93;
+ case 1833: goto tr94;
+ case 1851: goto tr96;
+ case 2057: goto tr178;
+ case 2058: goto tr95;
+ case 2080: goto tr178;
+ case 2088: goto tr179;
+ case 2089: goto tr180;
+ case 2107: goto tr181;
}
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr99;
- goto tr83;
+ goto tr101;
+ goto tr85;
st22:
if ( ++p == pe )
goto _test_eof22;
@@ -22206,7 +22756,7 @@ case 22:
case 110: goto st23;
case 115: goto st28;
}
- goto tr38;
+ goto tr39;
st23:
if ( ++p == pe )
goto _test_eof23;
@@ -22215,7 +22765,7 @@ case 23:
case 83: goto st24;
case 115: goto st24;
}
- goto tr38;
+ goto tr39;
st24:
if ( ++p == pe )
goto _test_eof24;
@@ -22224,7 +22774,7 @@ case 24:
case 75: goto st25;
case 107: goto st25;
}
- goto tr38;
+ goto tr39;
st25:
if ( ++p == pe )
goto _test_eof25;
@@ -22233,7 +22783,7 @@ case 25:
case 69: goto st26;
case 101: goto st26;
}
- goto tr38;
+ goto tr39;
st26:
if ( ++p == pe )
goto _test_eof26;
@@ -22242,7 +22792,7 @@ case 26:
case 89: goto st27;
case 121: goto st27;
}
- goto tr38;
+ goto tr39;
st27:
if ( ++p == pe )
goto _test_eof27;
@@ -22264,18 +22814,18 @@ case 27:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr185;
- case 32: goto tr185;
- case 40: goto tr186;
- case 41: goto tr187;
- case 3082: goto tr188;
- case 3131: goto tr189;
- case 3338: goto tr190;
- case 3387: goto tr190;
- case 3594: goto tr191;
- case 3643: goto tr192;
+ case 9: goto tr188;
+ case 32: goto tr188;
+ case 40: goto tr189;
+ case 41: goto tr190;
+ case 3082: goto tr191;
+ case 3131: goto tr192;
+ case 3338: goto tr193;
+ case 3387: goto tr193;
+ case 3594: goto tr194;
+ case 3643: goto tr195;
}
- goto tr61;
+ goto tr63;
st28:
if ( ++p == pe )
goto _test_eof28;
@@ -22297,18 +22847,18 @@ case 28:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr193;
- case 32: goto tr193;
- case 40: goto tr194;
- case 41: goto tr195;
- case 3082: goto tr196;
- case 3131: goto tr197;
- case 3338: goto tr198;
- case 3387: goto tr198;
- case 3594: goto tr199;
- case 3643: goto tr200;
+ case 9: goto tr196;
+ case 32: goto tr196;
+ case 40: goto tr197;
+ case 41: goto tr198;
+ case 3082: goto tr199;
+ case 3131: goto tr200;
+ case 3338: goto tr201;
+ case 3387: goto tr201;
+ case 3594: goto tr202;
+ case 3643: goto tr203;
}
- goto tr61;
+ goto tr63;
st29:
if ( ++p == pe )
goto _test_eof29;
@@ -22317,7 +22867,7 @@ case 29:
case 82: goto st30;
case 114: goto st30;
}
- goto tr38;
+ goto tr39;
st30:
if ( ++p == pe )
goto _test_eof30;
@@ -22326,7 +22876,7 @@ case 30:
case 84: goto st31;
case 116: goto st31;
}
- goto tr38;
+ goto tr39;
st31:
if ( ++p == pe )
goto _test_eof31;
@@ -22348,18 +22898,18 @@ case 31:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr203;
- case 32: goto tr203;
- case 40: goto tr204;
- case 41: goto tr205;
- case 3082: goto tr206;
- case 3131: goto tr207;
- case 3338: goto tr208;
- case 3387: goto tr208;
- case 3594: goto tr209;
- case 3643: goto tr210;
+ case 9: goto tr206;
+ case 32: goto tr206;
+ case 40: goto tr207;
+ case 41: goto tr208;
+ case 3082: goto tr209;
+ case 3131: goto tr210;
+ case 3338: goto tr211;
+ case 3387: goto tr211;
+ case 3594: goto tr212;
+ case 3643: goto tr213;
}
- goto tr61;
+ goto tr63;
st32:
if ( ++p == pe )
goto _test_eof32;
@@ -22368,7 +22918,7 @@ case 32:
case 65: goto st33;
case 97: goto st33;
}
- goto tr38;
+ goto tr39;
st33:
if ( ++p == pe )
goto _test_eof33;
@@ -22377,7 +22927,7 @@ case 33:
case 77: goto st34;
case 109: goto st34;
}
- goto tr38;
+ goto tr39;
st34:
if ( ++p == pe )
goto _test_eof34;
@@ -22386,7 +22936,7 @@ case 34:
case 69: goto st35;
case 101: goto st35;
}
- goto tr38;
+ goto tr39;
st35:
if ( ++p == pe )
goto _test_eof35;
@@ -22408,18 +22958,18 @@ case 35:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr214;
- case 32: goto tr214;
- case 40: goto tr215;
- case 41: goto tr216;
- case 3082: goto tr217;
- case 3131: goto tr218;
- case 3338: goto tr219;
- case 3387: goto tr219;
- case 3594: goto tr220;
- case 3643: goto tr221;
+ case 9: goto tr217;
+ case 32: goto tr217;
+ case 40: goto tr218;
+ case 41: goto tr219;
+ case 3082: goto tr220;
+ case 3131: goto tr221;
+ case 3338: goto tr222;
+ case 3387: goto tr222;
+ case 3594: goto tr223;
+ case 3643: goto tr224;
}
- goto tr61;
+ goto tr63;
st36:
if ( ++p == pe )
goto _test_eof36;
@@ -22428,7 +22978,7 @@ case 36:
case 89: goto st37;
case 121: goto st37;
}
- goto tr38;
+ goto tr39;
st37:
if ( ++p == pe )
goto _test_eof37;
@@ -22437,7 +22987,7 @@ case 37:
case 78: goto st38;
case 110: goto st38;
}
- goto tr38;
+ goto tr39;
st38:
if ( ++p == pe )
goto _test_eof38;
@@ -22446,7 +22996,7 @@ case 38:
case 67: goto st39;
case 99: goto st39;
}
- goto tr38;
+ goto tr39;
st39:
if ( ++p == pe )
goto _test_eof39;
@@ -22468,18 +23018,18 @@ case 39:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr225;
- case 32: goto tr225;
- case 40: goto tr226;
- case 41: goto tr227;
- case 3082: goto tr228;
- case 3131: goto tr229;
- case 3338: goto tr230;
- case 3387: goto tr230;
- case 3594: goto tr231;
- case 3643: goto tr232;
+ case 9: goto tr228;
+ case 32: goto tr228;
+ case 40: goto tr229;
+ case 41: goto tr230;
+ case 3082: goto tr231;
+ case 3131: goto tr232;
+ case 3338: goto tr233;
+ case 3387: goto tr233;
+ case 3594: goto tr234;
+ case 3643: goto tr235;
}
- goto tr61;
+ goto tr63;
tr7:
{
s->r_class = s->default_class;
@@ -22488,12 +23038,12 @@ tr7:
s->r_ttl = s->default_ttl;
}
goto st40;
-tr44:
+tr45:
{
s->r_class = s->default_class;
}
goto st40;
-tr710:
+tr727:
{
s->r_ttl = s->default_ttl;
}
@@ -22510,7 +23060,7 @@ case 40:
case 110: goto st45;
case 115: goto st53;
}
- goto tr38;
+ goto tr39;
st41:
if ( ++p == pe )
goto _test_eof41;
@@ -22519,7 +23069,7 @@ case 41:
case 67: goto st42;
case 99: goto st42;
}
- goto tr38;
+ goto tr39;
st42:
if ( ++p == pe )
goto _test_eof42;
@@ -22528,7 +23078,7 @@ case 42:
case 73: goto st43;
case 105: goto st43;
}
- goto tr38;
+ goto tr39;
st43:
if ( ++p == pe )
goto _test_eof43;
@@ -22537,7 +23087,7 @@ case 43:
case 68: goto st44;
case 100: goto st44;
}
- goto tr38;
+ goto tr39;
st44:
if ( ++p == pe )
goto _test_eof44;
@@ -22559,18 +23109,18 @@ case 44:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr239;
- case 32: goto tr239;
- case 40: goto tr240;
- case 41: goto tr241;
- case 3082: goto tr242;
- case 3131: goto tr243;
- case 3338: goto tr244;
- case 3387: goto tr244;
- case 3594: goto tr245;
- case 3643: goto tr246;
+ case 9: goto tr242;
+ case 32: goto tr242;
+ case 40: goto tr243;
+ case 41: goto tr244;
+ case 3082: goto tr245;
+ case 3131: goto tr246;
+ case 3338: goto tr247;
+ case 3387: goto tr247;
+ case 3594: goto tr248;
+ case 3643: goto tr249;
}
- goto tr61;
+ goto tr63;
st45:
if ( ++p == pe )
goto _test_eof45;
@@ -22581,7 +23131,7 @@ case 45:
case 97: goto st46;
case 115: goto st49;
}
- goto tr38;
+ goto tr39;
st46:
if ( ++p == pe )
goto _test_eof46;
@@ -22590,7 +23140,7 @@ case 46:
case 77: goto st47;
case 109: goto st47;
}
- goto tr38;
+ goto tr39;
st47:
if ( ++p == pe )
goto _test_eof47;
@@ -22599,7 +23149,7 @@ case 47:
case 69: goto st48;
case 101: goto st48;
}
- goto tr38;
+ goto tr39;
st48:
if ( ++p == pe )
goto _test_eof48;
@@ -22621,18 +23171,18 @@ case 48:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr251;
- case 32: goto tr251;
- case 40: goto tr252;
- case 41: goto tr253;
- case 3082: goto tr254;
- case 3131: goto tr255;
- case 3338: goto tr256;
- case 3387: goto tr256;
- case 3594: goto tr257;
- case 3643: goto tr258;
+ case 9: goto tr254;
+ case 32: goto tr254;
+ case 40: goto tr255;
+ case 41: goto tr256;
+ case 3082: goto tr257;
+ case 3131: goto tr258;
+ case 3338: goto tr259;
+ case 3387: goto tr259;
+ case 3594: goto tr260;
+ case 3643: goto tr261;
}
- goto tr61;
+ goto tr63;
st49:
if ( ++p == pe )
goto _test_eof49;
@@ -22641,7 +23191,7 @@ case 49:
case 75: goto st50;
case 107: goto st50;
}
- goto tr38;
+ goto tr39;
st50:
if ( ++p == pe )
goto _test_eof50;
@@ -22650,7 +23200,7 @@ case 50:
case 69: goto st51;
case 101: goto st51;
}
- goto tr38;
+ goto tr39;
st51:
if ( ++p == pe )
goto _test_eof51;
@@ -22659,7 +23209,7 @@ case 51:
case 89: goto st52;
case 121: goto st52;
}
- goto tr38;
+ goto tr39;
st52:
if ( ++p == pe )
goto _test_eof52;
@@ -22681,18 +23231,18 @@ case 52:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr262;
- case 32: goto tr262;
- case 40: goto tr263;
- case 41: goto tr264;
- case 3082: goto tr265;
- case 3131: goto tr266;
- case 3338: goto tr267;
- case 3387: goto tr267;
- case 3594: goto tr268;
- case 3643: goto tr269;
+ case 9: goto tr265;
+ case 32: goto tr265;
+ case 40: goto tr266;
+ case 41: goto tr267;
+ case 3082: goto tr268;
+ case 3131: goto tr269;
+ case 3338: goto tr270;
+ case 3387: goto tr270;
+ case 3594: goto tr271;
+ case 3643: goto tr272;
}
- goto tr61;
+ goto tr63;
st53:
if ( ++p == pe )
goto _test_eof53;
@@ -22714,18 +23264,18 @@ case 53:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr270;
- case 32: goto tr270;
- case 40: goto tr271;
- case 41: goto tr272;
- case 3082: goto tr273;
- case 3131: goto tr274;
- case 3338: goto tr275;
- case 3387: goto tr275;
- case 3594: goto tr276;
- case 3643: goto tr277;
+ case 9: goto tr273;
+ case 32: goto tr273;
+ case 40: goto tr274;
+ case 41: goto tr275;
+ case 3082: goto tr276;
+ case 3131: goto tr277;
+ case 3338: goto tr278;
+ case 3387: goto tr278;
+ case 3594: goto tr279;
+ case 3643: goto tr280;
}
- goto tr61;
+ goto tr63;
tr8:
{
s->r_class = s->default_class;
@@ -22734,12 +23284,12 @@ tr8:
s->r_ttl = s->default_ttl;
}
goto st54;
-tr45:
+tr46:
{
s->r_class = s->default_class;
}
goto st54;
-tr711:
+tr728:
{
s->r_ttl = s->default_ttl;
}
@@ -22752,7 +23302,7 @@ case 54:
case 85: goto st55;
case 117: goto st55;
}
- goto tr38;
+ goto tr39;
st55:
if ( ++p == pe )
goto _test_eof55;
@@ -22761,7 +23311,7 @@ case 55:
case 73: goto st56;
case 105: goto st56;
}
- goto tr38;
+ goto tr39;
st56:
if ( ++p == pe )
goto _test_eof56;
@@ -22770,14 +23320,14 @@ case 56:
case 52: goto st57;
case 54: goto st59;
}
- goto tr38;
+ goto tr39;
st57:
if ( ++p == pe )
goto _test_eof57;
case 57:
if ( (*p) == 56 )
goto st58;
- goto tr38;
+ goto tr39;
st58:
if ( ++p == pe )
goto _test_eof58;
@@ -22799,25 +23349,25 @@ case 58:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr283;
- case 32: goto tr283;
- case 40: goto tr284;
- case 41: goto tr285;
- case 3082: goto tr286;
- case 3131: goto tr287;
- case 3338: goto tr288;
- case 3387: goto tr288;
- case 3594: goto tr289;
- case 3643: goto tr290;
+ case 9: goto tr286;
+ case 32: goto tr286;
+ case 40: goto tr287;
+ case 41: goto tr288;
+ case 3082: goto tr289;
+ case 3131: goto tr290;
+ case 3338: goto tr291;
+ case 3387: goto tr291;
+ case 3594: goto tr292;
+ case 3643: goto tr293;
}
- goto tr61;
+ goto tr63;
st59:
if ( ++p == pe )
goto _test_eof59;
case 59:
if ( (*p) == 52 )
goto st60;
- goto tr38;
+ goto tr39;
st60:
if ( ++p == pe )
goto _test_eof60;
@@ -22839,18 +23389,18 @@ case 60:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr292;
- case 32: goto tr292;
- case 40: goto tr293;
- case 41: goto tr294;
- case 3082: goto tr295;
- case 3131: goto tr296;
- case 3338: goto tr297;
- case 3387: goto tr297;
- case 3594: goto tr298;
- case 3643: goto tr299;
+ case 9: goto tr295;
+ case 32: goto tr295;
+ case 40: goto tr296;
+ case 41: goto tr297;
+ case 3082: goto tr298;
+ case 3131: goto tr299;
+ case 3338: goto tr300;
+ case 3387: goto tr300;
+ case 3594: goto tr301;
+ case 3643: goto tr302;
}
- goto tr61;
+ goto tr63;
tr9:
{
s->r_class = s->default_class;
@@ -22859,12 +23409,12 @@ tr9:
s->r_ttl = s->default_ttl;
}
goto st61;
-tr46:
+tr47:
{
s->r_class = s->default_class;
}
goto st61;
-tr712:
+tr729:
{
s->r_ttl = s->default_ttl;
}
@@ -22879,7 +23429,7 @@ case 61:
case 105: goto st62;
case 116: goto st66;
}
- goto tr38;
+ goto tr39;
st62:
if ( ++p == pe )
goto _test_eof62;
@@ -22888,7 +23438,7 @@ case 62:
case 78: goto st63;
case 110: goto st63;
}
- goto tr38;
+ goto tr39;
st63:
if ( ++p == pe )
goto _test_eof63;
@@ -22897,7 +23447,7 @@ case 63:
case 70: goto st64;
case 102: goto st64;
}
- goto tr38;
+ goto tr39;
st64:
if ( ++p == pe )
goto _test_eof64;
@@ -22906,7 +23456,7 @@ case 64:
case 79: goto st65;
case 111: goto st65;
}
- goto tr38;
+ goto tr39;
st65:
if ( ++p == pe )
goto _test_eof65;
@@ -22928,18 +23478,18 @@ case 65:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr305;
- case 32: goto tr305;
- case 40: goto tr306;
- case 41: goto tr307;
- case 3082: goto tr308;
- case 3131: goto tr309;
- case 3338: goto tr310;
- case 3387: goto tr310;
- case 3594: goto tr311;
- case 3643: goto tr312;
+ case 9: goto tr308;
+ case 32: goto tr308;
+ case 40: goto tr309;
+ case 41: goto tr310;
+ case 3082: goto tr311;
+ case 3131: goto tr312;
+ case 3338: goto tr313;
+ case 3387: goto tr313;
+ case 3594: goto tr314;
+ case 3643: goto tr315;
}
- goto tr61;
+ goto tr63;
st66:
if ( ++p == pe )
goto _test_eof66;
@@ -22948,7 +23498,7 @@ case 66:
case 84: goto st67;
case 116: goto st67;
}
- goto tr38;
+ goto tr39;
st67:
if ( ++p == pe )
goto _test_eof67;
@@ -22957,7 +23507,7 @@ case 67:
case 80: goto st68;
case 112: goto st68;
}
- goto tr38;
+ goto tr39;
st68:
if ( ++p == pe )
goto _test_eof68;
@@ -22966,7 +23516,7 @@ case 68:
case 83: goto st69;
case 115: goto st69;
}
- goto tr38;
+ goto tr39;
st69:
if ( ++p == pe )
goto _test_eof69;
@@ -22988,19 +23538,19 @@ case 69:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr316;
- case 32: goto tr316;
- case 40: goto tr317;
- case 41: goto tr318;
- case 3082: goto tr319;
- case 3131: goto tr320;
- case 3338: goto tr321;
- case 3387: goto tr321;
- case 3594: goto tr322;
- case 3643: goto tr323;
+ case 9: goto tr319;
+ case 32: goto tr319;
+ case 40: goto tr320;
+ case 41: goto tr321;
+ case 3082: goto tr322;
+ case 3131: goto tr323;
+ case 3338: goto tr324;
+ case 3387: goto tr324;
+ case 3594: goto tr325;
+ case 3643: goto tr326;
}
- goto tr61;
-tr47:
+ goto tr63;
+tr48:
{
s->r_class = s->default_class;
}
@@ -23015,7 +23565,7 @@ case 70:
case 110: goto st71;
case 112: goto st74;
}
- goto tr38;
+ goto tr39;
st71:
if ( ++p == pe )
goto _test_eof71;
@@ -23033,95 +23583,95 @@ case 71:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr326;
- case 32: goto tr326;
- case 40: goto tr327;
- case 41: goto tr328;
- case 2058: goto tr329;
- case 2107: goto tr330;
+ case 9: goto tr329;
+ case 32: goto tr329;
+ case 40: goto tr330;
+ case 41: goto tr331;
+ case 2058: goto tr332;
+ case 2107: goto tr333;
}
- goto tr38;
-tr332:
+ goto tr39;
+tr335:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st72;
-tr333:
+tr336:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st72;
-tr351:
+tr355:
{
s->line_counter++;
}
goto st72;
-tr727:
+tr745:
{
if (s->number64 <= UINT32_MAX) {
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
goto st72;
-tr728:
+tr746:
{
if (s->number64 <= UINT32_MAX) {
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st72;
-tr729:
+tr747:
{
if (s->number64 <= UINT32_MAX) {
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st72;
-tr736:
+tr754:
{
if (s->number64 <= UINT32_MAX) {
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
goto st72;
-tr692:
+tr709:
{
s->buffer[s->buffer_length++] = 0;
@@ -23139,36 +23689,36 @@ tr692:
s->line_counter++;
}
goto st72;
-tr326:
+tr329:
{
s->r_class = KNOT_CLASS_IN;
}
goto st72;
-tr327:
+tr330:
{
s->r_class = KNOT_CLASS_IN;
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st72;
-tr328:
+tr331:
{
s->r_class = KNOT_CLASS_IN;
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st72;
-tr329:
+tr332:
{
s->r_class = KNOT_CLASS_IN;
}
@@ -23176,13 +23726,13 @@ tr329:
s->line_counter++;
}
goto st72;
-tr745:
+tr763:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -23190,17 +23740,17 @@ tr745:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
goto st72;
-tr746:
+tr764:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -23208,24 +23758,24 @@ tr746:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
goto st72;
-tr747:
+tr765:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -23233,24 +23783,24 @@ tr747:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
goto st72;
-tr749:
+tr767:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -23258,7 +23808,7 @@ tr749:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -23284,8 +23834,8 @@ case 72:
switch( _widec ) {
case 9: goto st72;
case 32: goto st72;
- case 40: goto tr332;
- case 41: goto tr333;
+ case 40: goto tr335;
+ case 41: goto tr336;
case 65: goto st4;
case 67: goto st17;
case 68: goto st40;
@@ -23302,7 +23852,8 @@ case 72:
case 83: goto st135;
case 84: goto st154;
case 85: goto st164;
- case 90: goto st167;
+ case 87: goto st167;
+ case 90: goto st173;
case 97: goto st4;
case 99: goto st17;
case 100: goto st40;
@@ -23319,12 +23870,13 @@ case 72:
case 115: goto st135;
case 116: goto st154;
case 117: goto st164;
- case 122: goto st167;
- case 2058: goto tr351;
- case 2107: goto tr352;
+ case 119: goto st167;
+ case 122: goto st173;
+ case 2058: goto tr355;
+ case 2107: goto tr356;
}
- goto tr38;
-tr713:
+ goto tr39;
+tr730:
{
s->r_ttl = s->default_ttl;
}
@@ -23337,7 +23889,7 @@ case 73:
case 80: goto st74;
case 112: goto st74;
}
- goto tr38;
+ goto tr39;
st74:
if ( ++p == pe )
goto _test_eof74;
@@ -23346,7 +23898,7 @@ case 74:
case 83: goto st75;
case 115: goto st75;
}
- goto tr38;
+ goto tr39;
st75:
if ( ++p == pe )
goto _test_eof75;
@@ -23355,7 +23907,7 @@ case 75:
case 69: goto st76;
case 101: goto st76;
}
- goto tr38;
+ goto tr39;
st76:
if ( ++p == pe )
goto _test_eof76;
@@ -23364,7 +23916,7 @@ case 76:
case 67: goto st77;
case 99: goto st77;
}
- goto tr38;
+ goto tr39;
st77:
if ( ++p == pe )
goto _test_eof77;
@@ -23373,7 +23925,7 @@ case 77:
case 75: goto st78;
case 107: goto st78;
}
- goto tr38;
+ goto tr39;
st78:
if ( ++p == pe )
goto _test_eof78;
@@ -23382,7 +23934,7 @@ case 78:
case 69: goto st79;
case 101: goto st79;
}
- goto tr38;
+ goto tr39;
st79:
if ( ++p == pe )
goto _test_eof79;
@@ -23391,7 +23943,7 @@ case 79:
case 89: goto st80;
case 121: goto st80;
}
- goto tr38;
+ goto tr39;
st80:
if ( ++p == pe )
goto _test_eof80;
@@ -23413,18 +23965,18 @@ case 80:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr359;
- case 32: goto tr359;
- case 40: goto tr360;
- case 41: goto tr361;
- case 3082: goto tr362;
- case 3131: goto tr363;
- case 3338: goto tr364;
- case 3387: goto tr364;
- case 3594: goto tr365;
- case 3643: goto tr366;
+ case 9: goto tr363;
+ case 32: goto tr363;
+ case 40: goto tr364;
+ case 41: goto tr365;
+ case 3082: goto tr366;
+ case 3131: goto tr367;
+ case 3338: goto tr368;
+ case 3387: goto tr368;
+ case 3594: goto tr369;
+ case 3643: goto tr370;
}
- goto tr61;
+ goto tr63;
tr11:
{
s->r_class = s->default_class;
@@ -23433,12 +23985,12 @@ tr11:
s->r_ttl = s->default_ttl;
}
goto st81;
-tr48:
+tr49:
{
s->r_class = s->default_class;
}
goto st81;
-tr714:
+tr731:
{
s->r_ttl = s->default_ttl;
}
@@ -23453,7 +24005,7 @@ case 81:
case 101: goto st82;
case 120: goto st84;
}
- goto tr38;
+ goto tr39;
st82:
if ( ++p == pe )
goto _test_eof82;
@@ -23462,7 +24014,7 @@ case 82:
case 89: goto st83;
case 121: goto st83;
}
- goto tr38;
+ goto tr39;
st83:
if ( ++p == pe )
goto _test_eof83;
@@ -23484,18 +24036,18 @@ case 83:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr370;
- case 32: goto tr370;
- case 40: goto tr371;
- case 41: goto tr372;
- case 3082: goto tr373;
- case 3131: goto tr374;
- case 3338: goto tr375;
- case 3387: goto tr375;
- case 3594: goto tr376;
- case 3643: goto tr377;
+ case 9: goto tr374;
+ case 32: goto tr374;
+ case 40: goto tr375;
+ case 41: goto tr376;
+ case 3082: goto tr377;
+ case 3131: goto tr378;
+ case 3338: goto tr379;
+ case 3387: goto tr379;
+ case 3594: goto tr380;
+ case 3643: goto tr381;
}
- goto tr61;
+ goto tr63;
st84:
if ( ++p == pe )
goto _test_eof84;
@@ -23517,18 +24069,18 @@ case 84:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr378;
- case 32: goto tr378;
- case 40: goto tr379;
- case 41: goto tr380;
- case 3082: goto tr381;
- case 3131: goto tr382;
- case 3338: goto tr383;
- case 3387: goto tr383;
- case 3594: goto tr384;
- case 3643: goto tr385;
+ case 9: goto tr382;
+ case 32: goto tr382;
+ case 40: goto tr383;
+ case 41: goto tr384;
+ case 3082: goto tr385;
+ case 3131: goto tr386;
+ case 3338: goto tr387;
+ case 3387: goto tr387;
+ case 3594: goto tr388;
+ case 3643: goto tr389;
}
- goto tr61;
+ goto tr63;
tr12:
{
s->r_class = s->default_class;
@@ -23537,12 +24089,12 @@ tr12:
s->r_ttl = s->default_ttl;
}
goto st85;
-tr49:
+tr50:
{
s->r_class = s->default_class;
}
goto st85;
-tr715:
+tr732:
{
s->r_ttl = s->default_ttl;
}
@@ -23559,14 +24111,14 @@ case 85:
case 111: goto st90;
case 112: goto st92;
}
- goto tr38;
+ goto tr39;
st86:
if ( ++p == pe )
goto _test_eof86;
case 86:
if ( (*p) == 50 )
goto st87;
- goto tr38;
+ goto tr39;
st87:
if ( ++p == pe )
goto _test_eof87;
@@ -23588,25 +24140,25 @@ case 87:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr391;
- case 32: goto tr391;
- case 40: goto tr392;
- case 41: goto tr393;
- case 3082: goto tr394;
- case 3131: goto tr395;
- case 3338: goto tr396;
- case 3387: goto tr396;
- case 3594: goto tr397;
- case 3643: goto tr398;
+ case 9: goto tr395;
+ case 32: goto tr395;
+ case 40: goto tr396;
+ case 41: goto tr397;
+ case 3082: goto tr398;
+ case 3131: goto tr399;
+ case 3338: goto tr400;
+ case 3387: goto tr400;
+ case 3594: goto tr401;
+ case 3643: goto tr402;
}
- goto tr61;
+ goto tr63;
st88:
if ( ++p == pe )
goto _test_eof88;
case 88:
if ( (*p) == 52 )
goto st89;
- goto tr38;
+ goto tr39;
st89:
if ( ++p == pe )
goto _test_eof89;
@@ -23628,18 +24180,18 @@ case 89:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr400;
- case 32: goto tr400;
- case 40: goto tr401;
- case 41: goto tr402;
- case 3082: goto tr403;
- case 3131: goto tr404;
- case 3338: goto tr405;
- case 3387: goto tr405;
- case 3594: goto tr406;
- case 3643: goto tr407;
+ case 9: goto tr404;
+ case 32: goto tr404;
+ case 40: goto tr405;
+ case 41: goto tr406;
+ case 3082: goto tr407;
+ case 3131: goto tr408;
+ case 3338: goto tr409;
+ case 3387: goto tr409;
+ case 3594: goto tr410;
+ case 3643: goto tr411;
}
- goto tr61;
+ goto tr63;
st90:
if ( ++p == pe )
goto _test_eof90;
@@ -23648,7 +24200,7 @@ case 90:
case 67: goto st91;
case 99: goto st91;
}
- goto tr38;
+ goto tr39;
st91:
if ( ++p == pe )
goto _test_eof91;
@@ -23670,18 +24222,18 @@ case 91:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr409;
- case 32: goto tr409;
- case 40: goto tr410;
- case 41: goto tr411;
- case 3082: goto tr412;
- case 3131: goto tr413;
- case 3338: goto tr414;
- case 3387: goto tr414;
- case 3594: goto tr415;
- case 3643: goto tr416;
+ case 9: goto tr413;
+ case 32: goto tr413;
+ case 40: goto tr414;
+ case 41: goto tr415;
+ case 3082: goto tr416;
+ case 3131: goto tr417;
+ case 3338: goto tr418;
+ case 3387: goto tr418;
+ case 3594: goto tr419;
+ case 3643: goto tr420;
}
- goto tr61;
+ goto tr63;
st92:
if ( ++p == pe )
goto _test_eof92;
@@ -23703,18 +24255,18 @@ case 92:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr417;
- case 32: goto tr417;
- case 40: goto tr418;
- case 41: goto tr419;
- case 3082: goto tr420;
- case 3131: goto tr421;
- case 3338: goto tr422;
- case 3387: goto tr422;
- case 3594: goto tr423;
- case 3643: goto tr424;
+ case 9: goto tr421;
+ case 32: goto tr421;
+ case 40: goto tr422;
+ case 41: goto tr423;
+ case 3082: goto tr424;
+ case 3131: goto tr425;
+ case 3338: goto tr426;
+ case 3387: goto tr426;
+ case 3594: goto tr427;
+ case 3643: goto tr428;
}
- goto tr61;
+ goto tr63;
tr13:
{
s->r_class = s->default_class;
@@ -23723,12 +24275,12 @@ tr13:
s->r_ttl = s->default_ttl;
}
goto st93;
-tr50:
+tr51:
{
s->r_class = s->default_class;
}
goto st93;
-tr716:
+tr733:
{
s->r_ttl = s->default_ttl;
}
@@ -23743,7 +24295,7 @@ case 93:
case 105: goto st94;
case 120: goto st98;
}
- goto tr38;
+ goto tr39;
st94:
if ( ++p == pe )
goto _test_eof94;
@@ -23752,7 +24304,7 @@ case 94:
case 78: goto st95;
case 110: goto st95;
}
- goto tr38;
+ goto tr39;
st95:
if ( ++p == pe )
goto _test_eof95;
@@ -23761,7 +24313,7 @@ case 95:
case 70: goto st96;
case 102: goto st96;
}
- goto tr38;
+ goto tr39;
st96:
if ( ++p == pe )
goto _test_eof96;
@@ -23770,7 +24322,7 @@ case 96:
case 79: goto st97;
case 111: goto st97;
}
- goto tr38;
+ goto tr39;
st97:
if ( ++p == pe )
goto _test_eof97;
@@ -23792,18 +24344,18 @@ case 97:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr430;
- case 32: goto tr430;
- case 40: goto tr431;
- case 41: goto tr432;
- case 3082: goto tr433;
- case 3131: goto tr434;
- case 3338: goto tr435;
- case 3387: goto tr435;
- case 3594: goto tr436;
- case 3643: goto tr437;
+ case 9: goto tr434;
+ case 32: goto tr434;
+ case 40: goto tr435;
+ case 41: goto tr436;
+ case 3082: goto tr437;
+ case 3131: goto tr438;
+ case 3338: goto tr439;
+ case 3387: goto tr439;
+ case 3594: goto tr440;
+ case 3643: goto tr441;
}
- goto tr61;
+ goto tr63;
st98:
if ( ++p == pe )
goto _test_eof98;
@@ -23825,18 +24377,18 @@ case 98:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr438;
- case 32: goto tr438;
- case 40: goto tr439;
- case 41: goto tr440;
- case 3082: goto tr441;
- case 3131: goto tr442;
- case 3338: goto tr443;
- case 3387: goto tr443;
- case 3594: goto tr444;
- case 3643: goto tr445;
+ case 9: goto tr442;
+ case 32: goto tr442;
+ case 40: goto tr443;
+ case 41: goto tr444;
+ case 3082: goto tr445;
+ case 3131: goto tr446;
+ case 3338: goto tr447;
+ case 3387: goto tr447;
+ case 3594: goto tr448;
+ case 3643: goto tr449;
}
- goto tr61;
+ goto tr63;
tr14:
{
s->r_class = s->default_class;
@@ -23845,12 +24397,12 @@ tr14:
s->r_ttl = s->default_ttl;
}
goto st99;
-tr51:
+tr52:
{
s->r_class = s->default_class;
}
goto st99;
-tr717:
+tr734:
{
s->r_ttl = s->default_ttl;
}
@@ -23867,7 +24419,7 @@ case 99:
case 105: goto st104;
case 115: goto st106;
}
- goto tr38;
+ goto tr39;
st100:
if ( ++p == pe )
goto _test_eof100;
@@ -23876,7 +24428,7 @@ case 100:
case 80: goto st101;
case 112: goto st101;
}
- goto tr38;
+ goto tr39;
st101:
if ( ++p == pe )
goto _test_eof101;
@@ -23885,7 +24437,7 @@ case 101:
case 84: goto st102;
case 116: goto st102;
}
- goto tr38;
+ goto tr39;
st102:
if ( ++p == pe )
goto _test_eof102;
@@ -23894,7 +24446,7 @@ case 102:
case 82: goto st103;
case 114: goto st103;
}
- goto tr38;
+ goto tr39;
st103:
if ( ++p == pe )
goto _test_eof103;
@@ -23916,18 +24468,18 @@ case 103:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr452;
- case 32: goto tr452;
- case 40: goto tr453;
- case 41: goto tr454;
- case 3082: goto tr455;
- case 3131: goto tr456;
- case 3338: goto tr457;
- case 3387: goto tr457;
- case 3594: goto tr458;
- case 3643: goto tr459;
+ case 9: goto tr456;
+ case 32: goto tr456;
+ case 40: goto tr457;
+ case 41: goto tr458;
+ case 3082: goto tr459;
+ case 3131: goto tr460;
+ case 3338: goto tr461;
+ case 3387: goto tr461;
+ case 3594: goto tr462;
+ case 3643: goto tr463;
}
- goto tr61;
+ goto tr63;
st104:
if ( ++p == pe )
goto _test_eof104;
@@ -23936,7 +24488,7 @@ case 104:
case 68: goto st105;
case 100: goto st105;
}
- goto tr38;
+ goto tr39;
st105:
if ( ++p == pe )
goto _test_eof105;
@@ -23958,18 +24510,18 @@ case 105:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr461;
- case 32: goto tr461;
- case 40: goto tr462;
- case 41: goto tr463;
- case 3082: goto tr464;
- case 3131: goto tr465;
- case 3338: goto tr466;
- case 3387: goto tr466;
- case 3594: goto tr467;
- case 3643: goto tr468;
+ case 9: goto tr465;
+ case 32: goto tr465;
+ case 40: goto tr466;
+ case 41: goto tr467;
+ case 3082: goto tr468;
+ case 3131: goto tr469;
+ case 3338: goto tr470;
+ case 3387: goto tr470;
+ case 3594: goto tr471;
+ case 3643: goto tr472;
}
- goto tr61;
+ goto tr63;
st106:
if ( ++p == pe )
goto _test_eof106;
@@ -23991,20 +24543,20 @@ case 106:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr469;
- case 32: goto tr469;
- case 40: goto tr470;
- case 41: goto tr471;
+ case 9: goto tr473;
+ case 32: goto tr473;
+ case 40: goto tr474;
+ case 41: goto tr475;
case 69: goto st107;
case 101: goto st107;
- case 3082: goto tr473;
- case 3131: goto tr474;
- case 3338: goto tr475;
- case 3387: goto tr475;
- case 3594: goto tr476;
- case 3643: goto tr477;
- }
- goto tr61;
+ case 3082: goto tr477;
+ case 3131: goto tr478;
+ case 3338: goto tr479;
+ case 3387: goto tr479;
+ case 3594: goto tr480;
+ case 3643: goto tr481;
+ }
+ goto tr63;
st107:
if ( ++p == pe )
goto _test_eof107;
@@ -24013,7 +24565,7 @@ case 107:
case 67: goto st108;
case 99: goto st108;
}
- goto tr38;
+ goto tr39;
st108:
if ( ++p == pe )
goto _test_eof108;
@@ -24035,19 +24587,19 @@ case 108:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr479;
- case 32: goto tr479;
- case 40: goto tr480;
- case 41: goto tr481;
+ case 9: goto tr483;
+ case 32: goto tr483;
+ case 40: goto tr484;
+ case 41: goto tr485;
case 51: goto st109;
- case 3082: goto tr483;
- case 3131: goto tr484;
- case 3338: goto tr485;
- case 3387: goto tr485;
- case 3594: goto tr486;
- case 3643: goto tr487;
- }
- goto tr61;
+ case 3082: goto tr487;
+ case 3131: goto tr488;
+ case 3338: goto tr489;
+ case 3387: goto tr489;
+ case 3594: goto tr490;
+ case 3643: goto tr491;
+ }
+ goto tr63;
st109:
if ( ++p == pe )
goto _test_eof109;
@@ -24069,20 +24621,20 @@ case 109:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr488;
- case 32: goto tr488;
- case 40: goto tr489;
- case 41: goto tr490;
+ case 9: goto tr492;
+ case 32: goto tr492;
+ case 40: goto tr493;
+ case 41: goto tr494;
case 80: goto st110;
case 112: goto st110;
- case 3082: goto tr492;
- case 3131: goto tr493;
- case 3338: goto tr494;
- case 3387: goto tr494;
- case 3594: goto tr495;
- case 3643: goto tr496;
- }
- goto tr61;
+ case 3082: goto tr496;
+ case 3131: goto tr497;
+ case 3338: goto tr498;
+ case 3387: goto tr498;
+ case 3594: goto tr499;
+ case 3643: goto tr500;
+ }
+ goto tr63;
st110:
if ( ++p == pe )
goto _test_eof110;
@@ -24091,7 +24643,7 @@ case 110:
case 65: goto st111;
case 97: goto st111;
}
- goto tr38;
+ goto tr39;
st111:
if ( ++p == pe )
goto _test_eof111;
@@ -24100,7 +24652,7 @@ case 111:
case 82: goto st112;
case 114: goto st112;
}
- goto tr38;
+ goto tr39;
st112:
if ( ++p == pe )
goto _test_eof112;
@@ -24109,7 +24661,7 @@ case 112:
case 65: goto st113;
case 97: goto st113;
}
- goto tr38;
+ goto tr39;
st113:
if ( ++p == pe )
goto _test_eof113;
@@ -24118,7 +24670,7 @@ case 113:
case 77: goto st114;
case 109: goto st114;
}
- goto tr38;
+ goto tr39;
st114:
if ( ++p == pe )
goto _test_eof114;
@@ -24140,18 +24692,18 @@ case 114:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr501;
- case 32: goto tr501;
- case 40: goto tr502;
- case 41: goto tr503;
- case 3082: goto tr504;
- case 3131: goto tr505;
- case 3338: goto tr506;
- case 3387: goto tr506;
- case 3594: goto tr507;
- case 3643: goto tr508;
+ case 9: goto tr505;
+ case 32: goto tr505;
+ case 40: goto tr506;
+ case 41: goto tr507;
+ case 3082: goto tr508;
+ case 3131: goto tr509;
+ case 3338: goto tr510;
+ case 3387: goto tr510;
+ case 3594: goto tr511;
+ case 3643: goto tr512;
}
- goto tr61;
+ goto tr63;
tr15:
{
s->r_class = s->default_class;
@@ -24160,12 +24712,12 @@ tr15:
s->r_ttl = s->default_ttl;
}
goto st115;
-tr52:
+tr53:
{
s->r_class = s->default_class;
}
goto st115;
-tr718:
+tr735:
{
s->r_ttl = s->default_ttl;
}
@@ -24178,7 +24730,7 @@ case 115:
case 80: goto st116;
case 112: goto st116;
}
- goto tr38;
+ goto tr39;
st116:
if ( ++p == pe )
goto _test_eof116;
@@ -24187,7 +24739,7 @@ case 116:
case 69: goto st117;
case 101: goto st117;
}
- goto tr38;
+ goto tr39;
st117:
if ( ++p == pe )
goto _test_eof117;
@@ -24196,7 +24748,7 @@ case 117:
case 78: goto st118;
case 110: goto st118;
}
- goto tr38;
+ goto tr39;
st118:
if ( ++p == pe )
goto _test_eof118;
@@ -24205,7 +24757,7 @@ case 118:
case 80: goto st119;
case 112: goto st119;
}
- goto tr38;
+ goto tr39;
st119:
if ( ++p == pe )
goto _test_eof119;
@@ -24214,7 +24766,7 @@ case 119:
case 71: goto st120;
case 103: goto st120;
}
- goto tr38;
+ goto tr39;
st120:
if ( ++p == pe )
goto _test_eof120;
@@ -24223,7 +24775,7 @@ case 120:
case 80: goto st121;
case 112: goto st121;
}
- goto tr38;
+ goto tr39;
st121:
if ( ++p == pe )
goto _test_eof121;
@@ -24232,7 +24784,7 @@ case 121:
case 75: goto st122;
case 107: goto st122;
}
- goto tr38;
+ goto tr39;
st122:
if ( ++p == pe )
goto _test_eof122;
@@ -24241,7 +24793,7 @@ case 122:
case 69: goto st123;
case 101: goto st123;
}
- goto tr38;
+ goto tr39;
st123:
if ( ++p == pe )
goto _test_eof123;
@@ -24250,7 +24802,7 @@ case 123:
case 89: goto st124;
case 121: goto st124;
}
- goto tr38;
+ goto tr39;
st124:
if ( ++p == pe )
goto _test_eof124;
@@ -24272,18 +24824,18 @@ case 124:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr518;
- case 32: goto tr518;
- case 40: goto tr519;
- case 41: goto tr520;
- case 3082: goto tr521;
- case 3131: goto tr522;
- case 3338: goto tr523;
- case 3387: goto tr523;
- case 3594: goto tr524;
- case 3643: goto tr525;
+ case 9: goto tr522;
+ case 32: goto tr522;
+ case 40: goto tr523;
+ case 41: goto tr524;
+ case 3082: goto tr525;
+ case 3131: goto tr526;
+ case 3338: goto tr527;
+ case 3387: goto tr527;
+ case 3594: goto tr528;
+ case 3643: goto tr529;
}
- goto tr61;
+ goto tr63;
tr16:
{
s->r_class = s->default_class;
@@ -24292,12 +24844,12 @@ tr16:
s->r_ttl = s->default_ttl;
}
goto st125;
-tr53:
+tr54:
{
s->r_class = s->default_class;
}
goto st125;
-tr719:
+tr736:
{
s->r_ttl = s->default_ttl;
}
@@ -24310,7 +24862,7 @@ case 125:
case 84: goto st126;
case 116: goto st126;
}
- goto tr38;
+ goto tr39;
st126:
if ( ++p == pe )
goto _test_eof126;
@@ -24319,7 +24871,7 @@ case 126:
case 82: goto st127;
case 114: goto st127;
}
- goto tr38;
+ goto tr39;
st127:
if ( ++p == pe )
goto _test_eof127;
@@ -24341,18 +24893,18 @@ case 127:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr528;
- case 32: goto tr528;
- case 40: goto tr529;
- case 41: goto tr530;
- case 3082: goto tr531;
- case 3131: goto tr532;
- case 3338: goto tr533;
- case 3387: goto tr533;
- case 3594: goto tr534;
- case 3643: goto tr535;
+ case 9: goto tr532;
+ case 32: goto tr532;
+ case 40: goto tr533;
+ case 41: goto tr534;
+ case 3082: goto tr535;
+ case 3131: goto tr536;
+ case 3338: goto tr537;
+ case 3387: goto tr537;
+ case 3594: goto tr538;
+ case 3643: goto tr539;
}
- goto tr61;
+ goto tr63;
tr17:
{
s->r_class = s->default_class;
@@ -24361,12 +24913,12 @@ tr17:
s->r_ttl = s->default_ttl;
}
goto st128;
-tr54:
+tr55:
{
s->r_class = s->default_class;
}
goto st128;
-tr720:
+tr737:
{
s->r_ttl = s->default_ttl;
}
@@ -24383,7 +24935,7 @@ case 128:
case 114: goto st130;
case 116: goto st134;
}
- goto tr38;
+ goto tr39;
st129:
if ( ++p == pe )
goto _test_eof129;
@@ -24405,18 +24957,18 @@ case 129:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr539;
- case 32: goto tr539;
- case 40: goto tr540;
- case 41: goto tr541;
- case 3082: goto tr542;
- case 3131: goto tr543;
- case 3338: goto tr544;
- case 3387: goto tr544;
- case 3594: goto tr545;
- case 3643: goto tr546;
+ case 9: goto tr543;
+ case 32: goto tr543;
+ case 40: goto tr544;
+ case 41: goto tr545;
+ case 3082: goto tr546;
+ case 3131: goto tr547;
+ case 3338: goto tr548;
+ case 3387: goto tr548;
+ case 3594: goto tr549;
+ case 3643: goto tr550;
}
- goto tr61;
+ goto tr63;
st130:
if ( ++p == pe )
goto _test_eof130;
@@ -24425,7 +24977,7 @@ case 130:
case 83: goto st131;
case 115: goto st131;
}
- goto tr38;
+ goto tr39;
st131:
if ( ++p == pe )
goto _test_eof131;
@@ -24434,7 +24986,7 @@ case 131:
case 73: goto st132;
case 105: goto st132;
}
- goto tr38;
+ goto tr39;
st132:
if ( ++p == pe )
goto _test_eof132;
@@ -24443,7 +24995,7 @@ case 132:
case 71: goto st133;
case 103: goto st133;
}
- goto tr38;
+ goto tr39;
st133:
if ( ++p == pe )
goto _test_eof133;
@@ -24465,18 +25017,18 @@ case 133:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr550;
- case 32: goto tr550;
- case 40: goto tr551;
- case 41: goto tr552;
- case 3082: goto tr553;
- case 3131: goto tr554;
- case 3338: goto tr555;
- case 3387: goto tr555;
- case 3594: goto tr556;
- case 3643: goto tr557;
+ case 9: goto tr554;
+ case 32: goto tr554;
+ case 40: goto tr555;
+ case 41: goto tr556;
+ case 3082: goto tr557;
+ case 3131: goto tr558;
+ case 3338: goto tr559;
+ case 3387: goto tr559;
+ case 3594: goto tr560;
+ case 3643: goto tr561;
}
- goto tr61;
+ goto tr63;
st134:
if ( ++p == pe )
goto _test_eof134;
@@ -24498,18 +25050,18 @@ case 134:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr558;
- case 32: goto tr558;
- case 40: goto tr559;
- case 41: goto tr560;
- case 3082: goto tr561;
- case 3131: goto tr562;
- case 3338: goto tr563;
- case 3387: goto tr563;
- case 3594: goto tr564;
- case 3643: goto tr565;
+ case 9: goto tr562;
+ case 32: goto tr562;
+ case 40: goto tr563;
+ case 41: goto tr564;
+ case 3082: goto tr565;
+ case 3131: goto tr566;
+ case 3338: goto tr567;
+ case 3387: goto tr567;
+ case 3594: goto tr568;
+ case 3643: goto tr569;
}
- goto tr61;
+ goto tr63;
tr18:
{
s->r_class = s->default_class;
@@ -24518,12 +25070,12 @@ tr18:
s->r_ttl = s->default_ttl;
}
goto st135;
-tr55:
+tr56:
{
s->r_class = s->default_class;
}
goto st135;
-tr721:
+tr738:
{
s->r_ttl = s->default_ttl;
}
@@ -24546,7 +25098,7 @@ case 135:
case 115: goto st147;
case 118: goto st151;
}
- goto tr38;
+ goto tr39;
st136:
if ( ++p == pe )
goto _test_eof136;
@@ -24555,7 +25107,7 @@ case 136:
case 73: goto st137;
case 105: goto st137;
}
- goto tr38;
+ goto tr39;
st137:
if ( ++p == pe )
goto _test_eof137;
@@ -24564,7 +25116,7 @@ case 137:
case 77: goto st138;
case 109: goto st138;
}
- goto tr38;
+ goto tr39;
st138:
if ( ++p == pe )
goto _test_eof138;
@@ -24573,7 +25125,7 @@ case 138:
case 69: goto st139;
case 101: goto st139;
}
- goto tr38;
+ goto tr39;
st139:
if ( ++p == pe )
goto _test_eof139;
@@ -24582,7 +25134,7 @@ case 139:
case 65: goto st140;
case 97: goto st140;
}
- goto tr38;
+ goto tr39;
st140:
if ( ++p == pe )
goto _test_eof140;
@@ -24604,18 +25156,18 @@ case 140:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr576;
- case 32: goto tr576;
- case 40: goto tr577;
- case 41: goto tr578;
- case 3082: goto tr579;
- case 3131: goto tr580;
- case 3338: goto tr581;
- case 3387: goto tr581;
- case 3594: goto tr582;
- case 3643: goto tr583;
+ case 9: goto tr580;
+ case 32: goto tr580;
+ case 40: goto tr581;
+ case 41: goto tr582;
+ case 3082: goto tr583;
+ case 3131: goto tr584;
+ case 3338: goto tr585;
+ case 3387: goto tr585;
+ case 3594: goto tr586;
+ case 3643: goto tr587;
}
- goto tr61;
+ goto tr63;
st141:
if ( ++p == pe )
goto _test_eof141;
@@ -24624,7 +25176,7 @@ case 141:
case 65: goto st142;
case 97: goto st142;
}
- goto tr38;
+ goto tr39;
st142:
if ( ++p == pe )
goto _test_eof142;
@@ -24646,18 +25198,18 @@ case 142:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr585;
- case 32: goto tr585;
- case 40: goto tr586;
- case 41: goto tr587;
- case 3082: goto tr588;
- case 3131: goto tr589;
- case 3338: goto tr590;
- case 3387: goto tr590;
- case 3594: goto tr591;
- case 3643: goto tr592;
+ case 9: goto tr589;
+ case 32: goto tr589;
+ case 40: goto tr590;
+ case 41: goto tr591;
+ case 3082: goto tr592;
+ case 3131: goto tr593;
+ case 3338: goto tr594;
+ case 3387: goto tr594;
+ case 3594: goto tr595;
+ case 3643: goto tr596;
}
- goto tr61;
+ goto tr63;
st143:
if ( ++p == pe )
goto _test_eof143;
@@ -24666,7 +25218,7 @@ case 143:
case 70: goto st144;
case 102: goto st144;
}
- goto tr38;
+ goto tr39;
st144:
if ( ++p == pe )
goto _test_eof144;
@@ -24688,18 +25240,18 @@ case 144:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr594;
- case 32: goto tr594;
- case 40: goto tr595;
- case 41: goto tr596;
- case 3082: goto tr597;
- case 3131: goto tr598;
- case 3338: goto tr599;
- case 3387: goto tr599;
- case 3594: goto tr600;
- case 3643: goto tr601;
+ case 9: goto tr598;
+ case 32: goto tr598;
+ case 40: goto tr599;
+ case 41: goto tr600;
+ case 3082: goto tr601;
+ case 3131: goto tr602;
+ case 3338: goto tr603;
+ case 3387: goto tr603;
+ case 3594: goto tr604;
+ case 3643: goto tr605;
}
- goto tr61;
+ goto tr63;
st145:
if ( ++p == pe )
goto _test_eof145;
@@ -24708,7 +25260,7 @@ case 145:
case 86: goto st146;
case 118: goto st146;
}
- goto tr38;
+ goto tr39;
st146:
if ( ++p == pe )
goto _test_eof146;
@@ -24730,18 +25282,18 @@ case 146:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr603;
- case 32: goto tr603;
- case 40: goto tr604;
- case 41: goto tr605;
- case 3082: goto tr606;
- case 3131: goto tr607;
- case 3338: goto tr608;
- case 3387: goto tr608;
- case 3594: goto tr609;
- case 3643: goto tr610;
+ case 9: goto tr607;
+ case 32: goto tr607;
+ case 40: goto tr608;
+ case 41: goto tr609;
+ case 3082: goto tr610;
+ case 3131: goto tr611;
+ case 3338: goto tr612;
+ case 3387: goto tr612;
+ case 3594: goto tr613;
+ case 3643: goto tr614;
}
- goto tr61;
+ goto tr63;
st147:
if ( ++p == pe )
goto _test_eof147;
@@ -24750,7 +25302,7 @@ case 147:
case 72: goto st148;
case 104: goto st148;
}
- goto tr38;
+ goto tr39;
st148:
if ( ++p == pe )
goto _test_eof148;
@@ -24759,7 +25311,7 @@ case 148:
case 70: goto st149;
case 102: goto st149;
}
- goto tr38;
+ goto tr39;
st149:
if ( ++p == pe )
goto _test_eof149;
@@ -24768,7 +25320,7 @@ case 149:
case 80: goto st150;
case 112: goto st150;
}
- goto tr38;
+ goto tr39;
st150:
if ( ++p == pe )
goto _test_eof150;
@@ -24790,18 +25342,18 @@ case 150:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr614;
- case 32: goto tr614;
- case 40: goto tr615;
- case 41: goto tr616;
- case 3082: goto tr617;
- case 3131: goto tr618;
- case 3338: goto tr619;
- case 3387: goto tr619;
- case 3594: goto tr620;
- case 3643: goto tr621;
+ case 9: goto tr618;
+ case 32: goto tr618;
+ case 40: goto tr619;
+ case 41: goto tr620;
+ case 3082: goto tr621;
+ case 3131: goto tr622;
+ case 3338: goto tr623;
+ case 3387: goto tr623;
+ case 3594: goto tr624;
+ case 3643: goto tr625;
}
- goto tr61;
+ goto tr63;
st151:
if ( ++p == pe )
goto _test_eof151;
@@ -24810,7 +25362,7 @@ case 151:
case 67: goto st152;
case 99: goto st152;
}
- goto tr38;
+ goto tr39;
st152:
if ( ++p == pe )
goto _test_eof152;
@@ -24819,7 +25371,7 @@ case 152:
case 66: goto st153;
case 98: goto st153;
}
- goto tr38;
+ goto tr39;
st153:
if ( ++p == pe )
goto _test_eof153;
@@ -24841,18 +25393,18 @@ case 153:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr624;
- case 32: goto tr624;
- case 40: goto tr625;
- case 41: goto tr626;
- case 3082: goto tr627;
- case 3131: goto tr628;
- case 3338: goto tr629;
- case 3387: goto tr629;
- case 3594: goto tr630;
- case 3643: goto tr631;
+ case 9: goto tr628;
+ case 32: goto tr628;
+ case 40: goto tr629;
+ case 41: goto tr630;
+ case 3082: goto tr631;
+ case 3131: goto tr632;
+ case 3338: goto tr633;
+ case 3387: goto tr633;
+ case 3594: goto tr634;
+ case 3643: goto tr635;
}
- goto tr61;
+ goto tr63;
tr19:
{
s->r_class = s->default_class;
@@ -24861,12 +25413,12 @@ tr19:
s->r_ttl = s->default_ttl;
}
goto st154;
-tr56:
+tr57:
{
s->r_class = s->default_class;
}
goto st154;
-tr722:
+tr739:
{
s->r_ttl = s->default_ttl;
}
@@ -24883,7 +25435,7 @@ case 154:
case 120: goto st158;
case 121: goto st160;
}
- goto tr38;
+ goto tr39;
st155:
if ( ++p == pe )
goto _test_eof155;
@@ -24892,7 +25444,7 @@ case 155:
case 83: goto st156;
case 115: goto st156;
}
- goto tr38;
+ goto tr39;
st156:
if ( ++p == pe )
goto _test_eof156;
@@ -24901,7 +25453,7 @@ case 156:
case 65: goto st157;
case 97: goto st157;
}
- goto tr38;
+ goto tr39;
st157:
if ( ++p == pe )
goto _test_eof157;
@@ -24923,18 +25475,18 @@ case 157:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr637;
- case 32: goto tr637;
- case 40: goto tr638;
- case 41: goto tr639;
- case 3082: goto tr640;
- case 3131: goto tr641;
- case 3338: goto tr642;
- case 3387: goto tr642;
- case 3594: goto tr643;
- case 3643: goto tr644;
+ case 9: goto tr641;
+ case 32: goto tr641;
+ case 40: goto tr642;
+ case 41: goto tr643;
+ case 3082: goto tr644;
+ case 3131: goto tr645;
+ case 3338: goto tr646;
+ case 3387: goto tr646;
+ case 3594: goto tr647;
+ case 3643: goto tr648;
}
- goto tr61;
+ goto tr63;
st158:
if ( ++p == pe )
goto _test_eof158;
@@ -24943,7 +25495,7 @@ case 158:
case 84: goto st159;
case 116: goto st159;
}
- goto tr38;
+ goto tr39;
st159:
if ( ++p == pe )
goto _test_eof159;
@@ -24965,18 +25517,18 @@ case 159:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr646;
- case 32: goto tr646;
- case 40: goto tr647;
- case 41: goto tr648;
- case 3082: goto tr649;
- case 3131: goto tr650;
- case 3338: goto tr651;
- case 3387: goto tr651;
- case 3594: goto tr652;
- case 3643: goto tr653;
+ case 9: goto tr650;
+ case 32: goto tr650;
+ case 40: goto tr651;
+ case 41: goto tr652;
+ case 3082: goto tr653;
+ case 3131: goto tr654;
+ case 3338: goto tr655;
+ case 3387: goto tr655;
+ case 3594: goto tr656;
+ case 3643: goto tr657;
}
- goto tr61;
+ goto tr63;
st160:
if ( ++p == pe )
goto _test_eof160;
@@ -24985,7 +25537,7 @@ case 160:
case 80: goto st161;
case 112: goto st161;
}
- goto tr38;
+ goto tr39;
st161:
if ( ++p == pe )
goto _test_eof161;
@@ -24994,15 +25546,15 @@ case 161:
case 69: goto st162;
case 101: goto st162;
}
- goto tr38;
+ goto tr39;
st162:
if ( ++p == pe )
goto _test_eof162;
case 162:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr657;
- goto tr656;
-tr657:
+ goto tr661;
+ goto tr660;
+tr661:
{
s->number64 = 0;
}
@@ -25017,11 +25569,11 @@ tr657:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
goto st163;
-tr662:
+tr666:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -25033,7 +25585,7 @@ tr662:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
goto st163;
@@ -25058,20 +25610,20 @@ case 163:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr659;
- case 32: goto tr659;
- case 40: goto tr660;
- case 41: goto tr661;
- case 3082: goto tr663;
- case 3131: goto tr664;
- case 3338: goto tr665;
- case 3387: goto tr665;
- case 3594: goto tr666;
- case 3643: goto tr667;
+ case 9: goto tr663;
+ case 32: goto tr663;
+ case 40: goto tr664;
+ case 41: goto tr665;
+ case 3082: goto tr667;
+ case 3131: goto tr668;
+ case 3338: goto tr669;
+ case 3387: goto tr669;
+ case 3594: goto tr670;
+ case 3643: goto tr671;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr662;
- goto tr658;
+ goto tr666;
+ goto tr662;
tr20:
{
s->r_class = s->default_class;
@@ -25080,12 +25632,12 @@ tr20:
s->r_ttl = s->default_ttl;
}
goto st164;
-tr57:
+tr58:
{
s->r_class = s->default_class;
}
goto st164;
-tr723:
+tr740:
{
s->r_ttl = s->default_ttl;
}
@@ -25098,7 +25650,7 @@ case 164:
case 82: goto st165;
case 114: goto st165;
}
- goto tr38;
+ goto tr39;
st165:
if ( ++p == pe )
goto _test_eof165;
@@ -25107,7 +25659,7 @@ case 165:
case 73: goto st166;
case 105: goto st166;
}
- goto tr38;
+ goto tr39;
st166:
if ( ++p == pe )
goto _test_eof166;
@@ -25129,18 +25681,18 @@ case 166:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr670;
- case 32: goto tr670;
- case 40: goto tr671;
- case 41: goto tr672;
- case 3082: goto tr673;
- case 3131: goto tr674;
- case 3338: goto tr675;
- case 3387: goto tr675;
- case 3594: goto tr676;
- case 3643: goto tr677;
+ case 9: goto tr674;
+ case 32: goto tr674;
+ case 40: goto tr675;
+ case 41: goto tr676;
+ case 3082: goto tr677;
+ case 3131: goto tr678;
+ case 3338: goto tr679;
+ case 3387: goto tr679;
+ case 3594: goto tr680;
+ case 3643: goto tr681;
}
- goto tr61;
+ goto tr63;
tr21:
{
s->r_class = s->default_class;
@@ -25149,12 +25701,12 @@ tr21:
s->r_ttl = s->default_ttl;
}
goto st167;
-tr58:
+tr59:
{
s->r_class = s->default_class;
}
goto st167;
-tr724:
+tr741:
{
s->r_ttl = s->default_ttl;
}
@@ -25164,46 +25716,46 @@ st167:
goto _test_eof167;
case 167:
switch( (*p) ) {
- case 79: goto st168;
- case 111: goto st168;
+ case 65: goto st168;
+ case 97: goto st168;
}
- goto tr38;
+ goto tr39;
st168:
if ( ++p == pe )
goto _test_eof168;
case 168:
switch( (*p) ) {
- case 78: goto st169;
- case 110: goto st169;
+ case 76: goto st169;
+ case 108: goto st169;
}
- goto tr38;
+ goto tr39;
st169:
if ( ++p == pe )
goto _test_eof169;
case 169:
switch( (*p) ) {
- case 69: goto st170;
- case 101: goto st170;
+ case 76: goto st170;
+ case 108: goto st170;
}
- goto tr38;
+ goto tr39;
st170:
if ( ++p == pe )
goto _test_eof170;
case 170:
switch( (*p) ) {
- case 77: goto st171;
- case 109: goto st171;
+ case 69: goto st171;
+ case 101: goto st171;
}
- goto tr38;
+ goto tr39;
st171:
if ( ++p == pe )
goto _test_eof171;
case 171:
switch( (*p) ) {
- case 68: goto st172;
- case 100: goto st172;
+ case 84: goto st172;
+ case 116: goto st172;
}
- goto tr38;
+ goto tr39;
st172:
if ( ++p == pe )
goto _test_eof172;
@@ -25225,58 +25777,154 @@ case 172:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr683;
- case 32: goto tr683;
- case 40: goto tr684;
- case 41: goto tr685;
- case 3082: goto tr686;
- case 3131: goto tr687;
- case 3338: goto tr688;
- case 3387: goto tr688;
- case 3594: goto tr689;
- case 3643: goto tr690;
+ case 9: goto tr687;
+ case 32: goto tr687;
+ case 40: goto tr688;
+ case 41: goto tr689;
+ case 3082: goto tr690;
+ case 3131: goto tr691;
+ case 3338: goto tr692;
+ case 3387: goto tr692;
+ case 3594: goto tr693;
+ case 3643: goto tr694;
}
- goto tr61;
-tr352:
+ goto tr63;
+tr22:
{
- s->buffer_length = 0;
+ s->r_class = s->default_class;
+ }
+ {
+ s->r_ttl = s->default_ttl;
}
goto st173;
-tr737:
+tr60:
+ {
+ s->r_class = s->default_class;
+ }
+ goto st173;
+tr742:
+ {
+ s->r_ttl = s->default_ttl;
+ }
+ goto st173;
+st173:
+ if ( ++p == pe )
+ goto _test_eof173;
+case 173:
+ switch( (*p) ) {
+ case 79: goto st174;
+ case 111: goto st174;
+ }
+ goto tr39;
+st174:
+ if ( ++p == pe )
+ goto _test_eof174;
+case 174:
+ switch( (*p) ) {
+ case 78: goto st175;
+ case 110: goto st175;
+ }
+ goto tr39;
+st175:
+ if ( ++p == pe )
+ goto _test_eof175;
+case 175:
+ switch( (*p) ) {
+ case 69: goto st176;
+ case 101: goto st176;
+ }
+ goto tr39;
+st176:
+ if ( ++p == pe )
+ goto _test_eof176;
+case 176:
+ switch( (*p) ) {
+ case 77: goto st177;
+ case 109: goto st177;
+ }
+ goto tr39;
+st177:
+ if ( ++p == pe )
+ goto _test_eof177;
+case 177:
+ switch( (*p) ) {
+ case 68: goto st178;
+ case 100: goto st178;
+ }
+ goto tr39;
+st178:
+ if ( ++p == pe )
+ goto _test_eof178;
+case 178:
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ switch( _widec ) {
+ case 9: goto tr700;
+ case 32: goto tr700;
+ case 40: goto tr701;
+ case 41: goto tr702;
+ case 3082: goto tr703;
+ case 3131: goto tr704;
+ case 3338: goto tr705;
+ case 3387: goto tr705;
+ case 3594: goto tr706;
+ case 3643: goto tr707;
+ }
+ goto tr63;
+tr356:
+ {
+ s->buffer_length = 0;
+ }
+ goto st179;
+tr755:
{
if (s->number64 <= UINT32_MAX) {
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st173;
-tr691:
+ goto st179;
+tr708:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st173;
-tr330:
+ goto st179;
+tr333:
{
s->r_class = KNOT_CLASS_IN;
}
{
s->buffer_length = 0;
}
- goto st173;
-tr750:
+ goto st179;
+tr768:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -25284,17 +25932,17 @@ tr750:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st173;
-st173:
+ goto st179;
+st179:
if ( ++p == pe )
- goto _test_eof173;
-case 173:
+ goto _test_eof179;
+case 179:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -25314,11 +25962,11 @@ case 173:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr692;
+ goto tr709;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr691;
- goto tr38;
-tr1002:
+ goto tr708;
+ goto tr39;
+tr1020:
{
s->buffer[s->buffer_length++] = 0;
@@ -25328,7 +25976,7 @@ tr1002:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1398; goto _out;}
+ {p++; cs = 1446; goto _out;}
}
}
}
@@ -25338,7 +25986,7 @@ tr1002:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -25351,22 +25999,22 @@ tr1002:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1398; goto _out;}
+ {p++; cs = 1446; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1398; goto _out;}
+ p--; {p++; cs = 1446; goto _out;}
}
}
- goto st1398;
-tr149:
+ goto st1446;
+tr152:
{
if (s->number64 <= UINT32_MAX) {
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -25379,7 +26027,7 @@ tr149:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -25392,23 +26040,23 @@ tr149:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1398; goto _out;}
+ {p++; cs = 1446; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1398; goto _out;}
+ p--; {p++; cs = 1446; goto _out;}
}
}
- goto st1398;
-tr155:
+ goto st1446;
+tr158:
{
s->line_counter++;
}
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -25421,19 +26069,19 @@ tr155:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1398; goto _out;}
+ {p++; cs = 1446; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1398; goto _out;}
+ p--; {p++; cs = 1446; goto _out;}
}
}
- goto st1398;
-st1398:
+ goto st1446;
+st1446:
if ( ++p == pe )
- goto _test_eof1398;
-case 1398:
+ goto _test_eof1446;
+case 1446:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -25447,134 +26095,136 @@ case 1398:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr4228;
- case 32: goto tr4228;
- case 36: goto st184;
- case 40: goto tr4229;
- case 41: goto tr4230;
- case 42: goto tr4210;
- case 65: goto tr4231;
- case 67: goto tr4232;
- case 68: goto tr4233;
- case 69: goto tr4234;
- case 72: goto tr4235;
- case 73: goto tr4236;
- case 75: goto tr4237;
- case 76: goto tr4238;
- case 77: goto tr4239;
- case 78: goto tr4240;
- case 79: goto tr4241;
- case 80: goto tr4242;
- case 82: goto tr4243;
- case 83: goto tr4244;
- case 84: goto tr4245;
- case 85: goto tr4246;
- case 90: goto tr4247;
- case 92: goto tr4210;
- case 95: goto tr4210;
- case 97: goto tr4231;
- case 99: goto tr4232;
- case 100: goto tr4233;
- case 101: goto tr4234;
- case 104: goto tr4235;
- case 105: goto tr4236;
- case 107: goto tr4237;
- case 108: goto tr4238;
- case 109: goto tr4239;
- case 110: goto tr4240;
- case 111: goto tr4241;
- case 112: goto tr4242;
- case 114: goto tr4243;
- case 115: goto tr4244;
- case 116: goto tr4245;
- case 117: goto tr4246;
- case 122: goto tr4247;
- case 1802: goto tr4211;
- case 1851: goto tr4212;
- case 2058: goto tr4248;
- case 2107: goto tr4249;
+ case 9: goto tr4308;
+ case 32: goto tr4308;
+ case 36: goto st190;
+ case 40: goto tr4309;
+ case 41: goto tr4310;
+ case 42: goto tr4290;
+ case 65: goto tr4311;
+ case 67: goto tr4312;
+ case 68: goto tr4313;
+ case 69: goto tr4314;
+ case 72: goto tr4315;
+ case 73: goto tr4316;
+ case 75: goto tr4317;
+ case 76: goto tr4318;
+ case 77: goto tr4319;
+ case 78: goto tr4320;
+ case 79: goto tr4321;
+ case 80: goto tr4322;
+ case 82: goto tr4323;
+ case 83: goto tr4324;
+ case 84: goto tr4325;
+ case 85: goto tr4326;
+ case 87: goto tr4327;
+ case 90: goto tr4328;
+ case 92: goto tr4290;
+ case 95: goto tr4290;
+ case 97: goto tr4311;
+ case 99: goto tr4312;
+ case 100: goto tr4313;
+ case 101: goto tr4314;
+ case 104: goto tr4315;
+ case 105: goto tr4316;
+ case 107: goto tr4317;
+ case 108: goto tr4318;
+ case 109: goto tr4319;
+ case 110: goto tr4320;
+ case 111: goto tr4321;
+ case 112: goto tr4322;
+ case 114: goto tr4323;
+ case 115: goto tr4324;
+ case 116: goto tr4325;
+ case 117: goto tr4326;
+ case 119: goto tr4327;
+ case 122: goto tr4328;
+ case 1802: goto tr4291;
+ case 1851: goto tr4292;
+ case 2058: goto tr4329;
+ case 2107: goto tr4330;
}
if ( _widec < 64 ) {
if ( 45 <= _widec && _widec <= 57 )
- goto tr4210;
+ goto tr4290;
} else if ( _widec > 89 ) {
if ( 98 <= _widec && _widec <= 121 )
- goto tr4210;
+ goto tr4290;
} else
- goto tr4210;
- goto tr4227;
-tr694:
+ goto tr4290;
+ goto tr4307;
+tr711:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st174;
-tr695:
+ goto st180;
+tr712:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st174;
-tr4228:
+ goto st180;
+tr4308:
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st174;
-tr4229:
+ goto st180;
+tr4309:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st174;
-tr4230:
+ goto st180;
+tr4310:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st174;
-st174:
+ goto st180;
+st180:
if ( ++p == pe )
- goto _test_eof174;
-case 174:
+ goto _test_eof180;
+case 180:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -25588,10 +26238,10 @@ case 174:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st174;
- case 32: goto st174;
- case 40: goto tr694;
- case 41: goto tr695;
+ case 9: goto st180;
+ case 32: goto st180;
+ case 40: goto tr711;
+ case 41: goto tr712;
case 65: goto tr5;
case 67: goto tr6;
case 68: goto tr7;
@@ -25608,7 +26258,8 @@ case 174:
case 83: goto tr18;
case 84: goto tr19;
case 85: goto tr20;
- case 90: goto tr21;
+ case 87: goto tr21;
+ case 90: goto tr22;
case 97: goto tr5;
case 99: goto tr6;
case 100: goto tr7;
@@ -25625,11 +26276,12 @@ case 174:
case 115: goto tr18;
case 116: goto tr19;
case 117: goto tr20;
- case 122: goto tr21;
- case 1802: goto tr22;
- case 1851: goto tr23;
- case 2058: goto tr696;
- case 2107: goto tr697;
+ case 119: goto tr21;
+ case 122: goto tr22;
+ case 1802: goto tr23;
+ case 1851: goto tr24;
+ case 2058: goto tr713;
+ case 2107: goto tr714;
}
if ( 48 <= _widec && _widec <= 57 )
goto tr4;
@@ -25641,22 +26293,22 @@ tr10:
{
s->r_ttl = s->default_ttl;
}
- goto st175;
-st175:
+ goto st181;
+st181:
if ( ++p == pe )
- goto _test_eof175;
-case 175:
+ goto _test_eof181;
+case 181:
switch( (*p) ) {
- case 78: goto st176;
+ case 78: goto st182;
case 80: goto st74;
- case 110: goto st176;
+ case 110: goto st182;
case 112: goto st74;
}
- goto tr38;
-st176:
+ goto tr39;
+st182:
if ( ++p == pe )
- goto _test_eof176;
-case 176:
+ goto _test_eof182;
+case 182:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -25670,38 +26322,38 @@ case 176:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr699;
- case 32: goto tr699;
- case 40: goto tr700;
- case 41: goto tr701;
- case 2058: goto tr702;
- case 2107: goto tr703;
+ case 9: goto tr716;
+ case 32: goto tr716;
+ case 40: goto tr717;
+ case 41: goto tr718;
+ case 2058: goto tr719;
+ case 2107: goto tr720;
}
- goto tr38;
-tr705:
+ goto tr39;
+tr722:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st177;
-tr706:
+ goto st183;
+tr723:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st177;
-tr725:
+ goto st183;
+tr743:
{
s->line_counter++;
}
- goto st177;
-tr752:
+ goto st183;
+tr770:
{
s->buffer[s->buffer_length++] = 0;
@@ -25711,55 +26363,55 @@ tr752:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 177; goto _out;}
+ {p++; cs = 183; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st177;
-tr699:
+ goto st183;
+tr716:
{
s->r_class = KNOT_CLASS_IN;
}
- goto st177;
-tr700:
+ goto st183;
+tr717:
{
s->r_class = KNOT_CLASS_IN;
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st177;
-tr701:
+ goto st183;
+tr718:
{
s->r_class = KNOT_CLASS_IN;
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st177;
-tr702:
+ goto st183;
+tr719:
{
s->r_class = KNOT_CLASS_IN;
}
{
s->line_counter++;
}
- goto st177;
-st177:
+ goto st183;
+st183:
if ( ++p == pe )
- goto _test_eof177;
-case 177:
+ goto _test_eof183;
+case 183:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -25773,51 +26425,53 @@ case 177:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st177;
- case 32: goto st177;
- case 40: goto tr705;
- case 41: goto tr706;
- case 65: goto tr708;
- case 67: goto tr709;
- case 68: goto tr710;
- case 69: goto tr711;
- case 72: goto tr712;
- case 73: goto tr713;
- case 75: goto tr714;
- case 76: goto tr715;
- case 77: goto tr716;
- case 78: goto tr717;
- case 79: goto tr718;
- case 80: goto tr719;
- case 82: goto tr720;
- case 83: goto tr721;
- case 84: goto tr722;
- case 85: goto tr723;
- case 90: goto tr724;
- case 97: goto tr708;
- case 99: goto tr709;
- case 100: goto tr710;
- case 101: goto tr711;
- case 104: goto tr712;
- case 105: goto tr713;
- case 107: goto tr714;
- case 108: goto tr715;
- case 109: goto tr716;
- case 110: goto tr717;
- case 111: goto tr718;
- case 112: goto tr719;
- case 114: goto tr720;
- case 115: goto tr721;
- case 116: goto tr722;
- case 117: goto tr723;
- case 122: goto tr724;
- case 2058: goto tr725;
- case 2107: goto tr726;
+ case 9: goto st183;
+ case 32: goto st183;
+ case 40: goto tr722;
+ case 41: goto tr723;
+ case 65: goto tr725;
+ case 67: goto tr726;
+ case 68: goto tr727;
+ case 69: goto tr728;
+ case 72: goto tr729;
+ case 73: goto tr730;
+ case 75: goto tr731;
+ case 76: goto tr732;
+ case 77: goto tr733;
+ case 78: goto tr734;
+ case 79: goto tr735;
+ case 80: goto tr736;
+ case 82: goto tr737;
+ case 83: goto tr738;
+ case 84: goto tr739;
+ case 85: goto tr740;
+ case 87: goto tr741;
+ case 90: goto tr742;
+ case 97: goto tr725;
+ case 99: goto tr726;
+ case 100: goto tr727;
+ case 101: goto tr728;
+ case 104: goto tr729;
+ case 105: goto tr730;
+ case 107: goto tr731;
+ case 108: goto tr732;
+ case 109: goto tr733;
+ case 110: goto tr734;
+ case 111: goto tr735;
+ case 112: goto tr736;
+ case 114: goto tr737;
+ case 115: goto tr738;
+ case 116: goto tr739;
+ case 117: goto tr740;
+ case 119: goto tr741;
+ case 122: goto tr742;
+ case 2058: goto tr743;
+ case 2107: goto tr744;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr707;
- goto tr656;
-tr707:
+ goto tr724;
+ goto tr660;
+tr724:
{
s->number64 = 0;
}
@@ -25832,11 +26486,11 @@ tr707:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st178;
-tr730:
+ goto st184;
+tr748:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -25848,14 +26502,14 @@ tr730:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st178;
-st178:
+ goto st184;
+st184:
if ( ++p == pe )
- goto _test_eof178;
-case 178:
+ goto _test_eof184;
+case 184:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -25869,66 +26523,66 @@ case 178:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr727;
- case 32: goto tr727;
- case 40: goto tr728;
- case 41: goto tr729;
- case 68: goto tr731;
- case 72: goto tr732;
- case 77: goto tr733;
- case 83: goto st179;
- case 87: goto tr735;
- case 100: goto tr731;
- case 104: goto tr732;
- case 109: goto tr733;
- case 115: goto st179;
- case 119: goto tr735;
- case 2058: goto tr736;
- case 2107: goto tr737;
+ case 9: goto tr745;
+ case 32: goto tr745;
+ case 40: goto tr746;
+ case 41: goto tr747;
+ case 68: goto tr749;
+ case 72: goto tr750;
+ case 77: goto tr751;
+ case 83: goto st185;
+ case 87: goto tr753;
+ case 100: goto tr749;
+ case 104: goto tr750;
+ case 109: goto tr751;
+ case 115: goto st185;
+ case 119: goto tr753;
+ case 2058: goto tr754;
+ case 2107: goto tr755;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr730;
- goto tr26;
-tr731:
+ goto tr748;
+ goto tr27;
+tr749:
{ if (s->number64 <= (UINT32_MAX / 86400)) {
s->number64 *= 86400;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st179;
-tr732:
+ goto st185;
+tr750:
{ if (s->number64 <= (UINT32_MAX / 3600)) {
s->number64 *= 3600;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st179;
-tr733:
+ goto st185;
+tr751:
{ if (s->number64 <= (UINT32_MAX / 60)) {
s->number64 *= 60;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st179;
-tr735:
+ goto st185;
+tr753:
{ if (s->number64 <= (UINT32_MAX / 604800)) {
s->number64 *= 604800;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st179;
-st179:
+ goto st185;
+st185:
if ( ++p == pe )
- goto _test_eof179;
-case 179:
+ goto _test_eof185;
+case 185:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -25942,17 +26596,17 @@ case 179:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr727;
- case 32: goto tr727;
- case 40: goto tr728;
- case 41: goto tr729;
- case 2058: goto tr736;
- case 2107: goto tr737;
+ case 9: goto tr745;
+ case 32: goto tr745;
+ case 40: goto tr746;
+ case 41: goto tr747;
+ case 2058: goto tr754;
+ case 2107: goto tr755;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr738;
- goto tr26;
-tr739:
+ goto tr756;
+ goto tr27;
+tr757:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -25964,11 +26618,11 @@ tr739:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st180;
-tr738:
+ goto st186;
+tr756:
{
s->number64_tmp = s->number64;
}
@@ -25986,17 +26640,17 @@ tr738:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st180;
-tr748:
+ goto st186;
+tr766:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -26016,69 +26670,69 @@ tr748:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st180;
-st180:
+ goto st186;
+st186:
if ( ++p == pe )
- goto _test_eof180;
-case 180:
+ goto _test_eof186;
+case 186:
switch( (*p) ) {
- case 68: goto tr740;
- case 72: goto tr741;
- case 77: goto tr742;
- case 83: goto st181;
- case 87: goto tr744;
- case 100: goto tr740;
- case 104: goto tr741;
- case 109: goto tr742;
- case 115: goto st181;
- case 119: goto tr744;
+ case 68: goto tr758;
+ case 72: goto tr759;
+ case 77: goto tr760;
+ case 83: goto st187;
+ case 87: goto tr762;
+ case 100: goto tr758;
+ case 104: goto tr759;
+ case 109: goto tr760;
+ case 115: goto st187;
+ case 119: goto tr762;
}
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr739;
- goto tr26;
-tr740:
+ goto tr757;
+ goto tr27;
+tr758:
{ if (s->number64 <= (UINT32_MAX / 86400)) {
s->number64 *= 86400;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st181;
-tr741:
+ goto st187;
+tr759:
{ if (s->number64 <= (UINT32_MAX / 3600)) {
s->number64 *= 3600;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st181;
-tr742:
+ goto st187;
+tr760:
{ if (s->number64 <= (UINT32_MAX / 60)) {
s->number64 *= 60;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st181;
-tr744:
+ goto st187;
+tr762:
{ if (s->number64 <= (UINT32_MAX / 604800)) {
s->number64 *= 604800;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st181;
-st181:
+ goto st187;
+st187:
if ( ++p == pe )
- goto _test_eof181;
-case 181:
+ goto _test_eof187;
+case 187:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -26092,40 +26746,40 @@ case 181:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr745;
- case 32: goto tr745;
- case 40: goto tr746;
- case 41: goto tr747;
- case 2058: goto tr749;
- case 2107: goto tr750;
+ case 9: goto tr763;
+ case 32: goto tr763;
+ case 40: goto tr764;
+ case 41: goto tr765;
+ case 2058: goto tr767;
+ case 2107: goto tr768;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr748;
- goto tr26;
-tr726:
+ goto tr766;
+ goto tr27;
+tr744:
{
s->buffer_length = 0;
}
- goto st182;
-tr751:
+ goto st188;
+tr769:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st182;
-tr703:
+ goto st188;
+tr720:
{
s->r_class = KNOT_CLASS_IN;
}
{
s->buffer_length = 0;
}
- goto st182;
-st182:
+ goto st188;
+st188:
if ( ++p == pe )
- goto _test_eof182;
-case 182:
+ goto _test_eof188;
+case 188:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -26145,16 +26799,16 @@ case 182:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr752;
+ goto tr770;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr751;
- goto tr38;
-tr23:
+ goto tr769;
+ goto tr39;
+tr24:
{
s->buffer_length = 0;
}
- goto st183;
-tr4212:
+ goto st189;
+tr4292:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -26162,15 +26816,15 @@ tr4212:
{
s->buffer_length = 0;
}
- goto st183;
-tr753:
+ goto st189;
+tr771:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st183;
-tr4276:
+ goto st189;
+tr4358:
{
NOERR;
}
@@ -26181,20 +26835,20 @@ tr4276:
{
s->buffer_length = 0;
}
- goto st183;
-st183:
+ goto st189;
+st189:
if ( ++p == pe )
- goto _test_eof183;
-case 183:
+ goto _test_eof189;
+case 189:
if ( (*p) == 10 )
- goto tr754;
- goto tr753;
-tr696:
+ goto tr772;
+ goto tr771;
+tr713:
{
s->line_counter++;
}
- goto st1399;
-tr1000:
+ goto st1447;
+tr1018:
{
s->buffer[s->buffer_length++] = 0;
@@ -26204,15 +26858,15 @@ tr1000:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1399; goto _out;}
+ {p++; cs = 1447; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1399;
-tr889:
+ goto st1447;
+tr907:
{
s->buffer[s->buffer_length++] = 0;
@@ -26222,7 +26876,7 @@ tr889:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1399; goto _out;}
+ {p++; cs = 1447; goto _out;}
}
}
}
@@ -26232,7 +26886,7 @@ tr889:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -26245,23 +26899,23 @@ tr889:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1399; goto _out;}
+ {p++; cs = 1447; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1399; goto _out;}
+ p--; {p++; cs = 1447; goto _out;}
}
}
- goto st1399;
-tr886:
+ goto st1447;
+tr904:
{
s->line_counter++;
}
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -26274,16 +26928,16 @@ tr886:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1399; goto _out;}
+ {p++; cs = 1447; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1399; goto _out;}
+ p--; {p++; cs = 1447; goto _out;}
}
}
- goto st1399;
-tr881:
+ goto st1447;
+tr899:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -26295,7 +26949,7 @@ tr881:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -26305,7 +26959,7 @@ tr881:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -26318,34 +26972,34 @@ tr881:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1399; goto _out;}
+ {p++; cs = 1447; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1399; goto _out;}
+ p--; {p++; cs = 1447; goto _out;}
}
}
- goto st1399;
-tr4248:
+ goto st1447;
+tr4329:
{
s->line_counter++;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st1399;
-st1399:
+ goto st1447;
+st1447:
if ( ++p == pe )
- goto _test_eof1399;
-case 1399:
+ goto _test_eof1447;
+case 1447:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -26359,169 +27013,171 @@ case 1399:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr4228;
- case 32: goto tr4228;
- case 36: goto st184;
- case 40: goto tr4229;
- case 41: goto tr4230;
- case 42: goto tr4210;
- case 65: goto tr4252;
- case 67: goto tr4253;
- case 68: goto tr4254;
- case 69: goto tr4255;
- case 72: goto tr4256;
- case 73: goto tr4257;
- case 75: goto tr4258;
- case 76: goto tr4259;
- case 77: goto tr4260;
- case 78: goto tr4261;
- case 79: goto tr4262;
- case 80: goto tr4263;
- case 82: goto tr4264;
- case 83: goto tr4265;
- case 84: goto tr4266;
- case 85: goto tr4267;
- case 90: goto tr4268;
- case 92: goto tr4210;
- case 95: goto tr4210;
- case 97: goto tr4252;
- case 99: goto tr4253;
- case 100: goto tr4254;
- case 101: goto tr4255;
- case 104: goto tr4256;
- case 105: goto tr4257;
- case 107: goto tr4258;
- case 108: goto tr4259;
- case 109: goto tr4260;
- case 110: goto tr4261;
- case 111: goto tr4262;
- case 112: goto tr4263;
- case 114: goto tr4264;
- case 115: goto tr4265;
- case 116: goto tr4266;
- case 117: goto tr4267;
- case 122: goto tr4268;
- case 1802: goto tr4211;
- case 1851: goto tr4212;
- case 2058: goto tr4248;
- case 2107: goto tr4249;
+ case 9: goto tr4308;
+ case 32: goto tr4308;
+ case 36: goto st190;
+ case 40: goto tr4309;
+ case 41: goto tr4310;
+ case 42: goto tr4290;
+ case 65: goto tr4333;
+ case 67: goto tr4334;
+ case 68: goto tr4335;
+ case 69: goto tr4336;
+ case 72: goto tr4337;
+ case 73: goto tr4338;
+ case 75: goto tr4339;
+ case 76: goto tr4340;
+ case 77: goto tr4341;
+ case 78: goto tr4342;
+ case 79: goto tr4343;
+ case 80: goto tr4344;
+ case 82: goto tr4345;
+ case 83: goto tr4346;
+ case 84: goto tr4347;
+ case 85: goto tr4348;
+ case 87: goto tr4349;
+ case 90: goto tr4350;
+ case 92: goto tr4290;
+ case 95: goto tr4290;
+ case 97: goto tr4333;
+ case 99: goto tr4334;
+ case 100: goto tr4335;
+ case 101: goto tr4336;
+ case 104: goto tr4337;
+ case 105: goto tr4338;
+ case 107: goto tr4339;
+ case 108: goto tr4340;
+ case 109: goto tr4341;
+ case 110: goto tr4342;
+ case 111: goto tr4343;
+ case 112: goto tr4344;
+ case 114: goto tr4345;
+ case 115: goto tr4346;
+ case 116: goto tr4347;
+ case 117: goto tr4348;
+ case 119: goto tr4349;
+ case 122: goto tr4350;
+ case 1802: goto tr4291;
+ case 1851: goto tr4292;
+ case 2058: goto tr4329;
+ case 2107: goto tr4330;
}
if ( _widec < 48 ) {
if ( 45 <= _widec && _widec <= 47 )
- goto tr4210;
+ goto tr4290;
} else if ( _widec > 57 ) {
if ( _widec > 89 ) {
if ( 98 <= _widec && _widec <= 121 )
- goto tr4210;
+ goto tr4290;
} else if ( _widec >= 64 )
- goto tr4210;
+ goto tr4290;
} else
- goto tr4251;
- goto tr4250;
-tr4271:
+ goto tr4332;
+ goto tr4331;
+tr4353:
{
NOERR;
}
- goto st184;
-st184:
+ goto st190;
+st190:
if ( ++p == pe )
- goto _test_eof184;
-case 184:
+ goto _test_eof190;
+case 190:
switch( (*p) ) {
- case 73: goto tr756;
- case 79: goto tr757;
- case 84: goto tr758;
- case 105: goto tr756;
- case 111: goto tr757;
- case 116: goto tr758;
+ case 73: goto tr774;
+ case 79: goto tr775;
+ case 84: goto tr776;
+ case 105: goto tr774;
+ case 111: goto tr775;
+ case 116: goto tr776;
}
- goto tr755;
-tr756:
+ goto tr773;
+tr774:
{
ERR(ZS_OK);
}
- goto st185;
-st185:
+ goto st191;
+st191:
if ( ++p == pe )
- goto _test_eof185;
-case 185:
+ goto _test_eof191;
+case 191:
switch( (*p) ) {
- case 78: goto st186;
- case 110: goto st186;
+ case 78: goto st192;
+ case 110: goto st192;
}
- goto tr755;
-st186:
+ goto tr773;
+st192:
if ( ++p == pe )
- goto _test_eof186;
-case 186:
+ goto _test_eof192;
+case 192:
switch( (*p) ) {
- case 67: goto st187;
- case 99: goto st187;
+ case 67: goto st193;
+ case 99: goto st193;
}
- goto tr755;
-st187:
+ goto tr773;
+st193:
if ( ++p == pe )
- goto _test_eof187;
-case 187:
+ goto _test_eof193;
+case 193:
switch( (*p) ) {
- case 76: goto st188;
- case 108: goto st188;
+ case 76: goto st194;
+ case 108: goto st194;
}
- goto tr755;
-st188:
+ goto tr773;
+st194:
if ( ++p == pe )
- goto _test_eof188;
-case 188:
+ goto _test_eof194;
+case 194:
switch( (*p) ) {
- case 85: goto st189;
- case 117: goto st189;
+ case 85: goto st195;
+ case 117: goto st195;
}
- goto tr755;
-st189:
+ goto tr773;
+st195:
if ( ++p == pe )
- goto _test_eof189;
-case 189:
+ goto _test_eof195;
+case 195:
switch( (*p) ) {
- case 68: goto st190;
- case 100: goto st190;
+ case 68: goto st196;
+ case 100: goto st196;
}
- goto tr755;
-st190:
+ goto tr773;
+st196:
if ( ++p == pe )
- goto _test_eof190;
-case 190:
+ goto _test_eof196;
+case 196:
switch( (*p) ) {
- case 69: goto st191;
- case 101: goto st191;
+ case 69: goto st197;
+ case 101: goto st197;
}
- goto tr755;
-st191:
+ goto tr773;
+st197:
if ( ++p == pe )
- goto _test_eof191;
-case 191:
+ goto _test_eof197;
+case 197:
switch( (*p) ) {
- case 32: goto tr765;
- case 59: goto tr765;
+ case 32: goto tr783;
+ case 59: goto tr783;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr765;
+ goto tr783;
} else if ( (*p) >= 9 )
- goto tr765;
- goto tr755;
-tr765:
- { p--; {stack[top++] = 1400;goto st352;} }
- goto st1400;
-tr867:
- { p--; {stack[top++] = 1400;goto st340;} }
- goto st1400;
-tr870:
- { p--; {stack[top++] = 1400;goto st331;} }
- goto st1400;
-st1400:
+ goto tr783;
+ goto tr773;
+tr783:
+ { p--; {stack[top++] = 1448;goto st361;} }
+ goto st1448;
+tr885:
+ { p--; {stack[top++] = 1448;goto st349;} }
+ goto st1448;
+tr888:
+ { p--; {stack[top++] = 1448;goto st340;} }
+ goto st1448;
+st1448:
if ( ++p == pe )
- goto _test_eof1400;
-case 1400:
+ goto _test_eof1448;
+case 1448:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -26535,36 +27191,36 @@ case 1400:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr4270;
- case 32: goto tr4270;
- case 36: goto tr4271;
- case 40: goto tr4272;
- case 41: goto tr4273;
- case 42: goto tr4274;
- case 92: goto tr4274;
- case 95: goto tr4274;
- case 1802: goto tr4275;
- case 1851: goto tr4276;
- case 2058: goto tr4277;
- case 2107: goto tr4278;
+ case 9: goto tr4352;
+ case 32: goto tr4352;
+ case 36: goto tr4353;
+ case 40: goto tr4354;
+ case 41: goto tr4355;
+ case 42: goto tr4356;
+ case 92: goto tr4356;
+ case 95: goto tr4356;
+ case 1802: goto tr4357;
+ case 1851: goto tr4358;
+ case 2058: goto tr4359;
+ case 2107: goto tr4360;
}
if ( _widec < 64 ) {
if ( 45 <= _widec && _widec <= 57 )
- goto tr4274;
+ goto tr4356;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr4274;
+ goto tr4356;
} else
- goto tr4274;
- goto tr4269;
-tr4210:
+ goto tr4356;
+ goto tr4351;
+tr4290:
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 192;goto st309;} }
- goto st192;
-tr4274:
+ { p--; {stack[top++] = 198;goto st318;} }
+ goto st198;
+tr4356:
{
NOERR;
}
@@ -26572,12 +27228,12 @@ tr4274:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 192;goto st309;} }
- goto st192;
-st192:
+ { p--; {stack[top++] = 198;goto st318;} }
+ goto st198;
+st198:
if ( ++p == pe )
- goto _test_eof192;
-case 192:
+ goto _test_eof198;
+case 198:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -26591,38 +27247,38 @@ case 192:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr767;
- case 32: goto tr767;
- case 40: goto tr768;
- case 41: goto tr769;
- case 2058: goto tr770;
- case 2107: goto tr771;
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
}
- goto tr766;
-tr773:
+ goto tr784;
+tr791:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st193;
-tr774:
+ goto st199;
+tr792:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st193;
-tr775:
+ goto st199;
+tr793:
{
s->line_counter++;
}
- goto st193;
-tr779:
+ goto st199;
+tr797:
{
s->buffer[s->buffer_length++] = 0;
@@ -26632,55 +27288,55 @@ tr779:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 193; goto _out;}
+ {p++; cs = 199; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st193;
-tr767:
+ goto st199;
+tr785:
{
s->r_owner_length = s->dname_tmp_length;
}
- goto st193;
-tr768:
+ goto st199;
+tr786:
{
s->r_owner_length = s->dname_tmp_length;
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st193;
-tr769:
+ goto st199;
+tr787:
{
s->r_owner_length = s->dname_tmp_length;
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st193;
-tr770:
+ goto st199;
+tr788:
{
s->r_owner_length = s->dname_tmp_length;
}
{
s->line_counter++;
}
- goto st193;
-st193:
+ goto st199;
+st199:
if ( ++p == pe )
- goto _test_eof193;
-case 193:
+ goto _test_eof199;
+case 199:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -26694,10 +27350,10 @@ case 193:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st193;
- case 32: goto st193;
- case 40: goto tr773;
- case 41: goto tr774;
+ case 9: goto st199;
+ case 32: goto st199;
+ case 40: goto tr791;
+ case 41: goto tr792;
case 65: goto tr5;
case 67: goto tr6;
case 68: goto tr7;
@@ -26714,7 +27370,8 @@ case 193:
case 83: goto tr18;
case 84: goto tr19;
case 85: goto tr20;
- case 90: goto tr21;
+ case 87: goto tr21;
+ case 90: goto tr22;
case 97: goto tr5;
case 99: goto tr6;
case 100: goto tr7;
@@ -26731,37 +27388,38 @@ case 193:
case 115: goto tr18;
case 116: goto tr19;
case 117: goto tr20;
- case 122: goto tr21;
- case 2058: goto tr775;
- case 2107: goto tr776;
+ case 119: goto tr21;
+ case 122: goto tr22;
+ case 2058: goto tr793;
+ case 2107: goto tr794;
}
if ( 48 <= _widec && _widec <= 57 )
goto tr4;
- goto tr656;
-tr776:
+ goto tr660;
+tr794:
{
s->buffer_length = 0;
}
- goto st194;
-tr777:
+ goto st200;
+tr795:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st194;
-tr771:
+ goto st200;
+tr789:
{
s->r_owner_length = s->dname_tmp_length;
}
{
s->buffer_length = 0;
}
- goto st194;
-st194:
+ goto st200;
+st200:
if ( ++p == pe )
- goto _test_eof194;
-case 194:
+ goto _test_eof200;
+case 200:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -26781,16 +27439,16 @@ case 194:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr779;
+ goto tr797;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr777;
+ goto tr795;
goto st0;
-tr24:
+tr25:
{
s->line_counter++;
}
- goto st1401;
-tr998:
+ goto st1449;
+tr1016:
{
s->buffer[s->buffer_length++] = 0;
@@ -26800,15 +27458,15 @@ tr998:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1401; goto _out;}
+ {p++; cs = 1449; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1401;
-tr844:
+ goto st1449;
+tr862:
{
s->buffer[s->buffer_length++] = 0;
@@ -26818,7 +27476,7 @@ tr844:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1401; goto _out;}
+ {p++; cs = 1449; goto _out;}
}
}
}
@@ -26828,7 +27486,7 @@ tr844:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -26841,23 +27499,23 @@ tr844:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1401; goto _out;}
+ {p++; cs = 1449; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1401; goto _out;}
+ p--; {p++; cs = 1449; goto _out;}
}
}
- goto st1401;
-tr841:
+ goto st1449;
+tr859:
{
s->line_counter++;
}
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -26870,16 +27528,16 @@ tr841:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1401; goto _out;}
+ {p++; cs = 1449; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1401; goto _out;}
+ p--; {p++; cs = 1449; goto _out;}
}
}
- goto st1401;
-tr875:
+ goto st1449;
+tr893:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -26893,7 +27551,7 @@ tr875:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -26906,16 +27564,16 @@ tr875:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1401; goto _out;}
+ {p++; cs = 1449; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1401; goto _out;}
+ p--; {p++; cs = 1449; goto _out;}
}
}
- goto st1401;
-tr912:
+ goto st1449;
+tr930:
{
s->line_counter++;
}
@@ -26926,7 +27584,7 @@ tr912:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -26939,16 +27597,16 @@ tr912:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1401; goto _out;}
+ {p++; cs = 1449; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1401; goto _out;}
+ p--; {p++; cs = 1449; goto _out;}
}
}
- goto st1401;
-tr915:
+ goto st1449;
+tr933:
{
s->buffer[s->buffer_length++] = 0;
@@ -26958,7 +27616,7 @@ tr915:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1401; goto _out;}
+ {p++; cs = 1449; goto _out;}
}
}
}
@@ -26972,7 +27630,7 @@ tr915:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -26985,20 +27643,20 @@ tr915:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1401; goto _out;}
+ {p++; cs = 1449; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1401; goto _out;}
+ p--; {p++; cs = 1449; goto _out;}
}
}
- goto st1401;
-tr4213:
+ goto st1449;
+tr4293:
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -27008,30 +27666,30 @@ tr4213:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st1401;
-tr4281:
+ goto st1449;
+tr4363:
{
s->line_counter++;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st1401;
-tr4277:
+ goto st1449;
+tr4359:
{
NOERR;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -27041,8 +27699,8 @@ tr4277:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st1401;
-tr4286:
+ goto st1449;
+tr4368:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -27050,7 +27708,7 @@ tr4286:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -27063,12 +27721,12 @@ tr4286:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1401; goto _out;}
+ {p++; cs = 1449; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1401; goto _out;}
+ p--; {p++; cs = 1449; goto _out;}
}
}
{
@@ -27077,11 +27735,11 @@ tr4286:
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1401;
-tr4312:
+ goto st1449;
+tr4395:
{
s->line_counter++;
}
@@ -27092,7 +27750,7 @@ tr4312:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -27105,25 +27763,25 @@ tr4312:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1401; goto _out;}
+ {p++; cs = 1449; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1401; goto _out;}
+ p--; {p++; cs = 1449; goto _out;}
}
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1401;
-st1401:
+ goto st1449;
+st1449:
if ( ++p == pe )
- goto _test_eof1401;
-case 1401:
+ goto _test_eof1449;
+case 1449:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -27137,66 +27795,68 @@ case 1401:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr4206;
- case 32: goto tr4206;
- case 36: goto st184;
- case 40: goto tr4279;
- case 41: goto tr4280;
- case 42: goto tr4210;
- case 65: goto tr4252;
- case 67: goto tr4253;
- case 68: goto tr4254;
- case 69: goto tr4255;
- case 72: goto tr4256;
- case 73: goto tr4257;
- case 75: goto tr4258;
- case 76: goto tr4259;
- case 77: goto tr4260;
- case 78: goto tr4261;
- case 79: goto tr4262;
- case 80: goto tr4263;
- case 82: goto tr4264;
- case 83: goto tr4265;
- case 84: goto tr4266;
- case 85: goto tr4267;
- case 90: goto tr4268;
- case 92: goto tr4210;
- case 95: goto tr4210;
- case 97: goto tr4252;
- case 99: goto tr4253;
- case 100: goto tr4254;
- case 101: goto tr4255;
- case 104: goto tr4256;
- case 105: goto tr4257;
- case 107: goto tr4258;
- case 108: goto tr4259;
- case 109: goto tr4260;
- case 110: goto tr4261;
- case 111: goto tr4262;
- case 112: goto tr4263;
- case 114: goto tr4264;
- case 115: goto tr4265;
- case 116: goto tr4266;
- case 117: goto tr4267;
- case 122: goto tr4268;
- case 1802: goto tr4211;
- case 1851: goto tr4212;
- case 2058: goto tr4281;
- case 2107: goto tr4282;
+ case 9: goto tr4286;
+ case 32: goto tr4286;
+ case 36: goto st190;
+ case 40: goto tr4361;
+ case 41: goto tr4362;
+ case 42: goto tr4290;
+ case 65: goto tr4333;
+ case 67: goto tr4334;
+ case 68: goto tr4335;
+ case 69: goto tr4336;
+ case 72: goto tr4337;
+ case 73: goto tr4338;
+ case 75: goto tr4339;
+ case 76: goto tr4340;
+ case 77: goto tr4341;
+ case 78: goto tr4342;
+ case 79: goto tr4343;
+ case 80: goto tr4344;
+ case 82: goto tr4345;
+ case 83: goto tr4346;
+ case 84: goto tr4347;
+ case 85: goto tr4348;
+ case 87: goto tr4349;
+ case 90: goto tr4350;
+ case 92: goto tr4290;
+ case 95: goto tr4290;
+ case 97: goto tr4333;
+ case 99: goto tr4334;
+ case 100: goto tr4335;
+ case 101: goto tr4336;
+ case 104: goto tr4337;
+ case 105: goto tr4338;
+ case 107: goto tr4339;
+ case 108: goto tr4340;
+ case 109: goto tr4341;
+ case 110: goto tr4342;
+ case 111: goto tr4343;
+ case 112: goto tr4344;
+ case 114: goto tr4345;
+ case 115: goto tr4346;
+ case 116: goto tr4347;
+ case 117: goto tr4348;
+ case 119: goto tr4349;
+ case 122: goto tr4350;
+ case 1802: goto tr4291;
+ case 1851: goto tr4292;
+ case 2058: goto tr4363;
+ case 2107: goto tr4364;
}
if ( _widec < 48 ) {
if ( 45 <= _widec && _widec <= 47 )
- goto tr4210;
+ goto tr4290;
} else if ( _widec > 57 ) {
if ( _widec > 89 ) {
if ( 98 <= _widec && _widec <= 121 )
- goto tr4210;
+ goto tr4290;
} else if ( _widec >= 64 )
- goto tr4210;
+ goto tr4290;
} else
- goto tr4251;
- goto tr4250;
-tr4251:
+ goto tr4332;
+ goto tr4331;
+tr4332:
{
s->number64 = 0;
}
@@ -27211,19 +27871,19 @@ tr4251:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 195;goto st309;} }
- goto st195;
-st195:
+ { p--; {stack[top++] = 201;goto st318;} }
+ goto st201;
+st201:
if ( ++p == pe )
- goto _test_eof195;
-case 195:
+ goto _test_eof201;
+case 201:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -27237,50 +27897,50 @@ case 195:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr781;
- case 32: goto tr781;
- case 40: goto tr782;
- case 41: goto tr783;
- case 68: goto tr31;
- case 72: goto tr32;
- case 77: goto tr33;
- case 83: goto st198;
- case 87: goto tr35;
- case 100: goto tr31;
- case 104: goto tr32;
- case 109: goto tr33;
- case 115: goto st198;
- case 119: goto tr35;
- case 2058: goto tr784;
- case 2107: goto tr785;
+ case 9: goto tr799;
+ case 32: goto tr799;
+ case 40: goto tr800;
+ case 41: goto tr801;
+ case 68: goto tr32;
+ case 72: goto tr33;
+ case 77: goto tr34;
+ case 83: goto st204;
+ case 87: goto tr36;
+ case 100: goto tr32;
+ case 104: goto tr33;
+ case 109: goto tr34;
+ case 115: goto st204;
+ case 119: goto tr36;
+ case 2058: goto tr802;
+ case 2107: goto tr803;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr30;
- goto tr780;
-tr787:
+ goto tr31;
+ goto tr798;
+tr805:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st196;
-tr788:
+ goto st202;
+tr806:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st196;
-tr789:
+ goto st202;
+tr807:
{
s->line_counter++;
}
- goto st196;
-tr792:
+ goto st202;
+tr810:
{
s->buffer[s->buffer_length++] = 0;
@@ -27290,15 +27950,15 @@ tr792:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 196; goto _out;}
+ {p++; cs = 202; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st196;
-tr781:
+ goto st202;
+tr799:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -27307,18 +27967,18 @@ tr781:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st196;
-tr782:
+ goto st202;
+tr800:
{
s->r_owner_length = s->dname_tmp_length;
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -27327,18 +27987,18 @@ tr782:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st196;
-tr783:
+ goto st202;
+tr801:
{
s->r_owner_length = s->dname_tmp_length;
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -27347,11 +28007,11 @@ tr783:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st196;
-tr784:
+ goto st202;
+tr802:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -27363,14 +28023,14 @@ tr784:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st196;
-st196:
+ goto st202;
+st202:
if ( ++p == pe )
- goto _test_eof196;
-case 196:
+ goto _test_eof202;
+case 202:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -27384,10 +28044,10 @@ case 196:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st196;
- case 32: goto st196;
- case 40: goto tr787;
- case 41: goto tr788;
+ case 9: goto st202;
+ case 32: goto st202;
+ case 40: goto tr805;
+ case 41: goto tr806;
case 65: goto tr5;
case 67: goto tr6;
case 68: goto tr7;
@@ -27404,7 +28064,8 @@ case 196:
case 83: goto tr18;
case 84: goto tr19;
case 85: goto tr20;
- case 90: goto tr21;
+ case 87: goto tr21;
+ case 90: goto tr22;
case 97: goto tr5;
case 99: goto tr6;
case 100: goto tr7;
@@ -27421,26 +28082,27 @@ case 196:
case 115: goto tr18;
case 116: goto tr19;
case 117: goto tr20;
- case 122: goto tr21;
- case 2058: goto tr789;
- case 2107: goto tr790;
+ case 119: goto tr21;
+ case 122: goto tr22;
+ case 2058: goto tr807;
+ case 2107: goto tr808;
}
if ( 48 <= _widec && _widec <= 57 )
goto tr4;
- goto tr656;
-tr790:
+ goto tr660;
+tr808:
{
s->buffer_length = 0;
}
- goto st197;
-tr791:
+ goto st203;
+tr809:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st197;
-tr785:
+ goto st203;
+tr803:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -27452,14 +28114,14 @@ tr785:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st197;
-st197:
+ goto st203;
+st203:
if ( ++p == pe )
- goto _test_eof197;
-case 197:
+ goto _test_eof203;
+case 203:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -27479,50 +28141,50 @@ case 197:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr792;
+ goto tr810;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr791;
- goto tr38;
-tr31:
+ goto tr809;
+ goto tr39;
+tr32:
{ if (s->number64 <= (UINT32_MAX / 86400)) {
s->number64 *= 86400;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st198;
-tr32:
+ goto st204;
+tr33:
{ if (s->number64 <= (UINT32_MAX / 3600)) {
s->number64 *= 3600;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st198;
-tr33:
+ goto st204;
+tr34:
{ if (s->number64 <= (UINT32_MAX / 60)) {
s->number64 *= 60;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st198;
-tr35:
+ goto st204;
+tr36:
{ if (s->number64 <= (UINT32_MAX / 604800)) {
s->number64 *= 604800;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st198;
-st198:
+ goto st204;
+st204:
if ( ++p == pe )
- goto _test_eof198;
-case 198:
+ goto _test_eof204;
+case 204:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -27536,17 +28198,17 @@ case 198:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr27;
- case 32: goto tr27;
- case 40: goto tr28;
- case 41: goto tr29;
- case 2058: goto tr36;
- case 2107: goto tr37;
+ case 9: goto tr28;
+ case 32: goto tr28;
+ case 40: goto tr29;
+ case 41: goto tr30;
+ case 2058: goto tr37;
+ case 2107: goto tr38;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr793;
- goto tr26;
-tr794:
+ goto tr811;
+ goto tr27;
+tr812:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -27558,11 +28220,11 @@ tr794:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st199;
-tr793:
+ goto st205;
+tr811:
{
s->number64_tmp = s->number64;
}
@@ -27580,17 +28242,17 @@ tr793:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st199;
-tr803:
+ goto st205;
+tr821:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -27610,69 +28272,69 @@ tr803:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st199;
-st199:
+ goto st205;
+st205:
if ( ++p == pe )
- goto _test_eof199;
-case 199:
+ goto _test_eof205;
+case 205:
switch( (*p) ) {
- case 68: goto tr795;
- case 72: goto tr796;
- case 77: goto tr797;
- case 83: goto st200;
- case 87: goto tr799;
- case 100: goto tr795;
- case 104: goto tr796;
- case 109: goto tr797;
- case 115: goto st200;
- case 119: goto tr799;
+ case 68: goto tr813;
+ case 72: goto tr814;
+ case 77: goto tr815;
+ case 83: goto st206;
+ case 87: goto tr817;
+ case 100: goto tr813;
+ case 104: goto tr814;
+ case 109: goto tr815;
+ case 115: goto st206;
+ case 119: goto tr817;
}
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr794;
- goto tr26;
-tr795:
+ goto tr812;
+ goto tr27;
+tr813:
{ if (s->number64 <= (UINT32_MAX / 86400)) {
s->number64 *= 86400;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st200;
-tr796:
+ goto st206;
+tr814:
{ if (s->number64 <= (UINT32_MAX / 3600)) {
s->number64 *= 3600;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st200;
-tr797:
+ goto st206;
+tr815:
{ if (s->number64 <= (UINT32_MAX / 60)) {
s->number64 *= 60;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st200;
-tr799:
+ goto st206;
+tr817:
{ if (s->number64 <= (UINT32_MAX / 604800)) {
s->number64 *= 604800;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st200;
-st200:
+ goto st206;
+st206:
if ( ++p == pe )
- goto _test_eof200;
-case 200:
+ goto _test_eof206;
+case 206:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -27686,48 +28348,48 @@ case 200:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr800;
- case 32: goto tr800;
- case 40: goto tr801;
- case 41: goto tr802;
- case 2058: goto tr804;
- case 2107: goto tr805;
+ case 9: goto tr818;
+ case 32: goto tr818;
+ case 40: goto tr819;
+ case 41: goto tr820;
+ case 2058: goto tr822;
+ case 2107: goto tr823;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr803;
- goto tr26;
-tr60:
+ goto tr821;
+ goto tr27;
+tr62:
{
s->buffer_length = 0;
}
- goto st201;
-tr37:
+ goto st207;
+tr38:
{
if (s->number64 <= UINT32_MAX) {
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st201;
-tr806:
+ goto st207;
+tr824:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st201;
-tr805:
+ goto st207;
+tr823:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -27735,17 +28397,17 @@ tr805:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st201;
-st201:
+ goto st207;
+st207:
if ( ++p == pe )
- goto _test_eof201;
-case 201:
+ goto _test_eof207;
+case 207:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -27765,11 +28427,11 @@ case 201:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr807;
+ goto tr825;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr806;
- goto tr38;
-tr4231:
+ goto tr824;
+ goto tr39;
+tr4311:
{
s->r_class = s->default_class;
}
@@ -27777,9 +28439,9 @@ tr4231:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 202;goto st309;} }
- goto st202;
-tr4252:
+ { p--; {stack[top++] = 208;goto st318;} }
+ goto st208;
+tr4333:
{
s->r_class = s->default_class;
}
@@ -27790,12 +28452,12 @@ tr4252:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 202;goto st309;} }
- goto st202;
-st202:
+ { p--; {stack[top++] = 208;goto st318;} }
+ goto st208;
+st208:
if ( ++p == pe )
- goto _test_eof202;
-case 202:
+ goto _test_eof208;
+case 208:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -27813,48 +28475,48 @@ case 202:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr809;
- case 32: goto tr809;
- case 40: goto tr810;
- case 41: goto tr811;
- case 65: goto st266;
- case 70: goto st269;
- case 80: goto st273;
- case 97: goto st266;
- case 102: goto st269;
- case 112: goto st273;
- case 3082: goto tr812;
- case 3131: goto tr813;
- case 3338: goto tr70;
- case 3387: goto tr70;
- case 3594: goto tr814;
- case 3643: goto tr815;
- }
- goto tr808;
-tr817:
+ case 9: goto tr827;
+ case 32: goto tr827;
+ case 40: goto tr828;
+ case 41: goto tr829;
+ case 65: goto st274;
+ case 70: goto st277;
+ case 80: goto st281;
+ case 97: goto st274;
+ case 102: goto st277;
+ case 112: goto st281;
+ case 3082: goto tr830;
+ case 3131: goto tr831;
+ case 3338: goto tr72;
+ case 3387: goto tr72;
+ case 3594: goto tr832;
+ case 3643: goto tr833;
+ }
+ goto tr826;
+tr835:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st203;
-tr818:
+ goto st209;
+tr836:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st203;
-tr819:
+ goto st209;
+tr837:
{
s->line_counter++;
}
- goto st203;
-tr984:
+ goto st209;
+tr1002:
{
s->buffer[s->buffer_length++] = 0;
@@ -27864,15 +28526,15 @@ tr984:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 203; goto _out;}
+ {p++; cs = 209; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st203;
-tr809:
+ goto st209;
+tr827:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -27880,15 +28542,15 @@ tr809:
{
rdata_tail = s->r_data;
}
- goto st203;
-tr810:
+ goto st209;
+tr828:
{
s->r_owner_length = s->dname_tmp_length;
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -27896,15 +28558,15 @@ tr810:
{
rdata_tail = s->r_data;
}
- goto st203;
-tr811:
+ goto st209;
+tr829:
{
s->r_owner_length = s->dname_tmp_length;
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -27912,8 +28574,8 @@ tr811:
{
rdata_tail = s->r_data;
}
- goto st203;
-tr812:
+ goto st209;
+tr830:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -27924,11 +28586,11 @@ tr812:
{
rdata_tail = s->r_data;
}
- goto st203;
-st203:
+ goto st209;
+st209:
if ( ++p == pe )
- goto _test_eof203;
-case 203:
+ goto _test_eof209;
+case 209:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -27946,66 +28608,68 @@ case 203:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st203;
- case 32: goto st203;
- case 40: goto tr817;
- case 41: goto tr818;
- case 58: goto tr73;
- case 65: goto tr122;
- case 67: goto tr123;
- case 68: goto tr124;
- case 69: goto tr125;
- case 72: goto tr126;
- case 73: goto tr127;
- case 75: goto tr128;
- case 76: goto tr129;
- case 77: goto tr130;
- case 78: goto tr131;
- case 79: goto tr132;
- case 80: goto tr133;
- case 82: goto tr134;
- case 83: goto tr135;
- case 84: goto tr136;
- case 85: goto tr137;
- case 90: goto tr138;
- case 92: goto tr78;
- case 97: goto tr122;
- case 99: goto tr123;
- case 100: goto tr124;
- case 101: goto tr125;
- case 104: goto tr126;
- case 105: goto tr127;
- case 107: goto tr128;
- case 108: goto tr129;
- case 109: goto tr130;
- case 110: goto tr131;
- case 111: goto tr132;
- case 112: goto tr133;
- case 114: goto tr134;
- case 115: goto tr135;
- case 116: goto tr136;
- case 117: goto tr137;
- case 122: goto tr138;
- case 3082: goto tr819;
- case 3131: goto tr820;
- case 3338: goto tr73;
- case 3387: goto tr73;
- case 3594: goto tr821;
- case 3643: goto tr822;
+ case 9: goto st209;
+ case 32: goto st209;
+ case 40: goto tr835;
+ case 41: goto tr836;
+ case 58: goto tr75;
+ case 65: goto tr124;
+ case 67: goto tr125;
+ case 68: goto tr126;
+ case 69: goto tr127;
+ case 72: goto tr128;
+ case 73: goto tr129;
+ case 75: goto tr130;
+ case 76: goto tr131;
+ case 77: goto tr132;
+ case 78: goto tr133;
+ case 79: goto tr134;
+ case 80: goto tr135;
+ case 82: goto tr136;
+ case 83: goto tr137;
+ case 84: goto tr138;
+ case 85: goto tr139;
+ case 87: goto tr140;
+ case 90: goto tr141;
+ case 92: goto tr80;
+ case 97: goto tr124;
+ case 99: goto tr125;
+ case 100: goto tr126;
+ case 101: goto tr127;
+ case 104: goto tr128;
+ case 105: goto tr129;
+ case 107: goto tr130;
+ case 108: goto tr131;
+ case 109: goto tr132;
+ case 110: goto tr133;
+ case 111: goto tr134;
+ case 112: goto tr135;
+ case 114: goto tr136;
+ case 115: goto tr137;
+ case 116: goto tr138;
+ case 117: goto tr139;
+ case 119: goto tr140;
+ case 122: goto tr141;
+ case 3082: goto tr837;
+ case 3131: goto tr838;
+ case 3338: goto tr75;
+ case 3387: goto tr75;
+ case 3594: goto tr839;
+ case 3643: goto tr840;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr73;
+ goto tr75;
} else if ( _widec > 47 ) {
if ( _widec > 57 ) {
if ( 60 <= _widec )
- goto tr73;
+ goto tr75;
} else if ( _widec >= 48 )
- goto tr121;
+ goto tr123;
} else
- goto tr73;
- goto tr658;
-tr122:
+ goto tr75;
+ goto tr662;
+tr124:
{
s->r_class = s->default_class;
}
@@ -28016,95 +28680,96 @@ tr122:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 204;goto st844;}
+ {stack[top++] = 210;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 204;goto st846;}
+ {stack[top++] = 210;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 204;goto st848;}
+ {stack[top++] = 210;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 204;goto st880;}
+ {stack[top++] = 210;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 204;goto st885;}
+ {stack[top++] = 210;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 204;goto st890;}
+ {stack[top++] = 210;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 204;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 210;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 204;goto st899;}
+ {stack[top++] = 210;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 204;goto st901;}
+ {stack[top++] = 210;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 204;goto st956;}
+ {stack[top++] = 210;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 204;goto st967;}
+ {stack[top++] = 210;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 204;goto st984;}
+ {stack[top++] = 210;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 204;goto st995;}
+ {stack[top++] = 210;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 204;goto st1006;}
+ {stack[top++] = 210;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 204;goto st1019;}
+ {stack[top++] = 210;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 204;goto st1029;}
+ {stack[top++] = 210;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 204;goto st1068;}
+ {stack[top++] = 210;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 204;goto st1254;}
+ {stack[top++] = 210;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 204;goto st1257;}
+ {stack[top++] = 210;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 204;goto st1268;}
+ {stack[top++] = 210;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 204;goto st1270;}
+ {stack[top++] = 210;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 204;goto st1299;}
+ {stack[top++] = 210;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 204;goto st1312;}
+ {stack[top++] = 210;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 204;goto st1325;}
+ {stack[top++] = 210;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 204;goto st1331;}
+ {stack[top++] = 210;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 204;goto st1349;}
+ {stack[top++] = 210;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 204;goto st1344;}
+ {stack[top++] = 210;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 204;goto st1362;}
+ {stack[top++] = 210;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 204;goto st1368;}
+ {stack[top++] = 210;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 204;goto st1374;}
+ {stack[top++] = 210;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 204;goto st1382;}
+ {stack[top++] = 210;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 204;goto st1390;}
+ {stack[top++] = 210;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st204;
-st204:
+ goto st210;
+st210:
if ( ++p == pe )
- goto _test_eof204;
-case 204:
+ goto _test_eof210;
+case 210:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -28122,45 +28787,45 @@ case 204:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr824;
- case 32: goto tr824;
- case 40: goto tr825;
- case 41: goto tr826;
- case 65: goto st266;
- case 70: goto st269;
- case 80: goto st273;
- case 97: goto st266;
- case 102: goto st269;
- case 112: goto st273;
- case 2826: goto tr87;
- case 2875: goto tr88;
- case 3082: goto tr827;
- case 3131: goto tr828;
- case 3338: goto tr829;
- case 3387: goto tr830;
- case 3594: goto tr831;
- case 3643: goto tr832;
- }
- goto tr823;
-tr834:
+ case 9: goto tr842;
+ case 32: goto tr842;
+ case 40: goto tr843;
+ case 41: goto tr844;
+ case 65: goto st274;
+ case 70: goto st277;
+ case 80: goto st281;
+ case 97: goto st274;
+ case 102: goto st277;
+ case 112: goto st281;
+ case 2826: goto tr89;
+ case 2875: goto tr90;
+ case 3082: goto tr845;
+ case 3131: goto tr846;
+ case 3338: goto tr847;
+ case 3387: goto tr848;
+ case 3594: goto tr849;
+ case 3643: goto tr850;
+ }
+ goto tr841;
+tr852:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st205;
-tr835:
+ goto st211;
+tr853:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st205;
-tr824:
+ goto st211;
+tr842:
{ s->r_type = KNOT_RRTYPE_A; }
{
rdata_tail = s->r_data;
@@ -28169,8 +28834,8 @@ tr824:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st205;
-tr825:
+ goto st211;
+tr843:
{ s->r_type = KNOT_RRTYPE_A; }
{
rdata_tail = s->r_data;
@@ -28178,7 +28843,7 @@ tr825:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -28186,8 +28851,8 @@ tr825:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st205;
-tr826:
+ goto st211;
+tr844:
{ s->r_type = KNOT_RRTYPE_A; }
{
rdata_tail = s->r_data;
@@ -28195,7 +28860,7 @@ tr826:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -28203,11 +28868,11 @@ tr826:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st205;
-st205:
+ goto st211;
+st211:
if ( ++p == pe )
- goto _test_eof205;
-case 205:
+ goto _test_eof211;
+case 211:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -28225,116 +28890,117 @@ case 205:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st205;
- case 32: goto st205;
- case 40: goto tr834;
- case 41: goto tr835;
- case 92: goto tr78;
- case 2826: goto tr93;
- case 2875: goto tr94;
- case 3082: goto tr836;
- case 3131: goto tr111;
- case 3338: goto tr112;
- case 3387: goto tr113;
- case 3594: goto tr837;
- case 3643: goto tr114;
+ case 9: goto st211;
+ case 32: goto st211;
+ case 40: goto tr852;
+ case 41: goto tr853;
+ case 92: goto tr80;
+ case 2826: goto tr95;
+ case 2875: goto tr96;
+ case 3082: goto tr854;
+ case 3131: goto tr113;
+ case 3338: goto tr114;
+ case 3387: goto tr115;
+ case 3594: goto tr855;
+ case 3643: goto tr116;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr73;
+ goto tr75;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr73;
+ goto tr75;
} else
- goto tr73;
- goto tr83;
-tr105:
+ goto tr75;
+ goto tr85;
+tr107:
{
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 1402;goto st844;}
+ {stack[top++] = 1450;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 1402;goto st846;}
+ {stack[top++] = 1450;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 1402;goto st848;}
+ {stack[top++] = 1450;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 1402;goto st880;}
+ {stack[top++] = 1450;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 1402;goto st885;}
+ {stack[top++] = 1450;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 1402;goto st890;}
+ {stack[top++] = 1450;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 1402;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 1450;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 1402;goto st899;}
+ {stack[top++] = 1450;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 1402;goto st901;}
+ {stack[top++] = 1450;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 1402;goto st956;}
+ {stack[top++] = 1450;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 1402;goto st967;}
+ {stack[top++] = 1450;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 1402;goto st984;}
+ {stack[top++] = 1450;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 1402;goto st995;}
+ {stack[top++] = 1450;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 1402;goto st1006;}
+ {stack[top++] = 1450;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 1402;goto st1019;}
+ {stack[top++] = 1450;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 1402;goto st1029;}
+ {stack[top++] = 1450;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 1402;goto st1068;}
+ {stack[top++] = 1450;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 1402;goto st1254;}
+ {stack[top++] = 1450;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 1402;goto st1257;}
+ {stack[top++] = 1450;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 1402;goto st1268;}
+ {stack[top++] = 1450;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 1402;goto st1270;}
+ {stack[top++] = 1450;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 1402;goto st1299;}
+ {stack[top++] = 1450;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 1402;goto st1312;}
+ {stack[top++] = 1450;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 1402;goto st1325;}
+ {stack[top++] = 1450;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 1402;goto st1331;}
+ {stack[top++] = 1450;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 1402;goto st1349;}
+ {stack[top++] = 1450;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 1402;goto st1344;}
+ {stack[top++] = 1450;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 1402;goto st1362;}
+ {stack[top++] = 1450;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 1402;goto st1368;}
+ {stack[top++] = 1450;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 1402;goto st1374;}
+ {stack[top++] = 1450;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 1402;goto st1382;}
+ {stack[top++] = 1450;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 1402;goto st1390;}
+ {stack[top++] = 1450;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
@@ -28344,7 +29010,7 @@ tr105:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -28357,111 +29023,112 @@ tr105:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1402; goto _out;}
+ {p++; cs = 1450; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1402; goto _out;}
+ p--; {p++; cs = 1450; goto _out;}
}
}
{
s->line_counter++;
}
- goto st1402;
-tr112:
+ goto st1450;
+tr114:
{
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 1402;goto st844;}
+ {stack[top++] = 1450;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 1402;goto st846;}
+ {stack[top++] = 1450;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 1402;goto st848;}
+ {stack[top++] = 1450;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 1402;goto st880;}
+ {stack[top++] = 1450;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 1402;goto st885;}
+ {stack[top++] = 1450;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 1402;goto st890;}
+ {stack[top++] = 1450;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 1402;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 1450;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 1402;goto st899;}
+ {stack[top++] = 1450;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 1402;goto st901;}
+ {stack[top++] = 1450;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 1402;goto st956;}
+ {stack[top++] = 1450;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 1402;goto st967;}
+ {stack[top++] = 1450;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 1402;goto st984;}
+ {stack[top++] = 1450;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 1402;goto st995;}
+ {stack[top++] = 1450;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 1402;goto st1006;}
+ {stack[top++] = 1450;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 1402;goto st1019;}
+ {stack[top++] = 1450;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 1402;goto st1029;}
+ {stack[top++] = 1450;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 1402;goto st1068;}
+ {stack[top++] = 1450;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 1402;goto st1254;}
+ {stack[top++] = 1450;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 1402;goto st1257;}
+ {stack[top++] = 1450;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 1402;goto st1268;}
+ {stack[top++] = 1450;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 1402;goto st1270;}
+ {stack[top++] = 1450;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 1402;goto st1299;}
+ {stack[top++] = 1450;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 1402;goto st1312;}
+ {stack[top++] = 1450;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 1402;goto st1325;}
+ {stack[top++] = 1450;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 1402;goto st1331;}
+ {stack[top++] = 1450;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 1402;goto st1349;}
+ {stack[top++] = 1450;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 1402;goto st1344;}
+ {stack[top++] = 1450;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 1402;goto st1362;}
+ {stack[top++] = 1450;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 1402;goto st1368;}
+ {stack[top++] = 1450;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 1402;goto st1374;}
+ {stack[top++] = 1450;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 1402;goto st1382;}
+ {stack[top++] = 1450;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 1402;goto st1390;}
+ {stack[top++] = 1450;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -28474,112 +29141,113 @@ tr112:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1402; goto _out;}
+ {p++; cs = 1450; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1402; goto _out;}
+ p--; {p++; cs = 1450; goto _out;}
}
}
{
s->line_counter++;
}
- goto st1402;
-tr141:
+ goto st1450;
+tr144:
{
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 1402;goto st844;}
+ {stack[top++] = 1450;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 1402;goto st846;}
+ {stack[top++] = 1450;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 1402;goto st848;}
+ {stack[top++] = 1450;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 1402;goto st880;}
+ {stack[top++] = 1450;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 1402;goto st885;}
+ {stack[top++] = 1450;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 1402;goto st890;}
+ {stack[top++] = 1450;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 1402;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 1450;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 1402;goto st899;}
+ {stack[top++] = 1450;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 1402;goto st901;}
+ {stack[top++] = 1450;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 1402;goto st956;}
+ {stack[top++] = 1450;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 1402;goto st967;}
+ {stack[top++] = 1450;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 1402;goto st984;}
+ {stack[top++] = 1450;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 1402;goto st995;}
+ {stack[top++] = 1450;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 1402;goto st1006;}
+ {stack[top++] = 1450;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 1402;goto st1019;}
+ {stack[top++] = 1450;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 1402;goto st1029;}
+ {stack[top++] = 1450;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 1402;goto st1068;}
+ {stack[top++] = 1450;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 1402;goto st1254;}
+ {stack[top++] = 1450;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 1402;goto st1257;}
+ {stack[top++] = 1450;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 1402;goto st1268;}
+ {stack[top++] = 1450;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 1402;goto st1270;}
+ {stack[top++] = 1450;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 1402;goto st1299;}
+ {stack[top++] = 1450;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 1402;goto st1312;}
+ {stack[top++] = 1450;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 1402;goto st1325;}
+ {stack[top++] = 1450;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 1402;goto st1331;}
+ {stack[top++] = 1450;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 1402;goto st1349;}
+ {stack[top++] = 1450;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 1402;goto st1344;}
+ {stack[top++] = 1450;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 1402;goto st1362;}
+ {stack[top++] = 1450;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 1402;goto st1368;}
+ {stack[top++] = 1450;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 1402;goto st1374;}
+ {stack[top++] = 1450;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 1402;goto st1382;}
+ {stack[top++] = 1450;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 1402;goto st1390;}
+ {stack[top++] = 1450;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1402;
-tr829:
+ goto st1450;
+tr847:
{ s->r_type = KNOT_RRTYPE_A; }
{
rdata_tail = s->r_data;
@@ -28588,88 +29256,89 @@ tr829:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 1402;goto st844;}
+ {stack[top++] = 1450;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 1402;goto st846;}
+ {stack[top++] = 1450;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 1402;goto st848;}
+ {stack[top++] = 1450;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 1402;goto st880;}
+ {stack[top++] = 1450;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 1402;goto st885;}
+ {stack[top++] = 1450;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 1402;goto st890;}
+ {stack[top++] = 1450;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 1402;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 1450;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 1402;goto st899;}
+ {stack[top++] = 1450;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 1402;goto st901;}
+ {stack[top++] = 1450;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 1402;goto st956;}
+ {stack[top++] = 1450;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 1402;goto st967;}
+ {stack[top++] = 1450;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 1402;goto st984;}
+ {stack[top++] = 1450;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 1402;goto st995;}
+ {stack[top++] = 1450;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 1402;goto st1006;}
+ {stack[top++] = 1450;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 1402;goto st1019;}
+ {stack[top++] = 1450;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 1402;goto st1029;}
+ {stack[top++] = 1450;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 1402;goto st1068;}
+ {stack[top++] = 1450;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 1402;goto st1254;}
+ {stack[top++] = 1450;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 1402;goto st1257;}
+ {stack[top++] = 1450;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 1402;goto st1268;}
+ {stack[top++] = 1450;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 1402;goto st1270;}
+ {stack[top++] = 1450;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 1402;goto st1299;}
+ {stack[top++] = 1450;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 1402;goto st1312;}
+ {stack[top++] = 1450;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 1402;goto st1325;}
+ {stack[top++] = 1450;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 1402;goto st1331;}
+ {stack[top++] = 1450;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 1402;goto st1349;}
+ {stack[top++] = 1450;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 1402;goto st1344;}
+ {stack[top++] = 1450;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 1402;goto st1362;}
+ {stack[top++] = 1450;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 1402;goto st1368;}
+ {stack[top++] = 1450;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 1402;goto st1374;}
+ {stack[top++] = 1450;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 1402;goto st1382;}
+ {stack[top++] = 1450;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 1402;goto st1390;}
+ {stack[top++] = 1450;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
@@ -28679,7 +29348,7 @@ tr829:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -28692,105 +29361,106 @@ tr829:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1402; goto _out;}
+ {p++; cs = 1450; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1402; goto _out;}
+ p--; {p++; cs = 1450; goto _out;}
}
}
{
s->line_counter++;
}
- goto st1402;
-tr4223:
+ goto st1450;
+tr4303:
{
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 1402;goto st844;}
+ {stack[top++] = 1450;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 1402;goto st846;}
+ {stack[top++] = 1450;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 1402;goto st848;}
+ {stack[top++] = 1450;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 1402;goto st880;}
+ {stack[top++] = 1450;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 1402;goto st885;}
+ {stack[top++] = 1450;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 1402;goto st890;}
+ {stack[top++] = 1450;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 1402;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 1450;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 1402;goto st899;}
+ {stack[top++] = 1450;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 1402;goto st901;}
+ {stack[top++] = 1450;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 1402;goto st956;}
+ {stack[top++] = 1450;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 1402;goto st967;}
+ {stack[top++] = 1450;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 1402;goto st984;}
+ {stack[top++] = 1450;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 1402;goto st995;}
+ {stack[top++] = 1450;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 1402;goto st1006;}
+ {stack[top++] = 1450;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 1402;goto st1019;}
+ {stack[top++] = 1450;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 1402;goto st1029;}
+ {stack[top++] = 1450;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 1402;goto st1068;}
+ {stack[top++] = 1450;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 1402;goto st1254;}
+ {stack[top++] = 1450;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 1402;goto st1257;}
+ {stack[top++] = 1450;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 1402;goto st1268;}
+ {stack[top++] = 1450;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 1402;goto st1270;}
+ {stack[top++] = 1450;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 1402;goto st1299;}
+ {stack[top++] = 1450;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 1402;goto st1312;}
+ {stack[top++] = 1450;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 1402;goto st1325;}
+ {stack[top++] = 1450;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 1402;goto st1331;}
+ {stack[top++] = 1450;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 1402;goto st1349;}
+ {stack[top++] = 1450;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 1402;goto st1344;}
+ {stack[top++] = 1450;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 1402;goto st1362;}
+ {stack[top++] = 1450;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 1402;goto st1368;}
+ {stack[top++] = 1450;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 1402;goto st1374;}
+ {stack[top++] = 1450;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 1402;goto st1382;}
+ {stack[top++] = 1450;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 1402;goto st1390;}
+ {stack[top++] = 1450;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
@@ -28800,11 +29470,11 @@ tr4223:
{
s->line_counter++;
}
- goto st1402;
-st1402:
+ goto st1450;
+st1450:
if ( ++p == pe )
- goto _test_eof1402;
-case 1402:
+ goto _test_eof1450;
+case 1450:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -28818,57 +29488,57 @@ case 1402:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr4283;
- case 32: goto tr4283;
- case 36: goto st184;
- case 40: goto tr4284;
- case 41: goto tr4285;
- case 42: goto tr4210;
- case 92: goto tr4210;
- case 95: goto tr4210;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr4286;
- case 2107: goto tr4287;
+ case 9: goto tr4365;
+ case 32: goto tr4365;
+ case 36: goto st190;
+ case 40: goto tr4366;
+ case 41: goto tr4367;
+ case 42: goto tr4290;
+ case 92: goto tr4290;
+ case 95: goto tr4290;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr4368;
+ case 2107: goto tr4369;
}
if ( _widec < 64 ) {
if ( 45 <= _widec && _widec <= 57 )
- goto tr4210;
+ goto tr4290;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr4210;
+ goto tr4290;
} else
- goto tr4210;
- goto tr871;
-tr839:
+ goto tr4290;
+ goto tr889;
+tr857:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st206;
-tr840:
+ goto st212;
+tr858:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st206;
-tr909:
+ goto st212;
+tr927:
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st206;
-tr910:
+ goto st212;
+tr928:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -28876,12 +29546,12 @@ tr910:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st206;
-tr911:
+ goto st212;
+tr929:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -28889,8 +29559,8 @@ tr911:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st206;
-tr872:
+ goto st212;
+tr890:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -28898,15 +29568,15 @@ tr872:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st206;
-tr873:
+ goto st212;
+tr891:
{
s->r_owner_length = s->dname_tmp_length;
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -28914,15 +29584,15 @@ tr873:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st206;
-tr874:
+ goto st212;
+tr892:
{
s->r_owner_length = s->dname_tmp_length;
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -28930,8 +29600,8 @@ tr874:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st206;
-tr4283:
+ goto st212;
+tr4365:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -28939,11 +29609,11 @@ tr4283:
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st206;
-tr4284:
+ goto st212;
+tr4366:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -28951,18 +29621,18 @@ tr4284:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st206;
-tr4285:
+ goto st212;
+tr4367:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -28970,21 +29640,21 @@ tr4285:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st206;
-st206:
+ goto st212;
+st212:
if ( ++p == pe )
- goto _test_eof206;
-case 206:
+ goto _test_eof212;
+case 212:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -28998,10 +29668,10 @@ case 206:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st206;
- case 32: goto st206;
- case 40: goto tr839;
- case 41: goto tr840;
+ case 9: goto st212;
+ case 32: goto st212;
+ case 40: goto tr857;
+ case 41: goto tr858;
case 65: goto tr5;
case 67: goto tr6;
case 68: goto tr7;
@@ -29018,7 +29688,8 @@ case 206:
case 83: goto tr18;
case 84: goto tr19;
case 85: goto tr20;
- case 90: goto tr21;
+ case 87: goto tr21;
+ case 90: goto tr22;
case 97: goto tr5;
case 99: goto tr6;
case 100: goto tr7;
@@ -29035,28 +29706,29 @@ case 206:
case 115: goto tr18;
case 116: goto tr19;
case 117: goto tr20;
- case 122: goto tr21;
- case 1802: goto tr93;
- case 1851: goto tr94;
- case 2058: goto tr841;
- case 2107: goto tr842;
+ case 119: goto tr21;
+ case 122: goto tr22;
+ case 1802: goto tr95;
+ case 1851: goto tr96;
+ case 2058: goto tr859;
+ case 2107: goto tr860;
}
if ( 48 <= _widec && _widec <= 57 )
goto tr4;
goto tr0;
-tr842:
+tr860:
{
s->buffer_length = 0;
}
- goto st207;
-tr843:
+ goto st213;
+tr861:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st207;
-tr913:
+ goto st213;
+tr931:
{
s->buffer_length = 0;
}
@@ -29064,8 +29736,8 @@ tr913:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st207;
-tr918:
+ goto st213;
+tr936:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -29078,8 +29750,8 @@ tr918:
{
s->buffer_length = 0;
}
- goto st207;
-tr922:
+ goto st213;
+tr940:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -29088,8 +29760,8 @@ tr922:
{
s->buffer_length = 0;
}
- goto st207;
-tr876:
+ goto st213;
+tr894:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -29100,8 +29772,8 @@ tr876:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st207;
-tr4287:
+ goto st213;
+tr4369:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -29112,14 +29784,14 @@ tr4287:
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st207;
-st207:
+ goto st213;
+st213:
if ( ++p == pe )
- goto _test_eof207;
-case 207:
+ goto _test_eof213;
+case 213:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -29139,102 +29811,103 @@ case 207:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 1802: goto tr96;
- case 2058: goto tr844;
+ case 1802: goto tr98;
+ case 2058: goto tr862;
}
if ( _widec > 1919 ) {
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr843;
+ goto tr861;
} else if ( _widec >= 1664 )
- goto tr95;
- goto tr89;
-tr106:
+ goto tr97;
+ goto tr91;
+tr108:
{
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 208;goto st844;}
+ {stack[top++] = 214;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 208;goto st846;}
+ {stack[top++] = 214;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 208;goto st848;}
+ {stack[top++] = 214;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 208;goto st880;}
+ {stack[top++] = 214;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 208;goto st885;}
+ {stack[top++] = 214;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 208;goto st890;}
+ {stack[top++] = 214;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 208;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 214;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 208;goto st899;}
+ {stack[top++] = 214;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 208;goto st901;}
+ {stack[top++] = 214;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 208;goto st956;}
+ {stack[top++] = 214;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 208;goto st967;}
+ {stack[top++] = 214;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 208;goto st984;}
+ {stack[top++] = 214;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 208;goto st995;}
+ {stack[top++] = 214;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 208;goto st1006;}
+ {stack[top++] = 214;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 208;goto st1019;}
+ {stack[top++] = 214;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 208;goto st1029;}
+ {stack[top++] = 214;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 208;goto st1068;}
+ {stack[top++] = 214;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 208;goto st1254;}
+ {stack[top++] = 214;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 208;goto st1257;}
+ {stack[top++] = 214;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 208;goto st1268;}
+ {stack[top++] = 214;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 208;goto st1270;}
+ {stack[top++] = 214;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 208;goto st1299;}
+ {stack[top++] = 214;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 208;goto st1312;}
+ {stack[top++] = 214;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 208;goto st1325;}
+ {stack[top++] = 214;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 208;goto st1331;}
+ {stack[top++] = 214;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 208;goto st1349;}
+ {stack[top++] = 214;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 208;goto st1344;}
+ {stack[top++] = 214;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 208;goto st1362;}
+ {stack[top++] = 214;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 208;goto st1368;}
+ {stack[top++] = 214;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 208;goto st1374;}
+ {stack[top++] = 214;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 208;goto st1382;}
+ {stack[top++] = 214;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 208;goto st1390;}
+ {stack[top++] = 214;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
@@ -29244,101 +29917,102 @@ tr106:
{
s->buffer_length = 0;
}
- goto st208;
-tr113:
+ goto st214;
+tr115:
{
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 208;goto st844;}
+ {stack[top++] = 214;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 208;goto st846;}
+ {stack[top++] = 214;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 208;goto st848;}
+ {stack[top++] = 214;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 208;goto st880;}
+ {stack[top++] = 214;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 208;goto st885;}
+ {stack[top++] = 214;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 208;goto st890;}
+ {stack[top++] = 214;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 208;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 214;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 208;goto st899;}
+ {stack[top++] = 214;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 208;goto st901;}
+ {stack[top++] = 214;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 208;goto st956;}
+ {stack[top++] = 214;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 208;goto st967;}
+ {stack[top++] = 214;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 208;goto st984;}
+ {stack[top++] = 214;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 208;goto st995;}
+ {stack[top++] = 214;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 208;goto st1006;}
+ {stack[top++] = 214;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 208;goto st1019;}
+ {stack[top++] = 214;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 208;goto st1029;}
+ {stack[top++] = 214;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 208;goto st1068;}
+ {stack[top++] = 214;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 208;goto st1254;}
+ {stack[top++] = 214;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 208;goto st1257;}
+ {stack[top++] = 214;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 208;goto st1268;}
+ {stack[top++] = 214;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 208;goto st1270;}
+ {stack[top++] = 214;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 208;goto st1299;}
+ {stack[top++] = 214;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 208;goto st1312;}
+ {stack[top++] = 214;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 208;goto st1325;}
+ {stack[top++] = 214;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 208;goto st1331;}
+ {stack[top++] = 214;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 208;goto st1349;}
+ {stack[top++] = 214;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 208;goto st1344;}
+ {stack[top++] = 214;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 208;goto st1362;}
+ {stack[top++] = 214;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 208;goto st1368;}
+ {stack[top++] = 214;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 208;goto st1374;}
+ {stack[top++] = 214;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 208;goto st1382;}
+ {stack[top++] = 214;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 208;goto st1390;}
+ {stack[top++] = 214;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st208;
-tr830:
+ goto st214;
+tr848:
{ s->r_type = KNOT_RRTYPE_A; }
{
rdata_tail = s->r_data;
@@ -29347,88 +30021,89 @@ tr830:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 208;goto st844;}
+ {stack[top++] = 214;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 208;goto st846;}
+ {stack[top++] = 214;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 208;goto st848;}
+ {stack[top++] = 214;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 208;goto st880;}
+ {stack[top++] = 214;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 208;goto st885;}
+ {stack[top++] = 214;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 208;goto st890;}
+ {stack[top++] = 214;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 208;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 214;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 208;goto st899;}
+ {stack[top++] = 214;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 208;goto st901;}
+ {stack[top++] = 214;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 208;goto st956;}
+ {stack[top++] = 214;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 208;goto st967;}
+ {stack[top++] = 214;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 208;goto st984;}
+ {stack[top++] = 214;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 208;goto st995;}
+ {stack[top++] = 214;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 208;goto st1006;}
+ {stack[top++] = 214;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 208;goto st1019;}
+ {stack[top++] = 214;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 208;goto st1029;}
+ {stack[top++] = 214;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 208;goto st1068;}
+ {stack[top++] = 214;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 208;goto st1254;}
+ {stack[top++] = 214;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 208;goto st1257;}
+ {stack[top++] = 214;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 208;goto st1268;}
+ {stack[top++] = 214;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 208;goto st1270;}
+ {stack[top++] = 214;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 208;goto st1299;}
+ {stack[top++] = 214;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 208;goto st1312;}
+ {stack[top++] = 214;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 208;goto st1325;}
+ {stack[top++] = 214;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 208;goto st1331;}
+ {stack[top++] = 214;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 208;goto st1349;}
+ {stack[top++] = 214;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 208;goto st1344;}
+ {stack[top++] = 214;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 208;goto st1362;}
+ {stack[top++] = 214;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 208;goto st1368;}
+ {stack[top++] = 214;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 208;goto st1374;}
+ {stack[top++] = 214;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 208;goto st1382;}
+ {stack[top++] = 214;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 208;goto st1390;}
+ {stack[top++] = 214;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
@@ -29438,11 +30113,11 @@ tr830:
{
s->buffer_length = 0;
}
- goto st208;
-st208:
+ goto st214;
+st214:
if ( ++p == pe )
- goto _test_eof208;
-case 208:
+ goto _test_eof214;
+case 214:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -29456,32 +30131,32 @@ case 208:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr845;
- case 32: goto tr845;
- case 40: goto tr846;
- case 41: goto tr847;
- case 1802: goto tr848;
- case 1851: goto tr849;
- case 2058: goto tr848;
- case 2107: goto tr849;
+ case 9: goto tr863;
+ case 32: goto tr863;
+ case 40: goto tr864;
+ case 41: goto tr865;
+ case 1802: goto tr866;
+ case 1851: goto tr867;
+ case 2058: goto tr866;
+ case 2107: goto tr867;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr95;
+ goto tr97;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr95;
+ goto tr97;
} else
- goto tr95;
- goto tr83;
-tr850:
+ goto tr97;
+ goto tr85;
+tr868:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st209;
-tr845:
+ goto st215;
+tr863:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -29491,8 +30166,8 @@ tr845:
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st209;
-tr846:
+ goto st215;
+tr864:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -29500,7 +30175,7 @@ tr846:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -29509,8 +30184,8 @@ tr846:
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st209;
-tr847:
+ goto st215;
+tr865:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -29518,7 +30193,7 @@ tr847:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -29527,12 +30202,12 @@ tr847:
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st209;
-tr851:
+ goto st215;
+tr869:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -29541,12 +30216,12 @@ tr851:
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st209;
-tr852:
+ goto st215;
+tr870:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -29555,11 +30230,11 @@ tr852:
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st209;
-st209:
+ goto st215;
+st215:
if ( ++p == pe )
- goto _test_eof209;
-case 209:
+ goto _test_eof215;
+case 215:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -29573,25 +30248,25 @@ case 209:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr850;
- case 32: goto tr850;
- case 40: goto tr851;
- case 41: goto tr852;
- case 1802: goto tr96;
- case 1851: goto tr853;
- case 2058: goto tr96;
- case 2107: goto tr853;
+ case 9: goto tr868;
+ case 32: goto tr868;
+ case 40: goto tr869;
+ case 41: goto tr870;
+ case 1802: goto tr98;
+ case 1851: goto tr871;
+ case 2058: goto tr98;
+ case 2107: goto tr871;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr95;
+ goto tr97;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr95;
+ goto tr97;
} else
- goto tr95;
- goto tr89;
-tr831:
+ goto tr97;
+ goto tr91;
+tr849:
{ s->r_type = KNOT_RRTYPE_A; }
{
rdata_tail = s->r_data;
@@ -29603,88 +30278,89 @@ tr831:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 1403;goto st844;}
+ {stack[top++] = 1451;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 1403;goto st846;}
+ {stack[top++] = 1451;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 1403;goto st848;}
+ {stack[top++] = 1451;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 1403;goto st880;}
+ {stack[top++] = 1451;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 1403;goto st885;}
+ {stack[top++] = 1451;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 1403;goto st890;}
+ {stack[top++] = 1451;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 1403;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 1451;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 1403;goto st899;}
+ {stack[top++] = 1451;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 1403;goto st901;}
+ {stack[top++] = 1451;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 1403;goto st956;}
+ {stack[top++] = 1451;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 1403;goto st967;}
+ {stack[top++] = 1451;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 1403;goto st984;}
+ {stack[top++] = 1451;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 1403;goto st995;}
+ {stack[top++] = 1451;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 1403;goto st1006;}
+ {stack[top++] = 1451;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 1403;goto st1019;}
+ {stack[top++] = 1451;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 1403;goto st1029;}
+ {stack[top++] = 1451;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 1403;goto st1068;}
+ {stack[top++] = 1451;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 1403;goto st1254;}
+ {stack[top++] = 1451;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 1403;goto st1257;}
+ {stack[top++] = 1451;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 1403;goto st1268;}
+ {stack[top++] = 1451;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 1403;goto st1270;}
+ {stack[top++] = 1451;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 1403;goto st1299;}
+ {stack[top++] = 1451;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 1403;goto st1312;}
+ {stack[top++] = 1451;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 1403;goto st1325;}
+ {stack[top++] = 1451;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 1403;goto st1331;}
+ {stack[top++] = 1451;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 1403;goto st1349;}
+ {stack[top++] = 1451;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 1403;goto st1344;}
+ {stack[top++] = 1451;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 1403;goto st1362;}
+ {stack[top++] = 1451;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 1403;goto st1368;}
+ {stack[top++] = 1451;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 1403;goto st1374;}
+ {stack[top++] = 1451;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 1403;goto st1382;}
+ {stack[top++] = 1451;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 1403;goto st1390;}
+ {stack[top++] = 1451;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
@@ -29694,7 +30370,7 @@ tr831:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -29707,16 +30383,16 @@ tr831:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1403; goto _out;}
+ {p++; cs = 1451; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1403; goto _out;}
+ p--; {p++; cs = 1451; goto _out;}
}
}
- goto st1403;
-tr837:
+ goto st1451;
+tr855:
{
s->line_counter++;
}
@@ -29724,94 +30400,95 @@ tr837:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 1403;goto st844;}
+ {stack[top++] = 1451;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 1403;goto st846;}
+ {stack[top++] = 1451;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 1403;goto st848;}
+ {stack[top++] = 1451;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 1403;goto st880;}
+ {stack[top++] = 1451;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 1403;goto st885;}
+ {stack[top++] = 1451;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 1403;goto st890;}
+ {stack[top++] = 1451;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 1403;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 1451;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 1403;goto st899;}
+ {stack[top++] = 1451;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 1403;goto st901;}
+ {stack[top++] = 1451;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 1403;goto st956;}
+ {stack[top++] = 1451;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 1403;goto st967;}
+ {stack[top++] = 1451;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 1403;goto st984;}
+ {stack[top++] = 1451;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 1403;goto st995;}
+ {stack[top++] = 1451;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 1403;goto st1006;}
+ {stack[top++] = 1451;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 1403;goto st1019;}
+ {stack[top++] = 1451;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 1403;goto st1029;}
+ {stack[top++] = 1451;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 1403;goto st1068;}
+ {stack[top++] = 1451;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 1403;goto st1254;}
+ {stack[top++] = 1451;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 1403;goto st1257;}
+ {stack[top++] = 1451;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 1403;goto st1268;}
+ {stack[top++] = 1451;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 1403;goto st1270;}
+ {stack[top++] = 1451;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 1403;goto st1299;}
+ {stack[top++] = 1451;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 1403;goto st1312;}
+ {stack[top++] = 1451;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 1403;goto st1325;}
+ {stack[top++] = 1451;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 1403;goto st1331;}
+ {stack[top++] = 1451;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 1403;goto st1349;}
+ {stack[top++] = 1451;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 1403;goto st1344;}
+ {stack[top++] = 1451;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 1403;goto st1362;}
+ {stack[top++] = 1451;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 1403;goto st1368;}
+ {stack[top++] = 1451;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 1403;goto st1374;}
+ {stack[top++] = 1451;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 1403;goto st1382;}
+ {stack[top++] = 1451;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 1403;goto st1390;}
+ {stack[top++] = 1451;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -29824,19 +30501,19 @@ tr837:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1403; goto _out;}
+ {p++; cs = 1451; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1403; goto _out;}
+ p--; {p++; cs = 1451; goto _out;}
}
}
- goto st1403;
-st1403:
+ goto st1451;
+st1451:
if ( ++p == pe )
- goto _test_eof1403;
-case 1403:
+ goto _test_eof1451;
+case 1451:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -29854,77 +30531,77 @@ case 1403:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr4288;
- case 32: goto tr4288;
- case 36: goto tr4216;
- case 40: goto tr4289;
- case 41: goto tr4290;
- case 42: goto tr4219;
- case 58: goto tr73;
- case 92: goto tr4220;
- case 95: goto tr4219;
- case 2826: goto tr87;
- case 2875: goto tr88;
- case 3082: goto tr4286;
- case 3131: goto tr4291;
- case 3338: goto tr105;
- case 3387: goto tr106;
- case 3594: goto tr4286;
- case 3643: goto tr4292;
+ case 9: goto tr4370;
+ case 32: goto tr4370;
+ case 36: goto tr4296;
+ case 40: goto tr4371;
+ case 41: goto tr4372;
+ case 42: goto tr4299;
+ case 58: goto tr75;
+ case 92: goto tr4300;
+ case 95: goto tr4299;
+ case 2826: goto tr89;
+ case 2875: goto tr90;
+ case 3082: goto tr4368;
+ case 3131: goto tr4373;
+ case 3338: goto tr107;
+ case 3387: goto tr108;
+ case 3594: goto tr4368;
+ case 3643: goto tr4374;
}
if ( _widec < 60 ) {
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr73;
+ goto tr75;
} else if ( _widec > 44 ) {
if ( 45 <= _widec && _widec <= 57 )
- goto tr4219;
+ goto tr4299;
} else
- goto tr73;
+ goto tr75;
} else if ( _widec > 63 ) {
if ( _widec < 91 ) {
if ( 64 <= _widec && _widec <= 90 )
- goto tr4219;
+ goto tr4299;
} else if ( _widec > 96 ) {
if ( _widec > 122 ) {
if ( 123 <= _widec )
- goto tr73;
+ goto tr75;
} else if ( _widec >= 97 )
- goto tr4219;
+ goto tr4299;
} else
- goto tr73;
+ goto tr75;
} else
- goto tr73;
- goto tr871;
-tr855:
+ goto tr75;
+ goto tr889;
+tr873:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st210;
-tr856:
+ goto st216;
+tr874:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st210;
-tr985:
+ goto st216;
+tr1003:
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st210;
-tr986:
+ goto st216;
+tr1004:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -29932,12 +30609,12 @@ tr986:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st210;
-tr987:
+ goto st216;
+tr1005:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -29945,8 +30622,8 @@ tr987:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st210;
-tr4288:
+ goto st216;
+tr4370:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -29954,15 +30631,15 @@ tr4288:
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st210;
-tr4289:
+ goto st216;
+tr4371:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -29973,15 +30650,15 @@ tr4289:
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st210;
-tr4290:
+ goto st216;
+tr4372:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -29992,14 +30669,14 @@ tr4290:
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st210;
-st210:
+ goto st216;
+st216:
if ( ++p == pe )
- goto _test_eof210;
-case 210:
+ goto _test_eof216;
+case 216:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30017,68 +30694,70 @@ case 210:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st210;
- case 32: goto st210;
- case 40: goto tr855;
- case 41: goto tr856;
- case 58: goto tr73;
- case 65: goto tr122;
- case 67: goto tr123;
- case 68: goto tr124;
- case 69: goto tr125;
- case 72: goto tr126;
- case 73: goto tr127;
- case 75: goto tr128;
- case 76: goto tr129;
- case 77: goto tr130;
- case 78: goto tr131;
- case 79: goto tr132;
- case 80: goto tr133;
- case 82: goto tr134;
- case 83: goto tr135;
- case 84: goto tr136;
- case 85: goto tr137;
- case 90: goto tr138;
- case 92: goto tr78;
- case 97: goto tr122;
- case 99: goto tr123;
- case 100: goto tr124;
- case 101: goto tr125;
- case 104: goto tr126;
- case 105: goto tr127;
- case 107: goto tr128;
- case 108: goto tr129;
- case 109: goto tr130;
- case 110: goto tr131;
- case 111: goto tr132;
- case 112: goto tr133;
- case 114: goto tr134;
- case 115: goto tr135;
- case 116: goto tr136;
- case 117: goto tr137;
- case 122: goto tr138;
- case 2826: goto tr93;
- case 2875: goto tr94;
- case 3082: goto tr841;
- case 3131: goto tr857;
- case 3338: goto tr112;
- case 3387: goto tr113;
- case 3594: goto tr841;
- case 3643: goto tr858;
+ case 9: goto st216;
+ case 32: goto st216;
+ case 40: goto tr873;
+ case 41: goto tr874;
+ case 58: goto tr75;
+ case 65: goto tr124;
+ case 67: goto tr125;
+ case 68: goto tr126;
+ case 69: goto tr127;
+ case 72: goto tr128;
+ case 73: goto tr129;
+ case 75: goto tr130;
+ case 76: goto tr131;
+ case 77: goto tr132;
+ case 78: goto tr133;
+ case 79: goto tr134;
+ case 80: goto tr135;
+ case 82: goto tr136;
+ case 83: goto tr137;
+ case 84: goto tr138;
+ case 85: goto tr139;
+ case 87: goto tr140;
+ case 90: goto tr141;
+ case 92: goto tr80;
+ case 97: goto tr124;
+ case 99: goto tr125;
+ case 100: goto tr126;
+ case 101: goto tr127;
+ case 104: goto tr128;
+ case 105: goto tr129;
+ case 107: goto tr130;
+ case 108: goto tr131;
+ case 109: goto tr132;
+ case 110: goto tr133;
+ case 111: goto tr134;
+ case 112: goto tr135;
+ case 114: goto tr136;
+ case 115: goto tr137;
+ case 116: goto tr138;
+ case 117: goto tr139;
+ case 119: goto tr140;
+ case 122: goto tr141;
+ case 2826: goto tr95;
+ case 2875: goto tr96;
+ case 3082: goto tr859;
+ case 3131: goto tr875;
+ case 3338: goto tr114;
+ case 3387: goto tr115;
+ case 3594: goto tr859;
+ case 3643: goto tr876;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr73;
+ goto tr75;
} else if ( _widec > 47 ) {
if ( _widec > 57 ) {
if ( 60 <= _widec )
- goto tr73;
+ goto tr75;
} else if ( _widec >= 48 )
- goto tr121;
+ goto tr123;
} else
- goto tr73;
- goto tr118;
-tr123:
+ goto tr75;
+ goto tr120;
+tr125:
{
s->r_class = s->default_class;
}
@@ -30089,95 +30768,96 @@ tr123:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 211;goto st844;}
+ {stack[top++] = 217;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 211;goto st846;}
+ {stack[top++] = 217;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 211;goto st848;}
+ {stack[top++] = 217;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 211;goto st880;}
+ {stack[top++] = 217;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 211;goto st885;}
+ {stack[top++] = 217;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 211;goto st890;}
+ {stack[top++] = 217;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 211;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 217;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 211;goto st899;}
+ {stack[top++] = 217;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 211;goto st901;}
+ {stack[top++] = 217;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 211;goto st956;}
+ {stack[top++] = 217;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 211;goto st967;}
+ {stack[top++] = 217;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 211;goto st984;}
+ {stack[top++] = 217;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 211;goto st995;}
+ {stack[top++] = 217;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 211;goto st1006;}
+ {stack[top++] = 217;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 211;goto st1019;}
+ {stack[top++] = 217;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 211;goto st1029;}
+ {stack[top++] = 217;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 211;goto st1068;}
+ {stack[top++] = 217;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 211;goto st1254;}
+ {stack[top++] = 217;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 211;goto st1257;}
+ {stack[top++] = 217;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 211;goto st1268;}
+ {stack[top++] = 217;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 211;goto st1270;}
+ {stack[top++] = 217;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 211;goto st1299;}
+ {stack[top++] = 217;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 211;goto st1312;}
+ {stack[top++] = 217;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 211;goto st1325;}
+ {stack[top++] = 217;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 211;goto st1331;}
+ {stack[top++] = 217;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 211;goto st1349;}
+ {stack[top++] = 217;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 211;goto st1344;}
+ {stack[top++] = 217;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 211;goto st1362;}
+ {stack[top++] = 217;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 211;goto st1368;}
+ {stack[top++] = 217;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 211;goto st1374;}
+ {stack[top++] = 217;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 211;goto st1382;}
+ {stack[top++] = 217;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 211;goto st1390;}
+ {stack[top++] = 217;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st211;
-st211:
+ goto st217;
+st217:
if ( ++p == pe )
- goto _test_eof211;
-case 211:
+ goto _test_eof217;
+case 217:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30191,10 +30871,10 @@ case 211:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr84;
- case 32: goto tr84;
- case 40: goto tr85;
- case 41: goto tr86;
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
case 65: goto st18;
case 68: goto st22;
case 69: goto st29;
@@ -30205,13 +30885,13 @@ case 211:
case 101: goto st29;
case 110: goto st32;
case 115: goto st36;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr87;
- case 2107: goto tr88;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
}
- goto tr823;
-tr124:
+ goto tr841;
+tr126:
{
s->r_class = s->default_class;
}
@@ -30222,95 +30902,96 @@ tr124:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 212;goto st844;}
+ {stack[top++] = 218;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 212;goto st846;}
+ {stack[top++] = 218;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 212;goto st848;}
+ {stack[top++] = 218;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 212;goto st880;}
+ {stack[top++] = 218;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 212;goto st885;}
+ {stack[top++] = 218;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 212;goto st890;}
+ {stack[top++] = 218;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 212;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 218;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 212;goto st899;}
+ {stack[top++] = 218;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 212;goto st901;}
+ {stack[top++] = 218;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 212;goto st956;}
+ {stack[top++] = 218;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 212;goto st967;}
+ {stack[top++] = 218;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 212;goto st984;}
+ {stack[top++] = 218;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 212;goto st995;}
+ {stack[top++] = 218;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 212;goto st1006;}
+ {stack[top++] = 218;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 212;goto st1019;}
+ {stack[top++] = 218;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 212;goto st1029;}
+ {stack[top++] = 218;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 212;goto st1068;}
+ {stack[top++] = 218;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 212;goto st1254;}
+ {stack[top++] = 218;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 212;goto st1257;}
+ {stack[top++] = 218;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 212;goto st1268;}
+ {stack[top++] = 218;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 212;goto st1270;}
+ {stack[top++] = 218;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 212;goto st1299;}
+ {stack[top++] = 218;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 212;goto st1312;}
+ {stack[top++] = 218;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 212;goto st1325;}
+ {stack[top++] = 218;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 212;goto st1331;}
+ {stack[top++] = 218;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 212;goto st1349;}
+ {stack[top++] = 218;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 212;goto st1344;}
+ {stack[top++] = 218;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 212;goto st1362;}
+ {stack[top++] = 218;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 212;goto st1368;}
+ {stack[top++] = 218;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 212;goto st1374;}
+ {stack[top++] = 218;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 212;goto st1382;}
+ {stack[top++] = 218;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 212;goto st1390;}
+ {stack[top++] = 218;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st212;
-st212:
+ goto st218;
+st218:
if ( ++p == pe )
- goto _test_eof212;
-case 212:
+ goto _test_eof218;
+case 218:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30324,23 +31005,23 @@ case 212:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr84;
- case 32: goto tr84;
- case 40: goto tr85;
- case 41: goto tr86;
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
case 72: goto st41;
case 78: goto st45;
case 83: goto st53;
case 104: goto st41;
case 110: goto st45;
case 115: goto st53;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr87;
- case 2107: goto tr88;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
}
- goto tr823;
-tr125:
+ goto tr841;
+tr127:
{
s->r_class = s->default_class;
}
@@ -30351,95 +31032,96 @@ tr125:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 213;goto st844;}
+ {stack[top++] = 219;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 213;goto st846;}
+ {stack[top++] = 219;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 213;goto st848;}
+ {stack[top++] = 219;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 213;goto st880;}
+ {stack[top++] = 219;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 213;goto st885;}
+ {stack[top++] = 219;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 213;goto st890;}
+ {stack[top++] = 219;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 213;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 219;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 213;goto st899;}
+ {stack[top++] = 219;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 213;goto st901;}
+ {stack[top++] = 219;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 213;goto st956;}
+ {stack[top++] = 219;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 213;goto st967;}
+ {stack[top++] = 219;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 213;goto st984;}
+ {stack[top++] = 219;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 213;goto st995;}
+ {stack[top++] = 219;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 213;goto st1006;}
+ {stack[top++] = 219;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 213;goto st1019;}
+ {stack[top++] = 219;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 213;goto st1029;}
+ {stack[top++] = 219;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 213;goto st1068;}
+ {stack[top++] = 219;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 213;goto st1254;}
+ {stack[top++] = 219;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 213;goto st1257;}
+ {stack[top++] = 219;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 213;goto st1268;}
+ {stack[top++] = 219;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 213;goto st1270;}
+ {stack[top++] = 219;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 213;goto st1299;}
+ {stack[top++] = 219;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 213;goto st1312;}
+ {stack[top++] = 219;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 213;goto st1325;}
+ {stack[top++] = 219;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 213;goto st1331;}
+ {stack[top++] = 219;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 213;goto st1349;}
+ {stack[top++] = 219;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 213;goto st1344;}
+ {stack[top++] = 219;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 213;goto st1362;}
+ {stack[top++] = 219;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 213;goto st1368;}
+ {stack[top++] = 219;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 213;goto st1374;}
+ {stack[top++] = 219;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 213;goto st1382;}
+ {stack[top++] = 219;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 213;goto st1390;}
+ {stack[top++] = 219;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st213;
-st213:
+ goto st219;
+st219:
if ( ++p == pe )
- goto _test_eof213;
-case 213:
+ goto _test_eof219;
+case 219:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30453,19 +31135,19 @@ case 213:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr84;
- case 32: goto tr84;
- case 40: goto tr85;
- case 41: goto tr86;
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
case 85: goto st55;
case 117: goto st55;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr87;
- case 2107: goto tr88;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
}
- goto tr823;
-tr126:
+ goto tr841;
+tr128:
{
s->r_class = s->default_class;
}
@@ -30476,95 +31158,96 @@ tr126:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 214;goto st844;}
+ {stack[top++] = 220;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 214;goto st846;}
+ {stack[top++] = 220;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 214;goto st848;}
+ {stack[top++] = 220;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 214;goto st880;}
+ {stack[top++] = 220;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 214;goto st885;}
+ {stack[top++] = 220;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 214;goto st890;}
+ {stack[top++] = 220;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 214;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 220;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 214;goto st899;}
+ {stack[top++] = 220;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 214;goto st901;}
+ {stack[top++] = 220;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 214;goto st956;}
+ {stack[top++] = 220;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 214;goto st967;}
+ {stack[top++] = 220;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 214;goto st984;}
+ {stack[top++] = 220;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 214;goto st995;}
+ {stack[top++] = 220;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 214;goto st1006;}
+ {stack[top++] = 220;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 214;goto st1019;}
+ {stack[top++] = 220;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 214;goto st1029;}
+ {stack[top++] = 220;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 214;goto st1068;}
+ {stack[top++] = 220;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 214;goto st1254;}
+ {stack[top++] = 220;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 214;goto st1257;}
+ {stack[top++] = 220;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 214;goto st1268;}
+ {stack[top++] = 220;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 214;goto st1270;}
+ {stack[top++] = 220;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 214;goto st1299;}
+ {stack[top++] = 220;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 214;goto st1312;}
+ {stack[top++] = 220;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 214;goto st1325;}
+ {stack[top++] = 220;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 214;goto st1331;}
+ {stack[top++] = 220;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 214;goto st1349;}
+ {stack[top++] = 220;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 214;goto st1344;}
+ {stack[top++] = 220;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 214;goto st1362;}
+ {stack[top++] = 220;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 214;goto st1368;}
+ {stack[top++] = 220;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 214;goto st1374;}
+ {stack[top++] = 220;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 214;goto st1382;}
+ {stack[top++] = 220;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 214;goto st1390;}
+ {stack[top++] = 220;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st214;
-st214:
+ goto st220;
+st220:
if ( ++p == pe )
- goto _test_eof214;
-case 214:
+ goto _test_eof220;
+case 220:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30578,21 +31261,21 @@ case 214:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr84;
- case 32: goto tr84;
- case 40: goto tr85;
- case 41: goto tr86;
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
case 73: goto st62;
case 84: goto st66;
case 105: goto st62;
case 116: goto st66;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr87;
- case 2107: goto tr88;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
}
- goto tr823;
-tr127:
+ goto tr841;
+tr129:
{
s->r_class = s->default_class;
}
@@ -30603,95 +31286,96 @@ tr127:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 215;goto st844;}
+ {stack[top++] = 221;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 215;goto st846;}
+ {stack[top++] = 221;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 215;goto st848;}
+ {stack[top++] = 221;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 215;goto st880;}
+ {stack[top++] = 221;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 215;goto st885;}
+ {stack[top++] = 221;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 215;goto st890;}
+ {stack[top++] = 221;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 215;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 221;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 215;goto st899;}
+ {stack[top++] = 221;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 215;goto st901;}
+ {stack[top++] = 221;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 215;goto st956;}
+ {stack[top++] = 221;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 215;goto st967;}
+ {stack[top++] = 221;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 215;goto st984;}
+ {stack[top++] = 221;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 215;goto st995;}
+ {stack[top++] = 221;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 215;goto st1006;}
+ {stack[top++] = 221;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 215;goto st1019;}
+ {stack[top++] = 221;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 215;goto st1029;}
+ {stack[top++] = 221;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 215;goto st1068;}
+ {stack[top++] = 221;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 215;goto st1254;}
+ {stack[top++] = 221;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 215;goto st1257;}
+ {stack[top++] = 221;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 215;goto st1268;}
+ {stack[top++] = 221;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 215;goto st1270;}
+ {stack[top++] = 221;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 215;goto st1299;}
+ {stack[top++] = 221;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 215;goto st1312;}
+ {stack[top++] = 221;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 215;goto st1325;}
+ {stack[top++] = 221;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 215;goto st1331;}
+ {stack[top++] = 221;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 215;goto st1349;}
+ {stack[top++] = 221;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 215;goto st1344;}
+ {stack[top++] = 221;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 215;goto st1362;}
+ {stack[top++] = 221;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 215;goto st1368;}
+ {stack[top++] = 221;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 215;goto st1374;}
+ {stack[top++] = 221;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 215;goto st1382;}
+ {stack[top++] = 221;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 215;goto st1390;}
+ {stack[top++] = 221;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st215;
-st215:
+ goto st221;
+st221:
if ( ++p == pe )
- goto _test_eof215;
-case 215:
+ goto _test_eof221;
+case 221:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30705,21 +31389,21 @@ case 215:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr84;
- case 32: goto tr84;
- case 40: goto tr85;
- case 41: goto tr86;
- case 78: goto st176;
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
+ case 78: goto st182;
case 80: goto st74;
- case 110: goto st176;
+ case 110: goto st182;
case 112: goto st74;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr87;
- case 2107: goto tr88;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
}
- goto tr823;
-tr128:
+ goto tr841;
+tr130:
{
s->r_class = s->default_class;
}
@@ -30730,95 +31414,96 @@ tr128:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 216;goto st844;}
+ {stack[top++] = 222;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 216;goto st846;}
+ {stack[top++] = 222;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 216;goto st848;}
+ {stack[top++] = 222;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 216;goto st880;}
+ {stack[top++] = 222;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 216;goto st885;}
+ {stack[top++] = 222;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 216;goto st890;}
+ {stack[top++] = 222;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 216;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 222;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 216;goto st899;}
+ {stack[top++] = 222;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 216;goto st901;}
+ {stack[top++] = 222;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 216;goto st956;}
+ {stack[top++] = 222;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 216;goto st967;}
+ {stack[top++] = 222;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 216;goto st984;}
+ {stack[top++] = 222;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 216;goto st995;}
+ {stack[top++] = 222;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 216;goto st1006;}
+ {stack[top++] = 222;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 216;goto st1019;}
+ {stack[top++] = 222;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 216;goto st1029;}
+ {stack[top++] = 222;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 216;goto st1068;}
+ {stack[top++] = 222;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 216;goto st1254;}
+ {stack[top++] = 222;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 216;goto st1257;}
+ {stack[top++] = 222;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 216;goto st1268;}
+ {stack[top++] = 222;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 216;goto st1270;}
+ {stack[top++] = 222;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 216;goto st1299;}
+ {stack[top++] = 222;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 216;goto st1312;}
+ {stack[top++] = 222;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 216;goto st1325;}
+ {stack[top++] = 222;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 216;goto st1331;}
+ {stack[top++] = 222;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 216;goto st1349;}
+ {stack[top++] = 222;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 216;goto st1344;}
+ {stack[top++] = 222;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 216;goto st1362;}
+ {stack[top++] = 222;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 216;goto st1368;}
+ {stack[top++] = 222;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 216;goto st1374;}
+ {stack[top++] = 222;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 216;goto st1382;}
+ {stack[top++] = 222;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 216;goto st1390;}
+ {stack[top++] = 222;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st216;
-st216:
+ goto st222;
+st222:
if ( ++p == pe )
- goto _test_eof216;
-case 216:
+ goto _test_eof222;
+case 222:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30832,21 +31517,21 @@ case 216:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr84;
- case 32: goto tr84;
- case 40: goto tr85;
- case 41: goto tr86;
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
case 69: goto st82;
case 88: goto st84;
case 101: goto st82;
case 120: goto st84;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr87;
- case 2107: goto tr88;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
}
- goto tr823;
-tr129:
+ goto tr841;
+tr131:
{
s->r_class = s->default_class;
}
@@ -30857,95 +31542,96 @@ tr129:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 217;goto st844;}
+ {stack[top++] = 223;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 217;goto st846;}
+ {stack[top++] = 223;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 217;goto st848;}
+ {stack[top++] = 223;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 217;goto st880;}
+ {stack[top++] = 223;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 217;goto st885;}
+ {stack[top++] = 223;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 217;goto st890;}
+ {stack[top++] = 223;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 217;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 223;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 217;goto st899;}
+ {stack[top++] = 223;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 217;goto st901;}
+ {stack[top++] = 223;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 217;goto st956;}
+ {stack[top++] = 223;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 217;goto st967;}
+ {stack[top++] = 223;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 217;goto st984;}
+ {stack[top++] = 223;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 217;goto st995;}
+ {stack[top++] = 223;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 217;goto st1006;}
+ {stack[top++] = 223;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 217;goto st1019;}
+ {stack[top++] = 223;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 217;goto st1029;}
+ {stack[top++] = 223;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 217;goto st1068;}
+ {stack[top++] = 223;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 217;goto st1254;}
+ {stack[top++] = 223;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 217;goto st1257;}
+ {stack[top++] = 223;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 217;goto st1268;}
+ {stack[top++] = 223;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 217;goto st1270;}
+ {stack[top++] = 223;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 217;goto st1299;}
+ {stack[top++] = 223;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 217;goto st1312;}
+ {stack[top++] = 223;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 217;goto st1325;}
+ {stack[top++] = 223;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 217;goto st1331;}
+ {stack[top++] = 223;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 217;goto st1349;}
+ {stack[top++] = 223;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 217;goto st1344;}
+ {stack[top++] = 223;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 217;goto st1362;}
+ {stack[top++] = 223;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 217;goto st1368;}
+ {stack[top++] = 223;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 217;goto st1374;}
+ {stack[top++] = 223;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 217;goto st1382;}
+ {stack[top++] = 223;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 217;goto st1390;}
+ {stack[top++] = 223;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st217;
-st217:
+ goto st223;
+st223:
if ( ++p == pe )
- goto _test_eof217;
-case 217:
+ goto _test_eof223;
+case 223:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -30959,23 +31645,23 @@ case 217:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr84;
- case 32: goto tr84;
- case 40: goto tr85;
- case 41: goto tr86;
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
case 51: goto st86;
case 54: goto st88;
case 79: goto st90;
case 80: goto st92;
case 111: goto st90;
case 112: goto st92;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr87;
- case 2107: goto tr88;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
}
- goto tr823;
-tr130:
+ goto tr841;
+tr132:
{
s->r_class = s->default_class;
}
@@ -30986,95 +31672,96 @@ tr130:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 218;goto st844;}
+ {stack[top++] = 224;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 218;goto st846;}
+ {stack[top++] = 224;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 218;goto st848;}
+ {stack[top++] = 224;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 218;goto st880;}
+ {stack[top++] = 224;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 218;goto st885;}
+ {stack[top++] = 224;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 218;goto st890;}
+ {stack[top++] = 224;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 218;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 224;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 218;goto st899;}
+ {stack[top++] = 224;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 218;goto st901;}
+ {stack[top++] = 224;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 218;goto st956;}
+ {stack[top++] = 224;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 218;goto st967;}
+ {stack[top++] = 224;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 218;goto st984;}
+ {stack[top++] = 224;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 218;goto st995;}
+ {stack[top++] = 224;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 218;goto st1006;}
+ {stack[top++] = 224;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 218;goto st1019;}
+ {stack[top++] = 224;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 218;goto st1029;}
+ {stack[top++] = 224;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 218;goto st1068;}
+ {stack[top++] = 224;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 218;goto st1254;}
+ {stack[top++] = 224;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 218;goto st1257;}
+ {stack[top++] = 224;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 218;goto st1268;}
+ {stack[top++] = 224;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 218;goto st1270;}
+ {stack[top++] = 224;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 218;goto st1299;}
+ {stack[top++] = 224;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 218;goto st1312;}
+ {stack[top++] = 224;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 218;goto st1325;}
+ {stack[top++] = 224;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 218;goto st1331;}
+ {stack[top++] = 224;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 218;goto st1349;}
+ {stack[top++] = 224;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 218;goto st1344;}
+ {stack[top++] = 224;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 218;goto st1362;}
+ {stack[top++] = 224;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 218;goto st1368;}
+ {stack[top++] = 224;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 218;goto st1374;}
+ {stack[top++] = 224;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 218;goto st1382;}
+ {stack[top++] = 224;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 218;goto st1390;}
+ {stack[top++] = 224;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st218;
-st218:
+ goto st224;
+st224:
if ( ++p == pe )
- goto _test_eof218;
-case 218:
+ goto _test_eof224;
+case 224:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -31088,21 +31775,21 @@ case 218:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr84;
- case 32: goto tr84;
- case 40: goto tr85;
- case 41: goto tr86;
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
case 73: goto st94;
case 88: goto st98;
case 105: goto st94;
case 120: goto st98;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr87;
- case 2107: goto tr88;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
}
- goto tr823;
-tr131:
+ goto tr841;
+tr133:
{
s->r_class = s->default_class;
}
@@ -31113,95 +31800,96 @@ tr131:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 219;goto st844;}
+ {stack[top++] = 225;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 219;goto st846;}
+ {stack[top++] = 225;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 219;goto st848;}
+ {stack[top++] = 225;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 219;goto st880;}
+ {stack[top++] = 225;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 219;goto st885;}
+ {stack[top++] = 225;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 219;goto st890;}
+ {stack[top++] = 225;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 219;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 225;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 219;goto st899;}
+ {stack[top++] = 225;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 219;goto st901;}
+ {stack[top++] = 225;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 219;goto st956;}
+ {stack[top++] = 225;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 219;goto st967;}
+ {stack[top++] = 225;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 219;goto st984;}
+ {stack[top++] = 225;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 219;goto st995;}
+ {stack[top++] = 225;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 219;goto st1006;}
+ {stack[top++] = 225;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 219;goto st1019;}
+ {stack[top++] = 225;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 219;goto st1029;}
+ {stack[top++] = 225;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 219;goto st1068;}
+ {stack[top++] = 225;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 219;goto st1254;}
+ {stack[top++] = 225;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 219;goto st1257;}
+ {stack[top++] = 225;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 219;goto st1268;}
+ {stack[top++] = 225;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 219;goto st1270;}
+ {stack[top++] = 225;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 219;goto st1299;}
+ {stack[top++] = 225;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 219;goto st1312;}
+ {stack[top++] = 225;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 219;goto st1325;}
+ {stack[top++] = 225;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 219;goto st1331;}
+ {stack[top++] = 225;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 219;goto st1349;}
+ {stack[top++] = 225;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 219;goto st1344;}
+ {stack[top++] = 225;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 219;goto st1362;}
+ {stack[top++] = 225;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 219;goto st1368;}
+ {stack[top++] = 225;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 219;goto st1374;}
+ {stack[top++] = 225;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 219;goto st1382;}
+ {stack[top++] = 225;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 219;goto st1390;}
+ {stack[top++] = 225;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st219;
-st219:
+ goto st225;
+st225:
if ( ++p == pe )
- goto _test_eof219;
-case 219:
+ goto _test_eof225;
+case 225:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -31215,23 +31903,23 @@ case 219:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr84;
- case 32: goto tr84;
- case 40: goto tr85;
- case 41: goto tr86;
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
case 65: goto st100;
case 73: goto st104;
case 83: goto st106;
case 97: goto st100;
case 105: goto st104;
case 115: goto st106;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr87;
- case 2107: goto tr88;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
}
- goto tr823;
-tr132:
+ goto tr841;
+tr134:
{
s->r_class = s->default_class;
}
@@ -31242,95 +31930,96 @@ tr132:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 220;goto st844;}
+ {stack[top++] = 226;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 220;goto st846;}
+ {stack[top++] = 226;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 220;goto st848;}
+ {stack[top++] = 226;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 220;goto st880;}
+ {stack[top++] = 226;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 220;goto st885;}
+ {stack[top++] = 226;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 220;goto st890;}
+ {stack[top++] = 226;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 220;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 226;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 220;goto st899;}
+ {stack[top++] = 226;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 220;goto st901;}
+ {stack[top++] = 226;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 220;goto st956;}
+ {stack[top++] = 226;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 220;goto st967;}
+ {stack[top++] = 226;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 220;goto st984;}
+ {stack[top++] = 226;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 220;goto st995;}
+ {stack[top++] = 226;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 220;goto st1006;}
+ {stack[top++] = 226;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 220;goto st1019;}
+ {stack[top++] = 226;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 220;goto st1029;}
+ {stack[top++] = 226;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 220;goto st1068;}
+ {stack[top++] = 226;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 220;goto st1254;}
+ {stack[top++] = 226;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 220;goto st1257;}
+ {stack[top++] = 226;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 220;goto st1268;}
+ {stack[top++] = 226;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 220;goto st1270;}
+ {stack[top++] = 226;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 220;goto st1299;}
+ {stack[top++] = 226;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 220;goto st1312;}
+ {stack[top++] = 226;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 220;goto st1325;}
+ {stack[top++] = 226;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 220;goto st1331;}
+ {stack[top++] = 226;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 220;goto st1349;}
+ {stack[top++] = 226;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 220;goto st1344;}
+ {stack[top++] = 226;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 220;goto st1362;}
+ {stack[top++] = 226;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 220;goto st1368;}
+ {stack[top++] = 226;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 220;goto st1374;}
+ {stack[top++] = 226;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 220;goto st1382;}
+ {stack[top++] = 226;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 220;goto st1390;}
+ {stack[top++] = 226;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st220;
-st220:
+ goto st226;
+st226:
if ( ++p == pe )
- goto _test_eof220;
-case 220:
+ goto _test_eof226;
+case 226:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -31344,19 +32033,19 @@ case 220:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr84;
- case 32: goto tr84;
- case 40: goto tr85;
- case 41: goto tr86;
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
case 80: goto st116;
case 112: goto st116;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr87;
- case 2107: goto tr88;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
}
- goto tr823;
-tr133:
+ goto tr841;
+tr135:
{
s->r_class = s->default_class;
}
@@ -31367,95 +32056,96 @@ tr133:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 221;goto st844;}
+ {stack[top++] = 227;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 221;goto st846;}
+ {stack[top++] = 227;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 221;goto st848;}
+ {stack[top++] = 227;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 221;goto st880;}
+ {stack[top++] = 227;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 221;goto st885;}
+ {stack[top++] = 227;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 221;goto st890;}
+ {stack[top++] = 227;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 221;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 227;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 221;goto st899;}
+ {stack[top++] = 227;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 221;goto st901;}
+ {stack[top++] = 227;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 221;goto st956;}
+ {stack[top++] = 227;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 221;goto st967;}
+ {stack[top++] = 227;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 221;goto st984;}
+ {stack[top++] = 227;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 221;goto st995;}
+ {stack[top++] = 227;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 221;goto st1006;}
+ {stack[top++] = 227;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 221;goto st1019;}
+ {stack[top++] = 227;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 221;goto st1029;}
+ {stack[top++] = 227;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 221;goto st1068;}
+ {stack[top++] = 227;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 221;goto st1254;}
+ {stack[top++] = 227;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 221;goto st1257;}
+ {stack[top++] = 227;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 221;goto st1268;}
+ {stack[top++] = 227;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 221;goto st1270;}
+ {stack[top++] = 227;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 221;goto st1299;}
+ {stack[top++] = 227;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 221;goto st1312;}
+ {stack[top++] = 227;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 221;goto st1325;}
+ {stack[top++] = 227;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 221;goto st1331;}
+ {stack[top++] = 227;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 221;goto st1349;}
+ {stack[top++] = 227;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 221;goto st1344;}
+ {stack[top++] = 227;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 221;goto st1362;}
+ {stack[top++] = 227;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 221;goto st1368;}
+ {stack[top++] = 227;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 221;goto st1374;}
+ {stack[top++] = 227;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 221;goto st1382;}
+ {stack[top++] = 227;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 221;goto st1390;}
+ {stack[top++] = 227;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st221;
-st221:
+ goto st227;
+st227:
if ( ++p == pe )
- goto _test_eof221;
-case 221:
+ goto _test_eof227;
+case 227:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -31469,19 +32159,19 @@ case 221:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr84;
- case 32: goto tr84;
- case 40: goto tr85;
- case 41: goto tr86;
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
case 84: goto st126;
case 116: goto st126;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr87;
- case 2107: goto tr88;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
}
- goto tr823;
-tr134:
+ goto tr841;
+tr136:
{
s->r_class = s->default_class;
}
@@ -31492,95 +32182,96 @@ tr134:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 222;goto st844;}
+ {stack[top++] = 228;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 222;goto st846;}
+ {stack[top++] = 228;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 222;goto st848;}
+ {stack[top++] = 228;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 222;goto st880;}
+ {stack[top++] = 228;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 222;goto st885;}
+ {stack[top++] = 228;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 222;goto st890;}
+ {stack[top++] = 228;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 222;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 228;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 222;goto st899;}
+ {stack[top++] = 228;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 222;goto st901;}
+ {stack[top++] = 228;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 222;goto st956;}
+ {stack[top++] = 228;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 222;goto st967;}
+ {stack[top++] = 228;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 222;goto st984;}
+ {stack[top++] = 228;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 222;goto st995;}
+ {stack[top++] = 228;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 222;goto st1006;}
+ {stack[top++] = 228;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 222;goto st1019;}
+ {stack[top++] = 228;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 222;goto st1029;}
+ {stack[top++] = 228;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 222;goto st1068;}
+ {stack[top++] = 228;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 222;goto st1254;}
+ {stack[top++] = 228;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 222;goto st1257;}
+ {stack[top++] = 228;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 222;goto st1268;}
+ {stack[top++] = 228;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 222;goto st1270;}
+ {stack[top++] = 228;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 222;goto st1299;}
+ {stack[top++] = 228;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 222;goto st1312;}
+ {stack[top++] = 228;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 222;goto st1325;}
+ {stack[top++] = 228;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 222;goto st1331;}
+ {stack[top++] = 228;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 222;goto st1349;}
+ {stack[top++] = 228;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 222;goto st1344;}
+ {stack[top++] = 228;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 222;goto st1362;}
+ {stack[top++] = 228;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 222;goto st1368;}
+ {stack[top++] = 228;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 222;goto st1374;}
+ {stack[top++] = 228;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 222;goto st1382;}
+ {stack[top++] = 228;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 222;goto st1390;}
+ {stack[top++] = 228;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st222;
-st222:
+ goto st228;
+st228:
if ( ++p == pe )
- goto _test_eof222;
-case 222:
+ goto _test_eof228;
+case 228:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -31594,23 +32285,23 @@ case 222:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr84;
- case 32: goto tr84;
- case 40: goto tr85;
- case 41: goto tr86;
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
case 80: goto st129;
case 82: goto st130;
case 84: goto st134;
case 112: goto st129;
case 114: goto st130;
case 116: goto st134;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr87;
- case 2107: goto tr88;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
}
- goto tr823;
-tr135:
+ goto tr841;
+tr137:
{
s->r_class = s->default_class;
}
@@ -31621,95 +32312,96 @@ tr135:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 223;goto st844;}
+ {stack[top++] = 229;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 223;goto st846;}
+ {stack[top++] = 229;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 223;goto st848;}
+ {stack[top++] = 229;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 223;goto st880;}
+ {stack[top++] = 229;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 223;goto st885;}
+ {stack[top++] = 229;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 223;goto st890;}
+ {stack[top++] = 229;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 223;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 229;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 223;goto st899;}
+ {stack[top++] = 229;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 223;goto st901;}
+ {stack[top++] = 229;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 223;goto st956;}
+ {stack[top++] = 229;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 223;goto st967;}
+ {stack[top++] = 229;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 223;goto st984;}
+ {stack[top++] = 229;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 223;goto st995;}
+ {stack[top++] = 229;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 223;goto st1006;}
+ {stack[top++] = 229;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 223;goto st1019;}
+ {stack[top++] = 229;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 223;goto st1029;}
+ {stack[top++] = 229;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 223;goto st1068;}
+ {stack[top++] = 229;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 223;goto st1254;}
+ {stack[top++] = 229;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 223;goto st1257;}
+ {stack[top++] = 229;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 223;goto st1268;}
+ {stack[top++] = 229;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 223;goto st1270;}
+ {stack[top++] = 229;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 223;goto st1299;}
+ {stack[top++] = 229;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 223;goto st1312;}
+ {stack[top++] = 229;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 223;goto st1325;}
+ {stack[top++] = 229;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 223;goto st1331;}
+ {stack[top++] = 229;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 223;goto st1349;}
+ {stack[top++] = 229;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 223;goto st1344;}
+ {stack[top++] = 229;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 223;goto st1362;}
+ {stack[top++] = 229;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 223;goto st1368;}
+ {stack[top++] = 229;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 223;goto st1374;}
+ {stack[top++] = 229;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 223;goto st1382;}
+ {stack[top++] = 229;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 223;goto st1390;}
+ {stack[top++] = 229;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st223;
-st223:
+ goto st229;
+st229:
if ( ++p == pe )
- goto _test_eof223;
-case 223:
+ goto _test_eof229;
+case 229:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -31723,10 +32415,10 @@ case 223:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr84;
- case 32: goto tr84;
- case 40: goto tr85;
- case 41: goto tr86;
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
case 77: goto st136;
case 79: goto st141;
case 80: goto st143;
@@ -31739,13 +32431,13 @@ case 223:
case 114: goto st145;
case 115: goto st147;
case 118: goto st151;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr87;
- case 2107: goto tr88;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
}
- goto tr823;
-tr136:
+ goto tr841;
+tr138:
{
s->r_class = s->default_class;
}
@@ -31756,95 +32448,96 @@ tr136:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 224;goto st844;}
+ {stack[top++] = 230;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 224;goto st846;}
+ {stack[top++] = 230;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 224;goto st848;}
+ {stack[top++] = 230;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 224;goto st880;}
+ {stack[top++] = 230;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 224;goto st885;}
+ {stack[top++] = 230;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 224;goto st890;}
+ {stack[top++] = 230;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 224;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 230;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 224;goto st899;}
+ {stack[top++] = 230;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 224;goto st901;}
+ {stack[top++] = 230;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 224;goto st956;}
+ {stack[top++] = 230;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 224;goto st967;}
+ {stack[top++] = 230;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 224;goto st984;}
+ {stack[top++] = 230;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 224;goto st995;}
+ {stack[top++] = 230;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 224;goto st1006;}
+ {stack[top++] = 230;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 224;goto st1019;}
+ {stack[top++] = 230;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 224;goto st1029;}
+ {stack[top++] = 230;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 224;goto st1068;}
+ {stack[top++] = 230;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 224;goto st1254;}
+ {stack[top++] = 230;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 224;goto st1257;}
+ {stack[top++] = 230;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 224;goto st1268;}
+ {stack[top++] = 230;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 224;goto st1270;}
+ {stack[top++] = 230;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 224;goto st1299;}
+ {stack[top++] = 230;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 224;goto st1312;}
+ {stack[top++] = 230;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 224;goto st1325;}
+ {stack[top++] = 230;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 224;goto st1331;}
+ {stack[top++] = 230;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 224;goto st1349;}
+ {stack[top++] = 230;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 224;goto st1344;}
+ {stack[top++] = 230;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 224;goto st1362;}
+ {stack[top++] = 230;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 224;goto st1368;}
+ {stack[top++] = 230;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 224;goto st1374;}
+ {stack[top++] = 230;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 224;goto st1382;}
+ {stack[top++] = 230;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 224;goto st1390;}
+ {stack[top++] = 230;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st224;
-st224:
+ goto st230;
+st230:
if ( ++p == pe )
- goto _test_eof224;
-case 224:
+ goto _test_eof230;
+case 230:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -31858,23 +32551,23 @@ case 224:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr84;
- case 32: goto tr84;
- case 40: goto tr85;
- case 41: goto tr86;
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
case 76: goto st155;
case 88: goto st158;
case 89: goto st160;
case 108: goto st155;
case 120: goto st158;
case 121: goto st160;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr87;
- case 2107: goto tr88;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
}
- goto tr823;
-tr137:
+ goto tr841;
+tr139:
{
s->r_class = s->default_class;
}
@@ -31885,95 +32578,96 @@ tr137:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 225;goto st844;}
+ {stack[top++] = 231;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 225;goto st846;}
+ {stack[top++] = 231;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 225;goto st848;}
+ {stack[top++] = 231;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 225;goto st880;}
+ {stack[top++] = 231;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 225;goto st885;}
+ {stack[top++] = 231;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 225;goto st890;}
+ {stack[top++] = 231;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 225;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 231;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 225;goto st899;}
+ {stack[top++] = 231;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 225;goto st901;}
+ {stack[top++] = 231;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 225;goto st956;}
+ {stack[top++] = 231;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 225;goto st967;}
+ {stack[top++] = 231;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 225;goto st984;}
+ {stack[top++] = 231;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 225;goto st995;}
+ {stack[top++] = 231;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 225;goto st1006;}
+ {stack[top++] = 231;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 225;goto st1019;}
+ {stack[top++] = 231;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 225;goto st1029;}
+ {stack[top++] = 231;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 225;goto st1068;}
+ {stack[top++] = 231;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 225;goto st1254;}
+ {stack[top++] = 231;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 225;goto st1257;}
+ {stack[top++] = 231;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 225;goto st1268;}
+ {stack[top++] = 231;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 225;goto st1270;}
+ {stack[top++] = 231;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 225;goto st1299;}
+ {stack[top++] = 231;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 225;goto st1312;}
+ {stack[top++] = 231;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 225;goto st1325;}
+ {stack[top++] = 231;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 225;goto st1331;}
+ {stack[top++] = 231;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 225;goto st1349;}
+ {stack[top++] = 231;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 225;goto st1344;}
+ {stack[top++] = 231;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 225;goto st1362;}
+ {stack[top++] = 231;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 225;goto st1368;}
+ {stack[top++] = 231;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 225;goto st1374;}
+ {stack[top++] = 231;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 225;goto st1382;}
+ {stack[top++] = 231;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 225;goto st1390;}
+ {stack[top++] = 231;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st225;
-st225:
+ goto st231;
+st231:
if ( ++p == pe )
- goto _test_eof225;
-case 225:
+ goto _test_eof231;
+case 231:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -31987,19 +32681,19 @@ case 225:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr84;
- case 32: goto tr84;
- case 40: goto tr85;
- case 41: goto tr86;
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
case 82: goto st165;
case 114: goto st165;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr87;
- case 2107: goto tr88;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
}
- goto tr823;
-tr138:
+ goto tr841;
+tr140:
{
s->r_class = s->default_class;
}
@@ -32010,95 +32704,96 @@ tr138:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 226;goto st844;}
+ {stack[top++] = 232;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 226;goto st846;}
+ {stack[top++] = 232;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 226;goto st848;}
+ {stack[top++] = 232;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 226;goto st880;}
+ {stack[top++] = 232;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 226;goto st885;}
+ {stack[top++] = 232;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 226;goto st890;}
+ {stack[top++] = 232;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 226;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 232;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 226;goto st899;}
+ {stack[top++] = 232;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 226;goto st901;}
+ {stack[top++] = 232;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 226;goto st956;}
+ {stack[top++] = 232;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 226;goto st967;}
+ {stack[top++] = 232;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 226;goto st984;}
+ {stack[top++] = 232;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 226;goto st995;}
+ {stack[top++] = 232;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 226;goto st1006;}
+ {stack[top++] = 232;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 226;goto st1019;}
+ {stack[top++] = 232;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 226;goto st1029;}
+ {stack[top++] = 232;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 226;goto st1068;}
+ {stack[top++] = 232;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 226;goto st1254;}
+ {stack[top++] = 232;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 226;goto st1257;}
+ {stack[top++] = 232;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 226;goto st1268;}
+ {stack[top++] = 232;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 226;goto st1270;}
+ {stack[top++] = 232;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 226;goto st1299;}
+ {stack[top++] = 232;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 226;goto st1312;}
+ {stack[top++] = 232;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 226;goto st1325;}
+ {stack[top++] = 232;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 226;goto st1331;}
+ {stack[top++] = 232;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 226;goto st1349;}
+ {stack[top++] = 232;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 226;goto st1344;}
+ {stack[top++] = 232;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 226;goto st1362;}
+ {stack[top++] = 232;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 226;goto st1368;}
+ {stack[top++] = 232;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 226;goto st1374;}
+ {stack[top++] = 232;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 226;goto st1382;}
+ {stack[top++] = 232;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 226;goto st1390;}
+ {stack[top++] = 232;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st226;
-st226:
+ goto st232;
+st232:
if ( ++p == pe )
- goto _test_eof226;
-case 226:
+ goto _test_eof232;
+case 232:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -32112,31 +32807,157 @@ case 226:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr84;
- case 32: goto tr84;
- case 40: goto tr85;
- case 41: goto tr86;
- case 79: goto st168;
- case 111: goto st168;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr87;
- case 2107: goto tr88;
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
+ case 65: goto st168;
+ case 97: goto st168;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
}
- goto tr823;
-tr857:
+ goto tr841;
+tr141:
+ {
+ s->r_class = s->default_class;
+ }
+ {
+ s->r_ttl = s->default_ttl;
+ }
+ {
+ p--;
+ switch (s->r_type) {
+ case KNOT_RRTYPE_A:
+ {stack[top++] = 233;goto st886;}
+ case KNOT_RRTYPE_NS:
+ case KNOT_RRTYPE_CNAME:
+ case KNOT_RRTYPE_PTR:
+ case KNOT_RRTYPE_DNAME:
+ {stack[top++] = 233;goto st888;}
+ case KNOT_RRTYPE_SOA:
+ {stack[top++] = 233;goto st890;}
+ case KNOT_RRTYPE_HINFO:
+ {stack[top++] = 233;goto st922;}
+ case KNOT_RRTYPE_MINFO:
+ case KNOT_RRTYPE_RP:
+ {stack[top++] = 233;goto st927;}
+ case KNOT_RRTYPE_MX:
+ case KNOT_RRTYPE_AFSDB:
+ case KNOT_RRTYPE_RT:
+ case KNOT_RRTYPE_KX:
+ case KNOT_RRTYPE_LP:
+ {stack[top++] = 233;goto st932;}
+ case KNOT_RRTYPE_TXT:
+ case KNOT_RRTYPE_SPF:
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 233;goto st937;}
+ case KNOT_RRTYPE_AAAA:
+ {stack[top++] = 233;goto st941;}
+ case KNOT_RRTYPE_LOC:
+ {stack[top++] = 233;goto st943;}
+ case KNOT_RRTYPE_SRV:
+ {stack[top++] = 233;goto st998;}
+ case KNOT_RRTYPE_NAPTR:
+ {stack[top++] = 233;goto st1009;}
+ case KNOT_RRTYPE_CERT:
+ {stack[top++] = 233;goto st1026;}
+ case KNOT_RRTYPE_APL:
+ {stack[top++] = 233;goto st1037;}
+ case KNOT_RRTYPE_DS:
+ case KNOT_RRTYPE_CDS:
+ {stack[top++] = 233;goto st1048;}
+ case KNOT_RRTYPE_SSHFP:
+ {stack[top++] = 233;goto st1061;}
+ case KNOT_RRTYPE_IPSECKEY:
+ {stack[top++] = 233;goto st1071;}
+ case KNOT_RRTYPE_RRSIG:
+ {stack[top++] = 233;goto st1110;}
+ case KNOT_RRTYPE_NSEC:
+ {stack[top++] = 233;goto st1302;}
+ case KNOT_RRTYPE_KEY:
+ case KNOT_RRTYPE_DNSKEY:
+ case KNOT_RRTYPE_CDNSKEY:
+ {stack[top++] = 233;goto st1305;}
+ case KNOT_RRTYPE_DHCID:
+ case KNOT_RRTYPE_OPENPGPKEY:
+ {stack[top++] = 233;goto st1316;}
+ case KNOT_RRTYPE_NSEC3:
+ {stack[top++] = 233;goto st1318;}
+ case KNOT_RRTYPE_NSEC3PARAM:
+ {stack[top++] = 233;goto st1347;}
+ case KNOT_RRTYPE_TLSA:
+ case KNOT_RRTYPE_SMIMEA:
+ {stack[top++] = 233;goto st1360;}
+ case KNOT_RRTYPE_CSYNC:
+ {stack[top++] = 233;goto st1373;}
+ case KNOT_RRTYPE_ZONEMD:
+ {stack[top++] = 233;goto st1379;}
+ case KNOT_RRTYPE_NID:
+ case KNOT_RRTYPE_L64:
+ {stack[top++] = 233;goto st1397;}
+ case KNOT_RRTYPE_L32:
+ {stack[top++] = 233;goto st1392;}
+ case KNOT_RRTYPE_EUI48:
+ {stack[top++] = 233;goto st1410;}
+ case KNOT_RRTYPE_EUI64:
+ {stack[top++] = 233;goto st1416;}
+ case KNOT_RRTYPE_URI:
+ {stack[top++] = 233;goto st1422;}
+ case KNOT_RRTYPE_CAA:
+ {stack[top++] = 233;goto st1430;}
+ case KNOT_RRTYPE_SVCB:
+ case KNOT_RRTYPE_HTTPS:
+ {stack[top++] = 233;goto st1438;}
+ default:
+ WARN(ZS_CANNOT_TEXT_DATA);
+ {goto st316;}
+ }
+ }
+ goto st233;
+st233:
+ if ( ++p == pe )
+ goto _test_eof233;
+case 233:
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(1664 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(1664 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ }
+ switch( _widec ) {
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
+ case 79: goto st174;
+ case 111: goto st174;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
+ }
+ goto tr841;
+tr875:
{
s->buffer_length = 0;
}
- goto st227;
-tr859:
+ goto st234;
+tr877:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st227;
-tr988:
+ goto st234;
+tr1006:
{
s->buffer_length = 0;
}
@@ -32144,8 +32965,8 @@ tr988:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st227;
-tr926:
+ goto st234;
+tr944:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -32158,8 +32979,8 @@ tr926:
{
s->buffer_length = 0;
}
- goto st227;
-tr930:
+ goto st234;
+tr948:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -32168,8 +32989,8 @@ tr930:
{
s->buffer_length = 0;
}
- goto st227;
-tr895:
+ goto st234;
+tr913:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -32184,8 +33005,8 @@ tr895:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st227;
-tr4291:
+ goto st234;
+tr4373:
{
s->buffer_length = 0;
}
@@ -32196,14 +33017,14 @@ tr4291:
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st227;
-st227:
+ goto st234;
+st234:
if ( ++p == pe )
- goto _test_eof227;
-case 227:
+ goto _test_eof234;
+case 234:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -32223,21 +33044,21 @@ case 227:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 1802: goto tr96;
- case 2058: goto tr860;
+ case 1802: goto tr98;
+ case 2058: goto tr878;
}
if ( _widec > 1919 ) {
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr859;
+ goto tr877;
} else if ( _widec >= 1664 )
- goto tr95;
- goto tr83;
-tr139:
+ goto tr97;
+ goto tr85;
+tr142:
{
s->line_counter++;
}
- goto st1404;
-tr962:
+ goto st1452;
+tr980:
{
s->buffer[s->buffer_length++] = 0;
@@ -32247,15 +33068,15 @@ tr962:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1404; goto _out;}
+ {p++; cs = 1452; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1404;
-tr860:
+ goto st1452;
+tr878:
{
s->buffer[s->buffer_length++] = 0;
@@ -32265,7 +33086,7 @@ tr860:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1404; goto _out;}
+ {p++; cs = 1452; goto _out;}
}
}
}
@@ -32275,7 +33096,7 @@ tr860:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -32288,23 +33109,23 @@ tr860:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1404; goto _out;}
+ {p++; cs = 1452; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1404; goto _out;}
+ p--; {p++; cs = 1452; goto _out;}
}
}
- goto st1404;
-tr901:
+ goto st1452;
+tr919:
{
s->line_counter++;
}
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -32317,16 +33138,16 @@ tr901:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1404; goto _out;}
+ {p++; cs = 1452; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1404; goto _out;}
+ p--; {p++; cs = 1452; goto _out;}
}
}
- goto st1404;
-tr894:
+ goto st1452;
+tr912:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -32344,7 +33165,7 @@ tr894:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -32357,34 +33178,34 @@ tr894:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1404; goto _out;}
+ {p++; cs = 1452; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1404; goto _out;}
+ p--; {p++; cs = 1452; goto _out;}
}
}
- goto st1404;
-tr4221:
+ goto st1452;
+tr4301:
{
s->line_counter++;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st1404;
-st1404:
+ goto st1452;
+st1452:
if ( ++p == pe )
- goto _test_eof1404;
-case 1404:
+ goto _test_eof1452;
+case 1452:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -32402,179 +33223,182 @@ case 1404:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr4215;
- case 32: goto tr4215;
- case 36: goto tr4216;
- case 40: goto tr4217;
- case 41: goto tr4218;
- case 42: goto tr4219;
- case 58: goto tr73;
- case 65: goto tr4295;
- case 67: goto tr4296;
- case 68: goto tr4297;
- case 69: goto tr4298;
- case 72: goto tr4299;
- case 73: goto tr4300;
- case 75: goto tr4301;
- case 76: goto tr4302;
- case 77: goto tr4303;
- case 78: goto tr4304;
- case 79: goto tr4305;
- case 80: goto tr4306;
- case 82: goto tr4307;
- case 83: goto tr4308;
- case 84: goto tr4309;
- case 85: goto tr4310;
- case 90: goto tr4311;
- case 92: goto tr4220;
- case 95: goto tr4219;
- case 97: goto tr4295;
- case 99: goto tr4296;
- case 100: goto tr4297;
- case 101: goto tr4298;
- case 104: goto tr4299;
- case 105: goto tr4300;
- case 107: goto tr4301;
- case 108: goto tr4302;
- case 109: goto tr4303;
- case 110: goto tr4304;
- case 111: goto tr4305;
- case 112: goto tr4306;
- case 114: goto tr4307;
- case 115: goto tr4308;
- case 116: goto tr4309;
- case 117: goto tr4310;
- case 122: goto tr4311;
- case 2826: goto tr4211;
- case 2875: goto tr4212;
- case 3082: goto tr4221;
- case 3131: goto tr4222;
- case 3338: goto tr4223;
- case 3387: goto tr4224;
- case 3594: goto tr4225;
- case 3643: goto tr4226;
+ case 9: goto tr4295;
+ case 32: goto tr4295;
+ case 36: goto tr4296;
+ case 40: goto tr4297;
+ case 41: goto tr4298;
+ case 42: goto tr4299;
+ case 58: goto tr75;
+ case 65: goto tr4377;
+ case 67: goto tr4378;
+ case 68: goto tr4379;
+ case 69: goto tr4380;
+ case 72: goto tr4381;
+ case 73: goto tr4382;
+ case 75: goto tr4383;
+ case 76: goto tr4384;
+ case 77: goto tr4385;
+ case 78: goto tr4386;
+ case 79: goto tr4387;
+ case 80: goto tr4388;
+ case 82: goto tr4389;
+ case 83: goto tr4390;
+ case 84: goto tr4391;
+ case 85: goto tr4392;
+ case 87: goto tr4393;
+ case 90: goto tr4394;
+ case 92: goto tr4300;
+ case 95: goto tr4299;
+ case 97: goto tr4377;
+ case 99: goto tr4378;
+ case 100: goto tr4379;
+ case 101: goto tr4380;
+ case 104: goto tr4381;
+ case 105: goto tr4382;
+ case 107: goto tr4383;
+ case 108: goto tr4384;
+ case 109: goto tr4385;
+ case 110: goto tr4386;
+ case 111: goto tr4387;
+ case 112: goto tr4388;
+ case 114: goto tr4389;
+ case 115: goto tr4390;
+ case 116: goto tr4391;
+ case 117: goto tr4392;
+ case 119: goto tr4393;
+ case 122: goto tr4394;
+ case 2826: goto tr4291;
+ case 2875: goto tr4292;
+ case 3082: goto tr4301;
+ case 3131: goto tr4302;
+ case 3338: goto tr4303;
+ case 3387: goto tr4304;
+ case 3594: goto tr4305;
+ case 3643: goto tr4306;
}
if ( _widec < 60 ) {
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr73;
+ goto tr75;
} else if ( _widec > 44 ) {
if ( _widec > 47 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr4294;
+ goto tr4376;
} else if ( _widec >= 45 )
- goto tr4219;
+ goto tr4299;
} else
- goto tr73;
+ goto tr75;
} else if ( _widec > 63 ) {
if ( _widec < 91 ) {
if ( 64 <= _widec && _widec <= 89 )
- goto tr4219;
+ goto tr4299;
} else if ( _widec > 96 ) {
if ( _widec > 121 ) {
if ( 123 <= _widec )
- goto tr73;
+ goto tr75;
} else if ( _widec >= 98 )
- goto tr4219;
+ goto tr4299;
} else
- goto tr73;
+ goto tr75;
} else
- goto tr73;
- goto tr4293;
-tr4216:
+ goto tr75;
+ goto tr4375;
+tr4296:
{
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 228;goto st844;}
+ {stack[top++] = 235;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 228;goto st846;}
+ {stack[top++] = 235;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 228;goto st848;}
+ {stack[top++] = 235;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 228;goto st880;}
+ {stack[top++] = 235;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 228;goto st885;}
+ {stack[top++] = 235;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 228;goto st890;}
+ {stack[top++] = 235;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 228;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 235;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 228;goto st899;}
+ {stack[top++] = 235;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 228;goto st901;}
+ {stack[top++] = 235;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 228;goto st956;}
+ {stack[top++] = 235;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 228;goto st967;}
+ {stack[top++] = 235;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 228;goto st984;}
+ {stack[top++] = 235;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 228;goto st995;}
+ {stack[top++] = 235;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 228;goto st1006;}
+ {stack[top++] = 235;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 228;goto st1019;}
+ {stack[top++] = 235;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 228;goto st1029;}
+ {stack[top++] = 235;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 228;goto st1068;}
+ {stack[top++] = 235;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 228;goto st1254;}
+ {stack[top++] = 235;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 228;goto st1257;}
+ {stack[top++] = 235;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 228;goto st1268;}
+ {stack[top++] = 235;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 228;goto st1270;}
+ {stack[top++] = 235;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 228;goto st1299;}
+ {stack[top++] = 235;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 228;goto st1312;}
+ {stack[top++] = 235;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 228;goto st1325;}
+ {stack[top++] = 235;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 228;goto st1331;}
+ {stack[top++] = 235;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 228;goto st1349;}
+ {stack[top++] = 235;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 228;goto st1344;}
+ {stack[top++] = 235;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 228;goto st1362;}
+ {stack[top++] = 235;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 228;goto st1368;}
+ {stack[top++] = 235;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 228;goto st1374;}
+ {stack[top++] = 235;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 228;goto st1382;}
+ {stack[top++] = 235;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 228;goto st1390;}
+ {stack[top++] = 235;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st228;
-st228:
+ goto st235;
+st235:
if ( ++p == pe )
- goto _test_eof228;
-case 228:
+ goto _test_eof235;
+case 235:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -32588,222 +33412,223 @@ case 228:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr84;
- case 32: goto tr84;
- case 40: goto tr85;
- case 41: goto tr86;
- case 73: goto tr756;
- case 79: goto tr757;
- case 84: goto tr758;
- case 105: goto tr756;
- case 111: goto tr757;
- case 116: goto tr758;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr87;
- case 2107: goto tr88;
+ case 9: goto tr86;
+ case 32: goto tr86;
+ case 40: goto tr87;
+ case 41: goto tr88;
+ case 73: goto tr774;
+ case 79: goto tr775;
+ case 84: goto tr776;
+ case 105: goto tr774;
+ case 111: goto tr775;
+ case 116: goto tr776;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr89;
+ case 2107: goto tr90;
}
- goto tr861;
-tr757:
+ goto tr879;
+tr775:
{
ERR(ZS_OK);
}
- goto st229;
-st229:
+ goto st236;
+st236:
if ( ++p == pe )
- goto _test_eof229;
-case 229:
+ goto _test_eof236;
+case 236:
switch( (*p) ) {
- case 82: goto st230;
- case 114: goto st230;
+ case 82: goto st237;
+ case 114: goto st237;
}
- goto tr755;
-st230:
+ goto tr773;
+st237:
if ( ++p == pe )
- goto _test_eof230;
-case 230:
+ goto _test_eof237;
+case 237:
switch( (*p) ) {
- case 73: goto st231;
- case 105: goto st231;
+ case 73: goto st238;
+ case 105: goto st238;
}
- goto tr755;
-st231:
+ goto tr773;
+st238:
if ( ++p == pe )
- goto _test_eof231;
-case 231:
+ goto _test_eof238;
+case 238:
switch( (*p) ) {
- case 71: goto st232;
- case 103: goto st232;
+ case 71: goto st239;
+ case 103: goto st239;
}
- goto tr755;
-st232:
+ goto tr773;
+st239:
if ( ++p == pe )
- goto _test_eof232;
-case 232:
+ goto _test_eof239;
+case 239:
switch( (*p) ) {
- case 73: goto st233;
- case 105: goto st233;
+ case 73: goto st240;
+ case 105: goto st240;
}
- goto tr755;
-st233:
+ goto tr773;
+st240:
if ( ++p == pe )
- goto _test_eof233;
-case 233:
+ goto _test_eof240;
+case 240:
switch( (*p) ) {
- case 78: goto st234;
- case 110: goto st234;
+ case 78: goto st241;
+ case 110: goto st241;
}
- goto tr755;
-st234:
+ goto tr773;
+st241:
if ( ++p == pe )
- goto _test_eof234;
-case 234:
+ goto _test_eof241;
+case 241:
switch( (*p) ) {
- case 32: goto tr867;
- case 59: goto tr867;
+ case 32: goto tr885;
+ case 59: goto tr885;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr867;
+ goto tr885;
} else if ( (*p) >= 9 )
- goto tr867;
- goto tr755;
-tr758:
+ goto tr885;
+ goto tr773;
+tr776:
{
ERR(ZS_OK);
}
- goto st235;
-st235:
+ goto st242;
+st242:
if ( ++p == pe )
- goto _test_eof235;
-case 235:
+ goto _test_eof242;
+case 242:
switch( (*p) ) {
- case 84: goto st236;
- case 116: goto st236;
+ case 84: goto st243;
+ case 116: goto st243;
}
- goto tr755;
-st236:
+ goto tr773;
+st243:
if ( ++p == pe )
- goto _test_eof236;
-case 236:
+ goto _test_eof243;
+case 243:
switch( (*p) ) {
- case 76: goto st237;
- case 108: goto st237;
+ case 76: goto st244;
+ case 108: goto st244;
}
- goto tr755;
-st237:
+ goto tr773;
+st244:
if ( ++p == pe )
- goto _test_eof237;
-case 237:
+ goto _test_eof244;
+case 244:
switch( (*p) ) {
- case 32: goto tr870;
- case 59: goto tr870;
+ case 32: goto tr888;
+ case 59: goto tr888;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr870;
+ goto tr888;
} else if ( (*p) >= 9 )
- goto tr870;
- goto tr755;
-tr4219:
+ goto tr888;
+ goto tr773;
+tr4299:
{
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 238;goto st844;}
+ {stack[top++] = 245;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 238;goto st846;}
+ {stack[top++] = 245;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 238;goto st848;}
+ {stack[top++] = 245;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 238;goto st880;}
+ {stack[top++] = 245;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 238;goto st885;}
+ {stack[top++] = 245;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 238;goto st890;}
+ {stack[top++] = 245;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 238;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 245;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 238;goto st899;}
+ {stack[top++] = 245;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 238;goto st901;}
+ {stack[top++] = 245;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 238;goto st956;}
+ {stack[top++] = 245;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 238;goto st967;}
+ {stack[top++] = 245;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 238;goto st984;}
+ {stack[top++] = 245;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 238;goto st995;}
+ {stack[top++] = 245;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 238;goto st1006;}
+ {stack[top++] = 245;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 238;goto st1019;}
+ {stack[top++] = 245;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 238;goto st1029;}
+ {stack[top++] = 245;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 238;goto st1068;}
+ {stack[top++] = 245;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 238;goto st1254;}
+ {stack[top++] = 245;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 238;goto st1257;}
+ {stack[top++] = 245;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 238;goto st1268;}
+ {stack[top++] = 245;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 238;goto st1270;}
+ {stack[top++] = 245;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 238;goto st1299;}
+ {stack[top++] = 245;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 238;goto st1312;}
+ {stack[top++] = 245;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 238;goto st1325;}
+ {stack[top++] = 245;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 238;goto st1331;}
+ {stack[top++] = 245;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 238;goto st1349;}
+ {stack[top++] = 245;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 238;goto st1344;}
+ {stack[top++] = 245;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 238;goto st1362;}
+ {stack[top++] = 245;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 238;goto st1368;}
+ {stack[top++] = 245;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 238;goto st1374;}
+ {stack[top++] = 245;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 238;goto st1382;}
+ {stack[top++] = 245;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 238;goto st1390;}
+ {stack[top++] = 245;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 238;goto st309;} }
- goto st238;
-st238:
+ { p--; {stack[top++] = 245;goto st318;} }
+ goto st245;
+st245:
if ( ++p == pe )
- goto _test_eof238;
-case 238:
+ goto _test_eof245;
+case 245:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -32817,17 +33642,17 @@ case 238:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr872;
- case 32: goto tr872;
- case 40: goto tr873;
- case 41: goto tr874;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr875;
- case 2107: goto tr876;
+ case 9: goto tr890;
+ case 32: goto tr890;
+ case 40: goto tr891;
+ case 41: goto tr892;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr893;
+ case 2107: goto tr894;
}
- goto tr871;
-tr4294:
+ goto tr889;
+tr4376:
{
s->number64 = 0;
}
@@ -32842,107 +33667,108 @@ tr4294:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 239;goto st844;}
+ {stack[top++] = 246;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 239;goto st846;}
+ {stack[top++] = 246;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 239;goto st848;}
+ {stack[top++] = 246;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 239;goto st880;}
+ {stack[top++] = 246;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 239;goto st885;}
+ {stack[top++] = 246;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 239;goto st890;}
+ {stack[top++] = 246;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 239;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 246;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 239;goto st899;}
+ {stack[top++] = 246;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 239;goto st901;}
+ {stack[top++] = 246;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 239;goto st956;}
+ {stack[top++] = 246;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 239;goto st967;}
+ {stack[top++] = 246;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 239;goto st984;}
+ {stack[top++] = 246;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 239;goto st995;}
+ {stack[top++] = 246;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 239;goto st1006;}
+ {stack[top++] = 246;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 239;goto st1019;}
+ {stack[top++] = 246;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 239;goto st1029;}
+ {stack[top++] = 246;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 239;goto st1068;}
+ {stack[top++] = 246;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 239;goto st1254;}
+ {stack[top++] = 246;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 239;goto st1257;}
+ {stack[top++] = 246;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 239;goto st1268;}
+ {stack[top++] = 246;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 239;goto st1270;}
+ {stack[top++] = 246;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 239;goto st1299;}
+ {stack[top++] = 246;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 239;goto st1312;}
+ {stack[top++] = 246;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 239;goto st1325;}
+ {stack[top++] = 246;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 239;goto st1331;}
+ {stack[top++] = 246;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 239;goto st1349;}
+ {stack[top++] = 246;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 239;goto st1344;}
+ {stack[top++] = 246;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 239;goto st1362;}
+ {stack[top++] = 246;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 239;goto st1368;}
+ {stack[top++] = 246;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 239;goto st1374;}
+ {stack[top++] = 246;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 239;goto st1382;}
+ {stack[top++] = 246;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 239;goto st1390;}
+ {stack[top++] = 246;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 239;goto st309;} }
- goto st239;
-st239:
+ { p--; {stack[top++] = 246;goto st318;} }
+ goto st246;
+st246:
if ( ++p == pe )
- goto _test_eof239;
-case 239:
+ goto _test_eof246;
+case 246:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -32956,47 +33782,47 @@ case 239:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr878;
- case 32: goto tr878;
- case 40: goto tr879;
- case 41: goto tr880;
- case 68: goto tr31;
- case 72: goto tr32;
- case 77: goto tr33;
- case 83: goto st198;
- case 87: goto tr35;
- case 100: goto tr31;
- case 104: goto tr32;
- case 109: goto tr33;
- case 115: goto st198;
- case 119: goto tr35;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr881;
- case 2107: goto tr882;
+ case 9: goto tr896;
+ case 32: goto tr896;
+ case 40: goto tr897;
+ case 41: goto tr898;
+ case 68: goto tr32;
+ case 72: goto tr33;
+ case 77: goto tr34;
+ case 83: goto st204;
+ case 87: goto tr36;
+ case 100: goto tr32;
+ case 104: goto tr33;
+ case 109: goto tr34;
+ case 115: goto st204;
+ case 119: goto tr36;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr899;
+ case 2107: goto tr900;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr30;
- goto tr877;
-tr884:
+ goto tr31;
+ goto tr895;
+tr902:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st240;
-tr885:
+ goto st247;
+tr903:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st240;
-tr878:
+ goto st247;
+tr896:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -33005,22 +33831,22 @@ tr878:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st240;
-tr879:
+ goto st247;
+tr897:
{
s->r_owner_length = s->dname_tmp_length;
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -33029,22 +33855,22 @@ tr879:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st240;
-tr880:
+ goto st247;
+tr898:
{
s->r_owner_length = s->dname_tmp_length;
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -33053,18 +33879,18 @@ tr880:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st240;
-st240:
+ goto st247;
+st247:
if ( ++p == pe )
- goto _test_eof240;
-case 240:
+ goto _test_eof247;
+case 247:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -33078,10 +33904,10 @@ case 240:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st240;
- case 32: goto st240;
- case 40: goto tr884;
- case 41: goto tr885;
+ case 9: goto st247;
+ case 32: goto st247;
+ case 40: goto tr902;
+ case 41: goto tr903;
case 65: goto tr5;
case 67: goto tr6;
case 68: goto tr7;
@@ -33098,7 +33924,8 @@ case 240:
case 83: goto tr18;
case 84: goto tr19;
case 85: goto tr20;
- case 90: goto tr21;
+ case 87: goto tr21;
+ case 90: goto tr22;
case 97: goto tr5;
case 99: goto tr6;
case 100: goto tr7;
@@ -33115,28 +33942,29 @@ case 240:
case 115: goto tr18;
case 116: goto tr19;
case 117: goto tr20;
- case 122: goto tr21;
- case 1802: goto tr93;
- case 1851: goto tr94;
- case 2058: goto tr886;
- case 2107: goto tr887;
+ case 119: goto tr21;
+ case 122: goto tr22;
+ case 1802: goto tr95;
+ case 1851: goto tr96;
+ case 2058: goto tr904;
+ case 2107: goto tr905;
}
if ( 48 <= _widec && _widec <= 57 )
goto tr4;
goto tr0;
-tr887:
+tr905:
{
s->buffer_length = 0;
}
- goto st241;
-tr888:
+ goto st248;
+tr906:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st241;
-tr882:
+ goto st248;
+tr900:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -33148,18 +33976,18 @@ tr882:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st241;
-st241:
+ goto st248;
+st248:
if ( ++p == pe )
- goto _test_eof241;
-case 241:
+ goto _test_eof248;
+case 248:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -33179,16 +34007,16 @@ case 241:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 1802: goto tr96;
- case 2058: goto tr889;
+ case 1802: goto tr98;
+ case 2058: goto tr907;
}
if ( _widec > 1919 ) {
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr888;
+ goto tr906;
} else if ( _widec >= 1664 )
- goto tr95;
- goto tr151;
-tr4295:
+ goto tr97;
+ goto tr154;
+tr4377:
{
s->r_class = s->default_class;
}
@@ -33199,100 +34027,101 @@ tr4295:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 242;goto st844;}
+ {stack[top++] = 249;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 242;goto st846;}
+ {stack[top++] = 249;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 242;goto st848;}
+ {stack[top++] = 249;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 242;goto st880;}
+ {stack[top++] = 249;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 242;goto st885;}
+ {stack[top++] = 249;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 242;goto st890;}
+ {stack[top++] = 249;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 242;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 249;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 242;goto st899;}
+ {stack[top++] = 249;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 242;goto st901;}
+ {stack[top++] = 249;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 242;goto st956;}
+ {stack[top++] = 249;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 242;goto st967;}
+ {stack[top++] = 249;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 242;goto st984;}
+ {stack[top++] = 249;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 242;goto st995;}
+ {stack[top++] = 249;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 242;goto st1006;}
+ {stack[top++] = 249;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 242;goto st1019;}
+ {stack[top++] = 249;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 242;goto st1029;}
+ {stack[top++] = 249;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 242;goto st1068;}
+ {stack[top++] = 249;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 242;goto st1254;}
+ {stack[top++] = 249;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 242;goto st1257;}
+ {stack[top++] = 249;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 242;goto st1268;}
+ {stack[top++] = 249;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 242;goto st1270;}
+ {stack[top++] = 249;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 242;goto st1299;}
+ {stack[top++] = 249;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 242;goto st1312;}
+ {stack[top++] = 249;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 242;goto st1325;}
+ {stack[top++] = 249;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 242;goto st1331;}
+ {stack[top++] = 249;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 242;goto st1349;}
+ {stack[top++] = 249;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 242;goto st1344;}
+ {stack[top++] = 249;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 242;goto st1362;}
+ {stack[top++] = 249;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 242;goto st1368;}
+ {stack[top++] = 249;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 242;goto st1374;}
+ {stack[top++] = 249;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 242;goto st1382;}
+ {stack[top++] = 249;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 242;goto st1390;}
+ {stack[top++] = 249;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 242;goto st309;} }
- goto st242;
-st242:
+ { p--; {stack[top++] = 249;goto st318;} }
+ goto st249;
+st249:
if ( ++p == pe )
- goto _test_eof242;
-case 242:
+ goto _test_eof249;
+case 249:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -33310,45 +34139,45 @@ case 242:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr891;
- case 32: goto tr891;
- case 40: goto tr892;
- case 41: goto tr893;
- case 65: goto st266;
- case 70: goto st269;
- case 80: goto st273;
- case 97: goto st266;
- case 102: goto st269;
- case 112: goto st273;
- case 2826: goto tr87;
- case 2875: goto tr88;
- case 3082: goto tr894;
- case 3131: goto tr895;
- case 3338: goto tr829;
- case 3387: goto tr830;
- case 3594: goto tr896;
- case 3643: goto tr897;
- }
- goto tr890;
-tr899:
+ case 9: goto tr909;
+ case 32: goto tr909;
+ case 40: goto tr910;
+ case 41: goto tr911;
+ case 65: goto st274;
+ case 70: goto st277;
+ case 80: goto st281;
+ case 97: goto st274;
+ case 102: goto st277;
+ case 112: goto st281;
+ case 2826: goto tr89;
+ case 2875: goto tr90;
+ case 3082: goto tr912;
+ case 3131: goto tr913;
+ case 3338: goto tr847;
+ case 3387: goto tr848;
+ case 3594: goto tr914;
+ case 3643: goto tr915;
+ }
+ goto tr908;
+tr917:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st243;
-tr900:
+ goto st250;
+tr918:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st243;
-tr891:
+ goto st250;
+tr909:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -33360,15 +34189,15 @@ tr891:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st243;
-tr892:
+ goto st250;
+tr910:
{
s->r_owner_length = s->dname_tmp_length;
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -33380,15 +34209,15 @@ tr892:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st243;
-tr893:
+ goto st250;
+tr911:
{
s->r_owner_length = s->dname_tmp_length;
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -33400,11 +34229,11 @@ tr893:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st243;
-st243:
+ goto st250;
+st250:
if ( ++p == pe )
- goto _test_eof243;
-case 243:
+ goto _test_eof250;
+case 250:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -33422,68 +34251,70 @@ case 243:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st243;
- case 32: goto st243;
- case 40: goto tr899;
- case 41: goto tr900;
- case 58: goto tr73;
- case 65: goto tr122;
- case 67: goto tr123;
- case 68: goto tr124;
- case 69: goto tr125;
- case 72: goto tr126;
- case 73: goto tr127;
- case 75: goto tr128;
- case 76: goto tr129;
- case 77: goto tr130;
- case 78: goto tr131;
- case 79: goto tr132;
- case 80: goto tr133;
- case 82: goto tr134;
- case 83: goto tr135;
- case 84: goto tr136;
- case 85: goto tr137;
- case 90: goto tr138;
- case 92: goto tr78;
- case 97: goto tr122;
- case 99: goto tr123;
- case 100: goto tr124;
- case 101: goto tr125;
- case 104: goto tr126;
- case 105: goto tr127;
- case 107: goto tr128;
- case 108: goto tr129;
- case 109: goto tr130;
- case 110: goto tr131;
- case 111: goto tr132;
- case 112: goto tr133;
- case 114: goto tr134;
- case 115: goto tr135;
- case 116: goto tr136;
- case 117: goto tr137;
- case 122: goto tr138;
- case 2826: goto tr93;
- case 2875: goto tr94;
- case 3082: goto tr901;
- case 3131: goto tr857;
- case 3338: goto tr112;
- case 3387: goto tr113;
- case 3594: goto tr902;
- case 3643: goto tr858;
+ case 9: goto st250;
+ case 32: goto st250;
+ case 40: goto tr917;
+ case 41: goto tr918;
+ case 58: goto tr75;
+ case 65: goto tr124;
+ case 67: goto tr125;
+ case 68: goto tr126;
+ case 69: goto tr127;
+ case 72: goto tr128;
+ case 73: goto tr129;
+ case 75: goto tr130;
+ case 76: goto tr131;
+ case 77: goto tr132;
+ case 78: goto tr133;
+ case 79: goto tr134;
+ case 80: goto tr135;
+ case 82: goto tr136;
+ case 83: goto tr137;
+ case 84: goto tr138;
+ case 85: goto tr139;
+ case 87: goto tr140;
+ case 90: goto tr141;
+ case 92: goto tr80;
+ case 97: goto tr124;
+ case 99: goto tr125;
+ case 100: goto tr126;
+ case 101: goto tr127;
+ case 104: goto tr128;
+ case 105: goto tr129;
+ case 107: goto tr130;
+ case 108: goto tr131;
+ case 109: goto tr132;
+ case 110: goto tr133;
+ case 111: goto tr134;
+ case 112: goto tr135;
+ case 114: goto tr136;
+ case 115: goto tr137;
+ case 116: goto tr138;
+ case 117: goto tr139;
+ case 119: goto tr140;
+ case 122: goto tr141;
+ case 2826: goto tr95;
+ case 2875: goto tr96;
+ case 3082: goto tr919;
+ case 3131: goto tr875;
+ case 3338: goto tr114;
+ case 3387: goto tr115;
+ case 3594: goto tr920;
+ case 3643: goto tr876;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr73;
+ goto tr75;
} else if ( _widec > 47 ) {
if ( _widec > 57 ) {
if ( 60 <= _widec )
- goto tr73;
+ goto tr75;
} else if ( _widec >= 48 )
- goto tr121;
+ goto tr123;
} else
- goto tr73;
- goto tr118;
-tr143:
+ goto tr75;
+ goto tr120;
+tr146:
{
s->line_counter++;
}
@@ -33491,92 +34322,93 @@ tr143:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 1405;goto st844;}
+ {stack[top++] = 1453;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 1405;goto st846;}
+ {stack[top++] = 1453;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 1405;goto st848;}
+ {stack[top++] = 1453;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 1405;goto st880;}
+ {stack[top++] = 1453;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 1405;goto st885;}
+ {stack[top++] = 1453;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 1405;goto st890;}
+ {stack[top++] = 1453;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 1405;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 1453;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 1405;goto st899;}
+ {stack[top++] = 1453;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 1405;goto st901;}
+ {stack[top++] = 1453;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 1405;goto st956;}
+ {stack[top++] = 1453;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 1405;goto st967;}
+ {stack[top++] = 1453;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 1405;goto st984;}
+ {stack[top++] = 1453;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 1405;goto st995;}
+ {stack[top++] = 1453;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 1405;goto st1006;}
+ {stack[top++] = 1453;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 1405;goto st1019;}
+ {stack[top++] = 1453;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 1405;goto st1029;}
+ {stack[top++] = 1453;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 1405;goto st1068;}
+ {stack[top++] = 1453;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 1405;goto st1254;}
+ {stack[top++] = 1453;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 1405;goto st1257;}
+ {stack[top++] = 1453;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 1405;goto st1268;}
+ {stack[top++] = 1453;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 1405;goto st1270;}
+ {stack[top++] = 1453;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 1405;goto st1299;}
+ {stack[top++] = 1453;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 1405;goto st1312;}
+ {stack[top++] = 1453;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 1405;goto st1325;}
+ {stack[top++] = 1453;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 1405;goto st1331;}
+ {stack[top++] = 1453;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 1405;goto st1349;}
+ {stack[top++] = 1453;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 1405;goto st1344;}
+ {stack[top++] = 1453;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 1405;goto st1362;}
+ {stack[top++] = 1453;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 1405;goto st1368;}
+ {stack[top++] = 1453;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 1405;goto st1374;}
+ {stack[top++] = 1453;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 1405;goto st1382;}
+ {stack[top++] = 1453;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 1405;goto st1390;}
+ {stack[top++] = 1453;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st1405;
-tr902:
+ goto st1453;
+tr920:
{
s->line_counter++;
}
@@ -33584,94 +34416,95 @@ tr902:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 1405;goto st844;}
+ {stack[top++] = 1453;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 1405;goto st846;}
+ {stack[top++] = 1453;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 1405;goto st848;}
+ {stack[top++] = 1453;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 1405;goto st880;}
+ {stack[top++] = 1453;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 1405;goto st885;}
+ {stack[top++] = 1453;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 1405;goto st890;}
+ {stack[top++] = 1453;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 1405;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 1453;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 1405;goto st899;}
+ {stack[top++] = 1453;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 1405;goto st901;}
+ {stack[top++] = 1453;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 1405;goto st956;}
+ {stack[top++] = 1453;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 1405;goto st967;}
+ {stack[top++] = 1453;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 1405;goto st984;}
+ {stack[top++] = 1453;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 1405;goto st995;}
+ {stack[top++] = 1453;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 1405;goto st1006;}
+ {stack[top++] = 1453;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 1405;goto st1019;}
+ {stack[top++] = 1453;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 1405;goto st1029;}
+ {stack[top++] = 1453;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 1405;goto st1068;}
+ {stack[top++] = 1453;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 1405;goto st1254;}
+ {stack[top++] = 1453;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 1405;goto st1257;}
+ {stack[top++] = 1453;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 1405;goto st1268;}
+ {stack[top++] = 1453;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 1405;goto st1270;}
+ {stack[top++] = 1453;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 1405;goto st1299;}
+ {stack[top++] = 1453;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 1405;goto st1312;}
+ {stack[top++] = 1453;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 1405;goto st1325;}
+ {stack[top++] = 1453;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 1405;goto st1331;}
+ {stack[top++] = 1453;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 1405;goto st1349;}
+ {stack[top++] = 1453;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 1405;goto st1344;}
+ {stack[top++] = 1453;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 1405;goto st1362;}
+ {stack[top++] = 1453;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 1405;goto st1368;}
+ {stack[top++] = 1453;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 1405;goto st1374;}
+ {stack[top++] = 1453;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 1405;goto st1382;}
+ {stack[top++] = 1453;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 1405;goto st1390;}
+ {stack[top++] = 1453;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -33684,16 +34517,16 @@ tr902:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1405; goto _out;}
+ {p++; cs = 1453; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1405; goto _out;}
+ p--; {p++; cs = 1453; goto _out;}
}
}
- goto st1405;
-tr896:
+ goto st1453;
+tr914:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -33708,88 +34541,89 @@ tr896:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 1405;goto st844;}
+ {stack[top++] = 1453;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 1405;goto st846;}
+ {stack[top++] = 1453;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 1405;goto st848;}
+ {stack[top++] = 1453;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 1405;goto st880;}
+ {stack[top++] = 1453;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 1405;goto st885;}
+ {stack[top++] = 1453;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 1405;goto st890;}
+ {stack[top++] = 1453;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 1405;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 1453;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 1405;goto st899;}
+ {stack[top++] = 1453;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 1405;goto st901;}
+ {stack[top++] = 1453;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 1405;goto st956;}
+ {stack[top++] = 1453;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 1405;goto st967;}
+ {stack[top++] = 1453;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 1405;goto st984;}
+ {stack[top++] = 1453;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 1405;goto st995;}
+ {stack[top++] = 1453;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 1405;goto st1006;}
+ {stack[top++] = 1453;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 1405;goto st1019;}
+ {stack[top++] = 1453;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 1405;goto st1029;}
+ {stack[top++] = 1453;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 1405;goto st1068;}
+ {stack[top++] = 1453;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 1405;goto st1254;}
+ {stack[top++] = 1453;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 1405;goto st1257;}
+ {stack[top++] = 1453;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 1405;goto st1268;}
+ {stack[top++] = 1453;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 1405;goto st1270;}
+ {stack[top++] = 1453;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 1405;goto st1299;}
+ {stack[top++] = 1453;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 1405;goto st1312;}
+ {stack[top++] = 1453;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 1405;goto st1325;}
+ {stack[top++] = 1453;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 1405;goto st1331;}
+ {stack[top++] = 1453;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 1405;goto st1349;}
+ {stack[top++] = 1453;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 1405;goto st1344;}
+ {stack[top++] = 1453;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 1405;goto st1362;}
+ {stack[top++] = 1453;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 1405;goto st1368;}
+ {stack[top++] = 1453;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 1405;goto st1374;}
+ {stack[top++] = 1453;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 1405;goto st1382;}
+ {stack[top++] = 1453;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 1405;goto st1390;}
+ {stack[top++] = 1453;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
@@ -33799,7 +34633,7 @@ tr896:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -33812,16 +34646,16 @@ tr896:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1405; goto _out;}
+ {p++; cs = 1453; goto _out;}
}
}
} else {
// Return if external processing.
- p--; {p++; cs = 1405; goto _out;}
+ p--; {p++; cs = 1453; goto _out;}
}
}
- goto st1405;
-tr4225:
+ goto st1453;
+tr4305:
{
s->line_counter++;
}
@@ -33829,105 +34663,106 @@ tr4225:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 1405;goto st844;}
+ {stack[top++] = 1453;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 1405;goto st846;}
+ {stack[top++] = 1453;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 1405;goto st848;}
+ {stack[top++] = 1453;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 1405;goto st880;}
+ {stack[top++] = 1453;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 1405;goto st885;}
+ {stack[top++] = 1453;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 1405;goto st890;}
+ {stack[top++] = 1453;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 1405;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 1453;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 1405;goto st899;}
+ {stack[top++] = 1453;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 1405;goto st901;}
+ {stack[top++] = 1453;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 1405;goto st956;}
+ {stack[top++] = 1453;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 1405;goto st967;}
+ {stack[top++] = 1453;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 1405;goto st984;}
+ {stack[top++] = 1453;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 1405;goto st995;}
+ {stack[top++] = 1453;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 1405;goto st1006;}
+ {stack[top++] = 1453;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 1405;goto st1019;}
+ {stack[top++] = 1453;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 1405;goto st1029;}
+ {stack[top++] = 1453;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 1405;goto st1068;}
+ {stack[top++] = 1453;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 1405;goto st1254;}
+ {stack[top++] = 1453;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 1405;goto st1257;}
+ {stack[top++] = 1453;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 1405;goto st1268;}
+ {stack[top++] = 1453;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 1405;goto st1270;}
+ {stack[top++] = 1453;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 1405;goto st1299;}
+ {stack[top++] = 1453;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 1405;goto st1312;}
+ {stack[top++] = 1453;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 1405;goto st1325;}
+ {stack[top++] = 1453;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 1405;goto st1331;}
+ {stack[top++] = 1453;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 1405;goto st1349;}
+ {stack[top++] = 1453;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 1405;goto st1344;}
+ {stack[top++] = 1453;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 1405;goto st1362;}
+ {stack[top++] = 1453;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 1405;goto st1368;}
+ {stack[top++] = 1453;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 1405;goto st1374;}
+ {stack[top++] = 1453;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 1405;goto st1382;}
+ {stack[top++] = 1453;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 1405;goto st1390;}
+ {stack[top++] = 1453;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st1405;
-st1405:
+ goto st1453;
+st1453:
if ( ++p == pe )
- goto _test_eof1405;
-case 1405:
+ goto _test_eof1453;
+case 1453:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -33945,86 +34780,88 @@ case 1405:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr4288;
- case 32: goto tr4288;
- case 36: goto tr4216;
- case 40: goto tr4289;
- case 41: goto tr4290;
- case 42: goto tr4219;
- case 58: goto tr73;
- case 65: goto tr4295;
- case 67: goto tr4296;
- case 68: goto tr4297;
- case 69: goto tr4298;
- case 72: goto tr4299;
- case 73: goto tr4300;
- case 75: goto tr4301;
- case 76: goto tr4302;
- case 77: goto tr4303;
- case 78: goto tr4304;
- case 79: goto tr4305;
- case 80: goto tr4306;
- case 82: goto tr4307;
- case 83: goto tr4308;
- case 84: goto tr4309;
- case 85: goto tr4310;
- case 90: goto tr4311;
- case 92: goto tr4220;
- case 95: goto tr4219;
- case 97: goto tr4295;
- case 99: goto tr4296;
- case 100: goto tr4297;
- case 101: goto tr4298;
- case 104: goto tr4299;
- case 105: goto tr4300;
- case 107: goto tr4301;
- case 108: goto tr4302;
- case 109: goto tr4303;
- case 110: goto tr4304;
- case 111: goto tr4305;
- case 112: goto tr4306;
- case 114: goto tr4307;
- case 115: goto tr4308;
- case 116: goto tr4309;
- case 117: goto tr4310;
- case 122: goto tr4311;
- case 2826: goto tr87;
- case 2875: goto tr88;
- case 3082: goto tr4312;
- case 3131: goto tr4291;
- case 3338: goto tr105;
- case 3387: goto tr106;
- case 3594: goto tr4312;
- case 3643: goto tr4292;
+ case 9: goto tr4370;
+ case 32: goto tr4370;
+ case 36: goto tr4296;
+ case 40: goto tr4371;
+ case 41: goto tr4372;
+ case 42: goto tr4299;
+ case 58: goto tr75;
+ case 65: goto tr4377;
+ case 67: goto tr4378;
+ case 68: goto tr4379;
+ case 69: goto tr4380;
+ case 72: goto tr4381;
+ case 73: goto tr4382;
+ case 75: goto tr4383;
+ case 76: goto tr4384;
+ case 77: goto tr4385;
+ case 78: goto tr4386;
+ case 79: goto tr4387;
+ case 80: goto tr4388;
+ case 82: goto tr4389;
+ case 83: goto tr4390;
+ case 84: goto tr4391;
+ case 85: goto tr4392;
+ case 87: goto tr4393;
+ case 90: goto tr4394;
+ case 92: goto tr4300;
+ case 95: goto tr4299;
+ case 97: goto tr4377;
+ case 99: goto tr4378;
+ case 100: goto tr4379;
+ case 101: goto tr4380;
+ case 104: goto tr4381;
+ case 105: goto tr4382;
+ case 107: goto tr4383;
+ case 108: goto tr4384;
+ case 109: goto tr4385;
+ case 110: goto tr4386;
+ case 111: goto tr4387;
+ case 112: goto tr4388;
+ case 114: goto tr4389;
+ case 115: goto tr4390;
+ case 116: goto tr4391;
+ case 117: goto tr4392;
+ case 119: goto tr4393;
+ case 122: goto tr4394;
+ case 2826: goto tr89;
+ case 2875: goto tr90;
+ case 3082: goto tr4395;
+ case 3131: goto tr4373;
+ case 3338: goto tr107;
+ case 3387: goto tr108;
+ case 3594: goto tr4395;
+ case 3643: goto tr4374;
}
if ( _widec < 60 ) {
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr73;
+ goto tr75;
} else if ( _widec > 44 ) {
if ( _widec > 47 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr4294;
+ goto tr4376;
} else if ( _widec >= 45 )
- goto tr4219;
+ goto tr4299;
} else
- goto tr73;
+ goto tr75;
} else if ( _widec > 63 ) {
if ( _widec < 91 ) {
if ( 64 <= _widec && _widec <= 89 )
- goto tr4219;
+ goto tr4299;
} else if ( _widec > 96 ) {
if ( _widec > 121 ) {
if ( 123 <= _widec )
- goto tr73;
+ goto tr75;
} else if ( _widec >= 98 )
- goto tr4219;
+ goto tr4299;
} else
- goto tr73;
+ goto tr75;
} else
- goto tr73;
- goto tr4293;
-tr4296:
+ goto tr75;
+ goto tr4375;
+tr4378:
{
s->r_class = s->default_class;
}
@@ -34035,100 +34872,101 @@ tr4296:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 244;goto st844;}
+ {stack[top++] = 251;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 244;goto st846;}
+ {stack[top++] = 251;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 244;goto st848;}
+ {stack[top++] = 251;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 244;goto st880;}
+ {stack[top++] = 251;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 244;goto st885;}
+ {stack[top++] = 251;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 244;goto st890;}
+ {stack[top++] = 251;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 244;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 251;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 244;goto st899;}
+ {stack[top++] = 251;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 244;goto st901;}
+ {stack[top++] = 251;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 244;goto st956;}
+ {stack[top++] = 251;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 244;goto st967;}
+ {stack[top++] = 251;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 244;goto st984;}
+ {stack[top++] = 251;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 244;goto st995;}
+ {stack[top++] = 251;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 244;goto st1006;}
+ {stack[top++] = 251;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 244;goto st1019;}
+ {stack[top++] = 251;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 244;goto st1029;}
+ {stack[top++] = 251;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 244;goto st1068;}
+ {stack[top++] = 251;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 244;goto st1254;}
+ {stack[top++] = 251;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 244;goto st1257;}
+ {stack[top++] = 251;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 244;goto st1268;}
+ {stack[top++] = 251;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 244;goto st1270;}
+ {stack[top++] = 251;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 244;goto st1299;}
+ {stack[top++] = 251;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 244;goto st1312;}
+ {stack[top++] = 251;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 244;goto st1325;}
+ {stack[top++] = 251;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 244;goto st1331;}
+ {stack[top++] = 251;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 244;goto st1349;}
+ {stack[top++] = 251;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 244;goto st1344;}
+ {stack[top++] = 251;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 244;goto st1362;}
+ {stack[top++] = 251;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 244;goto st1368;}
+ {stack[top++] = 251;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 244;goto st1374;}
+ {stack[top++] = 251;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 244;goto st1382;}
+ {stack[top++] = 251;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 244;goto st1390;}
+ {stack[top++] = 251;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 244;goto st309;} }
- goto st244;
-st244:
+ { p--; {stack[top++] = 251;goto st318;} }
+ goto st251;
+st251:
if ( ++p == pe )
- goto _test_eof244;
-case 244:
+ goto _test_eof251;
+case 251:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -34142,10 +34980,10 @@ case 244:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr872;
- case 32: goto tr872;
- case 40: goto tr873;
- case 41: goto tr874;
+ case 9: goto tr890;
+ case 32: goto tr890;
+ case 40: goto tr891;
+ case 41: goto tr892;
case 65: goto st18;
case 68: goto st22;
case 69: goto st29;
@@ -34156,13 +34994,13 @@ case 244:
case 101: goto st29;
case 110: goto st32;
case 115: goto st36;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr875;
- case 2107: goto tr876;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr893;
+ case 2107: goto tr894;
}
- goto tr890;
-tr4297:
+ goto tr908;
+tr4379:
{
s->r_class = s->default_class;
}
@@ -34173,100 +35011,101 @@ tr4297:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 245;goto st844;}
+ {stack[top++] = 252;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 245;goto st846;}
+ {stack[top++] = 252;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 245;goto st848;}
+ {stack[top++] = 252;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 245;goto st880;}
+ {stack[top++] = 252;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 245;goto st885;}
+ {stack[top++] = 252;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 245;goto st890;}
+ {stack[top++] = 252;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 245;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 252;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 245;goto st899;}
+ {stack[top++] = 252;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 245;goto st901;}
+ {stack[top++] = 252;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 245;goto st956;}
+ {stack[top++] = 252;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 245;goto st967;}
+ {stack[top++] = 252;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 245;goto st984;}
+ {stack[top++] = 252;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 245;goto st995;}
+ {stack[top++] = 252;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 245;goto st1006;}
+ {stack[top++] = 252;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 245;goto st1019;}
+ {stack[top++] = 252;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 245;goto st1029;}
+ {stack[top++] = 252;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 245;goto st1068;}
+ {stack[top++] = 252;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 245;goto st1254;}
+ {stack[top++] = 252;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 245;goto st1257;}
+ {stack[top++] = 252;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 245;goto st1268;}
+ {stack[top++] = 252;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 245;goto st1270;}
+ {stack[top++] = 252;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 245;goto st1299;}
+ {stack[top++] = 252;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 245;goto st1312;}
+ {stack[top++] = 252;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 245;goto st1325;}
+ {stack[top++] = 252;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 245;goto st1331;}
+ {stack[top++] = 252;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 245;goto st1349;}
+ {stack[top++] = 252;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 245;goto st1344;}
+ {stack[top++] = 252;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 245;goto st1362;}
+ {stack[top++] = 252;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 245;goto st1368;}
+ {stack[top++] = 252;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 245;goto st1374;}
+ {stack[top++] = 252;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 245;goto st1382;}
+ {stack[top++] = 252;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 245;goto st1390;}
+ {stack[top++] = 252;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 245;goto st309;} }
- goto st245;
-st245:
+ { p--; {stack[top++] = 252;goto st318;} }
+ goto st252;
+st252:
if ( ++p == pe )
- goto _test_eof245;
-case 245:
+ goto _test_eof252;
+case 252:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -34280,23 +35119,23 @@ case 245:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr872;
- case 32: goto tr872;
- case 40: goto tr873;
- case 41: goto tr874;
+ case 9: goto tr890;
+ case 32: goto tr890;
+ case 40: goto tr891;
+ case 41: goto tr892;
case 72: goto st41;
case 78: goto st45;
case 83: goto st53;
case 104: goto st41;
case 110: goto st45;
case 115: goto st53;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr875;
- case 2107: goto tr876;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr893;
+ case 2107: goto tr894;
}
- goto tr890;
-tr4298:
+ goto tr908;
+tr4380:
{
s->r_class = s->default_class;
}
@@ -34307,100 +35146,101 @@ tr4298:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 246;goto st844;}
+ {stack[top++] = 253;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 246;goto st846;}
+ {stack[top++] = 253;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 246;goto st848;}
+ {stack[top++] = 253;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 246;goto st880;}
+ {stack[top++] = 253;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 246;goto st885;}
+ {stack[top++] = 253;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 246;goto st890;}
+ {stack[top++] = 253;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 246;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 253;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 246;goto st899;}
+ {stack[top++] = 253;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 246;goto st901;}
+ {stack[top++] = 253;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 246;goto st956;}
+ {stack[top++] = 253;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 246;goto st967;}
+ {stack[top++] = 253;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 246;goto st984;}
+ {stack[top++] = 253;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 246;goto st995;}
+ {stack[top++] = 253;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 246;goto st1006;}
+ {stack[top++] = 253;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 246;goto st1019;}
+ {stack[top++] = 253;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 246;goto st1029;}
+ {stack[top++] = 253;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 246;goto st1068;}
+ {stack[top++] = 253;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 246;goto st1254;}
+ {stack[top++] = 253;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 246;goto st1257;}
+ {stack[top++] = 253;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 246;goto st1268;}
+ {stack[top++] = 253;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 246;goto st1270;}
+ {stack[top++] = 253;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 246;goto st1299;}
+ {stack[top++] = 253;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 246;goto st1312;}
+ {stack[top++] = 253;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 246;goto st1325;}
+ {stack[top++] = 253;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 246;goto st1331;}
+ {stack[top++] = 253;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 246;goto st1349;}
+ {stack[top++] = 253;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 246;goto st1344;}
+ {stack[top++] = 253;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 246;goto st1362;}
+ {stack[top++] = 253;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 246;goto st1368;}
+ {stack[top++] = 253;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 246;goto st1374;}
+ {stack[top++] = 253;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 246;goto st1382;}
+ {stack[top++] = 253;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 246;goto st1390;}
+ {stack[top++] = 253;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 246;goto st309;} }
- goto st246;
-st246:
+ { p--; {stack[top++] = 253;goto st318;} }
+ goto st253;
+st253:
if ( ++p == pe )
- goto _test_eof246;
-case 246:
+ goto _test_eof253;
+case 253:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -34414,19 +35254,19 @@ case 246:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr872;
- case 32: goto tr872;
- case 40: goto tr873;
- case 41: goto tr874;
+ case 9: goto tr890;
+ case 32: goto tr890;
+ case 40: goto tr891;
+ case 41: goto tr892;
case 85: goto st55;
case 117: goto st55;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr875;
- case 2107: goto tr876;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr893;
+ case 2107: goto tr894;
}
- goto tr890;
-tr4299:
+ goto tr908;
+tr4381:
{
s->r_class = s->default_class;
}
@@ -34437,100 +35277,101 @@ tr4299:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 247;goto st844;}
+ {stack[top++] = 254;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 247;goto st846;}
+ {stack[top++] = 254;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 247;goto st848;}
+ {stack[top++] = 254;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 247;goto st880;}
+ {stack[top++] = 254;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 247;goto st885;}
+ {stack[top++] = 254;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 247;goto st890;}
+ {stack[top++] = 254;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 247;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 254;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 247;goto st899;}
+ {stack[top++] = 254;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 247;goto st901;}
+ {stack[top++] = 254;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 247;goto st956;}
+ {stack[top++] = 254;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 247;goto st967;}
+ {stack[top++] = 254;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 247;goto st984;}
+ {stack[top++] = 254;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 247;goto st995;}
+ {stack[top++] = 254;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 247;goto st1006;}
+ {stack[top++] = 254;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 247;goto st1019;}
+ {stack[top++] = 254;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 247;goto st1029;}
+ {stack[top++] = 254;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 247;goto st1068;}
+ {stack[top++] = 254;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 247;goto st1254;}
+ {stack[top++] = 254;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 247;goto st1257;}
+ {stack[top++] = 254;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 247;goto st1268;}
+ {stack[top++] = 254;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 247;goto st1270;}
+ {stack[top++] = 254;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 247;goto st1299;}
+ {stack[top++] = 254;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 247;goto st1312;}
+ {stack[top++] = 254;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 247;goto st1325;}
+ {stack[top++] = 254;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 247;goto st1331;}
+ {stack[top++] = 254;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 247;goto st1349;}
+ {stack[top++] = 254;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 247;goto st1344;}
+ {stack[top++] = 254;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 247;goto st1362;}
+ {stack[top++] = 254;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 247;goto st1368;}
+ {stack[top++] = 254;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 247;goto st1374;}
+ {stack[top++] = 254;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 247;goto st1382;}
+ {stack[top++] = 254;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 247;goto st1390;}
+ {stack[top++] = 254;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 247;goto st309;} }
- goto st247;
-st247:
+ { p--; {stack[top++] = 254;goto st318;} }
+ goto st254;
+st254:
if ( ++p == pe )
- goto _test_eof247;
-case 247:
+ goto _test_eof254;
+case 254:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -34544,21 +35385,21 @@ case 247:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr872;
- case 32: goto tr872;
- case 40: goto tr873;
- case 41: goto tr874;
+ case 9: goto tr890;
+ case 32: goto tr890;
+ case 40: goto tr891;
+ case 41: goto tr892;
case 73: goto st62;
case 84: goto st66;
case 105: goto st62;
case 116: goto st66;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr875;
- case 2107: goto tr876;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr893;
+ case 2107: goto tr894;
}
- goto tr890;
-tr4300:
+ goto tr908;
+tr4382:
{
s->r_class = s->default_class;
}
@@ -34569,100 +35410,101 @@ tr4300:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 248;goto st844;}
+ {stack[top++] = 255;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 248;goto st846;}
+ {stack[top++] = 255;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 248;goto st848;}
+ {stack[top++] = 255;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 248;goto st880;}
+ {stack[top++] = 255;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 248;goto st885;}
+ {stack[top++] = 255;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 248;goto st890;}
+ {stack[top++] = 255;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 248;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 255;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 248;goto st899;}
+ {stack[top++] = 255;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 248;goto st901;}
+ {stack[top++] = 255;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 248;goto st956;}
+ {stack[top++] = 255;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 248;goto st967;}
+ {stack[top++] = 255;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 248;goto st984;}
+ {stack[top++] = 255;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 248;goto st995;}
+ {stack[top++] = 255;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 248;goto st1006;}
+ {stack[top++] = 255;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 248;goto st1019;}
+ {stack[top++] = 255;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 248;goto st1029;}
+ {stack[top++] = 255;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 248;goto st1068;}
+ {stack[top++] = 255;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 248;goto st1254;}
+ {stack[top++] = 255;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 248;goto st1257;}
+ {stack[top++] = 255;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 248;goto st1268;}
+ {stack[top++] = 255;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 248;goto st1270;}
+ {stack[top++] = 255;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 248;goto st1299;}
+ {stack[top++] = 255;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 248;goto st1312;}
+ {stack[top++] = 255;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 248;goto st1325;}
+ {stack[top++] = 255;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 248;goto st1331;}
+ {stack[top++] = 255;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 248;goto st1349;}
+ {stack[top++] = 255;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 248;goto st1344;}
+ {stack[top++] = 255;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 248;goto st1362;}
+ {stack[top++] = 255;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 248;goto st1368;}
+ {stack[top++] = 255;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 248;goto st1374;}
+ {stack[top++] = 255;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 248;goto st1382;}
+ {stack[top++] = 255;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 248;goto st1390;}
+ {stack[top++] = 255;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 248;goto st309;} }
- goto st248;
-st248:
+ { p--; {stack[top++] = 255;goto st318;} }
+ goto st255;
+st255:
if ( ++p == pe )
- goto _test_eof248;
-case 248:
+ goto _test_eof255;
+case 255:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -34676,21 +35518,21 @@ case 248:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr872;
- case 32: goto tr872;
- case 40: goto tr873;
- case 41: goto tr874;
- case 78: goto st176;
+ case 9: goto tr890;
+ case 32: goto tr890;
+ case 40: goto tr891;
+ case 41: goto tr892;
+ case 78: goto st182;
case 80: goto st74;
- case 110: goto st176;
+ case 110: goto st182;
case 112: goto st74;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr875;
- case 2107: goto tr876;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr893;
+ case 2107: goto tr894;
}
- goto tr890;
-tr4301:
+ goto tr908;
+tr4383:
{
s->r_class = s->default_class;
}
@@ -34701,100 +35543,101 @@ tr4301:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 249;goto st844;}
+ {stack[top++] = 256;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 249;goto st846;}
+ {stack[top++] = 256;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 249;goto st848;}
+ {stack[top++] = 256;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 249;goto st880;}
+ {stack[top++] = 256;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 249;goto st885;}
+ {stack[top++] = 256;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 249;goto st890;}
+ {stack[top++] = 256;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 249;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 256;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 249;goto st899;}
+ {stack[top++] = 256;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 249;goto st901;}
+ {stack[top++] = 256;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 249;goto st956;}
+ {stack[top++] = 256;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 249;goto st967;}
+ {stack[top++] = 256;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 249;goto st984;}
+ {stack[top++] = 256;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 249;goto st995;}
+ {stack[top++] = 256;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 249;goto st1006;}
+ {stack[top++] = 256;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 249;goto st1019;}
+ {stack[top++] = 256;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 249;goto st1029;}
+ {stack[top++] = 256;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 249;goto st1068;}
+ {stack[top++] = 256;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 249;goto st1254;}
+ {stack[top++] = 256;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 249;goto st1257;}
+ {stack[top++] = 256;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 249;goto st1268;}
+ {stack[top++] = 256;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 249;goto st1270;}
+ {stack[top++] = 256;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 249;goto st1299;}
+ {stack[top++] = 256;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 249;goto st1312;}
+ {stack[top++] = 256;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 249;goto st1325;}
+ {stack[top++] = 256;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 249;goto st1331;}
+ {stack[top++] = 256;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 249;goto st1349;}
+ {stack[top++] = 256;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 249;goto st1344;}
+ {stack[top++] = 256;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 249;goto st1362;}
+ {stack[top++] = 256;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 249;goto st1368;}
+ {stack[top++] = 256;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 249;goto st1374;}
+ {stack[top++] = 256;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 249;goto st1382;}
+ {stack[top++] = 256;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 249;goto st1390;}
+ {stack[top++] = 256;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 249;goto st309;} }
- goto st249;
-st249:
+ { p--; {stack[top++] = 256;goto st318;} }
+ goto st256;
+st256:
if ( ++p == pe )
- goto _test_eof249;
-case 249:
+ goto _test_eof256;
+case 256:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -34808,21 +35651,21 @@ case 249:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr872;
- case 32: goto tr872;
- case 40: goto tr873;
- case 41: goto tr874;
+ case 9: goto tr890;
+ case 32: goto tr890;
+ case 40: goto tr891;
+ case 41: goto tr892;
case 69: goto st82;
case 88: goto st84;
case 101: goto st82;
case 120: goto st84;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr875;
- case 2107: goto tr876;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr893;
+ case 2107: goto tr894;
}
- goto tr890;
-tr4302:
+ goto tr908;
+tr4384:
{
s->r_class = s->default_class;
}
@@ -34833,100 +35676,101 @@ tr4302:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 250;goto st844;}
+ {stack[top++] = 257;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 250;goto st846;}
+ {stack[top++] = 257;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 250;goto st848;}
+ {stack[top++] = 257;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 250;goto st880;}
+ {stack[top++] = 257;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 250;goto st885;}
+ {stack[top++] = 257;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 250;goto st890;}
+ {stack[top++] = 257;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 250;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 257;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 250;goto st899;}
+ {stack[top++] = 257;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 250;goto st901;}
+ {stack[top++] = 257;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 250;goto st956;}
+ {stack[top++] = 257;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 250;goto st967;}
+ {stack[top++] = 257;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 250;goto st984;}
+ {stack[top++] = 257;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 250;goto st995;}
+ {stack[top++] = 257;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 250;goto st1006;}
+ {stack[top++] = 257;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 250;goto st1019;}
+ {stack[top++] = 257;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 250;goto st1029;}
+ {stack[top++] = 257;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 250;goto st1068;}
+ {stack[top++] = 257;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 250;goto st1254;}
+ {stack[top++] = 257;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 250;goto st1257;}
+ {stack[top++] = 257;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 250;goto st1268;}
+ {stack[top++] = 257;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 250;goto st1270;}
+ {stack[top++] = 257;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 250;goto st1299;}
+ {stack[top++] = 257;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 250;goto st1312;}
+ {stack[top++] = 257;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 250;goto st1325;}
+ {stack[top++] = 257;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 250;goto st1331;}
+ {stack[top++] = 257;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 250;goto st1349;}
+ {stack[top++] = 257;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 250;goto st1344;}
+ {stack[top++] = 257;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 250;goto st1362;}
+ {stack[top++] = 257;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 250;goto st1368;}
+ {stack[top++] = 257;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 250;goto st1374;}
+ {stack[top++] = 257;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 250;goto st1382;}
+ {stack[top++] = 257;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 250;goto st1390;}
+ {stack[top++] = 257;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 250;goto st309;} }
- goto st250;
-st250:
+ { p--; {stack[top++] = 257;goto st318;} }
+ goto st257;
+st257:
if ( ++p == pe )
- goto _test_eof250;
-case 250:
+ goto _test_eof257;
+case 257:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -34940,23 +35784,23 @@ case 250:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr872;
- case 32: goto tr872;
- case 40: goto tr873;
- case 41: goto tr874;
+ case 9: goto tr890;
+ case 32: goto tr890;
+ case 40: goto tr891;
+ case 41: goto tr892;
case 51: goto st86;
case 54: goto st88;
case 79: goto st90;
case 80: goto st92;
case 111: goto st90;
case 112: goto st92;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr875;
- case 2107: goto tr876;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr893;
+ case 2107: goto tr894;
}
- goto tr890;
-tr4303:
+ goto tr908;
+tr4385:
{
s->r_class = s->default_class;
}
@@ -34967,100 +35811,101 @@ tr4303:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 251;goto st844;}
+ {stack[top++] = 258;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 251;goto st846;}
+ {stack[top++] = 258;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 251;goto st848;}
+ {stack[top++] = 258;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 251;goto st880;}
+ {stack[top++] = 258;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 251;goto st885;}
+ {stack[top++] = 258;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 251;goto st890;}
+ {stack[top++] = 258;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 251;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 258;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 251;goto st899;}
+ {stack[top++] = 258;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 251;goto st901;}
+ {stack[top++] = 258;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 251;goto st956;}
+ {stack[top++] = 258;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 251;goto st967;}
+ {stack[top++] = 258;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 251;goto st984;}
+ {stack[top++] = 258;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 251;goto st995;}
+ {stack[top++] = 258;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 251;goto st1006;}
+ {stack[top++] = 258;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 251;goto st1019;}
+ {stack[top++] = 258;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 251;goto st1029;}
+ {stack[top++] = 258;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 251;goto st1068;}
+ {stack[top++] = 258;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 251;goto st1254;}
+ {stack[top++] = 258;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 251;goto st1257;}
+ {stack[top++] = 258;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 251;goto st1268;}
+ {stack[top++] = 258;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 251;goto st1270;}
+ {stack[top++] = 258;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 251;goto st1299;}
+ {stack[top++] = 258;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 251;goto st1312;}
+ {stack[top++] = 258;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 251;goto st1325;}
+ {stack[top++] = 258;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 251;goto st1331;}
+ {stack[top++] = 258;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 251;goto st1349;}
+ {stack[top++] = 258;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 251;goto st1344;}
+ {stack[top++] = 258;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 251;goto st1362;}
+ {stack[top++] = 258;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 251;goto st1368;}
+ {stack[top++] = 258;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 251;goto st1374;}
+ {stack[top++] = 258;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 251;goto st1382;}
+ {stack[top++] = 258;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 251;goto st1390;}
+ {stack[top++] = 258;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 251;goto st309;} }
- goto st251;
-st251:
+ { p--; {stack[top++] = 258;goto st318;} }
+ goto st258;
+st258:
if ( ++p == pe )
- goto _test_eof251;
-case 251:
+ goto _test_eof258;
+case 258:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -35074,21 +35919,21 @@ case 251:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr872;
- case 32: goto tr872;
- case 40: goto tr873;
- case 41: goto tr874;
+ case 9: goto tr890;
+ case 32: goto tr890;
+ case 40: goto tr891;
+ case 41: goto tr892;
case 73: goto st94;
case 88: goto st98;
case 105: goto st94;
case 120: goto st98;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr875;
- case 2107: goto tr876;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr893;
+ case 2107: goto tr894;
}
- goto tr890;
-tr4304:
+ goto tr908;
+tr4386:
{
s->r_class = s->default_class;
}
@@ -35099,100 +35944,101 @@ tr4304:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 252;goto st844;}
+ {stack[top++] = 259;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 252;goto st846;}
+ {stack[top++] = 259;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 252;goto st848;}
+ {stack[top++] = 259;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 252;goto st880;}
+ {stack[top++] = 259;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 252;goto st885;}
+ {stack[top++] = 259;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 252;goto st890;}
+ {stack[top++] = 259;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 252;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 259;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 252;goto st899;}
+ {stack[top++] = 259;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 252;goto st901;}
+ {stack[top++] = 259;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 252;goto st956;}
+ {stack[top++] = 259;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 252;goto st967;}
+ {stack[top++] = 259;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 252;goto st984;}
+ {stack[top++] = 259;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 252;goto st995;}
+ {stack[top++] = 259;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 252;goto st1006;}
+ {stack[top++] = 259;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 252;goto st1019;}
+ {stack[top++] = 259;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 252;goto st1029;}
+ {stack[top++] = 259;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 252;goto st1068;}
+ {stack[top++] = 259;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 252;goto st1254;}
+ {stack[top++] = 259;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 252;goto st1257;}
+ {stack[top++] = 259;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 252;goto st1268;}
+ {stack[top++] = 259;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 252;goto st1270;}
+ {stack[top++] = 259;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 252;goto st1299;}
+ {stack[top++] = 259;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 252;goto st1312;}
+ {stack[top++] = 259;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 252;goto st1325;}
+ {stack[top++] = 259;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 252;goto st1331;}
+ {stack[top++] = 259;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 252;goto st1349;}
+ {stack[top++] = 259;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 252;goto st1344;}
+ {stack[top++] = 259;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 252;goto st1362;}
+ {stack[top++] = 259;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 252;goto st1368;}
+ {stack[top++] = 259;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 252;goto st1374;}
+ {stack[top++] = 259;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 252;goto st1382;}
+ {stack[top++] = 259;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 252;goto st1390;}
+ {stack[top++] = 259;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 252;goto st309;} }
- goto st252;
-st252:
+ { p--; {stack[top++] = 259;goto st318;} }
+ goto st259;
+st259:
if ( ++p == pe )
- goto _test_eof252;
-case 252:
+ goto _test_eof259;
+case 259:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -35206,23 +36052,23 @@ case 252:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr872;
- case 32: goto tr872;
- case 40: goto tr873;
- case 41: goto tr874;
+ case 9: goto tr890;
+ case 32: goto tr890;
+ case 40: goto tr891;
+ case 41: goto tr892;
case 65: goto st100;
case 73: goto st104;
case 83: goto st106;
case 97: goto st100;
case 105: goto st104;
case 115: goto st106;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr875;
- case 2107: goto tr876;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr893;
+ case 2107: goto tr894;
}
- goto tr890;
-tr4305:
+ goto tr908;
+tr4387:
{
s->r_class = s->default_class;
}
@@ -35233,100 +36079,101 @@ tr4305:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 253;goto st844;}
+ {stack[top++] = 260;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 253;goto st846;}
+ {stack[top++] = 260;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 253;goto st848;}
+ {stack[top++] = 260;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 253;goto st880;}
+ {stack[top++] = 260;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 253;goto st885;}
+ {stack[top++] = 260;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 253;goto st890;}
+ {stack[top++] = 260;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 253;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 260;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 253;goto st899;}
+ {stack[top++] = 260;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 253;goto st901;}
+ {stack[top++] = 260;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 253;goto st956;}
+ {stack[top++] = 260;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 253;goto st967;}
+ {stack[top++] = 260;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 253;goto st984;}
+ {stack[top++] = 260;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 253;goto st995;}
+ {stack[top++] = 260;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 253;goto st1006;}
+ {stack[top++] = 260;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 253;goto st1019;}
+ {stack[top++] = 260;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 253;goto st1029;}
+ {stack[top++] = 260;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 253;goto st1068;}
+ {stack[top++] = 260;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 253;goto st1254;}
+ {stack[top++] = 260;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 253;goto st1257;}
+ {stack[top++] = 260;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 253;goto st1268;}
+ {stack[top++] = 260;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 253;goto st1270;}
+ {stack[top++] = 260;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 253;goto st1299;}
+ {stack[top++] = 260;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 253;goto st1312;}
+ {stack[top++] = 260;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 253;goto st1325;}
+ {stack[top++] = 260;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 253;goto st1331;}
+ {stack[top++] = 260;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 253;goto st1349;}
+ {stack[top++] = 260;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 253;goto st1344;}
+ {stack[top++] = 260;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 253;goto st1362;}
+ {stack[top++] = 260;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 253;goto st1368;}
+ {stack[top++] = 260;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 253;goto st1374;}
+ {stack[top++] = 260;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 253;goto st1382;}
+ {stack[top++] = 260;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 253;goto st1390;}
+ {stack[top++] = 260;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 253;goto st309;} }
- goto st253;
-st253:
+ { p--; {stack[top++] = 260;goto st318;} }
+ goto st260;
+st260:
if ( ++p == pe )
- goto _test_eof253;
-case 253:
+ goto _test_eof260;
+case 260:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -35340,19 +36187,19 @@ case 253:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr872;
- case 32: goto tr872;
- case 40: goto tr873;
- case 41: goto tr874;
+ case 9: goto tr890;
+ case 32: goto tr890;
+ case 40: goto tr891;
+ case 41: goto tr892;
case 80: goto st116;
case 112: goto st116;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr875;
- case 2107: goto tr876;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr893;
+ case 2107: goto tr894;
}
- goto tr890;
-tr4306:
+ goto tr908;
+tr4388:
{
s->r_class = s->default_class;
}
@@ -35363,100 +36210,101 @@ tr4306:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 254;goto st844;}
+ {stack[top++] = 261;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 254;goto st846;}
+ {stack[top++] = 261;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 254;goto st848;}
+ {stack[top++] = 261;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 254;goto st880;}
+ {stack[top++] = 261;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 254;goto st885;}
+ {stack[top++] = 261;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 254;goto st890;}
+ {stack[top++] = 261;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 254;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 261;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 254;goto st899;}
+ {stack[top++] = 261;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 254;goto st901;}
+ {stack[top++] = 261;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 254;goto st956;}
+ {stack[top++] = 261;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 254;goto st967;}
+ {stack[top++] = 261;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 254;goto st984;}
+ {stack[top++] = 261;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 254;goto st995;}
+ {stack[top++] = 261;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 254;goto st1006;}
+ {stack[top++] = 261;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 254;goto st1019;}
+ {stack[top++] = 261;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 254;goto st1029;}
+ {stack[top++] = 261;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 254;goto st1068;}
+ {stack[top++] = 261;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 254;goto st1254;}
+ {stack[top++] = 261;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 254;goto st1257;}
+ {stack[top++] = 261;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 254;goto st1268;}
+ {stack[top++] = 261;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 254;goto st1270;}
+ {stack[top++] = 261;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 254;goto st1299;}
+ {stack[top++] = 261;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 254;goto st1312;}
+ {stack[top++] = 261;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 254;goto st1325;}
+ {stack[top++] = 261;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 254;goto st1331;}
+ {stack[top++] = 261;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 254;goto st1349;}
+ {stack[top++] = 261;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 254;goto st1344;}
+ {stack[top++] = 261;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 254;goto st1362;}
+ {stack[top++] = 261;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 254;goto st1368;}
+ {stack[top++] = 261;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 254;goto st1374;}
+ {stack[top++] = 261;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 254;goto st1382;}
+ {stack[top++] = 261;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 254;goto st1390;}
+ {stack[top++] = 261;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 254;goto st309;} }
- goto st254;
-st254:
+ { p--; {stack[top++] = 261;goto st318;} }
+ goto st261;
+st261:
if ( ++p == pe )
- goto _test_eof254;
-case 254:
+ goto _test_eof261;
+case 261:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -35470,19 +36318,19 @@ case 254:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr872;
- case 32: goto tr872;
- case 40: goto tr873;
- case 41: goto tr874;
+ case 9: goto tr890;
+ case 32: goto tr890;
+ case 40: goto tr891;
+ case 41: goto tr892;
case 84: goto st126;
case 116: goto st126;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr875;
- case 2107: goto tr876;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr893;
+ case 2107: goto tr894;
}
- goto tr890;
-tr4307:
+ goto tr908;
+tr4389:
{
s->r_class = s->default_class;
}
@@ -35493,100 +36341,101 @@ tr4307:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 255;goto st844;}
+ {stack[top++] = 262;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 255;goto st846;}
+ {stack[top++] = 262;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 255;goto st848;}
+ {stack[top++] = 262;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 255;goto st880;}
+ {stack[top++] = 262;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 255;goto st885;}
+ {stack[top++] = 262;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 255;goto st890;}
+ {stack[top++] = 262;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 255;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 262;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 255;goto st899;}
+ {stack[top++] = 262;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 255;goto st901;}
+ {stack[top++] = 262;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 255;goto st956;}
+ {stack[top++] = 262;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 255;goto st967;}
+ {stack[top++] = 262;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 255;goto st984;}
+ {stack[top++] = 262;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 255;goto st995;}
+ {stack[top++] = 262;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 255;goto st1006;}
+ {stack[top++] = 262;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 255;goto st1019;}
+ {stack[top++] = 262;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 255;goto st1029;}
+ {stack[top++] = 262;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 255;goto st1068;}
+ {stack[top++] = 262;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 255;goto st1254;}
+ {stack[top++] = 262;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 255;goto st1257;}
+ {stack[top++] = 262;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 255;goto st1268;}
+ {stack[top++] = 262;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 255;goto st1270;}
+ {stack[top++] = 262;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 255;goto st1299;}
+ {stack[top++] = 262;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 255;goto st1312;}
+ {stack[top++] = 262;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 255;goto st1325;}
+ {stack[top++] = 262;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 255;goto st1331;}
+ {stack[top++] = 262;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 255;goto st1349;}
+ {stack[top++] = 262;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 255;goto st1344;}
+ {stack[top++] = 262;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 255;goto st1362;}
+ {stack[top++] = 262;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 255;goto st1368;}
+ {stack[top++] = 262;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 255;goto st1374;}
+ {stack[top++] = 262;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 255;goto st1382;}
+ {stack[top++] = 262;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 255;goto st1390;}
+ {stack[top++] = 262;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 255;goto st309;} }
- goto st255;
-st255:
+ { p--; {stack[top++] = 262;goto st318;} }
+ goto st262;
+st262:
if ( ++p == pe )
- goto _test_eof255;
-case 255:
+ goto _test_eof262;
+case 262:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -35600,23 +36449,23 @@ case 255:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr872;
- case 32: goto tr872;
- case 40: goto tr873;
- case 41: goto tr874;
+ case 9: goto tr890;
+ case 32: goto tr890;
+ case 40: goto tr891;
+ case 41: goto tr892;
case 80: goto st129;
case 82: goto st130;
case 84: goto st134;
case 112: goto st129;
case 114: goto st130;
case 116: goto st134;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr875;
- case 2107: goto tr876;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr893;
+ case 2107: goto tr894;
}
- goto tr890;
-tr4308:
+ goto tr908;
+tr4390:
{
s->r_class = s->default_class;
}
@@ -35627,100 +36476,101 @@ tr4308:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 256;goto st844;}
+ {stack[top++] = 263;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 256;goto st846;}
+ {stack[top++] = 263;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 256;goto st848;}
+ {stack[top++] = 263;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 256;goto st880;}
+ {stack[top++] = 263;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 256;goto st885;}
+ {stack[top++] = 263;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 256;goto st890;}
+ {stack[top++] = 263;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 256;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 263;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 256;goto st899;}
+ {stack[top++] = 263;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 256;goto st901;}
+ {stack[top++] = 263;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 256;goto st956;}
+ {stack[top++] = 263;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 256;goto st967;}
+ {stack[top++] = 263;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 256;goto st984;}
+ {stack[top++] = 263;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 256;goto st995;}
+ {stack[top++] = 263;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 256;goto st1006;}
+ {stack[top++] = 263;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 256;goto st1019;}
+ {stack[top++] = 263;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 256;goto st1029;}
+ {stack[top++] = 263;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 256;goto st1068;}
+ {stack[top++] = 263;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 256;goto st1254;}
+ {stack[top++] = 263;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 256;goto st1257;}
+ {stack[top++] = 263;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 256;goto st1268;}
+ {stack[top++] = 263;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 256;goto st1270;}
+ {stack[top++] = 263;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 256;goto st1299;}
+ {stack[top++] = 263;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 256;goto st1312;}
+ {stack[top++] = 263;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 256;goto st1325;}
+ {stack[top++] = 263;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 256;goto st1331;}
+ {stack[top++] = 263;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 256;goto st1349;}
+ {stack[top++] = 263;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 256;goto st1344;}
+ {stack[top++] = 263;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 256;goto st1362;}
+ {stack[top++] = 263;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 256;goto st1368;}
+ {stack[top++] = 263;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 256;goto st1374;}
+ {stack[top++] = 263;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 256;goto st1382;}
+ {stack[top++] = 263;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 256;goto st1390;}
+ {stack[top++] = 263;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 256;goto st309;} }
- goto st256;
-st256:
+ { p--; {stack[top++] = 263;goto st318;} }
+ goto st263;
+st263:
if ( ++p == pe )
- goto _test_eof256;
-case 256:
+ goto _test_eof263;
+case 263:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -35734,10 +36584,10 @@ case 256:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr872;
- case 32: goto tr872;
- case 40: goto tr873;
- case 41: goto tr874;
+ case 9: goto tr890;
+ case 32: goto tr890;
+ case 40: goto tr891;
+ case 41: goto tr892;
case 77: goto st136;
case 79: goto st141;
case 80: goto st143;
@@ -35750,13 +36600,13 @@ case 256:
case 114: goto st145;
case 115: goto st147;
case 118: goto st151;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr875;
- case 2107: goto tr876;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr893;
+ case 2107: goto tr894;
}
- goto tr890;
-tr4309:
+ goto tr908;
+tr4391:
{
s->r_class = s->default_class;
}
@@ -35767,100 +36617,101 @@ tr4309:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 257;goto st844;}
+ {stack[top++] = 264;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 257;goto st846;}
+ {stack[top++] = 264;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 257;goto st848;}
+ {stack[top++] = 264;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 257;goto st880;}
+ {stack[top++] = 264;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 257;goto st885;}
+ {stack[top++] = 264;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 257;goto st890;}
+ {stack[top++] = 264;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 257;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 264;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 257;goto st899;}
+ {stack[top++] = 264;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 257;goto st901;}
+ {stack[top++] = 264;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 257;goto st956;}
+ {stack[top++] = 264;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 257;goto st967;}
+ {stack[top++] = 264;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 257;goto st984;}
+ {stack[top++] = 264;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 257;goto st995;}
+ {stack[top++] = 264;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 257;goto st1006;}
+ {stack[top++] = 264;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 257;goto st1019;}
+ {stack[top++] = 264;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 257;goto st1029;}
+ {stack[top++] = 264;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 257;goto st1068;}
+ {stack[top++] = 264;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 257;goto st1254;}
+ {stack[top++] = 264;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 257;goto st1257;}
+ {stack[top++] = 264;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 257;goto st1268;}
+ {stack[top++] = 264;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 257;goto st1270;}
+ {stack[top++] = 264;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 257;goto st1299;}
+ {stack[top++] = 264;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 257;goto st1312;}
+ {stack[top++] = 264;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 257;goto st1325;}
+ {stack[top++] = 264;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 257;goto st1331;}
+ {stack[top++] = 264;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 257;goto st1349;}
+ {stack[top++] = 264;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 257;goto st1344;}
+ {stack[top++] = 264;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 257;goto st1362;}
+ {stack[top++] = 264;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 257;goto st1368;}
+ {stack[top++] = 264;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 257;goto st1374;}
+ {stack[top++] = 264;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 257;goto st1382;}
+ {stack[top++] = 264;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 257;goto st1390;}
+ {stack[top++] = 264;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 257;goto st309;} }
- goto st257;
-st257:
+ { p--; {stack[top++] = 264;goto st318;} }
+ goto st264;
+st264:
if ( ++p == pe )
- goto _test_eof257;
-case 257:
+ goto _test_eof264;
+case 264:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -35874,23 +36725,23 @@ case 257:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr872;
- case 32: goto tr872;
- case 40: goto tr873;
- case 41: goto tr874;
+ case 9: goto tr890;
+ case 32: goto tr890;
+ case 40: goto tr891;
+ case 41: goto tr892;
case 76: goto st155;
case 88: goto st158;
case 89: goto st160;
case 108: goto st155;
case 120: goto st158;
case 121: goto st160;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr875;
- case 2107: goto tr876;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr893;
+ case 2107: goto tr894;
}
- goto tr890;
-tr4310:
+ goto tr908;
+tr4392:
{
s->r_class = s->default_class;
}
@@ -35901,100 +36752,101 @@ tr4310:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 258;goto st844;}
+ {stack[top++] = 265;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 258;goto st846;}
+ {stack[top++] = 265;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 258;goto st848;}
+ {stack[top++] = 265;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 258;goto st880;}
+ {stack[top++] = 265;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 258;goto st885;}
+ {stack[top++] = 265;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 258;goto st890;}
+ {stack[top++] = 265;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 258;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 265;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 258;goto st899;}
+ {stack[top++] = 265;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 258;goto st901;}
+ {stack[top++] = 265;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 258;goto st956;}
+ {stack[top++] = 265;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 258;goto st967;}
+ {stack[top++] = 265;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 258;goto st984;}
+ {stack[top++] = 265;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 258;goto st995;}
+ {stack[top++] = 265;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 258;goto st1006;}
+ {stack[top++] = 265;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 258;goto st1019;}
+ {stack[top++] = 265;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 258;goto st1029;}
+ {stack[top++] = 265;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 258;goto st1068;}
+ {stack[top++] = 265;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 258;goto st1254;}
+ {stack[top++] = 265;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 258;goto st1257;}
+ {stack[top++] = 265;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 258;goto st1268;}
+ {stack[top++] = 265;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 258;goto st1270;}
+ {stack[top++] = 265;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 258;goto st1299;}
+ {stack[top++] = 265;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 258;goto st1312;}
+ {stack[top++] = 265;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 258;goto st1325;}
+ {stack[top++] = 265;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 258;goto st1331;}
+ {stack[top++] = 265;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 258;goto st1349;}
+ {stack[top++] = 265;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 258;goto st1344;}
+ {stack[top++] = 265;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 258;goto st1362;}
+ {stack[top++] = 265;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 258;goto st1368;}
+ {stack[top++] = 265;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 258;goto st1374;}
+ {stack[top++] = 265;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 258;goto st1382;}
+ {stack[top++] = 265;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 258;goto st1390;}
+ {stack[top++] = 265;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 258;goto st309;} }
- goto st258;
-st258:
+ { p--; {stack[top++] = 265;goto st318;} }
+ goto st265;
+st265:
if ( ++p == pe )
- goto _test_eof258;
-case 258:
+ goto _test_eof265;
+case 265:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -36008,19 +36860,19 @@ case 258:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr872;
- case 32: goto tr872;
- case 40: goto tr873;
- case 41: goto tr874;
+ case 9: goto tr890;
+ case 32: goto tr890;
+ case 40: goto tr891;
+ case 41: goto tr892;
case 82: goto st165;
case 114: goto st165;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr875;
- case 2107: goto tr876;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr893;
+ case 2107: goto tr894;
}
- goto tr890;
-tr4311:
+ goto tr908;
+tr4393:
{
s->r_class = s->default_class;
}
@@ -36031,100 +36883,101 @@ tr4311:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 259;goto st844;}
+ {stack[top++] = 266;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 259;goto st846;}
+ {stack[top++] = 266;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 259;goto st848;}
+ {stack[top++] = 266;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 259;goto st880;}
+ {stack[top++] = 266;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 259;goto st885;}
+ {stack[top++] = 266;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 259;goto st890;}
+ {stack[top++] = 266;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 259;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 266;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 259;goto st899;}
+ {stack[top++] = 266;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 259;goto st901;}
+ {stack[top++] = 266;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 259;goto st956;}
+ {stack[top++] = 266;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 259;goto st967;}
+ {stack[top++] = 266;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 259;goto st984;}
+ {stack[top++] = 266;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 259;goto st995;}
+ {stack[top++] = 266;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 259;goto st1006;}
+ {stack[top++] = 266;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 259;goto st1019;}
+ {stack[top++] = 266;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 259;goto st1029;}
+ {stack[top++] = 266;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 259;goto st1068;}
+ {stack[top++] = 266;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 259;goto st1254;}
+ {stack[top++] = 266;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 259;goto st1257;}
+ {stack[top++] = 266;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 259;goto st1268;}
+ {stack[top++] = 266;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 259;goto st1270;}
+ {stack[top++] = 266;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 259;goto st1299;}
+ {stack[top++] = 266;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 259;goto st1312;}
+ {stack[top++] = 266;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 259;goto st1325;}
+ {stack[top++] = 266;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 259;goto st1331;}
+ {stack[top++] = 266;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 259;goto st1349;}
+ {stack[top++] = 266;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 259;goto st1344;}
+ {stack[top++] = 266;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 259;goto st1362;}
+ {stack[top++] = 266;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 259;goto st1368;}
+ {stack[top++] = 266;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 259;goto st1374;}
+ {stack[top++] = 266;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 259;goto st1382;}
+ {stack[top++] = 266;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 259;goto st1390;}
+ {stack[top++] = 266;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 259;goto st309;} }
- goto st259;
-st259:
+ { p--; {stack[top++] = 266;goto st318;} }
+ goto st266;
+st266:
if ( ++p == pe )
- goto _test_eof259;
-case 259:
+ goto _test_eof266;
+case 266:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -36138,19 +36991,150 @@ case 259:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr872;
- case 32: goto tr872;
- case 40: goto tr873;
- case 41: goto tr874;
- case 79: goto st168;
- case 111: goto st168;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr875;
- case 2107: goto tr876;
- }
- goto tr890;
-tr4220:
+ case 9: goto tr890;
+ case 32: goto tr890;
+ case 40: goto tr891;
+ case 41: goto tr892;
+ case 65: goto st168;
+ case 97: goto st168;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr893;
+ case 2107: goto tr894;
+ }
+ goto tr908;
+tr4394:
+ {
+ s->r_class = s->default_class;
+ }
+ {
+ s->r_ttl = s->default_ttl;
+ }
+ {
+ p--;
+ switch (s->r_type) {
+ case KNOT_RRTYPE_A:
+ {stack[top++] = 267;goto st886;}
+ case KNOT_RRTYPE_NS:
+ case KNOT_RRTYPE_CNAME:
+ case KNOT_RRTYPE_PTR:
+ case KNOT_RRTYPE_DNAME:
+ {stack[top++] = 267;goto st888;}
+ case KNOT_RRTYPE_SOA:
+ {stack[top++] = 267;goto st890;}
+ case KNOT_RRTYPE_HINFO:
+ {stack[top++] = 267;goto st922;}
+ case KNOT_RRTYPE_MINFO:
+ case KNOT_RRTYPE_RP:
+ {stack[top++] = 267;goto st927;}
+ case KNOT_RRTYPE_MX:
+ case KNOT_RRTYPE_AFSDB:
+ case KNOT_RRTYPE_RT:
+ case KNOT_RRTYPE_KX:
+ case KNOT_RRTYPE_LP:
+ {stack[top++] = 267;goto st932;}
+ case KNOT_RRTYPE_TXT:
+ case KNOT_RRTYPE_SPF:
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 267;goto st937;}
+ case KNOT_RRTYPE_AAAA:
+ {stack[top++] = 267;goto st941;}
+ case KNOT_RRTYPE_LOC:
+ {stack[top++] = 267;goto st943;}
+ case KNOT_RRTYPE_SRV:
+ {stack[top++] = 267;goto st998;}
+ case KNOT_RRTYPE_NAPTR:
+ {stack[top++] = 267;goto st1009;}
+ case KNOT_RRTYPE_CERT:
+ {stack[top++] = 267;goto st1026;}
+ case KNOT_RRTYPE_APL:
+ {stack[top++] = 267;goto st1037;}
+ case KNOT_RRTYPE_DS:
+ case KNOT_RRTYPE_CDS:
+ {stack[top++] = 267;goto st1048;}
+ case KNOT_RRTYPE_SSHFP:
+ {stack[top++] = 267;goto st1061;}
+ case KNOT_RRTYPE_IPSECKEY:
+ {stack[top++] = 267;goto st1071;}
+ case KNOT_RRTYPE_RRSIG:
+ {stack[top++] = 267;goto st1110;}
+ case KNOT_RRTYPE_NSEC:
+ {stack[top++] = 267;goto st1302;}
+ case KNOT_RRTYPE_KEY:
+ case KNOT_RRTYPE_DNSKEY:
+ case KNOT_RRTYPE_CDNSKEY:
+ {stack[top++] = 267;goto st1305;}
+ case KNOT_RRTYPE_DHCID:
+ case KNOT_RRTYPE_OPENPGPKEY:
+ {stack[top++] = 267;goto st1316;}
+ case KNOT_RRTYPE_NSEC3:
+ {stack[top++] = 267;goto st1318;}
+ case KNOT_RRTYPE_NSEC3PARAM:
+ {stack[top++] = 267;goto st1347;}
+ case KNOT_RRTYPE_TLSA:
+ case KNOT_RRTYPE_SMIMEA:
+ {stack[top++] = 267;goto st1360;}
+ case KNOT_RRTYPE_CSYNC:
+ {stack[top++] = 267;goto st1373;}
+ case KNOT_RRTYPE_ZONEMD:
+ {stack[top++] = 267;goto st1379;}
+ case KNOT_RRTYPE_NID:
+ case KNOT_RRTYPE_L64:
+ {stack[top++] = 267;goto st1397;}
+ case KNOT_RRTYPE_L32:
+ {stack[top++] = 267;goto st1392;}
+ case KNOT_RRTYPE_EUI48:
+ {stack[top++] = 267;goto st1410;}
+ case KNOT_RRTYPE_EUI64:
+ {stack[top++] = 267;goto st1416;}
+ case KNOT_RRTYPE_URI:
+ {stack[top++] = 267;goto st1422;}
+ case KNOT_RRTYPE_CAA:
+ {stack[top++] = 267;goto st1430;}
+ case KNOT_RRTYPE_SVCB:
+ case KNOT_RRTYPE_HTTPS:
+ {stack[top++] = 267;goto st1438;}
+ default:
+ WARN(ZS_CANNOT_TEXT_DATA);
+ {goto st316;}
+ }
+ }
+ {
+ s->dname = s->r_owner;
+ s->r_owner_length = 0;
+ }
+ { p--; {stack[top++] = 267;goto st318;} }
+ goto st267;
+st267:
+ if ( ++p == pe )
+ goto _test_eof267;
+case 267:
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(1664 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(1664 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ }
+ switch( _widec ) {
+ case 9: goto tr890;
+ case 32: goto tr890;
+ case 40: goto tr891;
+ case 41: goto tr892;
+ case 79: goto st174;
+ case 111: goto st174;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr893;
+ case 2107: goto tr894;
+ }
+ goto tr908;
+tr4300:
{
if (pe - p == 1) {
*wrap = WRAP_DETECTED;
@@ -36160,12 +37144,12 @@ tr4220:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 260;goto st309;} }
- goto st260;
-st260:
+ { p--; {stack[top++] = 268;goto st318;} }
+ goto st268;
+st268:
if ( ++p == pe )
- goto _test_eof260;
-case 260:
+ goto _test_eof268;
+case 268:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -36179,26 +37163,26 @@ case 260:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr903;
- case 32: goto tr903;
- case 35: goto tr98;
- case 40: goto tr905;
- case 41: goto tr906;
- case 1802: goto tr97;
- case 1851: goto tr97;
- case 2058: goto tr907;
- case 2107: goto tr908;
+ case 9: goto tr921;
+ case 32: goto tr921;
+ case 35: goto tr100;
+ case 40: goto tr923;
+ case 41: goto tr924;
+ case 1802: goto tr99;
+ case 1851: goto tr99;
+ case 2058: goto tr925;
+ case 2107: goto tr926;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr97;
+ goto tr99;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr97;
+ goto tr99;
} else
- goto tr97;
- goto tr904;
-tr903:
+ goto tr99;
+ goto tr922;
+tr921:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -36211,99 +37195,100 @@ tr903:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 261;goto st844;}
+ {stack[top++] = 269;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 261;goto st846;}
+ {stack[top++] = 269;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 261;goto st848;}
+ {stack[top++] = 269;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 261;goto st880;}
+ {stack[top++] = 269;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 261;goto st885;}
+ {stack[top++] = 269;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 261;goto st890;}
+ {stack[top++] = 269;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 261;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 269;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 261;goto st899;}
+ {stack[top++] = 269;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 261;goto st901;}
+ {stack[top++] = 269;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 261;goto st956;}
+ {stack[top++] = 269;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 261;goto st967;}
+ {stack[top++] = 269;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 261;goto st984;}
+ {stack[top++] = 269;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 261;goto st995;}
+ {stack[top++] = 269;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 261;goto st1006;}
+ {stack[top++] = 269;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 261;goto st1019;}
+ {stack[top++] = 269;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 261;goto st1029;}
+ {stack[top++] = 269;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 261;goto st1068;}
+ {stack[top++] = 269;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 261;goto st1254;}
+ {stack[top++] = 269;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 261;goto st1257;}
+ {stack[top++] = 269;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 261;goto st1268;}
+ {stack[top++] = 269;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 261;goto st1270;}
+ {stack[top++] = 269;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 261;goto st1299;}
+ {stack[top++] = 269;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 261;goto st1312;}
+ {stack[top++] = 269;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 261;goto st1325;}
+ {stack[top++] = 269;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 261;goto st1331;}
+ {stack[top++] = 269;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 261;goto st1349;}
+ {stack[top++] = 269;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 261;goto st1344;}
+ {stack[top++] = 269;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 261;goto st1362;}
+ {stack[top++] = 269;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 261;goto st1368;}
+ {stack[top++] = 269;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 261;goto st1374;}
+ {stack[top++] = 269;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 261;goto st1382;}
+ {stack[top++] = 269;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 261;goto st1390;}
+ {stack[top++] = 269;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st261;
-tr905:
+ goto st269;
+tr923:
{
s->r_owner_length = s->dname_tmp_length;
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -36316,99 +37301,100 @@ tr905:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 261;goto st844;}
+ {stack[top++] = 269;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 261;goto st846;}
+ {stack[top++] = 269;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 261;goto st848;}
+ {stack[top++] = 269;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 261;goto st880;}
+ {stack[top++] = 269;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 261;goto st885;}
+ {stack[top++] = 269;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 261;goto st890;}
+ {stack[top++] = 269;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 261;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 269;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 261;goto st899;}
+ {stack[top++] = 269;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 261;goto st901;}
+ {stack[top++] = 269;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 261;goto st956;}
+ {stack[top++] = 269;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 261;goto st967;}
+ {stack[top++] = 269;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 261;goto st984;}
+ {stack[top++] = 269;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 261;goto st995;}
+ {stack[top++] = 269;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 261;goto st1006;}
+ {stack[top++] = 269;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 261;goto st1019;}
+ {stack[top++] = 269;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 261;goto st1029;}
+ {stack[top++] = 269;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 261;goto st1068;}
+ {stack[top++] = 269;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 261;goto st1254;}
+ {stack[top++] = 269;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 261;goto st1257;}
+ {stack[top++] = 269;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 261;goto st1268;}
+ {stack[top++] = 269;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 261;goto st1270;}
+ {stack[top++] = 269;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 261;goto st1299;}
+ {stack[top++] = 269;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 261;goto st1312;}
+ {stack[top++] = 269;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 261;goto st1325;}
+ {stack[top++] = 269;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 261;goto st1331;}
+ {stack[top++] = 269;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 261;goto st1349;}
+ {stack[top++] = 269;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 261;goto st1344;}
+ {stack[top++] = 269;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 261;goto st1362;}
+ {stack[top++] = 269;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 261;goto st1368;}
+ {stack[top++] = 269;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 261;goto st1374;}
+ {stack[top++] = 269;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 261;goto st1382;}
+ {stack[top++] = 269;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 261;goto st1390;}
+ {stack[top++] = 269;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st261;
-tr906:
+ goto st269;
+tr924:
{
s->r_owner_length = s->dname_tmp_length;
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -36421,92 +37407,93 @@ tr906:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 261;goto st844;}
+ {stack[top++] = 269;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 261;goto st846;}
+ {stack[top++] = 269;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 261;goto st848;}
+ {stack[top++] = 269;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 261;goto st880;}
+ {stack[top++] = 269;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 261;goto st885;}
+ {stack[top++] = 269;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 261;goto st890;}
+ {stack[top++] = 269;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 261;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 269;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 261;goto st899;}
+ {stack[top++] = 269;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 261;goto st901;}
+ {stack[top++] = 269;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 261;goto st956;}
+ {stack[top++] = 269;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 261;goto st967;}
+ {stack[top++] = 269;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 261;goto st984;}
+ {stack[top++] = 269;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 261;goto st995;}
+ {stack[top++] = 269;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 261;goto st1006;}
+ {stack[top++] = 269;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 261;goto st1019;}
+ {stack[top++] = 269;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 261;goto st1029;}
+ {stack[top++] = 269;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 261;goto st1068;}
+ {stack[top++] = 269;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 261;goto st1254;}
+ {stack[top++] = 269;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 261;goto st1257;}
+ {stack[top++] = 269;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 261;goto st1268;}
+ {stack[top++] = 269;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 261;goto st1270;}
+ {stack[top++] = 269;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 261;goto st1299;}
+ {stack[top++] = 269;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 261;goto st1312;}
+ {stack[top++] = 269;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 261;goto st1325;}
+ {stack[top++] = 269;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 261;goto st1331;}
+ {stack[top++] = 269;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 261;goto st1349;}
+ {stack[top++] = 269;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 261;goto st1344;}
+ {stack[top++] = 269;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 261;goto st1362;}
+ {stack[top++] = 269;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 261;goto st1368;}
+ {stack[top++] = 269;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 261;goto st1374;}
+ {stack[top++] = 269;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 261;goto st1382;}
+ {stack[top++] = 269;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 261;goto st1390;}
+ {stack[top++] = 269;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st261;
-tr907:
+ goto st269;
+tr925:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -36522,95 +37509,96 @@ tr907:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 261;goto st844;}
+ {stack[top++] = 269;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 261;goto st846;}
+ {stack[top++] = 269;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 261;goto st848;}
+ {stack[top++] = 269;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 261;goto st880;}
+ {stack[top++] = 269;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 261;goto st885;}
+ {stack[top++] = 269;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 261;goto st890;}
+ {stack[top++] = 269;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 261;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 269;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 261;goto st899;}
+ {stack[top++] = 269;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 261;goto st901;}
+ {stack[top++] = 269;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 261;goto st956;}
+ {stack[top++] = 269;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 261;goto st967;}
+ {stack[top++] = 269;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 261;goto st984;}
+ {stack[top++] = 269;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 261;goto st995;}
+ {stack[top++] = 269;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 261;goto st1006;}
+ {stack[top++] = 269;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 261;goto st1019;}
+ {stack[top++] = 269;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 261;goto st1029;}
+ {stack[top++] = 269;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 261;goto st1068;}
+ {stack[top++] = 269;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 261;goto st1254;}
+ {stack[top++] = 269;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 261;goto st1257;}
+ {stack[top++] = 269;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 261;goto st1268;}
+ {stack[top++] = 269;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 261;goto st1270;}
+ {stack[top++] = 269;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 261;goto st1299;}
+ {stack[top++] = 269;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 261;goto st1312;}
+ {stack[top++] = 269;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 261;goto st1325;}
+ {stack[top++] = 269;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 261;goto st1331;}
+ {stack[top++] = 269;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 261;goto st1349;}
+ {stack[top++] = 269;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 261;goto st1344;}
+ {stack[top++] = 269;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 261;goto st1362;}
+ {stack[top++] = 269;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 261;goto st1368;}
+ {stack[top++] = 269;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 261;goto st1374;}
+ {stack[top++] = 269;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 261;goto st1382;}
+ {stack[top++] = 269;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 261;goto st1390;}
+ {stack[top++] = 269;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st261;
-st261:
+ goto st269;
+st269:
if ( ++p == pe )
- goto _test_eof261;
-case 261:
+ goto _test_eof269;
+case 269:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -36624,10 +37612,10 @@ case 261:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr909;
- case 32: goto tr909;
- case 40: goto tr910;
- case 41: goto tr911;
+ case 9: goto tr927;
+ case 32: goto tr927;
+ case 40: goto tr928;
+ case 41: goto tr929;
case 65: goto tr5;
case 67: goto tr6;
case 68: goto tr7;
@@ -36644,7 +37632,8 @@ case 261:
case 83: goto tr18;
case 84: goto tr19;
case 85: goto tr20;
- case 90: goto tr21;
+ case 87: goto tr21;
+ case 90: goto tr22;
case 97: goto tr5;
case 99: goto tr6;
case 100: goto tr7;
@@ -36661,16 +37650,17 @@ case 261:
case 115: goto tr18;
case 116: goto tr19;
case 117: goto tr20;
- case 122: goto tr21;
- case 1802: goto tr87;
- case 1851: goto tr88;
- case 2058: goto tr912;
- case 2107: goto tr913;
+ case 119: goto tr21;
+ case 122: goto tr22;
+ case 1802: goto tr89;
+ case 1851: goto tr90;
+ case 2058: goto tr930;
+ case 2107: goto tr931;
}
if ( 48 <= _widec && _widec <= 57 )
goto tr4;
- goto tr118;
-tr908:
+ goto tr120;
+tr926:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -36686,95 +37676,96 @@ tr908:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 262;goto st844;}
+ {stack[top++] = 270;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 262;goto st846;}
+ {stack[top++] = 270;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 262;goto st848;}
+ {stack[top++] = 270;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 262;goto st880;}
+ {stack[top++] = 270;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 262;goto st885;}
+ {stack[top++] = 270;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 262;goto st890;}
+ {stack[top++] = 270;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 262;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 270;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 262;goto st899;}
+ {stack[top++] = 270;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 262;goto st901;}
+ {stack[top++] = 270;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 262;goto st956;}
+ {stack[top++] = 270;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 262;goto st967;}
+ {stack[top++] = 270;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 262;goto st984;}
+ {stack[top++] = 270;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 262;goto st995;}
+ {stack[top++] = 270;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 262;goto st1006;}
+ {stack[top++] = 270;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 262;goto st1019;}
+ {stack[top++] = 270;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 262;goto st1029;}
+ {stack[top++] = 270;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 262;goto st1068;}
+ {stack[top++] = 270;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 262;goto st1254;}
+ {stack[top++] = 270;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 262;goto st1257;}
+ {stack[top++] = 270;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 262;goto st1268;}
+ {stack[top++] = 270;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 262;goto st1270;}
+ {stack[top++] = 270;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 262;goto st1299;}
+ {stack[top++] = 270;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 262;goto st1312;}
+ {stack[top++] = 270;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 262;goto st1325;}
+ {stack[top++] = 270;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 262;goto st1331;}
+ {stack[top++] = 270;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 262;goto st1349;}
+ {stack[top++] = 270;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 262;goto st1344;}
+ {stack[top++] = 270;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 262;goto st1362;}
+ {stack[top++] = 270;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 262;goto st1368;}
+ {stack[top++] = 270;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 262;goto st1374;}
+ {stack[top++] = 270;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 262;goto st1382;}
+ {stack[top++] = 270;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 262;goto st1390;}
+ {stack[top++] = 270;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st262;
-st262:
+ goto st270;
+st270:
if ( ++p == pe )
- goto _test_eof262;
-case 262:
+ goto _test_eof270;
+case 270:
_widec = (*p);
if ( (*p) < 11 ) {
if ( (*p) > 9 ) {
@@ -36806,30 +37797,30 @@ case 262:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 1801: goto tr84;
- case 1802: goto tr87;
- case 1824: goto tr84;
- case 1832: goto tr85;
- case 1833: goto tr86;
- case 1851: goto tr88;
- case 2057: goto tr914;
- case 2058: goto tr915;
- case 2080: goto tr914;
- case 2088: goto tr916;
- case 2089: goto tr917;
- case 2107: goto tr918;
+ case 1801: goto tr86;
+ case 1802: goto tr89;
+ case 1824: goto tr86;
+ case 1832: goto tr87;
+ case 1833: goto tr88;
+ case 1851: goto tr90;
+ case 2057: goto tr932;
+ case 2058: goto tr933;
+ case 2080: goto tr932;
+ case 2088: goto tr934;
+ case 2089: goto tr935;
+ case 2107: goto tr936;
}
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr777;
- goto tr83;
-tr919:
+ goto tr795;
+ goto tr85;
+tr937:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st263;
-tr914:
+ goto st271;
+tr932:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -36839,8 +37830,8 @@ tr914:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st263;
-tr916:
+ goto st271;
+tr934:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -36853,12 +37844,12 @@ tr916:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st263;
-tr917:
+ goto st271;
+tr935:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -36871,12 +37862,12 @@ tr917:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st263;
-tr920:
+ goto st271;
+tr938:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -36885,12 +37876,12 @@ tr920:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st263;
-tr921:
+ goto st271;
+tr939:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -36899,15 +37890,15 @@ tr921:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st263;
-st263:
+ goto st271;
+st271:
if ( ++p == pe )
- goto _test_eof263;
-case 263:
+ goto _test_eof271;
+case 271:
_widec = (*p);
if ( (*p) < 11 ) {
if ( (*p) > 9 ) {
@@ -36940,22 +37931,22 @@ case 263:
}
switch( _widec ) {
case 1801: goto st7;
- case 1802: goto tr93;
+ case 1802: goto tr95;
case 1824: goto st7;
- case 1832: goto tr91;
- case 1833: goto tr92;
- case 1851: goto tr94;
- case 2057: goto tr919;
- case 2058: goto tr844;
- case 2080: goto tr919;
- case 2088: goto tr920;
- case 2089: goto tr921;
- case 2107: goto tr922;
+ case 1832: goto tr93;
+ case 1833: goto tr94;
+ case 1851: goto tr96;
+ case 2057: goto tr937;
+ case 2058: goto tr862;
+ case 2080: goto tr937;
+ case 2088: goto tr938;
+ case 2089: goto tr939;
+ case 2107: goto tr940;
}
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr777;
- goto tr89;
-tr858:
+ goto tr795;
+ goto tr91;
+tr876:
{
s->buffer_length = 0;
}
@@ -36963,92 +37954,93 @@ tr858:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 264;goto st844;}
+ {stack[top++] = 272;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 264;goto st846;}
+ {stack[top++] = 272;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 264;goto st848;}
+ {stack[top++] = 272;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 264;goto st880;}
+ {stack[top++] = 272;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 264;goto st885;}
+ {stack[top++] = 272;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 264;goto st890;}
+ {stack[top++] = 272;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 264;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 272;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 264;goto st899;}
+ {stack[top++] = 272;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 264;goto st901;}
+ {stack[top++] = 272;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 264;goto st956;}
+ {stack[top++] = 272;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 264;goto st967;}
+ {stack[top++] = 272;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 264;goto st984;}
+ {stack[top++] = 272;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 264;goto st995;}
+ {stack[top++] = 272;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 264;goto st1006;}
+ {stack[top++] = 272;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 264;goto st1019;}
+ {stack[top++] = 272;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 264;goto st1029;}
+ {stack[top++] = 272;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 264;goto st1068;}
+ {stack[top++] = 272;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 264;goto st1254;}
+ {stack[top++] = 272;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 264;goto st1257;}
+ {stack[top++] = 272;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 264;goto st1268;}
+ {stack[top++] = 272;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 264;goto st1270;}
+ {stack[top++] = 272;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 264;goto st1299;}
+ {stack[top++] = 272;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 264;goto st1312;}
+ {stack[top++] = 272;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 264;goto st1325;}
+ {stack[top++] = 272;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 264;goto st1331;}
+ {stack[top++] = 272;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 264;goto st1349;}
+ {stack[top++] = 272;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 264;goto st1344;}
+ {stack[top++] = 272;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 264;goto st1362;}
+ {stack[top++] = 272;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 264;goto st1368;}
+ {stack[top++] = 272;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 264;goto st1374;}
+ {stack[top++] = 272;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 264;goto st1382;}
+ {stack[top++] = 272;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 264;goto st1390;}
+ {stack[top++] = 272;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st264;
-tr989:
+ goto st272;
+tr1007:
{
s->buffer_length = 0;
}
@@ -37056,96 +38048,97 @@ tr989:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 264;goto st844;}
+ {stack[top++] = 272;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 264;goto st846;}
+ {stack[top++] = 272;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 264;goto st848;}
+ {stack[top++] = 272;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 264;goto st880;}
+ {stack[top++] = 272;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 264;goto st885;}
+ {stack[top++] = 272;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 264;goto st890;}
+ {stack[top++] = 272;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 264;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 272;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 264;goto st899;}
+ {stack[top++] = 272;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 264;goto st901;}
+ {stack[top++] = 272;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 264;goto st956;}
+ {stack[top++] = 272;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 264;goto st967;}
+ {stack[top++] = 272;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 264;goto st984;}
+ {stack[top++] = 272;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 264;goto st995;}
+ {stack[top++] = 272;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 264;goto st1006;}
+ {stack[top++] = 272;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 264;goto st1019;}
+ {stack[top++] = 272;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 264;goto st1029;}
+ {stack[top++] = 272;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 264;goto st1068;}
+ {stack[top++] = 272;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 264;goto st1254;}
+ {stack[top++] = 272;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 264;goto st1257;}
+ {stack[top++] = 272;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 264;goto st1268;}
+ {stack[top++] = 272;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 264;goto st1270;}
+ {stack[top++] = 272;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 264;goto st1299;}
+ {stack[top++] = 272;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 264;goto st1312;}
+ {stack[top++] = 272;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 264;goto st1325;}
+ {stack[top++] = 272;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 264;goto st1331;}
+ {stack[top++] = 272;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 264;goto st1349;}
+ {stack[top++] = 272;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 264;goto st1344;}
+ {stack[top++] = 272;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 264;goto st1362;}
+ {stack[top++] = 272;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 264;goto st1368;}
+ {stack[top++] = 272;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 264;goto st1374;}
+ {stack[top++] = 272;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 264;goto st1382;}
+ {stack[top++] = 272;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 264;goto st1390;}
+ {stack[top++] = 272;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st264;
-tr897:
+ goto st272;
+tr915:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -37160,96 +38153,97 @@ tr897:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 264;goto st844;}
+ {stack[top++] = 272;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 264;goto st846;}
+ {stack[top++] = 272;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 264;goto st848;}
+ {stack[top++] = 272;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 264;goto st880;}
+ {stack[top++] = 272;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 264;goto st885;}
+ {stack[top++] = 272;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 264;goto st890;}
+ {stack[top++] = 272;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 264;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 272;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 264;goto st899;}
+ {stack[top++] = 272;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 264;goto st901;}
+ {stack[top++] = 272;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 264;goto st956;}
+ {stack[top++] = 272;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 264;goto st967;}
+ {stack[top++] = 272;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 264;goto st984;}
+ {stack[top++] = 272;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 264;goto st995;}
+ {stack[top++] = 272;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 264;goto st1006;}
+ {stack[top++] = 272;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 264;goto st1019;}
+ {stack[top++] = 272;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 264;goto st1029;}
+ {stack[top++] = 272;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 264;goto st1068;}
+ {stack[top++] = 272;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 264;goto st1254;}
+ {stack[top++] = 272;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 264;goto st1257;}
+ {stack[top++] = 272;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 264;goto st1268;}
+ {stack[top++] = 272;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 264;goto st1270;}
+ {stack[top++] = 272;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 264;goto st1299;}
+ {stack[top++] = 272;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 264;goto st1312;}
+ {stack[top++] = 272;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 264;goto st1325;}
+ {stack[top++] = 272;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 264;goto st1331;}
+ {stack[top++] = 272;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 264;goto st1349;}
+ {stack[top++] = 272;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 264;goto st1344;}
+ {stack[top++] = 272;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 264;goto st1362;}
+ {stack[top++] = 272;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 264;goto st1368;}
+ {stack[top++] = 272;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 264;goto st1374;}
+ {stack[top++] = 272;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 264;goto st1382;}
+ {stack[top++] = 272;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 264;goto st1390;}
+ {stack[top++] = 272;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st264;
-tr4292:
+ goto st272;
+tr4374:
{
s->buffer_length = 0;
}
@@ -37257,88 +38251,89 @@ tr4292:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 264;goto st844;}
+ {stack[top++] = 272;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 264;goto st846;}
+ {stack[top++] = 272;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 264;goto st848;}
+ {stack[top++] = 272;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 264;goto st880;}
+ {stack[top++] = 272;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 264;goto st885;}
+ {stack[top++] = 272;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 264;goto st890;}
+ {stack[top++] = 272;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 264;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 272;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 264;goto st899;}
+ {stack[top++] = 272;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 264;goto st901;}
+ {stack[top++] = 272;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 264;goto st956;}
+ {stack[top++] = 272;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 264;goto st967;}
+ {stack[top++] = 272;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 264;goto st984;}
+ {stack[top++] = 272;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 264;goto st995;}
+ {stack[top++] = 272;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 264;goto st1006;}
+ {stack[top++] = 272;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 264;goto st1019;}
+ {stack[top++] = 272;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 264;goto st1029;}
+ {stack[top++] = 272;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 264;goto st1068;}
+ {stack[top++] = 272;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 264;goto st1254;}
+ {stack[top++] = 272;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 264;goto st1257;}
+ {stack[top++] = 272;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 264;goto st1268;}
+ {stack[top++] = 272;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 264;goto st1270;}
+ {stack[top++] = 272;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 264;goto st1299;}
+ {stack[top++] = 272;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 264;goto st1312;}
+ {stack[top++] = 272;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 264;goto st1325;}
+ {stack[top++] = 272;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 264;goto st1331;}
+ {stack[top++] = 272;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 264;goto st1349;}
+ {stack[top++] = 272;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 264;goto st1344;}
+ {stack[top++] = 272;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 264;goto st1362;}
+ {stack[top++] = 272;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 264;goto st1368;}
+ {stack[top++] = 272;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 264;goto st1374;}
+ {stack[top++] = 272;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 264;goto st1382;}
+ {stack[top++] = 272;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 264;goto st1390;}
+ {stack[top++] = 272;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
@@ -37348,14 +38343,14 @@ tr4292:
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st264;
-st264:
+ goto st272;
+st272:
if ( ++p == pe )
- goto _test_eof264;
-case 264:
+ goto _test_eof272;
+case 272:
_widec = (*p);
if ( (*p) < 11 ) {
if ( (*p) > 9 ) {
@@ -37387,33 +38382,33 @@ case 264:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 1801: goto tr845;
- case 1802: goto tr848;
- case 1824: goto tr845;
- case 1832: goto tr846;
- case 1833: goto tr847;
- case 1851: goto tr849;
- case 2057: goto tr923;
- case 2058: goto tr915;
- case 2080: goto tr923;
- case 2088: goto tr924;
- case 2089: goto tr925;
- case 2107: goto tr926;
+ case 1801: goto tr863;
+ case 1802: goto tr866;
+ case 1824: goto tr863;
+ case 1832: goto tr864;
+ case 1833: goto tr865;
+ case 1851: goto tr867;
+ case 2057: goto tr941;
+ case 2058: goto tr933;
+ case 2080: goto tr941;
+ case 2088: goto tr942;
+ case 2089: goto tr943;
+ case 2107: goto tr944;
}
if ( _widec > 1919 ) {
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr859;
+ goto tr877;
} else if ( _widec >= 1664 )
- goto tr95;
- goto tr83;
-tr927:
+ goto tr97;
+ goto tr85;
+tr945:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st265;
-tr923:
+ goto st273;
+tr941:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -37423,8 +38418,8 @@ tr923:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st265;
-tr924:
+ goto st273;
+tr942:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -37437,12 +38432,12 @@ tr924:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st265;
-tr925:
+ goto st273;
+tr943:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -37455,12 +38450,12 @@ tr925:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st265;
-tr928:
+ goto st273;
+tr946:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -37469,12 +38464,12 @@ tr928:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st265;
-tr929:
+ goto st273;
+tr947:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -37483,15 +38478,15 @@ tr929:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st265;
-st265:
+ goto st273;
+st273:
if ( ++p == pe )
- goto _test_eof265;
-case 265:
+ goto _test_eof273;
+case 273:
_widec = (*p);
if ( (*p) < 11 ) {
if ( (*p) > 9 ) {
@@ -37523,47 +38518,47 @@ case 265:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 1801: goto tr850;
- case 1802: goto tr96;
- case 1824: goto tr850;
- case 1832: goto tr851;
- case 1833: goto tr852;
- case 1851: goto tr853;
- case 2057: goto tr927;
- case 2058: goto tr844;
- case 2080: goto tr927;
- case 2088: goto tr928;
- case 2089: goto tr929;
- case 2107: goto tr930;
+ case 1801: goto tr868;
+ case 1802: goto tr98;
+ case 1824: goto tr868;
+ case 1832: goto tr869;
+ case 1833: goto tr870;
+ case 1851: goto tr871;
+ case 2057: goto tr945;
+ case 2058: goto tr862;
+ case 2080: goto tr945;
+ case 2088: goto tr946;
+ case 2089: goto tr947;
+ case 2107: goto tr948;
}
if ( _widec > 1919 ) {
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr859;
+ goto tr877;
} else if ( _widec >= 1664 )
- goto tr95;
- goto tr83;
-st266:
+ goto tr97;
+ goto tr85;
+st274:
if ( ++p == pe )
- goto _test_eof266;
-case 266:
+ goto _test_eof274;
+case 274:
switch( (*p) ) {
- case 65: goto st267;
- case 97: goto st267;
+ case 65: goto st275;
+ case 97: goto st275;
}
- goto tr38;
-st267:
+ goto tr39;
+st275:
if ( ++p == pe )
- goto _test_eof267;
-case 267:
+ goto _test_eof275;
+case 275:
switch( (*p) ) {
- case 65: goto st268;
- case 97: goto st268;
+ case 65: goto st276;
+ case 97: goto st276;
}
- goto tr38;
-st268:
+ goto tr39;
+st276:
if ( ++p == pe )
- goto _test_eof268;
-case 268:
+ goto _test_eof276;
+case 276:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -37581,49 +38576,49 @@ case 268:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr933;
- case 32: goto tr933;
- case 40: goto tr934;
- case 41: goto tr935;
- case 3082: goto tr936;
- case 3131: goto tr937;
- case 3338: goto tr938;
- case 3387: goto tr938;
- case 3594: goto tr939;
- case 3643: goto tr940;
+ case 9: goto tr951;
+ case 32: goto tr951;
+ case 40: goto tr952;
+ case 41: goto tr953;
+ case 3082: goto tr954;
+ case 3131: goto tr955;
+ case 3338: goto tr956;
+ case 3387: goto tr956;
+ case 3594: goto tr957;
+ case 3643: goto tr958;
}
- goto tr61;
-st269:
+ goto tr63;
+st277:
if ( ++p == pe )
- goto _test_eof269;
-case 269:
+ goto _test_eof277;
+case 277:
switch( (*p) ) {
- case 83: goto st270;
- case 115: goto st270;
+ case 83: goto st278;
+ case 115: goto st278;
}
- goto tr38;
-st270:
+ goto tr39;
+st278:
if ( ++p == pe )
- goto _test_eof270;
-case 270:
+ goto _test_eof278;
+case 278:
switch( (*p) ) {
- case 68: goto st271;
- case 100: goto st271;
+ case 68: goto st279;
+ case 100: goto st279;
}
- goto tr38;
-st271:
+ goto tr39;
+st279:
if ( ++p == pe )
- goto _test_eof271;
-case 271:
+ goto _test_eof279;
+case 279:
switch( (*p) ) {
- case 66: goto st272;
- case 98: goto st272;
+ case 66: goto st280;
+ case 98: goto st280;
}
- goto tr38;
-st272:
+ goto tr39;
+st280:
if ( ++p == pe )
- goto _test_eof272;
-case 272:
+ goto _test_eof280;
+case 280:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -37641,31 +38636,31 @@ case 272:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr944;
- case 32: goto tr944;
- case 40: goto tr945;
- case 41: goto tr946;
- case 3082: goto tr947;
- case 3131: goto tr948;
- case 3338: goto tr949;
- case 3387: goto tr949;
- case 3594: goto tr950;
- case 3643: goto tr951;
+ case 9: goto tr962;
+ case 32: goto tr962;
+ case 40: goto tr963;
+ case 41: goto tr964;
+ case 3082: goto tr965;
+ case 3131: goto tr966;
+ case 3338: goto tr967;
+ case 3387: goto tr967;
+ case 3594: goto tr968;
+ case 3643: goto tr969;
}
- goto tr61;
-st273:
+ goto tr63;
+st281:
if ( ++p == pe )
- goto _test_eof273;
-case 273:
+ goto _test_eof281;
+case 281:
switch( (*p) ) {
- case 76: goto st274;
- case 108: goto st274;
+ case 76: goto st282;
+ case 108: goto st282;
}
- goto tr38;
-st274:
+ goto tr39;
+st282:
if ( ++p == pe )
- goto _test_eof274;
-case 274:
+ goto _test_eof282;
+case 282:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -37683,49 +38678,49 @@ case 274:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr953;
- case 32: goto tr953;
- case 40: goto tr954;
- case 41: goto tr955;
- case 3082: goto tr956;
- case 3131: goto tr957;
- case 3338: goto tr958;
- case 3387: goto tr958;
- case 3594: goto tr959;
- case 3643: goto tr960;
+ case 9: goto tr971;
+ case 32: goto tr971;
+ case 40: goto tr972;
+ case 41: goto tr973;
+ case 3082: goto tr974;
+ case 3131: goto tr975;
+ case 3338: goto tr976;
+ case 3387: goto tr976;
+ case 3594: goto tr977;
+ case 3643: goto tr978;
}
- goto tr61;
-tr140:
+ goto tr63;
+tr143:
{
s->buffer_length = 0;
}
- goto st275;
-tr961:
+ goto st283;
+tr979:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st275;
-tr4222:
+ goto st283;
+tr4302:
{
s->buffer_length = 0;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st275;
-st275:
+ goto st283;
+st283:
if ( ++p == pe )
- goto _test_eof275;
-case 275:
+ goto _test_eof283;
+case 283:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -37745,102 +38740,103 @@ case 275:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 1802: goto tr754;
- case 2058: goto tr962;
+ case 1802: goto tr772;
+ case 2058: goto tr980;
}
if ( _widec > 1919 ) {
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr961;
+ goto tr979;
} else if ( _widec >= 1664 )
- goto tr753;
- goto tr83;
-tr4224:
+ goto tr771;
+ goto tr85;
+tr4304:
{
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 276;goto st844;}
+ {stack[top++] = 284;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 276;goto st846;}
+ {stack[top++] = 284;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 276;goto st848;}
+ {stack[top++] = 284;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 276;goto st880;}
+ {stack[top++] = 284;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 276;goto st885;}
+ {stack[top++] = 284;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 276;goto st890;}
+ {stack[top++] = 284;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 276;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 284;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 276;goto st899;}
+ {stack[top++] = 284;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 276;goto st901;}
+ {stack[top++] = 284;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 276;goto st956;}
+ {stack[top++] = 284;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 276;goto st967;}
+ {stack[top++] = 284;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 276;goto st984;}
+ {stack[top++] = 284;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 276;goto st995;}
+ {stack[top++] = 284;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 276;goto st1006;}
+ {stack[top++] = 284;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 276;goto st1019;}
+ {stack[top++] = 284;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 276;goto st1029;}
+ {stack[top++] = 284;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 276;goto st1068;}
+ {stack[top++] = 284;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 276;goto st1254;}
+ {stack[top++] = 284;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 276;goto st1257;}
+ {stack[top++] = 284;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 276;goto st1268;}
+ {stack[top++] = 284;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 276;goto st1270;}
+ {stack[top++] = 284;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 276;goto st1299;}
+ {stack[top++] = 284;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 276;goto st1312;}
+ {stack[top++] = 284;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 276;goto st1325;}
+ {stack[top++] = 284;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 276;goto st1331;}
+ {stack[top++] = 284;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 276;goto st1349;}
+ {stack[top++] = 284;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 276;goto st1344;}
+ {stack[top++] = 284;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 276;goto st1362;}
+ {stack[top++] = 284;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 276;goto st1368;}
+ {stack[top++] = 284;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 276;goto st1374;}
+ {stack[top++] = 284;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 276;goto st1382;}
+ {stack[top++] = 284;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 276;goto st1390;}
+ {stack[top++] = 284;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
@@ -37850,104 +38846,105 @@ tr4224:
{
s->buffer_length = 0;
}
- goto st276;
-tr142:
+ goto st284;
+tr145:
{
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 276;goto st844;}
+ {stack[top++] = 284;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 276;goto st846;}
+ {stack[top++] = 284;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 276;goto st848;}
+ {stack[top++] = 284;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 276;goto st880;}
+ {stack[top++] = 284;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 276;goto st885;}
+ {stack[top++] = 284;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 276;goto st890;}
+ {stack[top++] = 284;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 276;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 284;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 276;goto st899;}
+ {stack[top++] = 284;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 276;goto st901;}
+ {stack[top++] = 284;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 276;goto st956;}
+ {stack[top++] = 284;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 276;goto st967;}
+ {stack[top++] = 284;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 276;goto st984;}
+ {stack[top++] = 284;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 276;goto st995;}
+ {stack[top++] = 284;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 276;goto st1006;}
+ {stack[top++] = 284;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 276;goto st1019;}
+ {stack[top++] = 284;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 276;goto st1029;}
+ {stack[top++] = 284;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 276;goto st1068;}
+ {stack[top++] = 284;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 276;goto st1254;}
+ {stack[top++] = 284;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 276;goto st1257;}
+ {stack[top++] = 284;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 276;goto st1268;}
+ {stack[top++] = 284;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 276;goto st1270;}
+ {stack[top++] = 284;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 276;goto st1299;}
+ {stack[top++] = 284;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 276;goto st1312;}
+ {stack[top++] = 284;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 276;goto st1325;}
+ {stack[top++] = 284;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 276;goto st1331;}
+ {stack[top++] = 284;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 276;goto st1349;}
+ {stack[top++] = 284;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 276;goto st1344;}
+ {stack[top++] = 284;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 276;goto st1362;}
+ {stack[top++] = 284;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 276;goto st1368;}
+ {stack[top++] = 284;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 276;goto st1374;}
+ {stack[top++] = 284;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 276;goto st1382;}
+ {stack[top++] = 284;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 276;goto st1390;}
+ {stack[top++] = 284;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st276;
-st276:
+ goto st284;
+st284:
if ( ++p == pe )
- goto _test_eof276;
-case 276:
+ goto _test_eof284;
+case 284:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -37961,32 +38958,32 @@ case 276:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr963;
- case 32: goto tr963;
- case 40: goto tr964;
- case 41: goto tr965;
- case 1802: goto tr966;
- case 1851: goto tr849;
- case 2058: goto tr966;
- case 2107: goto tr849;
+ case 9: goto tr981;
+ case 32: goto tr981;
+ case 40: goto tr982;
+ case 41: goto tr983;
+ case 1802: goto tr984;
+ case 1851: goto tr867;
+ case 2058: goto tr984;
+ case 2107: goto tr867;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr753;
+ goto tr771;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr753;
+ goto tr771;
} else
- goto tr753;
- goto tr83;
-tr967:
+ goto tr771;
+ goto tr85;
+tr985:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st277;
-tr963:
+ goto st285;
+tr981:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -37996,8 +38993,8 @@ tr963:
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st277;
-tr964:
+ goto st285;
+tr982:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -38005,7 +39002,7 @@ tr964:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -38014,8 +39011,8 @@ tr964:
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st277;
-tr965:
+ goto st285;
+tr983:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -38023,7 +39020,7 @@ tr965:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -38032,12 +39029,12 @@ tr965:
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st277;
-tr968:
+ goto st285;
+tr986:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -38046,12 +39043,12 @@ tr968:
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st277;
-tr969:
+ goto st285;
+tr987:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -38060,11 +39057,11 @@ tr969:
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st277;
-st277:
+ goto st285;
+st285:
if ( ++p == pe )
- goto _test_eof277;
-case 277:
+ goto _test_eof285;
+case 285:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -38078,25 +39075,25 @@ case 277:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr967;
- case 32: goto tr967;
- case 40: goto tr968;
- case 41: goto tr969;
- case 1802: goto tr970;
- case 1851: goto tr853;
- case 2058: goto tr970;
- case 2107: goto tr853;
+ case 9: goto tr985;
+ case 32: goto tr985;
+ case 40: goto tr986;
+ case 41: goto tr987;
+ case 1802: goto tr988;
+ case 1851: goto tr871;
+ case 2058: goto tr988;
+ case 2107: goto tr871;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr753;
+ goto tr771;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr753;
+ goto tr771;
} else
- goto tr753;
- goto tr89;
-tr144:
+ goto tr771;
+ goto tr91;
+tr147:
{
s->buffer_length = 0;
}
@@ -38104,92 +39101,93 @@ tr144:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 278;goto st844;}
+ {stack[top++] = 286;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 278;goto st846;}
+ {stack[top++] = 286;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 278;goto st848;}
+ {stack[top++] = 286;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 278;goto st880;}
+ {stack[top++] = 286;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 278;goto st885;}
+ {stack[top++] = 286;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 278;goto st890;}
+ {stack[top++] = 286;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 278;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 286;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 278;goto st899;}
+ {stack[top++] = 286;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 278;goto st901;}
+ {stack[top++] = 286;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 278;goto st956;}
+ {stack[top++] = 286;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 278;goto st967;}
+ {stack[top++] = 286;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 278;goto st984;}
+ {stack[top++] = 286;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 278;goto st995;}
+ {stack[top++] = 286;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 278;goto st1006;}
+ {stack[top++] = 286;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 278;goto st1019;}
+ {stack[top++] = 286;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 278;goto st1029;}
+ {stack[top++] = 286;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 278;goto st1068;}
+ {stack[top++] = 286;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 278;goto st1254;}
+ {stack[top++] = 286;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 278;goto st1257;}
+ {stack[top++] = 286;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 278;goto st1268;}
+ {stack[top++] = 286;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 278;goto st1270;}
+ {stack[top++] = 286;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 278;goto st1299;}
+ {stack[top++] = 286;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 278;goto st1312;}
+ {stack[top++] = 286;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 278;goto st1325;}
+ {stack[top++] = 286;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 278;goto st1331;}
+ {stack[top++] = 286;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 278;goto st1349;}
+ {stack[top++] = 286;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 278;goto st1344;}
+ {stack[top++] = 286;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 278;goto st1362;}
+ {stack[top++] = 286;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 278;goto st1368;}
+ {stack[top++] = 286;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 278;goto st1374;}
+ {stack[top++] = 286;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 278;goto st1382;}
+ {stack[top++] = 286;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 278;goto st1390;}
+ {stack[top++] = 286;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st278;
-tr4226:
+ goto st286;
+tr4306:
{
s->buffer_length = 0;
}
@@ -38197,105 +39195,106 @@ tr4226:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 278;goto st844;}
+ {stack[top++] = 286;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 278;goto st846;}
+ {stack[top++] = 286;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 278;goto st848;}
+ {stack[top++] = 286;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 278;goto st880;}
+ {stack[top++] = 286;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 278;goto st885;}
+ {stack[top++] = 286;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 278;goto st890;}
+ {stack[top++] = 286;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 278;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 286;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 278;goto st899;}
+ {stack[top++] = 286;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 278;goto st901;}
+ {stack[top++] = 286;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 278;goto st956;}
+ {stack[top++] = 286;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 278;goto st967;}
+ {stack[top++] = 286;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 278;goto st984;}
+ {stack[top++] = 286;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 278;goto st995;}
+ {stack[top++] = 286;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 278;goto st1006;}
+ {stack[top++] = 286;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 278;goto st1019;}
+ {stack[top++] = 286;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 278;goto st1029;}
+ {stack[top++] = 286;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 278;goto st1068;}
+ {stack[top++] = 286;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 278;goto st1254;}
+ {stack[top++] = 286;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 278;goto st1257;}
+ {stack[top++] = 286;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 278;goto st1268;}
+ {stack[top++] = 286;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 278;goto st1270;}
+ {stack[top++] = 286;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 278;goto st1299;}
+ {stack[top++] = 286;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 278;goto st1312;}
+ {stack[top++] = 286;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 278;goto st1325;}
+ {stack[top++] = 286;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 278;goto st1331;}
+ {stack[top++] = 286;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 278;goto st1349;}
+ {stack[top++] = 286;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 278;goto st1344;}
+ {stack[top++] = 286;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 278;goto st1362;}
+ {stack[top++] = 286;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 278;goto st1368;}
+ {stack[top++] = 286;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 278;goto st1374;}
+ {stack[top++] = 286;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 278;goto st1382;}
+ {stack[top++] = 286;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 278;goto st1390;}
+ {stack[top++] = 286;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st278;
-st278:
+ goto st286;
+st286:
if ( ++p == pe )
- goto _test_eof278;
-case 278:
+ goto _test_eof286;
+case 286:
_widec = (*p);
if ( (*p) < 11 ) {
if ( (*p) > 9 ) {
@@ -38327,33 +39326,33 @@ case 278:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 1801: goto tr963;
- case 1802: goto tr966;
- case 1824: goto tr963;
- case 1832: goto tr964;
- case 1833: goto tr965;
- case 1851: goto tr849;
- case 2057: goto tr971;
- case 2058: goto tr915;
- case 2080: goto tr971;
- case 2088: goto tr972;
- case 2089: goto tr973;
- case 2107: goto tr926;
+ case 1801: goto tr981;
+ case 1802: goto tr984;
+ case 1824: goto tr981;
+ case 1832: goto tr982;
+ case 1833: goto tr983;
+ case 1851: goto tr867;
+ case 2057: goto tr989;
+ case 2058: goto tr933;
+ case 2080: goto tr989;
+ case 2088: goto tr990;
+ case 2089: goto tr991;
+ case 2107: goto tr944;
}
if ( _widec > 1919 ) {
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr961;
+ goto tr979;
} else if ( _widec >= 1664 )
- goto tr753;
- goto tr83;
-tr974:
+ goto tr771;
+ goto tr85;
+tr992:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st279;
-tr971:
+ goto st287;
+tr989:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -38363,8 +39362,8 @@ tr971:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st279;
-tr972:
+ goto st287;
+tr990:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -38377,12 +39376,12 @@ tr972:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st279;
-tr973:
+ goto st287;
+tr991:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -38395,12 +39394,12 @@ tr973:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st279;
-tr975:
+ goto st287;
+tr993:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -38409,12 +39408,12 @@ tr975:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st279;
-tr976:
+ goto st287;
+tr994:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -38423,15 +39422,15 @@ tr976:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st279;
-st279:
+ goto st287;
+st287:
if ( ++p == pe )
- goto _test_eof279;
-case 279:
+ goto _test_eof287;
+case 287:
_widec = (*p);
if ( (*p) < 11 ) {
if ( (*p) > 9 ) {
@@ -38463,26 +39462,26 @@ case 279:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 1801: goto tr967;
- case 1802: goto tr970;
- case 1824: goto tr967;
- case 1832: goto tr968;
- case 1833: goto tr969;
- case 1851: goto tr853;
- case 2057: goto tr974;
- case 2058: goto tr844;
- case 2080: goto tr974;
- case 2088: goto tr975;
- case 2089: goto tr976;
- case 2107: goto tr930;
+ case 1801: goto tr985;
+ case 1802: goto tr988;
+ case 1824: goto tr985;
+ case 1832: goto tr986;
+ case 1833: goto tr987;
+ case 1851: goto tr871;
+ case 2057: goto tr992;
+ case 2058: goto tr862;
+ case 2080: goto tr992;
+ case 2088: goto tr993;
+ case 2089: goto tr994;
+ case 2107: goto tr948;
}
if ( _widec > 1919 ) {
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr961;
+ goto tr979;
} else if ( _widec >= 1664 )
- goto tr753;
- goto tr83;
-tr114:
+ goto tr771;
+ goto tr85;
+tr116:
{
s->buffer_length = 0;
}
@@ -38490,92 +39489,93 @@ tr114:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 280;goto st844;}
+ {stack[top++] = 288;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 280;goto st846;}
+ {stack[top++] = 288;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 280;goto st848;}
+ {stack[top++] = 288;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 280;goto st880;}
+ {stack[top++] = 288;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 280;goto st885;}
+ {stack[top++] = 288;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 280;goto st890;}
+ {stack[top++] = 288;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 280;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 288;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 280;goto st899;}
+ {stack[top++] = 288;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 280;goto st901;}
+ {stack[top++] = 288;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 280;goto st956;}
+ {stack[top++] = 288;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 280;goto st967;}
+ {stack[top++] = 288;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 280;goto st984;}
+ {stack[top++] = 288;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 280;goto st995;}
+ {stack[top++] = 288;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 280;goto st1006;}
+ {stack[top++] = 288;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 280;goto st1019;}
+ {stack[top++] = 288;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 280;goto st1029;}
+ {stack[top++] = 288;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 280;goto st1068;}
+ {stack[top++] = 288;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 280;goto st1254;}
+ {stack[top++] = 288;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 280;goto st1257;}
+ {stack[top++] = 288;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 280;goto st1268;}
+ {stack[top++] = 288;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 280;goto st1270;}
+ {stack[top++] = 288;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 280;goto st1299;}
+ {stack[top++] = 288;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 280;goto st1312;}
+ {stack[top++] = 288;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 280;goto st1325;}
+ {stack[top++] = 288;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 280;goto st1331;}
+ {stack[top++] = 288;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 280;goto st1349;}
+ {stack[top++] = 288;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 280;goto st1344;}
+ {stack[top++] = 288;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 280;goto st1362;}
+ {stack[top++] = 288;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 280;goto st1368;}
+ {stack[top++] = 288;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 280;goto st1374;}
+ {stack[top++] = 288;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 280;goto st1382;}
+ {stack[top++] = 288;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 280;goto st1390;}
+ {stack[top++] = 288;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st280;
-tr107:
+ goto st288;
+tr109:
{
s->buffer_length = 0;
}
@@ -38583,96 +39583,97 @@ tr107:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 280;goto st844;}
+ {stack[top++] = 288;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 280;goto st846;}
+ {stack[top++] = 288;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 280;goto st848;}
+ {stack[top++] = 288;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 280;goto st880;}
+ {stack[top++] = 288;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 280;goto st885;}
+ {stack[top++] = 288;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 280;goto st890;}
+ {stack[top++] = 288;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 280;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 288;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 280;goto st899;}
+ {stack[top++] = 288;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 280;goto st901;}
+ {stack[top++] = 288;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 280;goto st956;}
+ {stack[top++] = 288;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 280;goto st967;}
+ {stack[top++] = 288;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 280;goto st984;}
+ {stack[top++] = 288;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 280;goto st995;}
+ {stack[top++] = 288;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 280;goto st1006;}
+ {stack[top++] = 288;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 280;goto st1019;}
+ {stack[top++] = 288;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 280;goto st1029;}
+ {stack[top++] = 288;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 280;goto st1068;}
+ {stack[top++] = 288;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 280;goto st1254;}
+ {stack[top++] = 288;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 280;goto st1257;}
+ {stack[top++] = 288;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 280;goto st1268;}
+ {stack[top++] = 288;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 280;goto st1270;}
+ {stack[top++] = 288;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 280;goto st1299;}
+ {stack[top++] = 288;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 280;goto st1312;}
+ {stack[top++] = 288;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 280;goto st1325;}
+ {stack[top++] = 288;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 280;goto st1331;}
+ {stack[top++] = 288;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 280;goto st1349;}
+ {stack[top++] = 288;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 280;goto st1344;}
+ {stack[top++] = 288;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 280;goto st1362;}
+ {stack[top++] = 288;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 280;goto st1368;}
+ {stack[top++] = 288;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 280;goto st1374;}
+ {stack[top++] = 288;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 280;goto st1382;}
+ {stack[top++] = 288;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 280;goto st1390;}
+ {stack[top++] = 288;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st280;
-tr832:
+ goto st288;
+tr850:
{ s->r_type = KNOT_RRTYPE_A; }
{
rdata_tail = s->r_data;
@@ -38684,99 +39685,100 @@ tr832:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 280;goto st844;}
+ {stack[top++] = 288;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 280;goto st846;}
+ {stack[top++] = 288;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 280;goto st848;}
+ {stack[top++] = 288;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 280;goto st880;}
+ {stack[top++] = 288;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 280;goto st885;}
+ {stack[top++] = 288;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 280;goto st890;}
+ {stack[top++] = 288;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 280;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 288;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 280;goto st899;}
+ {stack[top++] = 288;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 280;goto st901;}
+ {stack[top++] = 288;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 280;goto st956;}
+ {stack[top++] = 288;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 280;goto st967;}
+ {stack[top++] = 288;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 280;goto st984;}
+ {stack[top++] = 288;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 280;goto st995;}
+ {stack[top++] = 288;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 280;goto st1006;}
+ {stack[top++] = 288;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 280;goto st1019;}
+ {stack[top++] = 288;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 280;goto st1029;}
+ {stack[top++] = 288;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 280;goto st1068;}
+ {stack[top++] = 288;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 280;goto st1254;}
+ {stack[top++] = 288;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 280;goto st1257;}
+ {stack[top++] = 288;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 280;goto st1268;}
+ {stack[top++] = 288;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 280;goto st1270;}
+ {stack[top++] = 288;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 280;goto st1299;}
+ {stack[top++] = 288;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 280;goto st1312;}
+ {stack[top++] = 288;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 280;goto st1325;}
+ {stack[top++] = 288;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 280;goto st1331;}
+ {stack[top++] = 288;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 280;goto st1349;}
+ {stack[top++] = 288;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 280;goto st1344;}
+ {stack[top++] = 288;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 280;goto st1362;}
+ {stack[top++] = 288;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 280;goto st1368;}
+ {stack[top++] = 288;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 280;goto st1374;}
+ {stack[top++] = 288;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 280;goto st1382;}
+ {stack[top++] = 288;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 280;goto st1390;}
+ {stack[top++] = 288;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st280;
-st280:
+ goto st288;
+st288:
if ( ++p == pe )
- goto _test_eof280;
-case 280:
+ goto _test_eof288;
+case 288:
_widec = (*p);
if ( (*p) < 11 ) {
if ( (*p) > 9 ) {
@@ -38808,33 +39810,33 @@ case 280:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 1801: goto tr845;
- case 1802: goto tr848;
- case 1824: goto tr845;
- case 1832: goto tr846;
- case 1833: goto tr847;
- case 1851: goto tr849;
- case 2057: goto tr977;
- case 2058: goto tr848;
- case 2080: goto tr977;
- case 2088: goto tr978;
- case 2089: goto tr979;
- case 2107: goto tr174;
+ case 1801: goto tr863;
+ case 1802: goto tr866;
+ case 1824: goto tr863;
+ case 1832: goto tr864;
+ case 1833: goto tr865;
+ case 1851: goto tr867;
+ case 2057: goto tr995;
+ case 2058: goto tr866;
+ case 2080: goto tr995;
+ case 2088: goto tr996;
+ case 2089: goto tr997;
+ case 2107: goto tr177;
}
if ( _widec > 1919 ) {
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr115;
+ goto tr117;
} else if ( _widec >= 1664 )
- goto tr95;
- goto tr83;
-tr980:
+ goto tr97;
+ goto tr85;
+tr998:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st281;
-tr977:
+ goto st289;
+tr995:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -38844,8 +39846,8 @@ tr977:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st281;
-tr978:
+ goto st289;
+tr996:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -38858,12 +39860,12 @@ tr978:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st281;
-tr979:
+ goto st289;
+tr997:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -38876,12 +39878,12 @@ tr979:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st281;
-tr981:
+ goto st289;
+tr999:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -38890,12 +39892,12 @@ tr981:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st281;
-tr982:
+ goto st289;
+tr1000:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -38904,15 +39906,15 @@ tr982:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st281;
-st281:
+ goto st289;
+st289:
if ( ++p == pe )
- goto _test_eof281;
-case 281:
+ goto _test_eof289;
+case 289:
_widec = (*p);
if ( (*p) < 11 ) {
if ( (*p) > 9 ) {
@@ -38944,38 +39946,38 @@ case 281:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 1801: goto tr850;
- case 1802: goto tr96;
- case 1824: goto tr850;
- case 1832: goto tr851;
- case 1833: goto tr852;
- case 1851: goto tr853;
- case 2057: goto tr980;
- case 2058: goto tr96;
- case 2080: goto tr980;
- case 2088: goto tr981;
- case 2089: goto tr982;
- case 2107: goto tr178;
+ case 1801: goto tr868;
+ case 1802: goto tr98;
+ case 1824: goto tr868;
+ case 1832: goto tr869;
+ case 1833: goto tr870;
+ case 1851: goto tr871;
+ case 2057: goto tr998;
+ case 2058: goto tr98;
+ case 2080: goto tr998;
+ case 2088: goto tr999;
+ case 2089: goto tr1000;
+ case 2107: goto tr181;
}
if ( _widec > 1919 ) {
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr115;
+ goto tr117;
} else if ( _widec >= 1664 )
- goto tr95;
- goto tr83;
-tr820:
+ goto tr97;
+ goto tr85;
+tr838:
{
s->buffer_length = 0;
}
- goto st282;
-tr983:
+ goto st290;
+tr1001:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st282;
-tr813:
+ goto st290;
+tr831:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -38986,11 +39988,11 @@ tr813:
{
rdata_tail = s->r_data;
}
- goto st282;
-st282:
+ goto st290;
+st290:
if ( ++p == pe )
- goto _test_eof282;
-case 282:
+ goto _test_eof290;
+case 290:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -39010,11 +40012,11 @@ case 282:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr984;
+ goto tr1002;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr983;
- goto tr75;
-tr821:
+ goto tr1001;
+ goto tr77;
+tr839:
{
s->line_counter++;
}
@@ -39022,92 +40024,93 @@ tr821:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 283;goto st844;}
+ {stack[top++] = 291;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 283;goto st846;}
+ {stack[top++] = 291;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 283;goto st848;}
+ {stack[top++] = 291;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 283;goto st880;}
+ {stack[top++] = 291;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 283;goto st885;}
+ {stack[top++] = 291;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 283;goto st890;}
+ {stack[top++] = 291;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 283;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 291;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 283;goto st899;}
+ {stack[top++] = 291;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 283;goto st901;}
+ {stack[top++] = 291;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 283;goto st956;}
+ {stack[top++] = 291;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 283;goto st967;}
+ {stack[top++] = 291;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 283;goto st984;}
+ {stack[top++] = 291;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 283;goto st995;}
+ {stack[top++] = 291;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 283;goto st1006;}
+ {stack[top++] = 291;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 283;goto st1019;}
+ {stack[top++] = 291;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 283;goto st1029;}
+ {stack[top++] = 291;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 283;goto st1068;}
+ {stack[top++] = 291;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 283;goto st1254;}
+ {stack[top++] = 291;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 283;goto st1257;}
+ {stack[top++] = 291;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 283;goto st1268;}
+ {stack[top++] = 291;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 283;goto st1270;}
+ {stack[top++] = 291;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 283;goto st1299;}
+ {stack[top++] = 291;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 283;goto st1312;}
+ {stack[top++] = 291;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 283;goto st1325;}
+ {stack[top++] = 291;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 283;goto st1331;}
+ {stack[top++] = 291;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 283;goto st1349;}
+ {stack[top++] = 291;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 283;goto st1344;}
+ {stack[top++] = 291;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 283;goto st1362;}
+ {stack[top++] = 291;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 283;goto st1368;}
+ {stack[top++] = 291;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 283;goto st1374;}
+ {stack[top++] = 291;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 283;goto st1382;}
+ {stack[top++] = 291;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 283;goto st1390;}
+ {stack[top++] = 291;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st283;
-tr814:
+ goto st291;
+tr832:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -39122,95 +40125,96 @@ tr814:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 283;goto st844;}
+ {stack[top++] = 291;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 283;goto st846;}
+ {stack[top++] = 291;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 283;goto st848;}
+ {stack[top++] = 291;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 283;goto st880;}
+ {stack[top++] = 291;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 283;goto st885;}
+ {stack[top++] = 291;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 283;goto st890;}
+ {stack[top++] = 291;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 283;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 291;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 283;goto st899;}
+ {stack[top++] = 291;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 283;goto st901;}
+ {stack[top++] = 291;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 283;goto st956;}
+ {stack[top++] = 291;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 283;goto st967;}
+ {stack[top++] = 291;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 283;goto st984;}
+ {stack[top++] = 291;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 283;goto st995;}
+ {stack[top++] = 291;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 283;goto st1006;}
+ {stack[top++] = 291;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 283;goto st1019;}
+ {stack[top++] = 291;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 283;goto st1029;}
+ {stack[top++] = 291;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 283;goto st1068;}
+ {stack[top++] = 291;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 283;goto st1254;}
+ {stack[top++] = 291;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 283;goto st1257;}
+ {stack[top++] = 291;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 283;goto st1268;}
+ {stack[top++] = 291;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 283;goto st1270;}
+ {stack[top++] = 291;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 283;goto st1299;}
+ {stack[top++] = 291;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 283;goto st1312;}
+ {stack[top++] = 291;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 283;goto st1325;}
+ {stack[top++] = 291;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 283;goto st1331;}
+ {stack[top++] = 291;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 283;goto st1349;}
+ {stack[top++] = 291;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 283;goto st1344;}
+ {stack[top++] = 291;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 283;goto st1362;}
+ {stack[top++] = 291;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 283;goto st1368;}
+ {stack[top++] = 291;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 283;goto st1374;}
+ {stack[top++] = 291;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 283;goto st1382;}
+ {stack[top++] = 291;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 283;goto st1390;}
+ {stack[top++] = 291;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st283;
-st283:
+ goto st291;
+st291:
if ( ++p == pe )
- goto _test_eof283;
-case 283:
+ goto _test_eof291;
+case 291:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39228,68 +40232,70 @@ case 283:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr985;
- case 32: goto tr985;
- case 40: goto tr986;
- case 41: goto tr987;
- case 58: goto tr73;
- case 65: goto tr122;
- case 67: goto tr123;
- case 68: goto tr124;
- case 69: goto tr125;
- case 72: goto tr126;
- case 73: goto tr127;
- case 75: goto tr128;
- case 76: goto tr129;
- case 77: goto tr130;
- case 78: goto tr131;
- case 79: goto tr132;
- case 80: goto tr133;
- case 82: goto tr134;
- case 83: goto tr135;
- case 84: goto tr136;
- case 85: goto tr137;
- case 90: goto tr138;
- case 92: goto tr78;
- case 97: goto tr122;
- case 99: goto tr123;
- case 100: goto tr124;
- case 101: goto tr125;
- case 104: goto tr126;
- case 105: goto tr127;
- case 107: goto tr128;
- case 108: goto tr129;
- case 109: goto tr130;
- case 110: goto tr131;
- case 111: goto tr132;
- case 112: goto tr133;
- case 114: goto tr134;
- case 115: goto tr135;
- case 116: goto tr136;
- case 117: goto tr137;
- case 122: goto tr138;
- case 2826: goto tr87;
- case 2875: goto tr88;
- case 3082: goto tr912;
- case 3131: goto tr988;
- case 3338: goto tr105;
- case 3387: goto tr106;
- case 3594: goto tr912;
- case 3643: goto tr989;
+ case 9: goto tr1003;
+ case 32: goto tr1003;
+ case 40: goto tr1004;
+ case 41: goto tr1005;
+ case 58: goto tr75;
+ case 65: goto tr124;
+ case 67: goto tr125;
+ case 68: goto tr126;
+ case 69: goto tr127;
+ case 72: goto tr128;
+ case 73: goto tr129;
+ case 75: goto tr130;
+ case 76: goto tr131;
+ case 77: goto tr132;
+ case 78: goto tr133;
+ case 79: goto tr134;
+ case 80: goto tr135;
+ case 82: goto tr136;
+ case 83: goto tr137;
+ case 84: goto tr138;
+ case 85: goto tr139;
+ case 87: goto tr140;
+ case 90: goto tr141;
+ case 92: goto tr80;
+ case 97: goto tr124;
+ case 99: goto tr125;
+ case 100: goto tr126;
+ case 101: goto tr127;
+ case 104: goto tr128;
+ case 105: goto tr129;
+ case 107: goto tr130;
+ case 108: goto tr131;
+ case 109: goto tr132;
+ case 110: goto tr133;
+ case 111: goto tr134;
+ case 112: goto tr135;
+ case 114: goto tr136;
+ case 115: goto tr137;
+ case 116: goto tr138;
+ case 117: goto tr139;
+ case 119: goto tr140;
+ case 122: goto tr141;
+ case 2826: goto tr89;
+ case 2875: goto tr90;
+ case 3082: goto tr930;
+ case 3131: goto tr1006;
+ case 3338: goto tr107;
+ case 3387: goto tr108;
+ case 3594: goto tr930;
+ case 3643: goto tr1007;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr73;
+ goto tr75;
} else if ( _widec > 47 ) {
if ( _widec > 57 ) {
if ( 60 <= _widec )
- goto tr73;
+ goto tr75;
} else if ( _widec >= 48 )
- goto tr121;
+ goto tr123;
} else
- goto tr73;
- goto tr118;
-tr822:
+ goto tr75;
+ goto tr120;
+tr840:
{
s->buffer_length = 0;
}
@@ -39297,92 +40303,93 @@ tr822:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 284;goto st844;}
+ {stack[top++] = 292;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 284;goto st846;}
+ {stack[top++] = 292;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 284;goto st848;}
+ {stack[top++] = 292;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 284;goto st880;}
+ {stack[top++] = 292;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 284;goto st885;}
+ {stack[top++] = 292;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 284;goto st890;}
+ {stack[top++] = 292;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 284;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 292;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 284;goto st899;}
+ {stack[top++] = 292;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 284;goto st901;}
+ {stack[top++] = 292;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 284;goto st956;}
+ {stack[top++] = 292;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 284;goto st967;}
+ {stack[top++] = 292;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 284;goto st984;}
+ {stack[top++] = 292;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 284;goto st995;}
+ {stack[top++] = 292;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 284;goto st1006;}
+ {stack[top++] = 292;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 284;goto st1019;}
+ {stack[top++] = 292;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 284;goto st1029;}
+ {stack[top++] = 292;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 284;goto st1068;}
+ {stack[top++] = 292;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 284;goto st1254;}
+ {stack[top++] = 292;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 284;goto st1257;}
+ {stack[top++] = 292;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 284;goto st1268;}
+ {stack[top++] = 292;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 284;goto st1270;}
+ {stack[top++] = 292;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 284;goto st1299;}
+ {stack[top++] = 292;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 284;goto st1312;}
+ {stack[top++] = 292;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 284;goto st1325;}
+ {stack[top++] = 292;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 284;goto st1331;}
+ {stack[top++] = 292;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 284;goto st1349;}
+ {stack[top++] = 292;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 284;goto st1344;}
+ {stack[top++] = 292;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 284;goto st1362;}
+ {stack[top++] = 292;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 284;goto st1368;}
+ {stack[top++] = 292;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 284;goto st1374;}
+ {stack[top++] = 292;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 284;goto st1382;}
+ {stack[top++] = 292;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 284;goto st1390;}
+ {stack[top++] = 292;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st284;
-tr815:
+ goto st292;
+tr833:
{
s->r_owner_length = s->dname_tmp_length;
}
@@ -39397,95 +40404,96 @@ tr815:
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = 284;goto st844;}
+ {stack[top++] = 292;goto st886;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = 284;goto st846;}
+ {stack[top++] = 292;goto st888;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = 284;goto st848;}
+ {stack[top++] = 292;goto st890;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = 284;goto st880;}
+ {stack[top++] = 292;goto st922;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = 284;goto st885;}
+ {stack[top++] = 292;goto st927;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = 284;goto st890;}
+ {stack[top++] = 292;goto st932;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = 284;goto st895;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = 292;goto st937;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = 284;goto st899;}
+ {stack[top++] = 292;goto st941;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = 284;goto st901;}
+ {stack[top++] = 292;goto st943;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = 284;goto st956;}
+ {stack[top++] = 292;goto st998;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = 284;goto st967;}
+ {stack[top++] = 292;goto st1009;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = 284;goto st984;}
+ {stack[top++] = 292;goto st1026;}
case KNOT_RRTYPE_APL:
- {stack[top++] = 284;goto st995;}
+ {stack[top++] = 292;goto st1037;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = 284;goto st1006;}
+ {stack[top++] = 292;goto st1048;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = 284;goto st1019;}
+ {stack[top++] = 292;goto st1061;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = 284;goto st1029;}
+ {stack[top++] = 292;goto st1071;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = 284;goto st1068;}
+ {stack[top++] = 292;goto st1110;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = 284;goto st1254;}
+ {stack[top++] = 292;goto st1302;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = 284;goto st1257;}
+ {stack[top++] = 292;goto st1305;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = 284;goto st1268;}
+ {stack[top++] = 292;goto st1316;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = 284;goto st1270;}
+ {stack[top++] = 292;goto st1318;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = 284;goto st1299;}
+ {stack[top++] = 292;goto st1347;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = 284;goto st1312;}
+ {stack[top++] = 292;goto st1360;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = 284;goto st1325;}
+ {stack[top++] = 292;goto st1373;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = 284;goto st1331;}
+ {stack[top++] = 292;goto st1379;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = 284;goto st1349;}
+ {stack[top++] = 292;goto st1397;}
case KNOT_RRTYPE_L32:
- {stack[top++] = 284;goto st1344;}
+ {stack[top++] = 292;goto st1392;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = 284;goto st1362;}
+ {stack[top++] = 292;goto st1410;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = 284;goto st1368;}
+ {stack[top++] = 292;goto st1416;}
case KNOT_RRTYPE_URI:
- {stack[top++] = 284;goto st1374;}
+ {stack[top++] = 292;goto st1422;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = 284;goto st1382;}
+ {stack[top++] = 292;goto st1430;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = 284;goto st1390;}
+ {stack[top++] = 292;goto st1438;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {goto st307;}
+ {goto st316;}
}
}
- goto st284;
-st284:
+ goto st292;
+st292:
if ( ++p == pe )
- goto _test_eof284;
-case 284:
+ goto _test_eof292;
+case 292:
_widec = (*p);
if ( (*p) < 11 ) {
if ( (*p) > 9 ) {
@@ -39517,30 +40525,30 @@ case 284:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 1801: goto tr84;
- case 1802: goto tr87;
- case 1824: goto tr84;
- case 1832: goto tr85;
- case 1833: goto tr86;
- case 1851: goto tr88;
- case 2057: goto tr990;
- case 2058: goto tr915;
- case 2080: goto tr990;
- case 2088: goto tr991;
- case 2089: goto tr992;
- case 2107: goto tr926;
+ case 1801: goto tr86;
+ case 1802: goto tr89;
+ case 1824: goto tr86;
+ case 1832: goto tr87;
+ case 1833: goto tr88;
+ case 1851: goto tr90;
+ case 2057: goto tr1008;
+ case 2058: goto tr933;
+ case 2080: goto tr1008;
+ case 2088: goto tr1009;
+ case 2089: goto tr1010;
+ case 2107: goto tr944;
}
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr983;
- goto tr83;
-tr993:
+ goto tr1001;
+ goto tr85;
+tr1011:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st285;
-tr990:
+ goto st293;
+tr1008:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -39550,8 +40558,8 @@ tr990:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st285;
-tr991:
+ goto st293;
+tr1009:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -39564,12 +40572,12 @@ tr991:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st285;
-tr992:
+ goto st293;
+tr1010:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -39582,12 +40590,12 @@ tr992:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st285;
-tr994:
+ goto st293;
+tr1012:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -39596,12 +40604,12 @@ tr994:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st285;
-tr995:
+ goto st293;
+tr1013:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
@@ -39610,15 +40618,15 @@ tr995:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st285;
-st285:
+ goto st293;
+st293:
if ( ++p == pe )
- goto _test_eof285;
-case 285:
+ goto _test_eof293;
+case 293:
_widec = (*p);
if ( (*p) < 11 ) {
if ( (*p) > 9 ) {
@@ -39651,22 +40659,22 @@ case 285:
}
switch( _widec ) {
case 1801: goto st7;
- case 1802: goto tr93;
+ case 1802: goto tr95;
case 1824: goto st7;
- case 1832: goto tr91;
- case 1833: goto tr92;
- case 1851: goto tr94;
- case 2057: goto tr993;
- case 2058: goto tr844;
- case 2080: goto tr993;
- case 2088: goto tr994;
- case 2089: goto tr995;
- case 2107: goto tr930;
+ case 1832: goto tr93;
+ case 1833: goto tr94;
+ case 1851: goto tr96;
+ case 2057: goto tr1011;
+ case 2058: goto tr862;
+ case 2080: goto tr1011;
+ case 2088: goto tr1012;
+ case 2089: goto tr1013;
+ case 2107: goto tr948;
}
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr983;
- goto tr83;
-tr4232:
+ goto tr1001;
+ goto tr85;
+tr4312:
{
s->r_class = s->default_class;
}
@@ -39674,9 +40682,9 @@ tr4232:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 286;goto st309;} }
- goto st286;
-tr4253:
+ { p--; {stack[top++] = 294;goto st318;} }
+ goto st294;
+tr4334:
{
s->r_class = s->default_class;
}
@@ -39687,12 +40695,12 @@ tr4253:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 286;goto st309;} }
- goto st286;
-st286:
+ { p--; {stack[top++] = 294;goto st318;} }
+ goto st294;
+st294:
if ( ++p == pe )
- goto _test_eof286;
-case 286:
+ goto _test_eof294;
+case 294:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39706,10 +40714,10 @@ case 286:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr767;
- case 32: goto tr767;
- case 40: goto tr768;
- case 41: goto tr769;
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
case 65: goto st18;
case 68: goto st22;
case 69: goto st29;
@@ -39720,11 +40728,11 @@ case 286:
case 101: goto st29;
case 110: goto st32;
case 115: goto st36;
- case 2058: goto tr770;
- case 2107: goto tr771;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
}
- goto tr996;
-tr4233:
+ goto tr1014;
+tr4313:
{
s->r_class = s->default_class;
}
@@ -39732,9 +40740,9 @@ tr4233:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 287;goto st309;} }
- goto st287;
-tr4254:
+ { p--; {stack[top++] = 295;goto st318;} }
+ goto st295;
+tr4335:
{
s->r_class = s->default_class;
}
@@ -39745,12 +40753,12 @@ tr4254:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 287;goto st309;} }
- goto st287;
-st287:
+ { p--; {stack[top++] = 295;goto st318;} }
+ goto st295;
+st295:
if ( ++p == pe )
- goto _test_eof287;
-case 287:
+ goto _test_eof295;
+case 295:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39764,21 +40772,21 @@ case 287:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr767;
- case 32: goto tr767;
- case 40: goto tr768;
- case 41: goto tr769;
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
case 72: goto st41;
case 78: goto st45;
case 83: goto st53;
case 104: goto st41;
case 110: goto st45;
case 115: goto st53;
- case 2058: goto tr770;
- case 2107: goto tr771;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
}
- goto tr996;
-tr4234:
+ goto tr1014;
+tr4314:
{
s->r_class = s->default_class;
}
@@ -39786,9 +40794,9 @@ tr4234:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 288;goto st309;} }
- goto st288;
-tr4255:
+ { p--; {stack[top++] = 296;goto st318;} }
+ goto st296;
+tr4336:
{
s->r_class = s->default_class;
}
@@ -39799,12 +40807,12 @@ tr4255:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 288;goto st309;} }
- goto st288;
-st288:
+ { p--; {stack[top++] = 296;goto st318;} }
+ goto st296;
+st296:
if ( ++p == pe )
- goto _test_eof288;
-case 288:
+ goto _test_eof296;
+case 296:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39818,17 +40826,17 @@ case 288:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr767;
- case 32: goto tr767;
- case 40: goto tr768;
- case 41: goto tr769;
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
case 85: goto st55;
case 117: goto st55;
- case 2058: goto tr770;
- case 2107: goto tr771;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
}
- goto tr996;
-tr4235:
+ goto tr1014;
+tr4315:
{
s->r_class = s->default_class;
}
@@ -39836,9 +40844,9 @@ tr4235:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 289;goto st309;} }
- goto st289;
-tr4256:
+ { p--; {stack[top++] = 297;goto st318;} }
+ goto st297;
+tr4337:
{
s->r_class = s->default_class;
}
@@ -39849,12 +40857,12 @@ tr4256:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 289;goto st309;} }
- goto st289;
-st289:
+ { p--; {stack[top++] = 297;goto st318;} }
+ goto st297;
+st297:
if ( ++p == pe )
- goto _test_eof289;
-case 289:
+ goto _test_eof297;
+case 297:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39868,19 +40876,19 @@ case 289:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr767;
- case 32: goto tr767;
- case 40: goto tr768;
- case 41: goto tr769;
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
case 73: goto st62;
case 84: goto st66;
case 105: goto st62;
case 116: goto st66;
- case 2058: goto tr770;
- case 2107: goto tr771;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
}
- goto tr996;
-tr4257:
+ goto tr1014;
+tr4338:
{
s->r_class = s->default_class;
}
@@ -39891,12 +40899,12 @@ tr4257:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 290;goto st309;} }
- goto st290;
-st290:
+ { p--; {stack[top++] = 298;goto st318;} }
+ goto st298;
+st298:
if ( ++p == pe )
- goto _test_eof290;
-case 290:
+ goto _test_eof298;
+case 298:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39910,19 +40918,19 @@ case 290:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr767;
- case 32: goto tr767;
- case 40: goto tr768;
- case 41: goto tr769;
- case 78: goto st176;
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
+ case 78: goto st182;
case 80: goto st74;
- case 110: goto st176;
+ case 110: goto st182;
case 112: goto st74;
- case 2058: goto tr770;
- case 2107: goto tr771;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
}
- goto tr996;
-tr4237:
+ goto tr1014;
+tr4317:
{
s->r_class = s->default_class;
}
@@ -39930,9 +40938,9 @@ tr4237:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 291;goto st309;} }
- goto st291;
-tr4258:
+ { p--; {stack[top++] = 299;goto st318;} }
+ goto st299;
+tr4339:
{
s->r_class = s->default_class;
}
@@ -39943,12 +40951,12 @@ tr4258:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 291;goto st309;} }
- goto st291;
-st291:
+ { p--; {stack[top++] = 299;goto st318;} }
+ goto st299;
+st299:
if ( ++p == pe )
- goto _test_eof291;
-case 291:
+ goto _test_eof299;
+case 299:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -39962,19 +40970,19 @@ case 291:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr767;
- case 32: goto tr767;
- case 40: goto tr768;
- case 41: goto tr769;
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
case 69: goto st82;
case 88: goto st84;
case 101: goto st82;
case 120: goto st84;
- case 2058: goto tr770;
- case 2107: goto tr771;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
}
- goto tr996;
-tr4238:
+ goto tr1014;
+tr4318:
{
s->r_class = s->default_class;
}
@@ -39982,9 +40990,9 @@ tr4238:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 292;goto st309;} }
- goto st292;
-tr4259:
+ { p--; {stack[top++] = 300;goto st318;} }
+ goto st300;
+tr4340:
{
s->r_class = s->default_class;
}
@@ -39995,12 +41003,12 @@ tr4259:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 292;goto st309;} }
- goto st292;
-st292:
+ { p--; {stack[top++] = 300;goto st318;} }
+ goto st300;
+st300:
if ( ++p == pe )
- goto _test_eof292;
-case 292:
+ goto _test_eof300;
+case 300:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -40014,21 +41022,21 @@ case 292:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr767;
- case 32: goto tr767;
- case 40: goto tr768;
- case 41: goto tr769;
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
case 51: goto st86;
case 54: goto st88;
case 79: goto st90;
case 80: goto st92;
case 111: goto st90;
case 112: goto st92;
- case 2058: goto tr770;
- case 2107: goto tr771;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
}
- goto tr996;
-tr4239:
+ goto tr1014;
+tr4319:
{
s->r_class = s->default_class;
}
@@ -40036,9 +41044,9 @@ tr4239:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 293;goto st309;} }
- goto st293;
-tr4260:
+ { p--; {stack[top++] = 301;goto st318;} }
+ goto st301;
+tr4341:
{
s->r_class = s->default_class;
}
@@ -40049,12 +41057,12 @@ tr4260:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 293;goto st309;} }
- goto st293;
-st293:
+ { p--; {stack[top++] = 301;goto st318;} }
+ goto st301;
+st301:
if ( ++p == pe )
- goto _test_eof293;
-case 293:
+ goto _test_eof301;
+case 301:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -40068,19 +41076,19 @@ case 293:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr767;
- case 32: goto tr767;
- case 40: goto tr768;
- case 41: goto tr769;
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
case 73: goto st94;
case 88: goto st98;
case 105: goto st94;
case 120: goto st98;
- case 2058: goto tr770;
- case 2107: goto tr771;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
}
- goto tr996;
-tr4240:
+ goto tr1014;
+tr4320:
{
s->r_class = s->default_class;
}
@@ -40088,9 +41096,9 @@ tr4240:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 294;goto st309;} }
- goto st294;
-tr4261:
+ { p--; {stack[top++] = 302;goto st318;} }
+ goto st302;
+tr4342:
{
s->r_class = s->default_class;
}
@@ -40101,12 +41109,12 @@ tr4261:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 294;goto st309;} }
- goto st294;
-st294:
+ { p--; {stack[top++] = 302;goto st318;} }
+ goto st302;
+st302:
if ( ++p == pe )
- goto _test_eof294;
-case 294:
+ goto _test_eof302;
+case 302:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -40120,21 +41128,21 @@ case 294:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr767;
- case 32: goto tr767;
- case 40: goto tr768;
- case 41: goto tr769;
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
case 65: goto st100;
case 73: goto st104;
case 83: goto st106;
case 97: goto st100;
case 105: goto st104;
case 115: goto st106;
- case 2058: goto tr770;
- case 2107: goto tr771;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
}
- goto tr996;
-tr4241:
+ goto tr1014;
+tr4321:
{
s->r_class = s->default_class;
}
@@ -40142,9 +41150,9 @@ tr4241:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 295;goto st309;} }
- goto st295;
-tr4262:
+ { p--; {stack[top++] = 303;goto st318;} }
+ goto st303;
+tr4343:
{
s->r_class = s->default_class;
}
@@ -40155,12 +41163,12 @@ tr4262:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 295;goto st309;} }
- goto st295;
-st295:
+ { p--; {stack[top++] = 303;goto st318;} }
+ goto st303;
+st303:
if ( ++p == pe )
- goto _test_eof295;
-case 295:
+ goto _test_eof303;
+case 303:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -40174,17 +41182,17 @@ case 295:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr767;
- case 32: goto tr767;
- case 40: goto tr768;
- case 41: goto tr769;
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
case 80: goto st116;
case 112: goto st116;
- case 2058: goto tr770;
- case 2107: goto tr771;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
}
- goto tr996;
-tr4242:
+ goto tr1014;
+tr4322:
{
s->r_class = s->default_class;
}
@@ -40192,9 +41200,9 @@ tr4242:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 296;goto st309;} }
- goto st296;
-tr4263:
+ { p--; {stack[top++] = 304;goto st318;} }
+ goto st304;
+tr4344:
{
s->r_class = s->default_class;
}
@@ -40205,12 +41213,12 @@ tr4263:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 296;goto st309;} }
- goto st296;
-st296:
+ { p--; {stack[top++] = 304;goto st318;} }
+ goto st304;
+st304:
if ( ++p == pe )
- goto _test_eof296;
-case 296:
+ goto _test_eof304;
+case 304:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -40224,17 +41232,17 @@ case 296:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr767;
- case 32: goto tr767;
- case 40: goto tr768;
- case 41: goto tr769;
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
case 84: goto st126;
case 116: goto st126;
- case 2058: goto tr770;
- case 2107: goto tr771;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
}
- goto tr996;
-tr4243:
+ goto tr1014;
+tr4323:
{
s->r_class = s->default_class;
}
@@ -40242,9 +41250,9 @@ tr4243:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 297;goto st309;} }
- goto st297;
-tr4264:
+ { p--; {stack[top++] = 305;goto st318;} }
+ goto st305;
+tr4345:
{
s->r_class = s->default_class;
}
@@ -40255,12 +41263,12 @@ tr4264:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 297;goto st309;} }
- goto st297;
-st297:
+ { p--; {stack[top++] = 305;goto st318;} }
+ goto st305;
+st305:
if ( ++p == pe )
- goto _test_eof297;
-case 297:
+ goto _test_eof305;
+case 305:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -40274,21 +41282,21 @@ case 297:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr767;
- case 32: goto tr767;
- case 40: goto tr768;
- case 41: goto tr769;
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
case 80: goto st129;
case 82: goto st130;
case 84: goto st134;
case 112: goto st129;
case 114: goto st130;
case 116: goto st134;
- case 2058: goto tr770;
- case 2107: goto tr771;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
}
- goto tr996;
-tr4244:
+ goto tr1014;
+tr4324:
{
s->r_class = s->default_class;
}
@@ -40296,9 +41304,9 @@ tr4244:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 298;goto st309;} }
- goto st298;
-tr4265:
+ { p--; {stack[top++] = 306;goto st318;} }
+ goto st306;
+tr4346:
{
s->r_class = s->default_class;
}
@@ -40309,12 +41317,12 @@ tr4265:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 298;goto st309;} }
- goto st298;
-st298:
+ { p--; {stack[top++] = 306;goto st318;} }
+ goto st306;
+st306:
if ( ++p == pe )
- goto _test_eof298;
-case 298:
+ goto _test_eof306;
+case 306:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -40328,10 +41336,10 @@ case 298:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr767;
- case 32: goto tr767;
- case 40: goto tr768;
- case 41: goto tr769;
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
case 77: goto st136;
case 79: goto st141;
case 80: goto st143;
@@ -40344,11 +41352,11 @@ case 298:
case 114: goto st145;
case 115: goto st147;
case 118: goto st151;
- case 2058: goto tr770;
- case 2107: goto tr771;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
}
- goto tr996;
-tr4245:
+ goto tr1014;
+tr4325:
{
s->r_class = s->default_class;
}
@@ -40356,9 +41364,9 @@ tr4245:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 299;goto st309;} }
- goto st299;
-tr4266:
+ { p--; {stack[top++] = 307;goto st318;} }
+ goto st307;
+tr4347:
{
s->r_class = s->default_class;
}
@@ -40369,12 +41377,12 @@ tr4266:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 299;goto st309;} }
- goto st299;
-st299:
+ { p--; {stack[top++] = 307;goto st318;} }
+ goto st307;
+st307:
if ( ++p == pe )
- goto _test_eof299;
-case 299:
+ goto _test_eof307;
+case 307:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -40388,21 +41396,21 @@ case 299:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr767;
- case 32: goto tr767;
- case 40: goto tr768;
- case 41: goto tr769;
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
case 76: goto st155;
case 88: goto st158;
case 89: goto st160;
case 108: goto st155;
case 120: goto st158;
case 121: goto st160;
- case 2058: goto tr770;
- case 2107: goto tr771;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
}
- goto tr996;
-tr4246:
+ goto tr1014;
+tr4326:
{
s->r_class = s->default_class;
}
@@ -40410,9 +41418,9 @@ tr4246:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 300;goto st309;} }
- goto st300;
-tr4267:
+ { p--; {stack[top++] = 308;goto st318;} }
+ goto st308;
+tr4348:
{
s->r_class = s->default_class;
}
@@ -40423,12 +41431,12 @@ tr4267:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 300;goto st309;} }
- goto st300;
-st300:
+ { p--; {stack[top++] = 308;goto st318;} }
+ goto st308;
+st308:
if ( ++p == pe )
- goto _test_eof300;
-case 300:
+ goto _test_eof308;
+case 308:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -40442,17 +41450,17 @@ case 300:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr767;
- case 32: goto tr767;
- case 40: goto tr768;
- case 41: goto tr769;
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
case 82: goto st165;
case 114: goto st165;
- case 2058: goto tr770;
- case 2107: goto tr771;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
}
- goto tr996;
-tr4247:
+ goto tr1014;
+tr4327:
{
s->r_class = s->default_class;
}
@@ -40460,9 +41468,9 @@ tr4247:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 301;goto st309;} }
- goto st301;
-tr4268:
+ { p--; {stack[top++] = 309;goto st318;} }
+ goto st309;
+tr4349:
{
s->r_class = s->default_class;
}
@@ -40473,12 +41481,12 @@ tr4268:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 301;goto st309;} }
- goto st301;
-st301:
+ { p--; {stack[top++] = 309;goto st318;} }
+ goto st309;
+st309:
if ( ++p == pe )
- goto _test_eof301;
-case 301:
+ goto _test_eof309;
+case 309:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -40492,33 +41500,83 @@ case 301:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr767;
- case 32: goto tr767;
- case 40: goto tr768;
- case 41: goto tr769;
- case 79: goto st168;
- case 111: goto st168;
- case 2058: goto tr770;
- case 2107: goto tr771;
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
+ case 65: goto st168;
+ case 97: goto st168;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
}
- goto tr996;
-tr25:
+ goto tr1014;
+tr4328:
+ {
+ s->r_class = s->default_class;
+ }
+ {
+ s->dname = s->r_owner;
+ s->r_owner_length = 0;
+ }
+ { p--; {stack[top++] = 310;goto st318;} }
+ goto st310;
+tr4350:
+ {
+ s->r_class = s->default_class;
+ }
+ {
+ s->r_ttl = s->default_ttl;
+ }
+ {
+ s->dname = s->r_owner;
+ s->r_owner_length = 0;
+ }
+ { p--; {stack[top++] = 310;goto st318;} }
+ goto st310;
+st310:
+ if ( ++p == pe )
+ goto _test_eof310;
+case 310:
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(1664 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(1664 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ }
+ switch( _widec ) {
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
+ case 79: goto st174;
+ case 111: goto st174;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
+ }
+ goto tr1014;
+tr26:
{
s->buffer_length = 0;
}
- goto st302;
-tr997:
+ goto st311;
+tr1015:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st302;
-tr4214:
+ goto st311;
+tr4294:
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -40528,30 +41586,30 @@ tr4214:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st302;
-tr4282:
+ goto st311;
+tr4364:
{
s->buffer_length = 0;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st302;
-tr4278:
+ goto st311;
+tr4360:
{
NOERR;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -40561,11 +41619,11 @@ tr4278:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st302;
-st302:
+ goto st311;
+st311:
if ( ++p == pe )
- goto _test_eof302;
-case 302:
+ goto _test_eof311;
+case 311:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -40585,46 +41643,46 @@ case 302:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 1802: goto tr754;
- case 2058: goto tr998;
+ case 1802: goto tr772;
+ case 2058: goto tr1016;
}
if ( _widec > 1919 ) {
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr997;
+ goto tr1015;
} else if ( _widec >= 1664 )
- goto tr753;
- goto tr89;
-tr697:
+ goto tr771;
+ goto tr91;
+tr714:
{
s->buffer_length = 0;
}
- goto st303;
-tr999:
+ goto st312;
+tr1017:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st303;
-tr4249:
+ goto st312;
+tr4330:
{
s->buffer_length = 0;
}
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st303;
-st303:
+ goto st312;
+st312:
if ( ++p == pe )
- goto _test_eof303;
-case 303:
+ goto _test_eof312;
+case 312:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -40644,16 +41702,16 @@ case 303:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 1802: goto tr754;
- case 2058: goto tr1000;
+ case 1802: goto tr772;
+ case 2058: goto tr1018;
}
if ( _widec > 1919 ) {
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr999;
+ goto tr1017;
} else if ( _widec >= 1664 )
- goto tr753;
- goto tr151;
-tr4236:
+ goto tr771;
+ goto tr154;
+tr4316:
{
s->r_class = s->default_class;
}
@@ -40661,12 +41719,12 @@ tr4236:
s->dname = s->r_owner;
s->r_owner_length = 0;
}
- { p--; {stack[top++] = 304;goto st309;} }
- goto st304;
-st304:
+ { p--; {stack[top++] = 313;goto st318;} }
+ goto st313;
+st313:
if ( ++p == pe )
- goto _test_eof304;
-case 304:
+ goto _test_eof313;
+case 313:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -40680,37 +41738,37 @@ case 304:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr767;
- case 32: goto tr767;
- case 40: goto tr768;
- case 41: goto tr769;
+ case 9: goto tr785;
+ case 32: goto tr785;
+ case 40: goto tr786;
+ case 41: goto tr787;
case 78: goto st71;
case 80: goto st74;
case 110: goto st71;
case 112: goto st74;
- case 2058: goto tr770;
- case 2107: goto tr771;
+ case 2058: goto tr788;
+ case 2107: goto tr789;
}
- goto tr996;
-tr156:
+ goto tr1014;
+tr159:
{
s->buffer_length = 0;
}
- goto st305;
-tr1001:
+ goto st314;
+tr1019:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st305;
-tr150:
+ goto st314;
+tr153:
{
if (s->number64 <= UINT32_MAX) {
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -40720,11 +41778,11 @@ tr150:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st305;
-st305:
+ goto st314;
+st314:
if ( ++p == pe )
- goto _test_eof305;
-case 305:
+ goto _test_eof314;
+case 314:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -40744,33 +41802,33 @@ case 305:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 1802: goto tr96;
- case 2058: goto tr1002;
+ case 1802: goto tr98;
+ case 2058: goto tr1020;
}
if ( _widec > 1919 ) {
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1001;
+ goto tr1019;
} else if ( _widec >= 1664 )
- goto tr95;
- goto tr151;
-tr1006:
+ goto tr97;
+ goto tr154;
+tr1024:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st306;
-tr1005:
+ goto st315;
+tr1023:
{
s->line_counter++;
}
- goto st306;
-st306:
+ goto st315;
+st315:
if ( ++p == pe )
- goto _test_eof306;
-case 306:
+ goto _test_eof315;
+case 315:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 41 <= (*p) && (*p) <= 41 ) {
@@ -40784,38 +41842,38 @@ case 306:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 266: goto tr1004;
- case 522: goto tr1005;
- case 1065: goto tr1006;
+ case 266: goto tr1022;
+ case 522: goto tr1023;
+ case 1065: goto tr1024;
}
if ( _widec < 11 ) {
if ( _widec <= 9 )
- goto st306;
+ goto st315;
} else if ( _widec > 40 ) {
if ( 42 <= _widec )
- goto st306;
+ goto st315;
} else
- goto st306;
+ goto st315;
goto st0;
-tr1004:
- { p--; {stack[top++] = 1406;goto st1396;} }
+tr1022:
+ { p--; {stack[top++] = 1454;goto st1444;} }
{
s->line_counter++;
}
- goto st1406;
-st1406:
+ goto st1454;
+st1454:
if ( ++p == pe )
- goto _test_eof1406;
-case 1406:
+ goto _test_eof1454;
+case 1454:
goto st0;
-st307:
+st316:
if ( ++p == pe )
- goto _test_eof307;
-case 307:
+ goto _test_eof316;
+case 316:
if ( (*p) == 10 )
- goto tr1008;
- goto tr1007;
-tr1007:
+ goto tr1026;
+ goto tr1025;
+tr1025:
{
s->buffer_length = 0;
}
@@ -40828,8 +41886,8 @@ tr1007:
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st308;
-tr1009:
+ goto st317;
+tr1027:
{
if ((*p) == '\r') {
ERR(ZS_DOS_NEWLINE);
@@ -40839,16 +41897,16 @@ tr1009:
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st308;
-st308:
+ goto st317;
+st317:
if ( ++p == pe )
- goto _test_eof308;
-case 308:
+ goto _test_eof317;
+case 317:
if ( (*p) == 10 )
- goto tr1010;
- goto tr1009;
-tr1008:
- cs = 1407;
+ goto tr1028;
+ goto tr1027;
+tr1026:
+ cs = 1455;
{
s->buffer_length = 0;
}
@@ -40885,18 +41943,18 @@ tr1008:
if (s->error.fatal) {
{p++; goto _out;}
}
- {goto st306;}
+ {goto st315;}
} else {
// Return if external processing.
- p--; cs = 306; {p++; goto _out;}
+ p--; cs = 315; {p++; goto _out;}
}
}
{
s->line_counter++;
}
goto _again;
-tr1010:
- cs = 1407;
+tr1028:
+ cs = 1455;
{
// Terminate the error context string.
s->buffer[s->buffer_length++] = 0;
@@ -40930,42 +41988,42 @@ tr1010:
if (s->error.fatal) {
{p++; goto _out;}
}
- {goto st306;}
+ {goto st315;}
} else {
// Return if external processing.
- p--; cs = 306; {p++; goto _out;}
+ p--; cs = 315; {p++; goto _out;}
}
}
{
s->line_counter++;
}
goto _again;
-st1407:
+st1455:
if ( ++p == pe )
- goto _test_eof1407;
-case 1407:
+ goto _test_eof1455;
+case 1455:
goto st0;
-st309:
+st318:
if ( ++p == pe )
- goto _test_eof309;
-case 309:
+ goto _test_eof318;
+case 318:
switch( (*p) ) {
- case 42: goto tr1012;
- case 46: goto tr1013;
- case 64: goto st317;
- case 92: goto tr1015;
- case 95: goto tr1012;
+ case 42: goto tr1030;
+ case 46: goto tr1031;
+ case 64: goto st326;
+ case 92: goto tr1033;
+ case 95: goto tr1030;
}
if ( (*p) < 65 ) {
if ( 45 <= (*p) && (*p) <= 57 )
- goto tr1012;
+ goto tr1030;
} else if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1012;
+ goto tr1030;
} else
- goto tr1012;
- goto tr1011;
-tr1012:
+ goto tr1030;
+ goto tr1029;
+tr1030:
{
s->item_length_position = 0;
s->dname_tmp_length = 0;
@@ -40981,11 +42039,11 @@ tr1012:
s->item_length++;
} else {
WARN(ZS_LABEL_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st310;
-tr1017:
+ goto st319;
+tr1035:
{
// Check for maximum dname label length.
if (s->item_length < ZS_MAX_LABEL_LENGTH) {
@@ -40993,11 +42051,11 @@ tr1017:
s->item_length++;
} else {
WARN(ZS_LABEL_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st310;
-tr1021:
+ goto st319;
+tr1039:
{
s->item_length = 0;
s->item_length_position = s->dname_tmp_length++;
@@ -41009,11 +42067,11 @@ tr1021:
s->item_length++;
} else {
WARN(ZS_LABEL_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st310;
-tr1028:
+ goto st319;
+tr1046:
{
s->dname_tmp_length++;
}
@@ -41024,38 +42082,38 @@ tr1028:
s->item_length++;
} else {
WARN(ZS_LABEL_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st310;
-st310:
+ goto st319;
+st319:
if ( ++p == pe )
- goto _test_eof310;
-case 310:
+ goto _test_eof319;
+case 319:
switch( (*p) ) {
- case 32: goto tr1016;
- case 42: goto tr1017;
- case 46: goto tr1018;
- case 59: goto tr1016;
- case 92: goto st312;
- case 95: goto tr1017;
+ case 32: goto tr1034;
+ case 42: goto tr1035;
+ case 46: goto tr1036;
+ case 59: goto tr1034;
+ case 92: goto st321;
+ case 95: goto tr1035;
}
if ( (*p) < 45 ) {
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr1016;
+ goto tr1034;
} else if ( (*p) >= 9 )
- goto tr1016;
+ goto tr1034;
} else if ( (*p) > 57 ) {
if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1017;
+ goto tr1035;
} else if ( (*p) >= 65 )
- goto tr1017;
+ goto tr1035;
} else
- goto tr1017;
- goto tr1011;
-tr1016:
+ goto tr1035;
+ goto tr1029;
+tr1034:
{
// Check for maximum dname length overflow after each label.
// (at least the next label length must follow).
@@ -41064,7 +42122,7 @@ tr1016:
(uint8_t)(s->item_length);
} else {
WARN(ZS_DNAME_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -41077,14 +42135,14 @@ tr1016:
s->dname_tmp_length += s->zone_origin_length;
} else {
WARN(ZS_DNAME_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1408;
-tr1020:
+ goto st1456;
+tr1038:
{
// Enough room for the terminal label is guaranteed (_label_exit).
(s->dname)[s->dname_tmp_length++] = 0;
@@ -41092,8 +42150,8 @@ tr1020:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1408;
-tr1027:
+ goto st1456;
+tr1045:
{
s->dname_tmp_length++;
}
@@ -41105,7 +42163,7 @@ tr1027:
(uint8_t)(s->item_length);
} else {
WARN(ZS_DNAME_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -41118,14 +42176,14 @@ tr1027:
s->dname_tmp_length += s->zone_origin_length;
} else {
WARN(ZS_DNAME_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1408;
-tr1031:
+ goto st1456;
+tr1049:
{
// Copy already verified zone origin.
memcpy(s->dname,
@@ -41137,13 +42195,13 @@ tr1031:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1408;
-st1408:
+ goto st1456;
+st1456:
if ( ++p == pe )
- goto _test_eof1408;
-case 1408:
+ goto _test_eof1456;
+case 1456:
goto st0;
-tr1018:
+tr1036:
{
// Check for maximum dname length overflow after each label.
// (at least the next label length must follow).
@@ -41152,11 +42210,11 @@ tr1018:
(uint8_t)(s->item_length);
} else {
WARN(ZS_DNAME_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st311;
-tr1029:
+ goto st320;
+tr1047:
{
s->dname_tmp_length++;
}
@@ -41168,38 +42226,38 @@ tr1029:
(uint8_t)(s->item_length);
} else {
WARN(ZS_DNAME_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st311;
-st311:
+ goto st320;
+st320:
if ( ++p == pe )
- goto _test_eof311;
-case 311:
+ goto _test_eof320;
+case 320:
switch( (*p) ) {
- case 32: goto tr1020;
- case 42: goto tr1021;
- case 45: goto tr1021;
- case 59: goto tr1020;
- case 92: goto tr1022;
- case 95: goto tr1021;
+ case 32: goto tr1038;
+ case 42: goto tr1039;
+ case 45: goto tr1039;
+ case 59: goto tr1038;
+ case 92: goto tr1040;
+ case 95: goto tr1039;
}
if ( (*p) < 47 ) {
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr1020;
+ goto tr1038;
} else if ( (*p) >= 9 )
- goto tr1020;
+ goto tr1038;
} else if ( (*p) > 57 ) {
if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1021;
+ goto tr1039;
} else if ( (*p) >= 65 )
- goto tr1021;
+ goto tr1039;
} else
- goto tr1021;
- goto tr1011;
-tr1015:
+ goto tr1039;
+ goto tr1029;
+tr1033:
{
s->item_length_position = 0;
s->dname_tmp_length = 0;
@@ -41208,142 +42266,142 @@ tr1015:
s->item_length = 0;
s->item_length_position = s->dname_tmp_length++;
}
- goto st312;
-tr1022:
+ goto st321;
+tr1040:
{
s->item_length = 0;
s->item_length_position = s->dname_tmp_length++;
}
- goto st312;
-tr1030:
+ goto st321;
+tr1048:
{
s->dname_tmp_length++;
}
- goto st312;
-st312:
+ goto st321;
+st321:
if ( ++p == pe )
- goto _test_eof312;
-case 312:
+ goto _test_eof321;
+case 321:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1023;
- goto tr1017;
-tr1023:
+ goto tr1041;
+ goto tr1035;
+tr1041:
{
if (s->item_length < ZS_MAX_LABEL_LENGTH) {
(s->dname)[s->dname_tmp_length] = 0;
s->item_length++;
} else {
WARN(ZS_LABEL_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
(s->dname)[s->dname_tmp_length] *= 10;
(s->dname)[s->dname_tmp_length] += digit_to_num[(uint8_t)(*p)];
}
- goto st313;
-st313:
+ goto st322;
+st322:
if ( ++p == pe )
- goto _test_eof313;
-case 313:
+ goto _test_eof322;
+case 322:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1025;
- goto tr1024;
-tr1025:
+ goto tr1043;
+ goto tr1042;
+tr1043:
{
(s->dname)[s->dname_tmp_length] *= 10;
(s->dname)[s->dname_tmp_length] += digit_to_num[(uint8_t)(*p)];
}
- goto st314;
-st314:
+ goto st323;
+st323:
if ( ++p == pe )
- goto _test_eof314;
-case 314:
+ goto _test_eof323;
+case 323:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1026;
- goto tr1024;
-tr1026:
+ goto tr1044;
+ goto tr1042;
+tr1044:
{
(s->dname)[s->dname_tmp_length] *= 10;
(s->dname)[s->dname_tmp_length] += digit_to_num[(uint8_t)(*p)];
}
- goto st315;
-st315:
+ goto st324;
+st324:
if ( ++p == pe )
- goto _test_eof315;
-case 315:
+ goto _test_eof324;
+case 324:
switch( (*p) ) {
- case 32: goto tr1027;
- case 42: goto tr1028;
- case 46: goto tr1029;
- case 59: goto tr1027;
- case 92: goto tr1030;
- case 95: goto tr1028;
+ case 32: goto tr1045;
+ case 42: goto tr1046;
+ case 46: goto tr1047;
+ case 59: goto tr1045;
+ case 92: goto tr1048;
+ case 95: goto tr1046;
}
if ( (*p) < 45 ) {
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr1027;
+ goto tr1045;
} else if ( (*p) >= 9 )
- goto tr1027;
+ goto tr1045;
} else if ( (*p) > 57 ) {
if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1028;
+ goto tr1046;
} else if ( (*p) >= 65 )
- goto tr1028;
+ goto tr1046;
} else
- goto tr1028;
- goto tr1024;
-tr1013:
+ goto tr1046;
+ goto tr1042;
+tr1031:
{
s->item_length_position = 0;
s->dname_tmp_length = 0;
}
- goto st316;
-st316:
+ goto st325;
+st325:
if ( ++p == pe )
- goto _test_eof316;
-case 316:
+ goto _test_eof325;
+case 325:
switch( (*p) ) {
- case 32: goto tr1020;
- case 59: goto tr1020;
+ case 32: goto tr1038;
+ case 59: goto tr1038;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr1020;
+ goto tr1038;
} else if ( (*p) >= 9 )
- goto tr1020;
- goto tr1011;
-st317:
+ goto tr1038;
+ goto tr1029;
+st326:
if ( ++p == pe )
- goto _test_eof317;
-case 317:
+ goto _test_eof326;
+case 326:
switch( (*p) ) {
- case 32: goto tr1031;
- case 59: goto tr1031;
+ case 32: goto tr1049;
+ case 59: goto tr1049;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr1031;
+ goto tr1049;
} else if ( (*p) >= 9 )
- goto tr1031;
- goto tr1011;
-st318:
+ goto tr1049;
+ goto tr1029;
+st327:
if ( ++p == pe )
- goto _test_eof318;
-case 318:
+ goto _test_eof327;
+case 327:
switch( (*p) ) {
- case 34: goto st324;
- case 92: goto st320;
+ case 34: goto st333;
+ case 92: goto st329;
}
if ( (*p) > 58 ) {
if ( 60 <= (*p) && (*p) <= 126 )
- goto tr1033;
+ goto tr1051;
} else if ( (*p) >= 33 )
- goto tr1033;
- goto tr1032;
-tr1033:
+ goto tr1051;
+ goto tr1050;
+tr1051:
{
if (rdata_tail <= rdata_stop) {
// Split long string.
@@ -41356,18 +42414,18 @@ tr1033:
if (rdata_tail > rdata_stop) {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
*(rdata_tail++) = (*p);
} else {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st319;
-tr1037:
+ goto st328;
+tr1055:
{
if (s->comma_list) {
uint8_t *last_two = rdata_tail - 2;
@@ -41375,7 +42433,7 @@ tr1037:
if (last_two[1] == ',') {
if (current_len <= 1) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
} else if (last_two[0] != '\\' || !s->pending_backslash) { // Start a new item.
*(s->item_length_location) = current_len;
s->item_length_location = rdata_tail - 1;
@@ -41393,7 +42451,7 @@ tr1037:
}
} else if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -41409,18 +42467,18 @@ tr1037:
if (rdata_tail > rdata_stop) {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
*(rdata_tail++) = (*p);
} else {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st319;
-tr1045:
+ goto st328;
+tr1063:
{
rdata_tail++;
}
@@ -41431,7 +42489,7 @@ tr1045:
if (last_two[1] == ',') {
if (current_len <= 1) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
} else if (last_two[0] != '\\' || !s->pending_backslash) { // Start a new item.
*(s->item_length_location) = current_len;
s->item_length_location = rdata_tail - 1;
@@ -41449,7 +42507,7 @@ tr1045:
}
} else if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -41465,40 +42523,40 @@ tr1045:
if (rdata_tail > rdata_stop) {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
*(rdata_tail++) = (*p);
} else {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st319;
-st319:
+ goto st328;
+st328:
if ( ++p == pe )
- goto _test_eof319;
-case 319:
+ goto _test_eof328;
+case 328:
switch( (*p) ) {
- case 32: goto tr1036;
- case 33: goto tr1037;
- case 59: goto tr1036;
- case 92: goto tr1039;
+ case 32: goto tr1054;
+ case 33: goto tr1055;
+ case 59: goto tr1054;
+ case 92: goto tr1057;
}
if ( (*p) < 35 ) {
if ( 9 <= (*p) && (*p) <= 10 )
- goto tr1036;
+ goto tr1054;
} else if ( (*p) > 39 ) {
if ( (*p) > 41 ) {
if ( 42 <= (*p) && (*p) <= 126 )
- goto tr1037;
+ goto tr1055;
} else if ( (*p) >= 40 )
- goto tr1038;
+ goto tr1056;
} else
- goto tr1037;
- goto tr1032;
-tr1036:
+ goto tr1055;
+ goto tr1050;
+tr1054:
{
if (s->comma_list) {
uint8_t *last_two = rdata_tail - 2;
@@ -41506,7 +42564,7 @@ tr1036:
if (last_two[1] == ',') {
if (current_len <= 1) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
} else if (last_two[0] != '\\' || !s->pending_backslash) { // Start a new item.
*(s->item_length_location) = current_len;
s->item_length_location = rdata_tail - 1;
@@ -41524,15 +42582,15 @@ tr1036:
}
} else if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1409;
-tr1044:
+ goto st1457;
+tr1062:
{
rdata_tail++;
}
@@ -41543,7 +42601,7 @@ tr1044:
if (last_two[1] == ',') {
if (current_len <= 1) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
} else if (last_two[0] != '\\' || !s->pending_backslash) { // Start a new item.
*(s->item_length_location) = current_len;
s->item_length_location = rdata_tail - 1;
@@ -41561,25 +42619,25 @@ tr1044:
}
} else if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1409;
-tr1057:
+ goto st1457;
+tr1075:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1409;
-st1409:
+ goto st1457;
+st1457:
if ( ++p == pe )
- goto _test_eof1409;
-case 1409:
+ goto _test_eof1457;
+case 1457:
goto st0;
-tr1038:
+tr1056:
{
if (s->comma_list) {
uint8_t *last_two = rdata_tail - 2;
@@ -41587,7 +42645,7 @@ tr1038:
if (last_two[1] == ',') {
if (current_len <= 1) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
} else if (last_two[0] != '\\' || !s->pending_backslash) { // Start a new item.
*(s->item_length_location) = current_len;
s->item_length_location = rdata_tail - 1;
@@ -41605,7 +42663,7 @@ tr1038:
}
} else if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -41621,21 +42679,21 @@ tr1038:
if (rdata_tail > rdata_stop) {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
*(rdata_tail++) = (*p);
} else {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1410;
-tr1046:
+ goto st1458;
+tr1064:
{
rdata_tail++;
}
@@ -41646,7 +42704,7 @@ tr1046:
if (last_two[1] == ',') {
if (current_len <= 1) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
} else if (last_two[0] != '\\' || !s->pending_backslash) { // Start a new item.
*(s->item_length_location) = current_len;
s->item_length_location = rdata_tail - 1;
@@ -41664,7 +42722,7 @@ tr1046:
}
} else if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -41680,43 +42738,43 @@ tr1046:
if (rdata_tail > rdata_stop) {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
*(rdata_tail++) = (*p);
} else {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1410;
-st1410:
+ goto st1458;
+st1458:
if ( ++p == pe )
- goto _test_eof1410;
-case 1410:
+ goto _test_eof1458;
+case 1458:
switch( (*p) ) {
- case 32: goto tr1036;
- case 33: goto tr1037;
- case 59: goto tr1036;
- case 92: goto tr1039;
+ case 32: goto tr1054;
+ case 33: goto tr1055;
+ case 59: goto tr1054;
+ case 92: goto tr1057;
}
if ( (*p) < 35 ) {
if ( 9 <= (*p) && (*p) <= 10 )
- goto tr1036;
+ goto tr1054;
} else if ( (*p) > 39 ) {
if ( (*p) > 41 ) {
if ( 42 <= (*p) && (*p) <= 126 )
- goto tr1037;
+ goto tr1055;
} else if ( (*p) >= 40 )
- goto tr1038;
+ goto tr1056;
} else
- goto tr1037;
- goto tr1032;
-tr1039:
+ goto tr1055;
+ goto tr1050;
+tr1057:
{
if (s->comma_list) {
uint8_t *last_two = rdata_tail - 2;
@@ -41724,7 +42782,7 @@ tr1039:
if (last_two[1] == ',') {
if (current_len <= 1) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
} else if (last_two[0] != '\\' || !s->pending_backslash) { // Start a new item.
*(s->item_length_location) = current_len;
s->item_length_location = rdata_tail - 1;
@@ -41742,12 +42800,12 @@ tr1039:
}
} else if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
- goto st320;
-tr1047:
+ goto st329;
+tr1065:
{
rdata_tail++;
}
@@ -41758,7 +42816,7 @@ tr1047:
if (last_two[1] == ',') {
if (current_len <= 1) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
} else if (last_two[0] != '\\' || !s->pending_backslash) { // Start a new item.
*(s->item_length_location) = current_len;
s->item_length_location = rdata_tail - 1;
@@ -41776,25 +42834,25 @@ tr1047:
}
} else if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
- goto st320;
-st320:
+ goto st329;
+st329:
if ( ++p == pe )
- goto _test_eof320;
-case 320:
+ goto _test_eof329;
+case 329:
if ( (*p) < 48 ) {
if ( 32 <= (*p) && (*p) <= 47 )
- goto tr1033;
+ goto tr1051;
} else if ( (*p) > 57 ) {
if ( 58 <= (*p) && (*p) <= 126 )
- goto tr1033;
+ goto tr1051;
} else
- goto tr1041;
- goto tr1040;
-tr1041:
+ goto tr1059;
+ goto tr1058;
+tr1059:
{
if (rdata_tail <= rdata_stop) {
// Split long string.
@@ -41807,7 +42865,7 @@ tr1041:
if (rdata_tail > rdata_stop) {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
@@ -41815,7 +42873,7 @@ tr1041:
s->item_length++;
} else {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -41828,18 +42886,18 @@ tr1041:
*rdata_tail += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st321;
-st321:
+ goto st330;
+st330:
if ( ++p == pe )
- goto _test_eof321;
-case 321:
+ goto _test_eof330;
+case 330:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1042;
- goto tr1040;
-tr1042:
+ goto tr1060;
+ goto tr1058;
+tr1060:
{
if ((*rdata_tail < (UINT8_MAX / 10)) || // Dominant fast check.
((*rdata_tail == (UINT8_MAX / 10)) && // Marginal case.
@@ -41850,18 +42908,18 @@ tr1042:
*rdata_tail += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st322;
-st322:
+ goto st331;
+st331:
if ( ++p == pe )
- goto _test_eof322;
-case 322:
+ goto _test_eof331;
+case 331:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1043;
- goto tr1040;
-tr1043:
+ goto tr1061;
+ goto tr1058;
+tr1061:
{
if ((*rdata_tail < (UINT8_MAX / 10)) || // Dominant fast check.
((*rdata_tail == (UINT8_MAX / 10)) && // Marginal case.
@@ -41872,33 +42930,33 @@ tr1043:
*rdata_tail += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st323;
-st323:
+ goto st332;
+st332:
if ( ++p == pe )
- goto _test_eof323;
-case 323:
+ goto _test_eof332;
+case 332:
switch( (*p) ) {
- case 32: goto tr1044;
- case 33: goto tr1045;
- case 59: goto tr1044;
- case 92: goto tr1047;
+ case 32: goto tr1062;
+ case 33: goto tr1063;
+ case 59: goto tr1062;
+ case 92: goto tr1065;
}
if ( (*p) < 35 ) {
if ( 9 <= (*p) && (*p) <= 10 )
- goto tr1044;
+ goto tr1062;
} else if ( (*p) > 39 ) {
if ( (*p) > 41 ) {
if ( 42 <= (*p) && (*p) <= 126 )
- goto tr1045;
+ goto tr1063;
} else if ( (*p) >= 40 )
- goto tr1046;
+ goto tr1064;
} else
- goto tr1045;
- goto tr1040;
-tr1048:
+ goto tr1063;
+ goto tr1058;
+tr1066:
{
if (rdata_tail <= rdata_stop) {
// Split long string.
@@ -41911,18 +42969,18 @@ tr1048:
if (rdata_tail > rdata_stop) {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
*(rdata_tail++) = (*p);
} else {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st324;
-tr1052:
+ goto st333;
+tr1070:
{
if (s->comma_list) {
uint8_t *last_two = rdata_tail - 2;
@@ -41930,7 +42988,7 @@ tr1052:
if (last_two[1] == ',') {
if (current_len <= 1) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
} else if (last_two[0] != '\\' || !s->pending_backslash) { // Start a new item.
*(s->item_length_location) = current_len;
s->item_length_location = rdata_tail - 1;
@@ -41948,7 +43006,7 @@ tr1052:
}
} else if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -41964,18 +43022,18 @@ tr1052:
if (rdata_tail > rdata_stop) {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
*(rdata_tail++) = (*p);
} else {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st324;
-tr1061:
+ goto st333;
+tr1079:
{
rdata_tail++;
}
@@ -41986,7 +43044,7 @@ tr1061:
if (last_two[1] == ',') {
if (current_len <= 1) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
} else if (last_two[0] != '\\' || !s->pending_backslash) { // Start a new item.
*(s->item_length_location) = current_len;
s->item_length_location = rdata_tail - 1;
@@ -42004,7 +43062,7 @@ tr1061:
}
} else if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -42020,21 +43078,21 @@ tr1061:
if (rdata_tail > rdata_stop) {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
*(rdata_tail++) = (*p);
} else {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st324;
-st324:
+ goto st333;
+st333:
if ( ++p == pe )
- goto _test_eof324;
-case 324:
+ goto _test_eof333;
+case 333:
_widec = (*p);
if ( 10 <= (*p) && (*p) <= 10 ) {
_widec = (short)(1152 + ((*p) - -128));
@@ -42042,17 +43100,17 @@ case 324:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr1048;
- case 32: goto tr1048;
- case 34: goto st326;
- case 59: goto tr1048;
- case 92: goto st327;
- case 1546: goto tr1048;
+ case 9: goto tr1066;
+ case 32: goto tr1066;
+ case 34: goto st335;
+ case 59: goto tr1066;
+ case 92: goto st336;
+ case 1546: goto tr1066;
}
if ( 33 <= _widec && _widec <= 126 )
- goto tr1049;
- goto tr1032;
-tr1049:
+ goto tr1067;
+ goto tr1050;
+tr1067:
{
if (rdata_tail <= rdata_stop) {
// Split long string.
@@ -42065,18 +43123,18 @@ tr1049:
if (rdata_tail > rdata_stop) {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
*(rdata_tail++) = (*p);
} else {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st325;
-tr1053:
+ goto st334;
+tr1071:
{
if (s->comma_list) {
uint8_t *last_two = rdata_tail - 2;
@@ -42084,7 +43142,7 @@ tr1053:
if (last_two[1] == ',') {
if (current_len <= 1) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
} else if (last_two[0] != '\\' || !s->pending_backslash) { // Start a new item.
*(s->item_length_location) = current_len;
s->item_length_location = rdata_tail - 1;
@@ -42102,7 +43160,7 @@ tr1053:
}
} else if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -42118,18 +43176,18 @@ tr1053:
if (rdata_tail > rdata_stop) {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
*(rdata_tail++) = (*p);
} else {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st325;
-tr1062:
+ goto st334;
+tr1080:
{
rdata_tail++;
}
@@ -42140,7 +43198,7 @@ tr1062:
if (last_two[1] == ',') {
if (current_len <= 1) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
} else if (last_two[0] != '\\' || !s->pending_backslash) { // Start a new item.
*(s->item_length_location) = current_len;
s->item_length_location = rdata_tail - 1;
@@ -42158,7 +43216,7 @@ tr1062:
}
} else if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -42174,21 +43232,21 @@ tr1062:
if (rdata_tail > rdata_stop) {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
*(rdata_tail++) = (*p);
} else {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st325;
-st325:
+ goto st334;
+st334:
if ( ++p == pe )
- goto _test_eof325;
-case 325:
+ goto _test_eof334;
+case 334:
_widec = (*p);
if ( 10 <= (*p) && (*p) <= 10 ) {
_widec = (short)(1152 + ((*p) - -128));
@@ -42196,17 +43254,17 @@ case 325:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr1052;
- case 32: goto tr1052;
- case 34: goto tr1054;
- case 59: goto tr1052;
- case 92: goto tr1055;
- case 1546: goto tr1052;
+ case 9: goto tr1070;
+ case 32: goto tr1070;
+ case 34: goto tr1072;
+ case 59: goto tr1070;
+ case 92: goto tr1073;
+ case 1546: goto tr1070;
}
if ( 33 <= _widec && _widec <= 126 )
- goto tr1053;
- goto tr1032;
-tr1054:
+ goto tr1071;
+ goto tr1050;
+tr1072:
{
if (s->comma_list) {
uint8_t *last_two = rdata_tail - 2;
@@ -42214,7 +43272,7 @@ tr1054:
if (last_two[1] == ',') {
if (current_len <= 1) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
} else if (last_two[0] != '\\' || !s->pending_backslash) { // Start a new item.
*(s->item_length_location) = current_len;
s->item_length_location = rdata_tail - 1;
@@ -42232,12 +43290,12 @@ tr1054:
}
} else if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
- goto st326;
-tr1063:
+ goto st335;
+tr1081:
{
rdata_tail++;
}
@@ -42248,7 +43306,7 @@ tr1063:
if (last_two[1] == ',') {
if (current_len <= 1) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
} else if (last_two[0] != '\\' || !s->pending_backslash) { // Start a new item.
*(s->item_length_location) = current_len;
s->item_length_location = rdata_tail - 1;
@@ -42266,26 +43324,26 @@ tr1063:
}
} else if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
- goto st326;
-st326:
+ goto st335;
+st335:
if ( ++p == pe )
- goto _test_eof326;
-case 326:
+ goto _test_eof335;
+case 335:
switch( (*p) ) {
- case 32: goto tr1057;
- case 59: goto tr1057;
+ case 32: goto tr1075;
+ case 59: goto tr1075;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr1057;
+ goto tr1075;
} else if ( (*p) >= 9 )
- goto tr1057;
- goto tr1056;
-tr1055:
+ goto tr1075;
+ goto tr1074;
+tr1073:
{
if (s->comma_list) {
uint8_t *last_two = rdata_tail - 2;
@@ -42293,7 +43351,7 @@ tr1055:
if (last_two[1] == ',') {
if (current_len <= 1) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
} else if (last_two[0] != '\\' || !s->pending_backslash) { // Start a new item.
*(s->item_length_location) = current_len;
s->item_length_location = rdata_tail - 1;
@@ -42311,12 +43369,12 @@ tr1055:
}
} else if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
- goto st327;
-tr1064:
+ goto st336;
+tr1082:
{
rdata_tail++;
}
@@ -42327,7 +43385,7 @@ tr1064:
if (last_two[1] == ',') {
if (current_len <= 1) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
} else if (last_two[0] != '\\' || !s->pending_backslash) { // Start a new item.
*(s->item_length_location) = current_len;
s->item_length_location = rdata_tail - 1;
@@ -42345,25 +43403,25 @@ tr1064:
}
} else if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
- goto st327;
-st327:
+ goto st336;
+st336:
if ( ++p == pe )
- goto _test_eof327;
-case 327:
+ goto _test_eof336;
+case 336:
if ( (*p) < 48 ) {
if ( 32 <= (*p) && (*p) <= 47 )
- goto tr1049;
+ goto tr1067;
} else if ( (*p) > 57 ) {
if ( 58 <= (*p) && (*p) <= 126 )
- goto tr1049;
+ goto tr1067;
} else
- goto tr1058;
- goto tr1040;
-tr1058:
+ goto tr1076;
+ goto tr1058;
+tr1076:
{
if (rdata_tail <= rdata_stop) {
// Split long string.
@@ -42376,7 +43434,7 @@ tr1058:
if (rdata_tail > rdata_stop) {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
@@ -42384,7 +43442,7 @@ tr1058:
s->item_length++;
} else {
WARN(ZS_TEXT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -42397,18 +43455,18 @@ tr1058:
*rdata_tail += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st328;
-st328:
+ goto st337;
+st337:
if ( ++p == pe )
- goto _test_eof328;
-case 328:
+ goto _test_eof337;
+case 337:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1059;
- goto tr1040;
-tr1059:
+ goto tr1077;
+ goto tr1058;
+tr1077:
{
if ((*rdata_tail < (UINT8_MAX / 10)) || // Dominant fast check.
((*rdata_tail == (UINT8_MAX / 10)) && // Marginal case.
@@ -42419,18 +43477,18 @@ tr1059:
*rdata_tail += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st329;
-st329:
+ goto st338;
+st338:
if ( ++p == pe )
- goto _test_eof329;
-case 329:
+ goto _test_eof338;
+case 338:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1060;
- goto tr1040;
-tr1060:
+ goto tr1078;
+ goto tr1058;
+tr1078:
{
if ((*rdata_tail < (UINT8_MAX / 10)) || // Dominant fast check.
((*rdata_tail == (UINT8_MAX / 10)) && // Marginal case.
@@ -42441,14 +43499,14 @@ tr1060:
*rdata_tail += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st330;
-st330:
+ goto st339;
+st339:
if ( ++p == pe )
- goto _test_eof330;
-case 330:
+ goto _test_eof339;
+case 339:
_widec = (*p);
if ( 10 <= (*p) && (*p) <= 10 ) {
_widec = (short)(1152 + ((*p) - -128));
@@ -42456,20 +43514,20 @@ case 330:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr1061;
- case 32: goto tr1061;
- case 34: goto tr1063;
- case 59: goto tr1061;
- case 92: goto tr1064;
- case 1546: goto tr1061;
+ case 9: goto tr1079;
+ case 32: goto tr1079;
+ case 34: goto tr1081;
+ case 59: goto tr1079;
+ case 92: goto tr1082;
+ case 1546: goto tr1079;
}
if ( 33 <= _widec && _widec <= 126 )
- goto tr1062;
- goto tr1040;
-st331:
+ goto tr1080;
+ goto tr1058;
+st340:
if ( ++p == pe )
- goto _test_eof331;
-case 331:
+ goto _test_eof340;
+case 340:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -42483,38 +43541,38 @@ case 331:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st332;
- case 32: goto st332;
- case 40: goto tr1067;
- case 41: goto tr1068;
- case 2058: goto tr1069;
- case 2107: goto tr1070;
+ case 9: goto st341;
+ case 32: goto st341;
+ case 40: goto tr1085;
+ case 41: goto tr1086;
+ case 2058: goto tr1087;
+ case 2107: goto tr1088;
}
- goto tr1065;
-tr1067:
+ goto tr1083;
+tr1085:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st332;
-tr1068:
+ goto st341;
+tr1086:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st332;
-tr1069:
+ goto st341;
+tr1087:
{
s->line_counter++;
}
- goto st332;
-tr1108:
+ goto st341;
+tr1126:
{
s->buffer[s->buffer_length++] = 0;
@@ -42524,18 +43582,18 @@ tr1108:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 332; goto _out;}
+ {p++; cs = 341; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st332;
-st332:
+ goto st341;
+st341:
if ( ++p == pe )
- goto _test_eof332;
-case 332:
+ goto _test_eof341;
+case 341:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -42549,17 +43607,17 @@ case 332:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st332;
- case 32: goto st332;
- case 40: goto tr1067;
- case 41: goto tr1068;
- case 2058: goto tr1069;
- case 2107: goto tr1070;
+ case 9: goto st341;
+ case 32: goto st341;
+ case 40: goto tr1085;
+ case 41: goto tr1086;
+ case 2058: goto tr1087;
+ case 2107: goto tr1088;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr1072;
- goto tr1071;
-tr1072:
+ goto tr1090;
+ goto tr1089;
+tr1090:
{
s->number64 = 0;
}
@@ -42574,11 +43632,11 @@ tr1072:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st333;
-tr1077:
+ goto st342;
+tr1095:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -42590,14 +43648,14 @@ tr1077:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st333;
-st333:
+ goto st342;
+st342:
if ( ++p == pe )
- goto _test_eof333;
-case 333:
+ goto _test_eof342;
+case 342:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -42611,53 +43669,53 @@ case 333:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr1074;
- case 32: goto tr1074;
- case 40: goto tr1075;
- case 41: goto tr1076;
- case 68: goto tr1078;
- case 72: goto tr1079;
- case 77: goto tr1080;
- case 83: goto st336;
- case 87: goto tr1082;
- case 100: goto tr1078;
- case 104: goto tr1079;
- case 109: goto tr1080;
- case 115: goto st336;
- case 119: goto tr1082;
- case 1802: goto tr1083;
- case 1851: goto tr1084;
- case 2058: goto tr1083;
- case 2107: goto tr1084;
+ case 9: goto tr1092;
+ case 32: goto tr1092;
+ case 40: goto tr1093;
+ case 41: goto tr1094;
+ case 68: goto tr1096;
+ case 72: goto tr1097;
+ case 77: goto tr1098;
+ case 83: goto st345;
+ case 87: goto tr1100;
+ case 100: goto tr1096;
+ case 104: goto tr1097;
+ case 109: goto tr1098;
+ case 115: goto st345;
+ case 119: goto tr1100;
+ case 1802: goto tr1101;
+ case 1851: goto tr1102;
+ case 2058: goto tr1101;
+ case 2107: goto tr1102;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr1077;
- goto tr1073;
-tr1087:
+ goto tr1095;
+ goto tr1091;
+tr1105:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st334;
-tr1088:
+ goto st343;
+tr1106:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st334;
-tr1074:
+ goto st343;
+tr1092:
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st334;
-tr1075:
+ goto st343;
+tr1093:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -42665,12 +43723,12 @@ tr1075:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st334;
-tr1076:
+ goto st343;
+tr1094:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -42678,32 +43736,32 @@ tr1076:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st334;
-tr1101:
+ goto st343;
+tr1119:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st334;
-tr1102:
+ goto st343;
+tr1120:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -42713,18 +43771,18 @@ tr1102:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st334;
-tr1103:
+ goto st343;
+tr1121:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -42734,15 +43792,15 @@ tr1103:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st334;
-st334:
+ goto st343;
+st343:
if ( ++p == pe )
- goto _test_eof334;
-case 334:
+ goto _test_eof343;
+case 343:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -42756,17 +43814,17 @@ case 334:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st334;
- case 32: goto st334;
- case 40: goto tr1087;
- case 41: goto tr1088;
- case 1802: goto tr1089;
- case 1851: goto tr1090;
- case 2058: goto tr1089;
- case 2107: goto tr1090;
+ case 9: goto st343;
+ case 32: goto st343;
+ case 40: goto tr1105;
+ case 41: goto tr1106;
+ case 1802: goto tr1107;
+ case 1851: goto tr1108;
+ case 2058: goto tr1107;
+ case 2107: goto tr1108;
}
- goto tr1085;
-tr1083:
+ goto tr1103;
+tr1101:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -42776,7 +43834,7 @@ tr1083:
s->default_ttl = (uint32_t)(s->number64);
} else {
ERR(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -42785,14 +43843,14 @@ tr1083:
{
s->line_counter++;
}
- goto st1411;
-tr1089:
+ goto st1459;
+tr1107:
{
if (s->number64 <= UINT32_MAX) {
s->default_ttl = (uint32_t)(s->number64);
} else {
ERR(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -42801,8 +43859,8 @@ tr1089:
{
s->line_counter++;
}
- goto st1411;
-tr1092:
+ goto st1459;
+tr1110:
{
s->buffer[s->buffer_length++] = 0;
@@ -42812,7 +43870,7 @@ tr1092:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1411; goto _out;}
+ {p++; cs = 1459; goto _out;}
}
}
}
@@ -42821,7 +43879,7 @@ tr1092:
s->default_ttl = (uint32_t)(s->number64);
} else {
ERR(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -42830,14 +43888,14 @@ tr1092:
{
s->line_counter++;
}
- goto st1411;
-tr1105:
+ goto st1459;
+tr1123:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -42849,7 +43907,7 @@ tr1105:
s->default_ttl = (uint32_t)(s->number64);
} else {
ERR(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -42858,18 +43916,18 @@ tr1105:
{
s->line_counter++;
}
- goto st1411;
-st1411:
+ goto st1459;
+st1459:
if ( ++p == pe )
- goto _test_eof1411;
-case 1411:
+ goto _test_eof1459;
+case 1459:
goto st0;
-tr1090:
+tr1108:
{
s->buffer_length = 0;
}
- goto st335;
-tr1084:
+ goto st344;
+tr1102:
{
s->buffer[0] = 0;
s->buffer_length = 0;
@@ -42877,21 +43935,21 @@ tr1084:
{
s->buffer_length = 0;
}
- goto st335;
-tr1091:
+ goto st344;
+tr1109:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st335;
-tr1106:
+ goto st344;
+tr1124:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -42901,54 +43959,54 @@ tr1106:
{
s->buffer_length = 0;
}
- goto st335;
-st335:
+ goto st344;
+st344:
if ( ++p == pe )
- goto _test_eof335;
-case 335:
+ goto _test_eof344;
+case 344:
if ( (*p) == 10 )
- goto tr1092;
- goto tr1091;
-tr1078:
+ goto tr1110;
+ goto tr1109;
+tr1096:
{ if (s->number64 <= (UINT32_MAX / 86400)) {
s->number64 *= 86400;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st336;
-tr1079:
+ goto st345;
+tr1097:
{ if (s->number64 <= (UINT32_MAX / 3600)) {
s->number64 *= 3600;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st336;
-tr1080:
+ goto st345;
+tr1098:
{ if (s->number64 <= (UINT32_MAX / 60)) {
s->number64 *= 60;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st336;
-tr1082:
+ goto st345;
+tr1100:
{ if (s->number64 <= (UINT32_MAX / 604800)) {
s->number64 *= 604800;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st336;
-st336:
+ goto st345;
+st345:
if ( ++p == pe )
- goto _test_eof336;
-case 336:
+ goto _test_eof345;
+case 345:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -42962,19 +44020,19 @@ case 336:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr1074;
- case 32: goto tr1074;
- case 40: goto tr1075;
- case 41: goto tr1076;
- case 1802: goto tr1083;
- case 1851: goto tr1084;
- case 2058: goto tr1083;
- case 2107: goto tr1084;
+ case 9: goto tr1092;
+ case 32: goto tr1092;
+ case 40: goto tr1093;
+ case 41: goto tr1094;
+ case 1802: goto tr1101;
+ case 1851: goto tr1102;
+ case 2058: goto tr1101;
+ case 2107: goto tr1102;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr1093;
- goto tr1073;
-tr1095:
+ goto tr1111;
+ goto tr1091;
+tr1113:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -42986,11 +44044,11 @@ tr1095:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st337;
-tr1093:
+ goto st346;
+tr1111:
{
s->number64_tmp = s->number64;
}
@@ -43008,17 +44066,17 @@ tr1093:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st337;
-tr1104:
+ goto st346;
+tr1122:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -43038,69 +44096,69 @@ tr1104:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st337;
-st337:
+ goto st346;
+st346:
if ( ++p == pe )
- goto _test_eof337;
-case 337:
+ goto _test_eof346;
+case 346:
switch( (*p) ) {
- case 68: goto tr1096;
- case 72: goto tr1097;
- case 77: goto tr1098;
- case 83: goto st338;
- case 87: goto tr1100;
- case 100: goto tr1096;
- case 104: goto tr1097;
- case 109: goto tr1098;
- case 115: goto st338;
- case 119: goto tr1100;
+ case 68: goto tr1114;
+ case 72: goto tr1115;
+ case 77: goto tr1116;
+ case 83: goto st347;
+ case 87: goto tr1118;
+ case 100: goto tr1114;
+ case 104: goto tr1115;
+ case 109: goto tr1116;
+ case 115: goto st347;
+ case 119: goto tr1118;
}
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1095;
- goto tr1094;
-tr1096:
+ goto tr1113;
+ goto tr1112;
+tr1114:
{ if (s->number64 <= (UINT32_MAX / 86400)) {
s->number64 *= 86400;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st338;
-tr1097:
+ goto st347;
+tr1115:
{ if (s->number64 <= (UINT32_MAX / 3600)) {
s->number64 *= 3600;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st338;
-tr1098:
+ goto st347;
+tr1116:
{ if (s->number64 <= (UINT32_MAX / 60)) {
s->number64 *= 60;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st338;
-tr1100:
+ goto st347;
+tr1118:
{ if (s->number64 <= (UINT32_MAX / 604800)) {
s->number64 *= 604800;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st338;
-st338:
+ goto st347;
+st347:
if ( ++p == pe )
- goto _test_eof338;
-case 338:
+ goto _test_eof347;
+case 347:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -43114,34 +44172,34 @@ case 338:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr1101;
- case 32: goto tr1101;
- case 40: goto tr1102;
- case 41: goto tr1103;
- case 1802: goto tr1105;
- case 1851: goto tr1106;
- case 2058: goto tr1105;
- case 2107: goto tr1106;
+ case 9: goto tr1119;
+ case 32: goto tr1119;
+ case 40: goto tr1120;
+ case 41: goto tr1121;
+ case 1802: goto tr1123;
+ case 1851: goto tr1124;
+ case 2058: goto tr1123;
+ case 2107: goto tr1124;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr1104;
- goto tr1073;
-tr1070:
+ goto tr1122;
+ goto tr1091;
+tr1088:
{
s->buffer_length = 0;
}
- goto st339;
-tr1107:
+ goto st348;
+tr1125:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st339;
-st339:
+ goto st348;
+st348:
if ( ++p == pe )
- goto _test_eof339;
-case 339:
+ goto _test_eof348;
+case 348:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -43161,14 +44219,14 @@ case 339:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1108;
+ goto tr1126;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1107;
- goto tr1065;
-st340:
+ goto tr1125;
+ goto tr1083;
+st349:
if ( ++p == pe )
- goto _test_eof340;
-case 340:
+ goto _test_eof349;
+case 349:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -43182,38 +44240,38 @@ case 340:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st341;
- case 32: goto st341;
- case 40: goto tr1111;
- case 41: goto tr1112;
- case 2058: goto tr1113;
- case 2107: goto tr1114;
+ case 9: goto st350;
+ case 32: goto st350;
+ case 40: goto tr1129;
+ case 41: goto tr1130;
+ case 2058: goto tr1131;
+ case 2107: goto tr1132;
}
- goto tr1109;
-tr1111:
+ goto tr1127;
+tr1129:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st341;
-tr1112:
+ goto st350;
+tr1130:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st341;
-tr1113:
+ goto st350;
+tr1131:
{
s->line_counter++;
}
- goto st341;
-tr1144:
+ goto st350;
+tr1162:
{
s->buffer[s->buffer_length++] = 0;
@@ -43223,18 +44281,18 @@ tr1144:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 341; goto _out;}
+ {p++; cs = 350; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st341;
-st341:
+ goto st350;
+st350:
if ( ++p == pe )
- goto _test_eof341;
-case 341:
+ goto _test_eof350;
+case 350:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -43248,27 +44306,27 @@ case 341:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st341;
- case 32: goto st341;
- case 40: goto tr1111;
- case 41: goto tr1112;
- case 42: goto tr1115;
- case 46: goto tr1116;
- case 92: goto tr1117;
- case 95: goto tr1115;
- case 2058: goto tr1113;
- case 2107: goto tr1114;
+ case 9: goto st350;
+ case 32: goto st350;
+ case 40: goto tr1129;
+ case 41: goto tr1130;
+ case 42: goto tr1133;
+ case 46: goto tr1134;
+ case 92: goto tr1135;
+ case 95: goto tr1133;
+ case 2058: goto tr1131;
+ case 2107: goto tr1132;
}
if ( _widec < 65 ) {
if ( 45 <= _widec && _widec <= 57 )
- goto tr1115;
+ goto tr1133;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr1115;
+ goto tr1133;
} else
- goto tr1115;
- goto tr1109;
-tr1118:
+ goto tr1133;
+ goto tr1127;
+tr1136:
{
// Check for maximum dname label length.
if (s->item_length < ZS_MAX_LABEL_LENGTH) {
@@ -43276,11 +44334,11 @@ tr1118:
s->item_length++;
} else {
WARN(ZS_LABEL_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st342;
-tr1125:
+ goto st351;
+tr1143:
{
s->item_length = 0;
s->item_length_position = s->dname_tmp_length++;
@@ -43292,11 +44350,11 @@ tr1125:
s->item_length++;
} else {
WARN(ZS_LABEL_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st342;
-tr1140:
+ goto st351;
+tr1158:
{
s->dname_tmp_length++;
}
@@ -43307,11 +44365,11 @@ tr1140:
s->item_length++;
} else {
WARN(ZS_LABEL_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st342;
-tr1115:
+ goto st351;
+tr1133:
{
s->dname = s->zone_origin;
}
@@ -43330,30 +44388,30 @@ tr1115:
s->item_length++;
} else {
WARN(ZS_LABEL_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st342;
-st342:
+ goto st351;
+st351:
if ( ++p == pe )
- goto _test_eof342;
-case 342:
+ goto _test_eof351;
+case 351:
switch( (*p) ) {
- case 42: goto tr1118;
- case 46: goto tr1119;
- case 92: goto st346;
- case 95: goto tr1118;
+ case 42: goto tr1136;
+ case 46: goto tr1137;
+ case 92: goto st355;
+ case 95: goto tr1136;
}
if ( (*p) < 65 ) {
if ( 45 <= (*p) && (*p) <= 57 )
- goto tr1118;
+ goto tr1136;
} else if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1118;
+ goto tr1136;
} else
- goto tr1118;
- goto tr1109;
-tr1119:
+ goto tr1136;
+ goto tr1127;
+tr1137:
{
// Check for maximum dname length overflow after each label.
// (at least the next label length must follow).
@@ -43362,11 +44420,11 @@ tr1119:
(uint8_t)(s->item_length);
} else {
WARN(ZS_DNAME_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st343;
-tr1141:
+ goto st352;
+tr1159:
{
s->dname_tmp_length++;
}
@@ -43378,14 +44436,14 @@ tr1141:
(uint8_t)(s->item_length);
} else {
WARN(ZS_DNAME_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st343;
-st343:
+ goto st352;
+st352:
if ( ++p == pe )
- goto _test_eof343;
-case 343:
+ goto _test_eof352;
+case 352:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -43399,47 +44457,47 @@ case 343:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr1122;
- case 32: goto tr1122;
- case 40: goto tr1123;
- case 41: goto tr1124;
- case 42: goto tr1125;
- case 45: goto tr1125;
- case 92: goto tr1126;
- case 95: goto tr1125;
- case 1802: goto tr1127;
- case 1851: goto tr1128;
- case 2058: goto tr1127;
- case 2107: goto tr1128;
+ case 9: goto tr1140;
+ case 32: goto tr1140;
+ case 40: goto tr1141;
+ case 41: goto tr1142;
+ case 42: goto tr1143;
+ case 45: goto tr1143;
+ case 92: goto tr1144;
+ case 95: goto tr1143;
+ case 1802: goto tr1145;
+ case 1851: goto tr1146;
+ case 2058: goto tr1145;
+ case 2107: goto tr1146;
}
if ( _widec < 65 ) {
if ( 47 <= _widec && _widec <= 57 )
- goto tr1125;
+ goto tr1143;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr1125;
+ goto tr1143;
} else
- goto tr1125;
- goto tr1121;
-tr1130:
+ goto tr1143;
+ goto tr1139;
+tr1148:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st344;
-tr1131:
+ goto st353;
+tr1149:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st344;
-tr1122:
+ goto st353;
+tr1140:
{
// Enough room for the terminal label is guaranteed (_label_exit).
(s->dname)[s->dname_tmp_length++] = 0;
@@ -43448,8 +44506,8 @@ tr1122:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st344;
-tr1123:
+ goto st353;
+tr1141:
{
// Enough room for the terminal label is guaranteed (_label_exit).
(s->dname)[s->dname_tmp_length++] = 0;
@@ -43461,12 +44519,12 @@ tr1123:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st344;
-tr1124:
+ goto st353;
+tr1142:
{
// Enough room for the terminal label is guaranteed (_label_exit).
(s->dname)[s->dname_tmp_length++] = 0;
@@ -43478,15 +44536,15 @@ tr1124:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st344;
-st344:
+ goto st353;
+st353:
if ( ++p == pe )
- goto _test_eof344;
-case 344:
+ goto _test_eof353;
+case 353:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -43500,17 +44558,17 @@ case 344:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st344;
- case 32: goto st344;
- case 40: goto tr1130;
- case 41: goto tr1131;
- case 1802: goto tr1132;
- case 1851: goto tr1133;
- case 2058: goto tr1132;
- case 2107: goto tr1133;
+ case 9: goto st353;
+ case 32: goto st353;
+ case 40: goto tr1148;
+ case 41: goto tr1149;
+ case 1802: goto tr1150;
+ case 1851: goto tr1151;
+ case 2058: goto tr1150;
+ case 2107: goto tr1151;
}
- goto tr1121;
-tr1127:
+ goto tr1139;
+tr1145:
{
// Enough room for the terminal label is guaranteed (_label_exit).
(s->dname)[s->dname_tmp_length++] = 0;
@@ -43528,8 +44586,8 @@ tr1127:
{
s->line_counter++;
}
- goto st1412;
-tr1132:
+ goto st1460;
+tr1150:
{
s->zone_origin_length = s->dname_tmp_length;
}
@@ -43539,8 +44597,8 @@ tr1132:
{
s->line_counter++;
}
- goto st1412;
-tr1135:
+ goto st1460;
+tr1153:
{
s->buffer[s->buffer_length++] = 0;
@@ -43550,7 +44608,7 @@ tr1135:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1412; goto _out;}
+ {p++; cs = 1460; goto _out;}
}
}
}
@@ -43563,25 +44621,25 @@ tr1135:
{
s->line_counter++;
}
- goto st1412;
-st1412:
+ goto st1460;
+st1460:
if ( ++p == pe )
- goto _test_eof1412;
-case 1412:
+ goto _test_eof1460;
+case 1460:
goto st0;
-tr1133:
+tr1151:
{
s->buffer_length = 0;
}
- goto st345;
-tr1134:
+ goto st354;
+tr1152:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st345;
-tr1128:
+ goto st354;
+tr1146:
{
// Enough room for the terminal label is guaranteed (_label_exit).
(s->dname)[s->dname_tmp_length++] = 0;
@@ -43593,26 +44651,26 @@ tr1128:
{
s->buffer_length = 0;
}
- goto st345;
-st345:
+ goto st354;
+st354:
if ( ++p == pe )
- goto _test_eof345;
-case 345:
+ goto _test_eof354;
+case 354:
if ( (*p) == 10 )
- goto tr1135;
- goto tr1134;
-tr1126:
+ goto tr1153;
+ goto tr1152;
+tr1144:
{
s->item_length = 0;
s->item_length_position = s->dname_tmp_length++;
}
- goto st346;
-tr1142:
+ goto st355;
+tr1160:
{
s->dname_tmp_length++;
}
- goto st346;
-tr1117:
+ goto st355;
+tr1135:
{
s->dname = s->zone_origin;
}
@@ -43624,75 +44682,75 @@ tr1117:
s->item_length = 0;
s->item_length_position = s->dname_tmp_length++;
}
- goto st346;
-st346:
+ goto st355;
+st355:
if ( ++p == pe )
- goto _test_eof346;
-case 346:
+ goto _test_eof355;
+case 355:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1136;
- goto tr1118;
-tr1136:
+ goto tr1154;
+ goto tr1136;
+tr1154:
{
if (s->item_length < ZS_MAX_LABEL_LENGTH) {
(s->dname)[s->dname_tmp_length] = 0;
s->item_length++;
} else {
WARN(ZS_LABEL_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
(s->dname)[s->dname_tmp_length] *= 10;
(s->dname)[s->dname_tmp_length] += digit_to_num[(uint8_t)(*p)];
}
- goto st347;
-st347:
+ goto st356;
+st356:
if ( ++p == pe )
- goto _test_eof347;
-case 347:
+ goto _test_eof356;
+case 356:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1138;
- goto tr1137;
-tr1138:
+ goto tr1156;
+ goto tr1155;
+tr1156:
{
(s->dname)[s->dname_tmp_length] *= 10;
(s->dname)[s->dname_tmp_length] += digit_to_num[(uint8_t)(*p)];
}
- goto st348;
-st348:
+ goto st357;
+st357:
if ( ++p == pe )
- goto _test_eof348;
-case 348:
+ goto _test_eof357;
+case 357:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1139;
- goto tr1137;
-tr1139:
+ goto tr1157;
+ goto tr1155;
+tr1157:
{
(s->dname)[s->dname_tmp_length] *= 10;
(s->dname)[s->dname_tmp_length] += digit_to_num[(uint8_t)(*p)];
}
- goto st349;
-st349:
+ goto st358;
+st358:
if ( ++p == pe )
- goto _test_eof349;
-case 349:
+ goto _test_eof358;
+case 358:
switch( (*p) ) {
- case 42: goto tr1140;
- case 46: goto tr1141;
- case 92: goto tr1142;
- case 95: goto tr1140;
+ case 42: goto tr1158;
+ case 46: goto tr1159;
+ case 92: goto tr1160;
+ case 95: goto tr1158;
}
if ( (*p) < 65 ) {
if ( 45 <= (*p) && (*p) <= 57 )
- goto tr1140;
+ goto tr1158;
} else if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1140;
+ goto tr1158;
} else
- goto tr1140;
- goto tr1137;
-tr1116:
+ goto tr1158;
+ goto tr1155;
+tr1134:
{
s->dname = s->zone_origin;
}
@@ -43700,11 +44758,11 @@ tr1116:
s->item_length_position = 0;
s->dname_tmp_length = 0;
}
- goto st350;
-st350:
+ goto st359;
+st359:
if ( ++p == pe )
- goto _test_eof350;
-case 350:
+ goto _test_eof359;
+case 359:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -43718,32 +44776,32 @@ case 350:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr1122;
- case 32: goto tr1122;
- case 40: goto tr1123;
- case 41: goto tr1124;
- case 1802: goto tr1127;
- case 1851: goto tr1128;
- case 2058: goto tr1127;
- case 2107: goto tr1128;
+ case 9: goto tr1140;
+ case 32: goto tr1140;
+ case 40: goto tr1141;
+ case 41: goto tr1142;
+ case 1802: goto tr1145;
+ case 1851: goto tr1146;
+ case 2058: goto tr1145;
+ case 2107: goto tr1146;
}
- goto tr1121;
-tr1114:
+ goto tr1139;
+tr1132:
{
s->buffer_length = 0;
}
- goto st351;
-tr1143:
+ goto st360;
+tr1161:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st351;
-st351:
+ goto st360;
+st360:
if ( ++p == pe )
- goto _test_eof351;
-case 351:
+ goto _test_eof360;
+case 360:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -43763,14 +44821,14 @@ case 351:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1144;
+ goto tr1162;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1143;
- goto tr1109;
-st352:
+ goto tr1161;
+ goto tr1127;
+st361:
if ( ++p == pe )
- goto _test_eof352;
-case 352:
+ goto _test_eof361;
+case 361:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -43784,38 +44842,38 @@ case 352:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st353;
- case 32: goto st353;
- case 40: goto tr1146;
- case 41: goto tr1147;
- case 2058: goto tr1148;
- case 2107: goto tr1149;
+ case 9: goto st362;
+ case 32: goto st362;
+ case 40: goto tr1164;
+ case 41: goto tr1165;
+ case 2058: goto tr1166;
+ case 2107: goto tr1167;
}
goto st0;
-tr1146:
+tr1164:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st353;
-tr1147:
+ goto st362;
+tr1165:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st353;
-tr1148:
+ goto st362;
+tr1166:
{
s->line_counter++;
}
- goto st353;
-tr1202:
+ goto st362;
+tr1220:
{
s->buffer[s->buffer_length++] = 0;
@@ -43825,18 +44883,18 @@ tr1202:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 353; goto _out;}
+ {p++; cs = 362; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st353;
-st353:
+ goto st362;
+st362:
if ( ++p == pe )
- goto _test_eof353;
-case 353:
+ goto _test_eof362;
+case 362:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -43850,32 +44908,32 @@ case 353:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st353;
- case 32: goto st353;
- case 40: goto tr1146;
- case 41: goto tr1147;
- case 2058: goto tr1148;
- case 2107: goto tr1149;
+ case 9: goto st362;
+ case 32: goto st362;
+ case 40: goto tr1164;
+ case 41: goto tr1165;
+ case 2058: goto tr1166;
+ case 2107: goto tr1167;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr1150;
+ goto tr1168;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr1150;
+ goto tr1168;
} else
- goto tr1150;
- goto tr1151;
-tr1150:
+ goto tr1168;
+ goto tr1169;
+tr1168:
{
rdata_tail = s->r_data;
}
- { p--; {stack[top++] = 354;goto st318;} }
- goto st354;
-st354:
+ { p--; {stack[top++] = 363;goto st327;} }
+ goto st363;
+st363:
if ( ++p == pe )
- goto _test_eof354;
-case 354:
+ goto _test_eof363;
+case 363:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -43889,40 +44947,40 @@ case 354:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr1153;
- case 32: goto tr1153;
- case 40: goto tr1154;
- case 41: goto tr1155;
- case 1802: goto tr1156;
- case 1851: goto tr1157;
- case 2058: goto tr1156;
- case 2107: goto tr1158;
+ case 9: goto tr1171;
+ case 32: goto tr1171;
+ case 40: goto tr1172;
+ case 41: goto tr1173;
+ case 1802: goto tr1174;
+ case 1851: goto tr1175;
+ case 2058: goto tr1174;
+ case 2107: goto tr1176;
}
- goto tr1152;
-tr1161:
+ goto tr1170;
+tr1179:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st355;
-tr1162:
+ goto st364;
+tr1180:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st355;
-tr1153:
+ goto st364;
+tr1171:
{
size_t len = rdata_tail - s->r_data;
if (len >= sizeof(s->include_filename)) {
ERR(ZS_BAD_INCLUDE_FILENAME);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Store zero terminated include filename.
@@ -43936,13 +44994,13 @@ tr1153:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st355;
-tr1154:
+ goto st364;
+tr1172:
{
size_t len = rdata_tail - s->r_data;
if (len >= sizeof(s->include_filename)) {
ERR(ZS_BAD_INCLUDE_FILENAME);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Store zero terminated include filename.
@@ -43955,7 +45013,7 @@ tr1154:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
@@ -43963,13 +45021,13 @@ tr1154:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st355;
-tr1155:
+ goto st364;
+tr1173:
{
size_t len = rdata_tail - s->r_data;
if (len >= sizeof(s->include_filename)) {
ERR(ZS_BAD_INCLUDE_FILENAME);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Store zero terminated include filename.
@@ -43982,7 +45040,7 @@ tr1155:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
@@ -43990,11 +45048,11 @@ tr1155:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st355;
-st355:
+ goto st364;
+st364:
if ( ++p == pe )
- goto _test_eof355;
-case 355:
+ goto _test_eof364;
+case 364:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -44008,29 +45066,29 @@ case 355:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st355;
- case 32: goto st355;
- case 40: goto tr1161;
- case 41: goto tr1162;
- case 42: goto tr1163;
- case 46: goto tr1164;
- case 92: goto tr1165;
- case 95: goto tr1163;
- case 1802: goto tr1166;
- case 1851: goto tr1167;
- case 2058: goto tr1166;
- case 2107: goto tr1168;
+ case 9: goto st364;
+ case 32: goto st364;
+ case 40: goto tr1179;
+ case 41: goto tr1180;
+ case 42: goto tr1181;
+ case 46: goto tr1182;
+ case 92: goto tr1183;
+ case 95: goto tr1181;
+ case 1802: goto tr1184;
+ case 1851: goto tr1185;
+ case 2058: goto tr1184;
+ case 2107: goto tr1186;
}
if ( _widec < 65 ) {
if ( 45 <= _widec && _widec <= 57 )
- goto tr1163;
+ goto tr1181;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr1163;
+ goto tr1181;
} else
- goto tr1163;
- goto tr1159;
-tr1170:
+ goto tr1181;
+ goto tr1177;
+tr1188:
{
// Check for maximum dname label length.
if (s->item_length < ZS_MAX_LABEL_LENGTH) {
@@ -44038,11 +45096,11 @@ tr1170:
s->item_length++;
} else {
WARN(ZS_LABEL_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st356;
-tr1176:
+ goto st365;
+tr1194:
{
s->item_length = 0;
s->item_length_position = s->dname_tmp_length++;
@@ -44054,11 +45112,11 @@ tr1176:
s->item_length++;
} else {
WARN(ZS_LABEL_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st356;
-tr1189:
+ goto st365;
+tr1207:
{
s->dname_tmp_length++;
}
@@ -44069,11 +45127,11 @@ tr1189:
s->item_length++;
} else {
WARN(ZS_LABEL_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st356;
-tr1163:
+ goto st365;
+tr1181:
{
s->dname = s->r_data;
}
@@ -44092,30 +45150,30 @@ tr1163:
s->item_length++;
} else {
WARN(ZS_LABEL_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st356;
-st356:
+ goto st365;
+st365:
if ( ++p == pe )
- goto _test_eof356;
-case 356:
+ goto _test_eof365;
+case 365:
switch( (*p) ) {
- case 42: goto tr1170;
- case 46: goto tr1171;
- case 92: goto st360;
- case 95: goto tr1170;
+ case 42: goto tr1188;
+ case 46: goto tr1189;
+ case 92: goto st369;
+ case 95: goto tr1188;
}
if ( (*p) < 65 ) {
if ( 45 <= (*p) && (*p) <= 57 )
- goto tr1170;
+ goto tr1188;
} else if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1170;
+ goto tr1188;
} else
- goto tr1170;
- goto tr1169;
-tr1171:
+ goto tr1188;
+ goto tr1187;
+tr1189:
{
// Check for maximum dname length overflow after each label.
// (at least the next label length must follow).
@@ -44124,11 +45182,11 @@ tr1171:
(uint8_t)(s->item_length);
} else {
WARN(ZS_DNAME_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st357;
-tr1190:
+ goto st366;
+tr1208:
{
s->dname_tmp_length++;
}
@@ -44140,14 +45198,14 @@ tr1190:
(uint8_t)(s->item_length);
} else {
WARN(ZS_DNAME_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st357;
-st357:
+ goto st366;
+st366:
if ( ++p == pe )
- goto _test_eof357;
-case 357:
+ goto _test_eof366;
+case 366:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -44161,47 +45219,47 @@ case 357:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr1173;
- case 32: goto tr1173;
- case 40: goto tr1174;
- case 41: goto tr1175;
- case 42: goto tr1176;
- case 45: goto tr1176;
- case 92: goto tr1177;
- case 95: goto tr1176;
- case 1802: goto tr1178;
- case 1851: goto tr1179;
- case 2058: goto tr1178;
- case 2107: goto tr1179;
+ case 9: goto tr1191;
+ case 32: goto tr1191;
+ case 40: goto tr1192;
+ case 41: goto tr1193;
+ case 42: goto tr1194;
+ case 45: goto tr1194;
+ case 92: goto tr1195;
+ case 95: goto tr1194;
+ case 1802: goto tr1196;
+ case 1851: goto tr1197;
+ case 2058: goto tr1196;
+ case 2107: goto tr1197;
}
if ( _widec < 65 ) {
if ( 47 <= _widec && _widec <= 57 )
- goto tr1176;
+ goto tr1194;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr1176;
+ goto tr1194;
} else
- goto tr1176;
- goto tr1159;
-tr1181:
+ goto tr1194;
+ goto tr1177;
+tr1199:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st358;
-tr1182:
+ goto st367;
+tr1200:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st358;
-tr1173:
+ goto st367;
+tr1191:
{
// Enough room for the terminal label is guaranteed (_label_exit).
(s->dname)[s->dname_tmp_length++] = 0;
@@ -44213,8 +45271,8 @@ tr1173:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st358;
-tr1174:
+ goto st367;
+tr1192:
{
// Enough room for the terminal label is guaranteed (_label_exit).
(s->dname)[s->dname_tmp_length++] = 0;
@@ -44229,12 +45287,12 @@ tr1174:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st358;
-tr1175:
+ goto st367;
+tr1193:
{
// Enough room for the terminal label is guaranteed (_label_exit).
(s->dname)[s->dname_tmp_length++] = 0;
@@ -44249,15 +45307,15 @@ tr1175:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st358;
-st358:
+ goto st367;
+st367:
if ( ++p == pe )
- goto _test_eof358;
-case 358:
+ goto _test_eof367;
+case 367:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -44271,23 +45329,23 @@ case 358:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st358;
- case 32: goto st358;
- case 40: goto tr1181;
- case 41: goto tr1182;
- case 1802: goto tr1166;
- case 1851: goto tr1167;
- case 2058: goto tr1166;
- case 2107: goto tr1167;
+ case 9: goto st367;
+ case 32: goto st367;
+ case 40: goto tr1199;
+ case 41: goto tr1200;
+ case 1802: goto tr1184;
+ case 1851: goto tr1185;
+ case 2058: goto tr1184;
+ case 2107: goto tr1185;
}
- goto tr89;
-tr1156:
- cs = 1413;
+ goto tr91;
+tr1174:
+ cs = 1461;
{
size_t len = rdata_tail - s->r_data;
if (len >= sizeof(s->include_filename)) {
ERR(ZS_BAD_INCLUDE_FILENAME);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Store zero terminated include filename.
@@ -44308,7 +45366,7 @@ tr1156:
"%s/%s", s->path, s->include_filename);
if (ret <= 0 || ret >= sizeof(s->buffer)) {
ERR(ZS_BAD_INCLUDE_FILENAME);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(s->include_filename, s->buffer, ret + 1);
}
@@ -44330,7 +45388,7 @@ tr1156:
zs_scanner_t *ss = malloc(sizeof(zs_scanner_t));
if (ss == NULL) {
ERR(ZS_UNPROCESSED_INCLUDE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Parse included zone file.
@@ -44350,13 +45408,13 @@ tr1156:
}
zs_deinit(ss);
free(ss);
- p--; {goto st307;}
+ p--; {goto st316;}
}
zs_deinit(ss);
free(ss);
} else {
s->state = ZS_STATE_INCLUDE;
- p--; cs = 1396; {p++; goto _out;}
+ p--; cs = 1444; {p++; goto _out;}
}
}
{
@@ -44366,8 +45424,8 @@ tr1156:
s->line_counter++;
}
goto _again;
-tr1166:
- cs = 1413;
+tr1184:
+ cs = 1461;
{
// Extend relative file path.
if (s->include_filename[0] != '/') {
@@ -44375,7 +45433,7 @@ tr1166:
"%s/%s", s->path, s->include_filename);
if (ret <= 0 || ret >= sizeof(s->buffer)) {
ERR(ZS_BAD_INCLUDE_FILENAME);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(s->include_filename, s->buffer, ret + 1);
}
@@ -44397,7 +45455,7 @@ tr1166:
zs_scanner_t *ss = malloc(sizeof(zs_scanner_t));
if (ss == NULL) {
ERR(ZS_UNPROCESSED_INCLUDE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Parse included zone file.
@@ -44417,13 +45475,13 @@ tr1166:
}
zs_deinit(ss);
free(ss);
- p--; {goto st307;}
+ p--; {goto st316;}
}
zs_deinit(ss);
free(ss);
} else {
s->state = ZS_STATE_INCLUDE;
- p--; cs = 1396; {p++; goto _out;}
+ p--; cs = 1444; {p++; goto _out;}
}
}
{
@@ -44433,8 +45491,8 @@ tr1166:
s->line_counter++;
}
goto _again;
-tr1178:
- cs = 1413;
+tr1196:
+ cs = 1461;
{
// Enough room for the terminal label is guaranteed (_label_exit).
(s->dname)[s->dname_tmp_length++] = 0;
@@ -44453,7 +45511,7 @@ tr1178:
"%s/%s", s->path, s->include_filename);
if (ret <= 0 || ret >= sizeof(s->buffer)) {
ERR(ZS_BAD_INCLUDE_FILENAME);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(s->include_filename, s->buffer, ret + 1);
}
@@ -44475,7 +45533,7 @@ tr1178:
zs_scanner_t *ss = malloc(sizeof(zs_scanner_t));
if (ss == NULL) {
ERR(ZS_UNPROCESSED_INCLUDE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Parse included zone file.
@@ -44495,13 +45553,13 @@ tr1178:
}
zs_deinit(ss);
free(ss);
- p--; {goto st307;}
+ p--; {goto st316;}
}
zs_deinit(ss);
free(ss);
} else {
s->state = ZS_STATE_INCLUDE;
- p--; cs = 1396; {p++; goto _out;}
+ p--; cs = 1444; {p++; goto _out;}
}
}
{
@@ -44511,8 +45569,8 @@ tr1178:
s->line_counter++;
}
goto _again;
-tr1184:
- cs = 1413;
+tr1202:
+ cs = 1461;
{
s->buffer[s->buffer_length++] = 0;
@@ -44533,7 +45591,7 @@ tr1184:
"%s/%s", s->path, s->include_filename);
if (ret <= 0 || ret >= sizeof(s->buffer)) {
ERR(ZS_BAD_INCLUDE_FILENAME);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(s->include_filename, s->buffer, ret + 1);
}
@@ -44555,7 +45613,7 @@ tr1184:
zs_scanner_t *ss = malloc(sizeof(zs_scanner_t));
if (ss == NULL) {
ERR(ZS_UNPROCESSED_INCLUDE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Parse included zone file.
@@ -44575,13 +45633,13 @@ tr1184:
}
zs_deinit(ss);
free(ss);
- p--; {goto st307;}
+ p--; {goto st316;}
}
zs_deinit(ss);
free(ss);
} else {
s->state = ZS_STATE_INCLUDE;
- p--; cs = 1396; {p++; goto _out;}
+ p--; cs = 1444; {p++; goto _out;}
}
}
{
@@ -44591,29 +45649,29 @@ tr1184:
s->line_counter++;
}
goto _again;
-st1413:
+st1461:
if ( ++p == pe )
- goto _test_eof1413;
-case 1413:
+ goto _test_eof1461;
+case 1461:
goto st0;
-tr1167:
+tr1185:
{
s->buffer_length = 0;
}
- goto st359;
-tr1183:
+ goto st368;
+tr1201:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st359;
-tr1157:
+ goto st368;
+tr1175:
{
size_t len = rdata_tail - s->r_data;
if (len >= sizeof(s->include_filename)) {
ERR(ZS_BAD_INCLUDE_FILENAME);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Store zero terminated include filename.
@@ -44630,8 +45688,8 @@ tr1157:
{
s->buffer_length = 0;
}
- goto st359;
-tr1179:
+ goto st368;
+tr1197:
{
// Enough room for the terminal label is guaranteed (_label_exit).
(s->dname)[s->dname_tmp_length++] = 0;
@@ -44646,26 +45704,26 @@ tr1179:
{
s->buffer_length = 0;
}
- goto st359;
-st359:
+ goto st368;
+st368:
if ( ++p == pe )
- goto _test_eof359;
-case 359:
+ goto _test_eof368;
+case 368:
if ( (*p) == 10 )
- goto tr1184;
- goto tr1183;
-tr1177:
+ goto tr1202;
+ goto tr1201;
+tr1195:
{
s->item_length = 0;
s->item_length_position = s->dname_tmp_length++;
}
- goto st360;
-tr1191:
+ goto st369;
+tr1209:
{
s->dname_tmp_length++;
}
- goto st360;
-tr1165:
+ goto st369;
+tr1183:
{
s->dname = s->r_data;
}
@@ -44677,75 +45735,75 @@ tr1165:
s->item_length = 0;
s->item_length_position = s->dname_tmp_length++;
}
- goto st360;
-st360:
+ goto st369;
+st369:
if ( ++p == pe )
- goto _test_eof360;
-case 360:
+ goto _test_eof369;
+case 369:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1185;
- goto tr1170;
-tr1185:
+ goto tr1203;
+ goto tr1188;
+tr1203:
{
if (s->item_length < ZS_MAX_LABEL_LENGTH) {
(s->dname)[s->dname_tmp_length] = 0;
s->item_length++;
} else {
WARN(ZS_LABEL_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
(s->dname)[s->dname_tmp_length] *= 10;
(s->dname)[s->dname_tmp_length] += digit_to_num[(uint8_t)(*p)];
}
- goto st361;
-st361:
+ goto st370;
+st370:
if ( ++p == pe )
- goto _test_eof361;
-case 361:
+ goto _test_eof370;
+case 370:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1187;
- goto tr1186;
-tr1187:
+ goto tr1205;
+ goto tr1204;
+tr1205:
{
(s->dname)[s->dname_tmp_length] *= 10;
(s->dname)[s->dname_tmp_length] += digit_to_num[(uint8_t)(*p)];
}
- goto st362;
-st362:
+ goto st371;
+st371:
if ( ++p == pe )
- goto _test_eof362;
-case 362:
+ goto _test_eof371;
+case 371:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1188;
- goto tr1186;
-tr1188:
+ goto tr1206;
+ goto tr1204;
+tr1206:
{
(s->dname)[s->dname_tmp_length] *= 10;
(s->dname)[s->dname_tmp_length] += digit_to_num[(uint8_t)(*p)];
}
- goto st363;
-st363:
+ goto st372;
+st372:
if ( ++p == pe )
- goto _test_eof363;
-case 363:
+ goto _test_eof372;
+case 372:
switch( (*p) ) {
- case 42: goto tr1189;
- case 46: goto tr1190;
- case 92: goto tr1191;
- case 95: goto tr1189;
+ case 42: goto tr1207;
+ case 46: goto tr1208;
+ case 92: goto tr1209;
+ case 95: goto tr1207;
}
if ( (*p) < 65 ) {
if ( 45 <= (*p) && (*p) <= 57 )
- goto tr1189;
+ goto tr1207;
} else if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1189;
+ goto tr1207;
} else
- goto tr1189;
- goto tr1186;
-tr1164:
+ goto tr1207;
+ goto tr1204;
+tr1182:
{
s->dname = s->r_data;
}
@@ -44753,11 +45811,11 @@ tr1164:
s->item_length_position = 0;
s->dname_tmp_length = 0;
}
- goto st364;
-st364:
+ goto st373;
+st373:
if ( ++p == pe )
- goto _test_eof364;
-case 364:
+ goto _test_eof373;
+case 373:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -44771,34 +45829,34 @@ case 364:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr1173;
- case 32: goto tr1173;
- case 40: goto tr1174;
- case 41: goto tr1175;
- case 1802: goto tr1178;
- case 1851: goto tr1179;
- case 2058: goto tr1178;
- case 2107: goto tr1179;
+ case 9: goto tr1191;
+ case 32: goto tr1191;
+ case 40: goto tr1192;
+ case 41: goto tr1193;
+ case 1802: goto tr1196;
+ case 1851: goto tr1197;
+ case 2058: goto tr1196;
+ case 2107: goto tr1197;
}
- goto tr1159;
-tr1168:
+ goto tr1177;
+tr1186:
{
s->buffer_length = 0;
}
- goto st365;
-tr1192:
+ goto st374;
+tr1210:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st365;
-tr1158:
+ goto st374;
+tr1176:
{
size_t len = rdata_tail - s->r_data;
if (len >= sizeof(s->include_filename)) {
ERR(ZS_BAD_INCLUDE_FILENAME);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Store zero terminated include filename.
@@ -44815,11 +45873,11 @@ tr1158:
s->buffer[0] = 0;
s->buffer_length = 0;
}
- goto st365;
-st365:
+ goto st374;
+st374:
if ( ++p == pe )
- goto _test_eof365;
-case 365:
+ goto _test_eof374;
+case 374:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -44839,17 +45897,17 @@ case 365:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 1802: goto tr1184;
- case 2058: goto tr1193;
+ case 1802: goto tr1202;
+ case 2058: goto tr1211;
}
if ( _widec > 1919 ) {
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1192;
+ goto tr1210;
} else if ( _widec >= 1664 )
- goto tr1183;
- goto tr89;
-tr1193:
- cs = 1414;
+ goto tr1201;
+ goto tr91;
+tr1211:
+ cs = 1462;
{
s->buffer[s->buffer_length++] = 0;
@@ -44873,7 +45931,7 @@ tr1193:
"%s/%s", s->path, s->include_filename);
if (ret <= 0 || ret >= sizeof(s->buffer)) {
ERR(ZS_BAD_INCLUDE_FILENAME);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(s->include_filename, s->buffer, ret + 1);
}
@@ -44895,7 +45953,7 @@ tr1193:
zs_scanner_t *ss = malloc(sizeof(zs_scanner_t));
if (ss == NULL) {
ERR(ZS_UNPROCESSED_INCLUDE);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Parse included zone file.
@@ -44915,23 +45973,23 @@ tr1193:
}
zs_deinit(ss);
free(ss);
- p--; {goto st307;}
+ p--; {goto st316;}
}
zs_deinit(ss);
free(ss);
} else {
s->state = ZS_STATE_INCLUDE;
- p--; cs = 1396; {p++; goto _out;}
+ p--; cs = 1444; {p++; goto _out;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
goto _again;
-st1414:
+st1462:
if ( ++p == pe )
- goto _test_eof1414;
-case 1414:
+ goto _test_eof1462;
+case 1462:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -44945,50 +46003,50 @@ case 1414:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st366;
- case 32: goto st366;
- case 40: goto tr1195;
- case 41: goto tr1196;
- case 42: goto tr1163;
- case 46: goto tr1164;
- case 92: goto tr1165;
- case 95: goto tr1163;
- case 2058: goto tr1197;
- case 2107: goto tr1198;
+ case 9: goto st375;
+ case 32: goto st375;
+ case 40: goto tr1213;
+ case 41: goto tr1214;
+ case 42: goto tr1181;
+ case 46: goto tr1182;
+ case 92: goto tr1183;
+ case 95: goto tr1181;
+ case 2058: goto tr1215;
+ case 2107: goto tr1216;
}
if ( _widec < 65 ) {
if ( 45 <= _widec && _widec <= 57 )
- goto tr1163;
+ goto tr1181;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr1163;
+ goto tr1181;
} else
- goto tr1163;
- goto tr1169;
-tr1195:
+ goto tr1181;
+ goto tr1187;
+tr1213:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st366;
-tr1196:
+ goto st375;
+tr1214:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st366;
-tr1197:
+ goto st375;
+tr1215:
{
s->line_counter++;
}
- goto st366;
-tr1200:
+ goto st375;
+tr1218:
{
s->buffer[s->buffer_length++] = 0;
@@ -44998,18 +46056,18 @@ tr1200:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 366; goto _out;}
+ {p++; cs = 375; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st366;
-st366:
+ goto st375;
+st375:
if ( ++p == pe )
- goto _test_eof366;
-case 366:
+ goto _test_eof375;
+case 375:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -45023,42 +46081,42 @@ case 366:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st366;
- case 32: goto st366;
- case 40: goto tr1195;
- case 41: goto tr1196;
- case 42: goto tr1163;
- case 46: goto tr1164;
- case 92: goto tr1165;
- case 95: goto tr1163;
- case 2058: goto tr1197;
- case 2107: goto tr1198;
+ case 9: goto st375;
+ case 32: goto st375;
+ case 40: goto tr1213;
+ case 41: goto tr1214;
+ case 42: goto tr1181;
+ case 46: goto tr1182;
+ case 92: goto tr1183;
+ case 95: goto tr1181;
+ case 2058: goto tr1215;
+ case 2107: goto tr1216;
}
if ( _widec < 65 ) {
if ( 45 <= _widec && _widec <= 57 )
- goto tr1163;
+ goto tr1181;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr1163;
+ goto tr1181;
} else
- goto tr1163;
- goto tr1169;
-tr1198:
+ goto tr1181;
+ goto tr1187;
+tr1216:
{
s->buffer_length = 0;
}
- goto st367;
-tr1199:
+ goto st376;
+tr1217:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st367;
-st367:
+ goto st376;
+st376:
if ( ++p == pe )
- goto _test_eof367;
-case 367:
+ goto _test_eof376;
+case 376:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -45078,26 +46136,26 @@ case 367:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1200;
+ goto tr1218;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1199;
+ goto tr1217;
goto st0;
-tr1149:
+tr1167:
{
s->buffer_length = 0;
}
- goto st368;
-tr1201:
+ goto st377;
+tr1219:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st368;
-st368:
+ goto st377;
+st377:
if ( ++p == pe )
- goto _test_eof368;
-case 368:
+ goto _test_eof377;
+case 377:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -45117,51 +46175,51 @@ case 368:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1202;
+ goto tr1220;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1201;
+ goto tr1219;
goto st0;
-st369:
+st378:
if ( ++p == pe )
- goto _test_eof369;
-case 369:
+ goto _test_eof378;
+case 378:
if ( (*p) == 43 )
- goto tr1204;
+ goto tr1222;
if ( (*p) < 65 ) {
if ( 47 <= (*p) && (*p) <= 57 )
- goto tr1204;
+ goto tr1222;
} else if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1204;
+ goto tr1222;
} else
- goto tr1204;
- goto tr1203;
-tr1204:
+ goto tr1222;
+ goto tr1221;
+tr1222:
{
if (rdata_tail <= rdata_stop) {
*rdata_tail = first_base64_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st370;
-st370:
+ goto st379;
+st379:
if ( ++p == pe )
- goto _test_eof370;
-case 370:
+ goto _test_eof379;
+case 379:
if ( (*p) == 43 )
- goto tr1205;
+ goto tr1223;
if ( (*p) < 65 ) {
if ( 47 <= (*p) && (*p) <= 57 )
- goto tr1205;
+ goto tr1223;
} else if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1205;
+ goto tr1223;
} else
- goto tr1205;
- goto tr1203;
-tr1205:
+ goto tr1223;
+ goto tr1221;
+tr1223:
{
*(rdata_tail++) += second_left_base64_to_num[(uint8_t)(*p)];
@@ -45169,28 +46227,28 @@ tr1205:
*rdata_tail = second_right_base64_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st371;
-st371:
+ goto st380;
+st380:
if ( ++p == pe )
- goto _test_eof371;
-case 371:
+ goto _test_eof380;
+case 380:
switch( (*p) ) {
- case 43: goto tr1206;
- case 61: goto st375;
+ case 43: goto tr1224;
+ case 61: goto st384;
}
if ( (*p) < 65 ) {
if ( 47 <= (*p) && (*p) <= 57 )
- goto tr1206;
+ goto tr1224;
} else if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1206;
+ goto tr1224;
} else
- goto tr1206;
- goto tr1203;
-tr1206:
+ goto tr1224;
+ goto tr1221;
+tr1224:
{
*(rdata_tail++) += third_left_base64_to_num[(uint8_t)(*p)];
@@ -45198,51 +46256,51 @@ tr1206:
*rdata_tail = third_right_base64_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st372;
-st372:
+ goto st381;
+st381:
if ( ++p == pe )
- goto _test_eof372;
-case 372:
+ goto _test_eof381;
+case 381:
switch( (*p) ) {
- case 43: goto tr1208;
- case 61: goto st373;
+ case 43: goto tr1226;
+ case 61: goto st382;
}
if ( (*p) < 65 ) {
if ( 47 <= (*p) && (*p) <= 57 )
- goto tr1208;
+ goto tr1226;
} else if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1208;
+ goto tr1226;
} else
- goto tr1208;
- goto tr1203;
-tr1210:
+ goto tr1226;
+ goto tr1221;
+tr1228:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st373;
-tr1211:
+ goto st382;
+tr1229:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st373;
-tr1212:
+ goto st382;
+tr1230:
{
s->line_counter++;
}
- goto st373;
-tr1218:
+ goto st382;
+tr1236:
{
s->buffer[s->buffer_length++] = 0;
@@ -45252,23 +46310,23 @@ tr1218:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 373; goto _out;}
+ {p++; cs = 382; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st373;
-tr1208:
+ goto st382;
+tr1226:
{
*(rdata_tail++) += fourth_base64_to_num[(uint8_t)(*p)];
}
- goto st373;
-st373:
+ goto st382;
+st382:
if ( ++p == pe )
- goto _test_eof373;
-case 373:
+ goto _test_eof382;
+case 382:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -45286,43 +46344,43 @@ case 373:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st373;
- case 32: goto st373;
- case 40: goto tr1210;
- case 41: goto tr1211;
- case 43: goto tr1204;
- case 3082: goto tr1212;
- case 3131: goto tr1213;
- case 3338: goto tr1214;
- case 3387: goto tr1214;
- case 3594: goto tr1215;
- case 3643: goto tr1216;
+ case 9: goto st382;
+ case 32: goto st382;
+ case 40: goto tr1228;
+ case 41: goto tr1229;
+ case 43: goto tr1222;
+ case 3082: goto tr1230;
+ case 3131: goto tr1231;
+ case 3338: goto tr1232;
+ case 3387: goto tr1232;
+ case 3594: goto tr1233;
+ case 3643: goto tr1234;
}
if ( _widec < 65 ) {
if ( 47 <= _widec && _widec <= 57 )
- goto tr1204;
+ goto tr1222;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr1204;
+ goto tr1222;
} else
- goto tr1204;
- goto tr1203;
-tr1213:
+ goto tr1222;
+ goto tr1221;
+tr1231:
{
s->buffer_length = 0;
}
- goto st374;
-tr1217:
+ goto st383;
+tr1235:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st374;
-st374:
+ goto st383;
+st383:
if ( ++p == pe )
- goto _test_eof374;
-case 374:
+ goto _test_eof383;
+case 383:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -45342,32 +46400,32 @@ case 374:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1218;
+ goto tr1236;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1217;
- goto tr1203;
-tr1214:
+ goto tr1235;
+ goto tr1221;
+tr1232:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1415;
-st1415:
+ goto st1463;
+st1463:
if ( ++p == pe )
- goto _test_eof1415;
-case 1415:
+ goto _test_eof1463;
+case 1463:
goto st0;
-tr1215:
+tr1233:
{
s->line_counter++;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1416;
-st1416:
+ goto st1464;
+st1464:
if ( ++p == pe )
- goto _test_eof1416;
-case 1416:
+ goto _test_eof1464;
+case 1464:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -45385,39 +46443,39 @@ case 1416:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st373;
- case 32: goto st373;
- case 40: goto tr1210;
- case 41: goto tr1211;
- case 43: goto tr1204;
- case 3082: goto tr1212;
- case 3131: goto tr1213;
- case 3338: goto tr1214;
- case 3387: goto tr1214;
- case 3594: goto tr1215;
- case 3643: goto tr1216;
+ case 9: goto st382;
+ case 32: goto st382;
+ case 40: goto tr1228;
+ case 41: goto tr1229;
+ case 43: goto tr1222;
+ case 3082: goto tr1230;
+ case 3131: goto tr1231;
+ case 3338: goto tr1232;
+ case 3387: goto tr1232;
+ case 3594: goto tr1233;
+ case 3643: goto tr1234;
}
if ( _widec < 65 ) {
if ( 47 <= _widec && _widec <= 57 )
- goto tr1204;
+ goto tr1222;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr1204;
+ goto tr1222;
} else
- goto tr1204;
- goto tr1203;
-tr1216:
+ goto tr1222;
+ goto tr1221;
+tr1234:
{
s->buffer_length = 0;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1417;
-st1417:
+ goto st1465;
+st1465:
if ( ++p == pe )
- goto _test_eof1417;
-case 1417:
+ goto _test_eof1465;
+case 1465:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -45437,21 +46495,21 @@ case 1417:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1218;
+ goto tr1236;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1217;
- goto tr1203;
-st375:
+ goto tr1235;
+ goto tr1221;
+st384:
if ( ++p == pe )
- goto _test_eof375;
-case 375:
+ goto _test_eof384;
+case 384:
if ( (*p) == 61 )
- goto st373;
- goto tr1203;
-st376:
+ goto st382;
+ goto tr1221;
+st385:
if ( ++p == pe )
- goto _test_eof376;
-case 376:
+ goto _test_eof385;
+case 385:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -45469,42 +46527,42 @@ case 376:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1220;
- case 32: goto tr1220;
- case 40: goto tr1221;
- case 41: goto tr1222;
- case 3082: goto tr1223;
- case 3131: goto tr1224;
- case 3338: goto tr1225;
- case 3387: goto tr1225;
- case 3594: goto tr1226;
- case 3643: goto tr1227;
+ case 9: goto tr1238;
+ case 32: goto tr1238;
+ case 40: goto tr1239;
+ case 41: goto tr1240;
+ case 3082: goto tr1241;
+ case 3131: goto tr1242;
+ case 3338: goto tr1243;
+ case 3387: goto tr1243;
+ case 3594: goto tr1244;
+ case 3643: goto tr1245;
}
- goto tr1219;
-tr1229:
+ goto tr1237;
+tr1247:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1230:
+ goto st386;
+tr1248:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1248:
+ goto st386;
+tr1267:
{
s->line_counter++;
}
- goto st377;
-tr1275:
+ goto st386;
+tr1294:
{
s->buffer[s->buffer_length++] = 0;
@@ -45514,21 +46572,21 @@ tr1275:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 377; goto _out;}
+ {p++; cs = 386; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st377;
-tr1220:
+ goto st386;
+tr1238:
{
memset(s->windows, 0, sizeof(s->windows));
s->last_window = -1;
}
- goto st377;
-tr1221:
+ goto st386;
+tr1239:
{
memset(s->windows, 0, sizeof(s->windows));
s->last_window = -1;
@@ -45536,12 +46594,12 @@ tr1221:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1222:
+ goto st386;
+tr1240:
{
memset(s->windows, 0, sizeof(s->windows));
s->last_window = -1;
@@ -45549,12 +46607,12 @@ tr1222:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1223:
+ goto st386;
+tr1241:
{
memset(s->windows, 0, sizeof(s->windows));
s->last_window = -1;
@@ -45562,1460 +46620,1489 @@ tr1223:
{
s->line_counter++;
}
- goto st377;
-tr1253:
+ goto st386;
+tr1272:
{ window_add_bit(KNOT_RRTYPE_A, s); }
- goto st377;
-tr1254:
+ goto st386;
+tr1273:
{ window_add_bit(KNOT_RRTYPE_A, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1255:
+ goto st386;
+tr1274:
{ window_add_bit(KNOT_RRTYPE_A, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1259:
+ goto st386;
+tr1278:
{ window_add_bit(KNOT_RRTYPE_A, s); }
{
s->line_counter++;
}
- goto st377;
-tr1266:
+ goto st386;
+tr1285:
{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
- goto st377;
-tr1267:
+ goto st386;
+tr1286:
{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1268:
+ goto st386;
+tr1287:
{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1269:
+ goto st386;
+tr1288:
{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
{
s->line_counter++;
}
- goto st377;
-tr1282:
+ goto st386;
+tr1301:
{ window_add_bit(KNOT_RRTYPE_CAA, s); }
- goto st377;
-tr1283:
+ goto st386;
+tr1302:
{ window_add_bit(KNOT_RRTYPE_CAA, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1284:
+ goto st386;
+tr1303:
{ window_add_bit(KNOT_RRTYPE_CAA, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1285:
+ goto st386;
+tr1304:
{ window_add_bit(KNOT_RRTYPE_CAA, s); }
{
s->line_counter++;
}
- goto st377;
-tr1296:
+ goto st386;
+tr1315:
{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
- goto st377;
-tr1297:
+ goto st386;
+tr1316:
{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1298:
+ goto st386;
+tr1317:
{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1299:
+ goto st386;
+tr1318:
{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
{
s->line_counter++;
}
- goto st377;
-tr1304:
+ goto st386;
+tr1323:
{ window_add_bit(KNOT_RRTYPE_CDS, s); }
- goto st377;
-tr1305:
+ goto st386;
+tr1324:
{ window_add_bit(KNOT_RRTYPE_CDS, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1306:
+ goto st386;
+tr1325:
{ window_add_bit(KNOT_RRTYPE_CDS, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1307:
+ goto st386;
+tr1326:
{ window_add_bit(KNOT_RRTYPE_CDS, s); }
{
s->line_counter++;
}
- goto st377;
-tr1314:
+ goto st386;
+tr1333:
{ window_add_bit(KNOT_RRTYPE_CERT, s); }
- goto st377;
-tr1315:
+ goto st386;
+tr1334:
{ window_add_bit(KNOT_RRTYPE_CERT, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1316:
+ goto st386;
+tr1335:
{ window_add_bit(KNOT_RRTYPE_CERT, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1317:
+ goto st386;
+tr1336:
{ window_add_bit(KNOT_RRTYPE_CERT, s); }
{
s->line_counter++;
}
- goto st377;
-tr1325:
+ goto st386;
+tr1344:
{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
- goto st377;
-tr1326:
+ goto st386;
+tr1345:
{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1327:
+ goto st386;
+tr1346:
{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1328:
+ goto st386;
+tr1347:
{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
{
s->line_counter++;
}
- goto st377;
-tr1336:
+ goto st386;
+tr1355:
{ window_add_bit(KNOT_RRTYPE_CSYNC, s); }
- goto st377;
-tr1337:
+ goto st386;
+tr1356:
{ window_add_bit(KNOT_RRTYPE_CSYNC, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1338:
+ goto st386;
+tr1357:
{ window_add_bit(KNOT_RRTYPE_CSYNC, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1339:
+ goto st386;
+tr1358:
{ window_add_bit(KNOT_RRTYPE_CSYNC, s); }
{
s->line_counter++;
}
- goto st377;
-tr1350:
+ goto st386;
+tr1369:
{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
- goto st377;
-tr1351:
+ goto st386;
+tr1370:
{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1352:
+ goto st386;
+tr1371:
{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1353:
+ goto st386;
+tr1372:
{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
{
s->line_counter++;
}
- goto st377;
-tr1362:
+ goto st386;
+tr1381:
{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
- goto st377;
-tr1363:
+ goto st386;
+tr1382:
{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1364:
+ goto st386;
+tr1383:
{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1365:
+ goto st386;
+tr1384:
{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
{
s->line_counter++;
}
- goto st377;
-tr1373:
+ goto st386;
+tr1392:
{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
- goto st377;
-tr1374:
+ goto st386;
+tr1393:
{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1375:
+ goto st386;
+tr1394:
{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1376:
+ goto st386;
+tr1395:
{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
{
s->line_counter++;
}
- goto st377;
-tr1381:
+ goto st386;
+tr1400:
{ window_add_bit(KNOT_RRTYPE_DS, s); }
- goto st377;
-tr1382:
+ goto st386;
+tr1401:
{ window_add_bit(KNOT_RRTYPE_DS, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1383:
+ goto st386;
+tr1402:
{ window_add_bit(KNOT_RRTYPE_DS, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1384:
+ goto st386;
+tr1403:
{ window_add_bit(KNOT_RRTYPE_DS, s); }
{
s->line_counter++;
}
- goto st377;
-tr1394:
+ goto st386;
+tr1413:
{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
- goto st377;
-tr1395:
+ goto st386;
+tr1414:
{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1396:
+ goto st386;
+tr1415:
{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1397:
+ goto st386;
+tr1416:
{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
{
s->line_counter++;
}
- goto st377;
-tr1403:
+ goto st386;
+tr1422:
{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
- goto st377;
-tr1404:
+ goto st386;
+tr1423:
{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1405:
+ goto st386;
+tr1424:
{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1406:
+ goto st386;
+tr1425:
{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
{
s->line_counter++;
}
- goto st377;
-tr1416:
+ goto st386;
+tr1435:
{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
- goto st377;
-tr1417:
+ goto st386;
+tr1436:
{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1418:
+ goto st386;
+tr1437:
{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1419:
+ goto st386;
+tr1438:
{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
{
s->line_counter++;
}
- goto st377;
-tr1427:
+ goto st386;
+tr1446:
{ window_add_bit(KNOT_RRTYPE_HTTPS, s); }
- goto st377;
-tr1428:
+ goto st386;
+tr1447:
{ window_add_bit(KNOT_RRTYPE_HTTPS, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1429:
+ goto st386;
+tr1448:
{ window_add_bit(KNOT_RRTYPE_HTTPS, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1430:
+ goto st386;
+tr1449:
{ window_add_bit(KNOT_RRTYPE_HTTPS, s); }
{
s->line_counter++;
}
- goto st377;
-tr1442:
+ goto st386;
+tr1461:
{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
- goto st377;
-tr1443:
+ goto st386;
+tr1462:
{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1444:
+ goto st386;
+tr1463:
{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1445:
+ goto st386;
+tr1464:
{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
{
s->line_counter++;
}
- goto st377;
-tr1453:
+ goto st386;
+tr1472:
{ window_add_bit(KNOT_RRTYPE_KEY, s); }
- goto st377;
-tr1454:
+ goto st386;
+tr1473:
{ window_add_bit(KNOT_RRTYPE_KEY, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1455:
+ goto st386;
+tr1474:
{ window_add_bit(KNOT_RRTYPE_KEY, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1456:
+ goto st386;
+tr1475:
{ window_add_bit(KNOT_RRTYPE_KEY, s); }
{
s->line_counter++;
}
- goto st377;
-tr1461:
+ goto st386;
+tr1480:
{ window_add_bit(KNOT_RRTYPE_KX, s); }
- goto st377;
-tr1462:
+ goto st386;
+tr1481:
{ window_add_bit(KNOT_RRTYPE_KX, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1463:
+ goto st386;
+tr1482:
{ window_add_bit(KNOT_RRTYPE_KX, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1464:
+ goto st386;
+tr1483:
{ window_add_bit(KNOT_RRTYPE_KX, s); }
{
s->line_counter++;
}
- goto st377;
-tr1474:
+ goto st386;
+tr1493:
{ window_add_bit(KNOT_RRTYPE_L32, s); }
- goto st377;
-tr1475:
+ goto st386;
+tr1494:
{ window_add_bit(KNOT_RRTYPE_L32, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1476:
+ goto st386;
+tr1495:
{ window_add_bit(KNOT_RRTYPE_L32, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1477:
+ goto st386;
+tr1496:
{ window_add_bit(KNOT_RRTYPE_L32, s); }
{
s->line_counter++;
}
- goto st377;
-tr1483:
+ goto st386;
+tr1502:
{ window_add_bit(KNOT_RRTYPE_L64, s); }
- goto st377;
-tr1484:
+ goto st386;
+tr1503:
{ window_add_bit(KNOT_RRTYPE_L64, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1485:
+ goto st386;
+tr1504:
{ window_add_bit(KNOT_RRTYPE_L64, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1486:
+ goto st386;
+tr1505:
{ window_add_bit(KNOT_RRTYPE_L64, s); }
{
s->line_counter++;
}
- goto st377;
-tr1492:
+ goto st386;
+tr1511:
{ window_add_bit(KNOT_RRTYPE_LOC, s); }
- goto st377;
-tr1493:
+ goto st386;
+tr1512:
{ window_add_bit(KNOT_RRTYPE_LOC, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1494:
+ goto st386;
+tr1513:
{ window_add_bit(KNOT_RRTYPE_LOC, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1495:
+ goto st386;
+tr1514:
{ window_add_bit(KNOT_RRTYPE_LOC, s); }
{
s->line_counter++;
}
- goto st377;
-tr1500:
+ goto st386;
+tr1519:
{ window_add_bit(KNOT_RRTYPE_LP, s); }
- goto st377;
-tr1501:
+ goto st386;
+tr1520:
{ window_add_bit(KNOT_RRTYPE_LP, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1502:
+ goto st386;
+tr1521:
{ window_add_bit(KNOT_RRTYPE_LP, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1503:
+ goto st386;
+tr1522:
{ window_add_bit(KNOT_RRTYPE_LP, s); }
{
s->line_counter++;
}
- goto st377;
-tr1513:
+ goto st386;
+tr1532:
{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
- goto st377;
-tr1514:
+ goto st386;
+tr1533:
{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1515:
+ goto st386;
+tr1534:
{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1516:
+ goto st386;
+tr1535:
{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
{
s->line_counter++;
}
- goto st377;
-tr1521:
+ goto st386;
+tr1540:
{ window_add_bit(KNOT_RRTYPE_MX, s); }
- goto st377;
-tr1522:
+ goto st386;
+tr1541:
{ window_add_bit(KNOT_RRTYPE_MX, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1523:
+ goto st386;
+tr1542:
{ window_add_bit(KNOT_RRTYPE_MX, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1524:
+ goto st386;
+tr1543:
{ window_add_bit(KNOT_RRTYPE_MX, s); }
{
s->line_counter++;
}
- goto st377;
-tr1535:
+ goto st386;
+tr1554:
{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
- goto st377;
-tr1536:
+ goto st386;
+tr1555:
{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1537:
+ goto st386;
+tr1556:
{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1538:
+ goto st386;
+tr1557:
{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
{
s->line_counter++;
}
- goto st377;
-tr1544:
+ goto st386;
+tr1563:
{ window_add_bit(KNOT_RRTYPE_NID, s); }
- goto st377;
-tr1545:
+ goto st386;
+tr1564:
{ window_add_bit(KNOT_RRTYPE_NID, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1546:
+ goto st386;
+tr1565:
{ window_add_bit(KNOT_RRTYPE_NID, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1547:
+ goto st386;
+tr1566:
{ window_add_bit(KNOT_RRTYPE_NID, s); }
{
s->line_counter++;
}
- goto st377;
-tr1552:
+ goto st386;
+tr1571:
{ window_add_bit(KNOT_RRTYPE_NS, s); }
- goto st377;
-tr1553:
+ goto st386;
+tr1572:
{ window_add_bit(KNOT_RRTYPE_NS, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1554:
+ goto st386;
+tr1573:
{ window_add_bit(KNOT_RRTYPE_NS, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1556:
+ goto st386;
+tr1575:
{ window_add_bit(KNOT_RRTYPE_NS, s); }
{
s->line_counter++;
}
- goto st377;
-tr1562:
+ goto st386;
+tr1581:
{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
- goto st377;
-tr1563:
+ goto st386;
+tr1582:
{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1564:
+ goto st386;
+tr1583:
{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1566:
+ goto st386;
+tr1585:
{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
{
s->line_counter++;
}
- goto st377;
-tr1571:
+ goto st386;
+tr1590:
{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
- goto st377;
-tr1572:
+ goto st386;
+tr1591:
{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1573:
+ goto st386;
+tr1592:
{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1575:
+ goto st386;
+tr1594:
{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
{
s->line_counter++;
}
- goto st377;
-tr1584:
+ goto st386;
+tr1603:
{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
- goto st377;
-tr1585:
+ goto st386;
+tr1604:
{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1586:
+ goto st386;
+tr1605:
{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1587:
+ goto st386;
+tr1606:
{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
{
s->line_counter++;
}
- goto st377;
-tr1601:
+ goto st386;
+tr1620:
{ window_add_bit(KNOT_RRTYPE_OPENPGPKEY, s); }
- goto st377;
-tr1602:
+ goto st386;
+tr1621:
{ window_add_bit(KNOT_RRTYPE_OPENPGPKEY, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1603:
+ goto st386;
+tr1622:
{ window_add_bit(KNOT_RRTYPE_OPENPGPKEY, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1604:
+ goto st386;
+tr1623:
{ window_add_bit(KNOT_RRTYPE_OPENPGPKEY, s); }
{
s->line_counter++;
}
- goto st377;
-tr1611:
+ goto st386;
+tr1630:
{ window_add_bit(KNOT_RRTYPE_PTR, s); }
- goto st377;
-tr1612:
+ goto st386;
+tr1631:
{ window_add_bit(KNOT_RRTYPE_PTR, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1613:
+ goto st386;
+tr1632:
{ window_add_bit(KNOT_RRTYPE_PTR, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1614:
+ goto st386;
+tr1633:
{ window_add_bit(KNOT_RRTYPE_PTR, s); }
{
s->line_counter++;
}
- goto st377;
-tr1622:
+ goto st386;
+tr1641:
{ window_add_bit(KNOT_RRTYPE_RP, s); }
- goto st377;
-tr1623:
+ goto st386;
+tr1642:
{ window_add_bit(KNOT_RRTYPE_RP, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1624:
+ goto st386;
+tr1643:
{ window_add_bit(KNOT_RRTYPE_RP, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1625:
+ goto st386;
+tr1644:
{ window_add_bit(KNOT_RRTYPE_RP, s); }
{
s->line_counter++;
}
- goto st377;
-tr1633:
+ goto st386;
+tr1652:
{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
- goto st377;
-tr1634:
+ goto st386;
+tr1653:
{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1635:
+ goto st386;
+tr1654:
{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1636:
+ goto st386;
+tr1655:
{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
{
s->line_counter++;
}
- goto st377;
-tr1641:
+ goto st386;
+tr1660:
{ window_add_bit(KNOT_RRTYPE_RT, s); }
- goto st377;
-tr1642:
+ goto st386;
+tr1661:
{ window_add_bit(KNOT_RRTYPE_RT, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1643:
+ goto st386;
+tr1662:
{ window_add_bit(KNOT_RRTYPE_RT, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1644:
+ goto st386;
+tr1663:
{ window_add_bit(KNOT_RRTYPE_RT, s); }
{
s->line_counter++;
}
- goto st377;
-tr1659:
+ goto st386;
+tr1678:
{ window_add_bit(KNOT_RRTYPE_SMIMEA, s); }
- goto st377;
-tr1660:
+ goto st386;
+tr1679:
{ window_add_bit(KNOT_RRTYPE_SMIMEA, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1661:
+ goto st386;
+tr1680:
{ window_add_bit(KNOT_RRTYPE_SMIMEA, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1662:
+ goto st386;
+tr1681:
{ window_add_bit(KNOT_RRTYPE_SMIMEA, s); }
{
s->line_counter++;
}
- goto st377;
-tr1668:
+ goto st386;
+tr1687:
{ window_add_bit(KNOT_RRTYPE_SOA, s); }
- goto st377;
-tr1669:
+ goto st386;
+tr1688:
{ window_add_bit(KNOT_RRTYPE_SOA, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1670:
+ goto st386;
+tr1689:
{ window_add_bit(KNOT_RRTYPE_SOA, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1671:
+ goto st386;
+tr1690:
{ window_add_bit(KNOT_RRTYPE_SOA, s); }
{
s->line_counter++;
}
- goto st377;
-tr1677:
+ goto st386;
+tr1696:
{ window_add_bit(KNOT_RRTYPE_SPF, s); }
- goto st377;
-tr1678:
+ goto st386;
+tr1697:
{ window_add_bit(KNOT_RRTYPE_SPF, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1679:
+ goto st386;
+tr1698:
{ window_add_bit(KNOT_RRTYPE_SPF, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1680:
+ goto st386;
+tr1699:
{ window_add_bit(KNOT_RRTYPE_SPF, s); }
{
s->line_counter++;
}
- goto st377;
-tr1686:
+ goto st386;
+tr1705:
{ window_add_bit(KNOT_RRTYPE_SRV, s); }
- goto st377;
-tr1687:
+ goto st386;
+tr1706:
{ window_add_bit(KNOT_RRTYPE_SRV, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1688:
+ goto st386;
+tr1707:
{ window_add_bit(KNOT_RRTYPE_SRV, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1689:
+ goto st386;
+tr1708:
{ window_add_bit(KNOT_RRTYPE_SRV, s); }
{
s->line_counter++;
}
- goto st377;
-tr1697:
+ goto st386;
+tr1716:
{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
- goto st377;
-tr1698:
+ goto st386;
+tr1717:
{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1699:
+ goto st386;
+tr1718:
{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1700:
+ goto st386;
+tr1719:
{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
{
s->line_counter++;
}
- goto st377;
-tr1707:
+ goto st386;
+tr1726:
{ window_add_bit(KNOT_RRTYPE_SVCB, s); }
- goto st377;
-tr1708:
+ goto st386;
+tr1727:
{ window_add_bit(KNOT_RRTYPE_SVCB, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1709:
+ goto st386;
+tr1728:
{ window_add_bit(KNOT_RRTYPE_SVCB, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1710:
+ goto st386;
+tr1729:
{ window_add_bit(KNOT_RRTYPE_SVCB, s); }
{
s->line_counter++;
}
- goto st377;
-tr1720:
+ goto st386;
+tr1739:
{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
- goto st377;
-tr1721:
+ goto st386;
+tr1740:
{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1722:
+ goto st386;
+tr1741:
{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1723:
+ goto st386;
+tr1742:
{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
{
s->line_counter++;
}
- goto st377;
-tr1729:
+ goto st386;
+tr1748:
{ window_add_bit(KNOT_RRTYPE_TXT, s); }
- goto st377;
-tr1730:
+ goto st386;
+tr1749:
{ window_add_bit(KNOT_RRTYPE_TXT, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1731:
+ goto st386;
+tr1750:
{ window_add_bit(KNOT_RRTYPE_TXT, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1732:
+ goto st386;
+tr1751:
{ window_add_bit(KNOT_RRTYPE_TXT, s); }
{
s->line_counter++;
}
- goto st377;
-tr1740:
+ goto st386;
+tr1759:
{
if (s->number64 <= UINT16_MAX) {
window_add_bit(s->number64, s);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st377;
-tr1741:
+ goto st386;
+tr1760:
{
if (s->number64 <= UINT16_MAX) {
window_add_bit(s->number64, s);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1742:
+ goto st386;
+tr1761:
{
if (s->number64 <= UINT16_MAX) {
window_add_bit(s->number64, s);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1744:
+ goto st386;
+tr1763:
{
if (s->number64 <= UINT16_MAX) {
window_add_bit(s->number64, s);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st377;
-tr1751:
+ goto st386;
+tr1770:
{ window_add_bit(KNOT_RRTYPE_URI, s); }
- goto st377;
-tr1752:
+ goto st386;
+tr1771:
{ window_add_bit(KNOT_RRTYPE_URI, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1753:
+ goto st386;
+tr1772:
{ window_add_bit(KNOT_RRTYPE_URI, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1754:
+ goto st386;
+tr1773:
{ window_add_bit(KNOT_RRTYPE_URI, s); }
{
s->line_counter++;
}
- goto st377;
-tr1764:
+ goto st386;
+tr1783:
+ { window_add_bit(KNOT_RRTYPE_WALLET, s); }
+ goto st386;
+tr1784:
+ { window_add_bit(KNOT_RRTYPE_WALLET, s); }
+ {
+ if (s->multiline == true) {
+ ERR(ZS_LEFT_PARENTHESIS);
+ p--; {goto st316;}
+ }
+ s->multiline = true;
+ }
+ goto st386;
+tr1785:
+ { window_add_bit(KNOT_RRTYPE_WALLET, s); }
+ {
+ if (s->multiline == false) {
+ ERR(ZS_RIGHT_PARENTHESIS);
+ p--; {goto st316;}
+ }
+ s->multiline = false;
+ }
+ goto st386;
+tr1786:
+ { window_add_bit(KNOT_RRTYPE_WALLET, s); }
+ {
+ s->line_counter++;
+ }
+ goto st386;
+tr1796:
{ window_add_bit(KNOT_RRTYPE_ZONEMD, s); }
- goto st377;
-tr1765:
+ goto st386;
+tr1797:
{ window_add_bit(KNOT_RRTYPE_ZONEMD, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1766:
+ goto st386;
+tr1798:
{ window_add_bit(KNOT_RRTYPE_ZONEMD, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1767:
+ goto st386;
+tr1799:
{ window_add_bit(KNOT_RRTYPE_ZONEMD, s); }
{
s->line_counter++;
}
- goto st377;
-tr1775:
+ goto st386;
+tr1807:
{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
- goto st377;
-tr1776:
+ goto st386;
+tr1808:
{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1777:
+ goto st386;
+tr1809:
{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1778:
+ goto st386;
+tr1810:
{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
{
s->line_counter++;
}
- goto st377;
-tr1784:
+ goto st386;
+tr1816:
{ window_add_bit(KNOT_RRTYPE_APL, s); }
- goto st377;
-tr1785:
+ goto st386;
+tr1817:
{ window_add_bit(KNOT_RRTYPE_APL, s); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st377;
-tr1786:
+ goto st386;
+tr1818:
{ window_add_bit(KNOT_RRTYPE_APL, s); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st377;
-tr1787:
+ goto st386;
+tr1819:
{ window_add_bit(KNOT_RRTYPE_APL, s); }
{
s->line_counter++;
}
- goto st377;
-st377:
+ goto st386;
+st386:
if ( ++p == pe )
- goto _test_eof377;
-case 377:
+ goto _test_eof386;
+case 386:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -47033,56 +48120,58 @@ case 377:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st377;
- case 32: goto st377;
- case 40: goto tr1229;
- case 41: goto tr1230;
- case 65: goto st378;
- case 67: goto st383;
- case 68: goto st404;
- case 69: goto st418;
- case 72: goto st425;
- case 73: goto st434;
- case 75: goto st442;
- case 76: goto st446;
- case 77: goto st454;
- case 78: goto st460;
- case 79: goto st476;
- case 80: goto st486;
- case 82: goto st489;
- case 83: goto st496;
- case 84: goto st515;
- case 85: goto st525;
- case 90: goto st528;
- case 97: goto st378;
- case 99: goto st383;
- case 100: goto st404;
- case 101: goto st418;
- case 104: goto st425;
- case 105: goto st434;
- case 107: goto st442;
- case 108: goto st446;
- case 109: goto st454;
- case 110: goto st460;
- case 111: goto st476;
- case 112: goto st486;
- case 114: goto st489;
- case 115: goto st496;
- case 116: goto st515;
- case 117: goto st525;
- case 122: goto st528;
- case 3082: goto tr1248;
- case 3131: goto tr1249;
- case 3338: goto tr1250;
- case 3387: goto tr1250;
- case 3594: goto tr1251;
- case 3643: goto tr1252;
- }
- goto tr1219;
-st378:
+ case 9: goto st386;
+ case 32: goto st386;
+ case 40: goto tr1247;
+ case 41: goto tr1248;
+ case 65: goto st387;
+ case 67: goto st392;
+ case 68: goto st413;
+ case 69: goto st427;
+ case 72: goto st434;
+ case 73: goto st443;
+ case 75: goto st451;
+ case 76: goto st455;
+ case 77: goto st463;
+ case 78: goto st469;
+ case 79: goto st485;
+ case 80: goto st495;
+ case 82: goto st498;
+ case 83: goto st505;
+ case 84: goto st524;
+ case 85: goto st534;
+ case 87: goto st537;
+ case 90: goto st543;
+ case 97: goto st387;
+ case 99: goto st392;
+ case 100: goto st413;
+ case 101: goto st427;
+ case 104: goto st434;
+ case 105: goto st443;
+ case 107: goto st451;
+ case 108: goto st455;
+ case 109: goto st463;
+ case 110: goto st469;
+ case 111: goto st485;
+ case 112: goto st495;
+ case 114: goto st498;
+ case 115: goto st505;
+ case 116: goto st524;
+ case 117: goto st534;
+ case 119: goto st537;
+ case 122: goto st543;
+ case 3082: goto tr1267;
+ case 3131: goto tr1268;
+ case 3338: goto tr1269;
+ case 3387: goto tr1269;
+ case 3594: goto tr1270;
+ case 3643: goto tr1271;
+ }
+ goto tr1237;
+st387:
if ( ++p == pe )
- goto _test_eof378;
-case 378:
+ goto _test_eof387;
+case 387:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -47100,46 +48189,46 @@ case 378:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1253;
- case 32: goto tr1253;
- case 40: goto tr1254;
- case 41: goto tr1255;
- case 65: goto st379;
- case 70: goto st534;
- case 80: goto st538;
- case 97: goto st379;
- case 102: goto st534;
- case 112: goto st538;
- case 3082: goto tr1259;
- case 3131: goto tr1260;
- case 3338: goto tr1261;
- case 3387: goto tr1261;
- case 3594: goto tr1262;
- case 3643: goto tr1263;
- }
- goto tr1219;
-st379:
+ case 9: goto tr1272;
+ case 32: goto tr1272;
+ case 40: goto tr1273;
+ case 41: goto tr1274;
+ case 65: goto st388;
+ case 70: goto st549;
+ case 80: goto st553;
+ case 97: goto st388;
+ case 102: goto st549;
+ case 112: goto st553;
+ case 3082: goto tr1278;
+ case 3131: goto tr1279;
+ case 3338: goto tr1280;
+ case 3387: goto tr1280;
+ case 3594: goto tr1281;
+ case 3643: goto tr1282;
+ }
+ goto tr1237;
+st388:
if ( ++p == pe )
- goto _test_eof379;
-case 379:
+ goto _test_eof388;
+case 388:
switch( (*p) ) {
- case 65: goto st380;
- case 97: goto st380;
+ case 65: goto st389;
+ case 97: goto st389;
}
- goto tr1219;
-st380:
+ goto tr1237;
+st389:
if ( ++p == pe )
- goto _test_eof380;
-case 380:
+ goto _test_eof389;
+case 389:
switch( (*p) ) {
- case 65: goto st381;
- case 97: goto st381;
+ case 65: goto st390;
+ case 97: goto st390;
}
- goto tr1219;
-st381:
+ goto tr1237;
+st390:
if ( ++p == pe )
- goto _test_eof381;
-case 381:
+ goto _test_eof390;
+case 390:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -47157,31 +48246,31 @@ case 381:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1266;
- case 32: goto tr1266;
- case 40: goto tr1267;
- case 41: goto tr1268;
- case 3082: goto tr1269;
- case 3131: goto tr1270;
- case 3338: goto tr1271;
- case 3387: goto tr1271;
- case 3594: goto tr1272;
- case 3643: goto tr1273;
+ case 9: goto tr1285;
+ case 32: goto tr1285;
+ case 40: goto tr1286;
+ case 41: goto tr1287;
+ case 3082: goto tr1288;
+ case 3131: goto tr1289;
+ case 3338: goto tr1290;
+ case 3387: goto tr1290;
+ case 3594: goto tr1291;
+ case 3643: goto tr1292;
}
- goto tr1219;
-tr1249:
+ goto tr1237;
+tr1268:
{
s->buffer_length = 0;
}
- goto st382;
-tr1274:
+ goto st391;
+tr1293:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st382;
-tr1224:
+ goto st391;
+tr1242:
{
memset(s->windows, 0, sizeof(s->windows));
s->last_window = -1;
@@ -47189,312 +48278,318 @@ tr1224:
{
s->buffer_length = 0;
}
- goto st382;
-tr1260:
+ goto st391;
+tr1279:
{ window_add_bit(KNOT_RRTYPE_A, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1270:
+ goto st391;
+tr1289:
{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1286:
+ goto st391;
+tr1305:
{ window_add_bit(KNOT_RRTYPE_CAA, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1300:
+ goto st391;
+tr1319:
{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1308:
+ goto st391;
+tr1327:
{ window_add_bit(KNOT_RRTYPE_CDS, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1318:
+ goto st391;
+tr1337:
{ window_add_bit(KNOT_RRTYPE_CERT, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1329:
+ goto st391;
+tr1348:
{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1340:
+ goto st391;
+tr1359:
{ window_add_bit(KNOT_RRTYPE_CSYNC, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1354:
+ goto st391;
+tr1373:
{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1366:
+ goto st391;
+tr1385:
{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1377:
+ goto st391;
+tr1396:
{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1385:
+ goto st391;
+tr1404:
{ window_add_bit(KNOT_RRTYPE_DS, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1398:
+ goto st391;
+tr1417:
{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1407:
+ goto st391;
+tr1426:
{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1420:
+ goto st391;
+tr1439:
{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1431:
+ goto st391;
+tr1450:
{ window_add_bit(KNOT_RRTYPE_HTTPS, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1446:
+ goto st391;
+tr1465:
{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1457:
+ goto st391;
+tr1476:
{ window_add_bit(KNOT_RRTYPE_KEY, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1465:
+ goto st391;
+tr1484:
{ window_add_bit(KNOT_RRTYPE_KX, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1478:
+ goto st391;
+tr1497:
{ window_add_bit(KNOT_RRTYPE_L32, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1487:
+ goto st391;
+tr1506:
{ window_add_bit(KNOT_RRTYPE_L64, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1496:
+ goto st391;
+tr1515:
{ window_add_bit(KNOT_RRTYPE_LOC, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1504:
+ goto st391;
+tr1523:
{ window_add_bit(KNOT_RRTYPE_LP, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1517:
+ goto st391;
+tr1536:
{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1525:
+ goto st391;
+tr1544:
{ window_add_bit(KNOT_RRTYPE_MX, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1539:
+ goto st391;
+tr1558:
{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1548:
+ goto st391;
+tr1567:
{ window_add_bit(KNOT_RRTYPE_NID, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1557:
+ goto st391;
+tr1576:
{ window_add_bit(KNOT_RRTYPE_NS, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1567:
+ goto st391;
+tr1586:
{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1576:
+ goto st391;
+tr1595:
{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1588:
+ goto st391;
+tr1607:
{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1605:
+ goto st391;
+tr1624:
{ window_add_bit(KNOT_RRTYPE_OPENPGPKEY, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1615:
+ goto st391;
+tr1634:
{ window_add_bit(KNOT_RRTYPE_PTR, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1626:
+ goto st391;
+tr1645:
{ window_add_bit(KNOT_RRTYPE_RP, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1637:
+ goto st391;
+tr1656:
{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1645:
+ goto st391;
+tr1664:
{ window_add_bit(KNOT_RRTYPE_RT, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1663:
+ goto st391;
+tr1682:
{ window_add_bit(KNOT_RRTYPE_SMIMEA, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1672:
+ goto st391;
+tr1691:
{ window_add_bit(KNOT_RRTYPE_SOA, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1681:
+ goto st391;
+tr1700:
{ window_add_bit(KNOT_RRTYPE_SPF, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1690:
+ goto st391;
+tr1709:
{ window_add_bit(KNOT_RRTYPE_SRV, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1701:
+ goto st391;
+tr1720:
{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1711:
+ goto st391;
+tr1730:
{ window_add_bit(KNOT_RRTYPE_SVCB, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1724:
+ goto st391;
+tr1743:
{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1733:
+ goto st391;
+tr1752:
{ window_add_bit(KNOT_RRTYPE_TXT, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1745:
+ goto st391;
+tr1764:
{
if (s->number64 <= UINT16_MAX) {
window_add_bit(s->number64, s);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st382;
-tr1755:
+ goto st391;
+tr1774:
{ window_add_bit(KNOT_RRTYPE_URI, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1768:
+ goto st391;
+tr1787:
+ { window_add_bit(KNOT_RRTYPE_WALLET, s); }
+ {
+ s->buffer_length = 0;
+ }
+ goto st391;
+tr1800:
{ window_add_bit(KNOT_RRTYPE_ZONEMD, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1779:
+ goto st391;
+tr1811:
{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
{
s->buffer_length = 0;
}
- goto st382;
-tr1788:
+ goto st391;
+tr1820:
{ window_add_bit(KNOT_RRTYPE_APL, s); }
{
s->buffer_length = 0;
}
- goto st382;
-st382:
+ goto st391;
+st391:
if ( ++p == pe )
- goto _test_eof382;
-case 382:
+ goto _test_eof391;
+case 391:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -47514,11 +48609,11 @@ case 382:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1275;
+ goto tr1294;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1274;
- goto tr1219;
-tr1225:
+ goto tr1293;
+ goto tr1237;
+tr1243:
{
memset(s->windows, 0, sizeof(s->windows));
s->last_window = -1;
@@ -47541,7 +48636,7 @@ tr1225:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -47549,8 +48644,8 @@ tr1225:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1250:
+ goto st1466;
+tr1269:
{
for (uint16_t window = 0; window <= s->last_window; window++) {
if ((s->windows[window]).length > 0) {
@@ -47569,7 +48664,7 @@ tr1250:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -47577,8 +48672,8 @@ tr1250:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1261:
+ goto st1466;
+tr1280:
{ window_add_bit(KNOT_RRTYPE_A, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -47598,7 +48693,7 @@ tr1261:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -47606,8 +48701,8 @@ tr1261:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1271:
+ goto st1466;
+tr1290:
{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -47627,7 +48722,7 @@ tr1271:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -47635,8 +48730,8 @@ tr1271:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1287:
+ goto st1466;
+tr1306:
{ window_add_bit(KNOT_RRTYPE_CAA, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -47656,7 +48751,7 @@ tr1287:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -47664,8 +48759,8 @@ tr1287:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1301:
+ goto st1466;
+tr1320:
{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -47685,7 +48780,7 @@ tr1301:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -47693,8 +48788,8 @@ tr1301:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1309:
+ goto st1466;
+tr1328:
{ window_add_bit(KNOT_RRTYPE_CDS, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -47714,7 +48809,7 @@ tr1309:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -47722,8 +48817,8 @@ tr1309:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1319:
+ goto st1466;
+tr1338:
{ window_add_bit(KNOT_RRTYPE_CERT, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -47743,7 +48838,7 @@ tr1319:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -47751,8 +48846,8 @@ tr1319:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1330:
+ goto st1466;
+tr1349:
{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -47772,7 +48867,7 @@ tr1330:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -47780,8 +48875,8 @@ tr1330:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1341:
+ goto st1466;
+tr1360:
{ window_add_bit(KNOT_RRTYPE_CSYNC, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -47801,7 +48896,7 @@ tr1341:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -47809,8 +48904,8 @@ tr1341:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1355:
+ goto st1466;
+tr1374:
{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -47830,7 +48925,7 @@ tr1355:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -47838,8 +48933,8 @@ tr1355:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1367:
+ goto st1466;
+tr1386:
{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -47859,7 +48954,7 @@ tr1367:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -47867,8 +48962,8 @@ tr1367:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1378:
+ goto st1466;
+tr1397:
{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -47888,7 +48983,7 @@ tr1378:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -47896,8 +48991,8 @@ tr1378:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1386:
+ goto st1466;
+tr1405:
{ window_add_bit(KNOT_RRTYPE_DS, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -47917,7 +49012,7 @@ tr1386:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -47925,8 +49020,8 @@ tr1386:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1399:
+ goto st1466;
+tr1418:
{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -47946,7 +49041,7 @@ tr1399:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -47954,8 +49049,8 @@ tr1399:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1408:
+ goto st1466;
+tr1427:
{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -47975,7 +49070,7 @@ tr1408:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -47983,8 +49078,8 @@ tr1408:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1421:
+ goto st1466;
+tr1440:
{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48004,7 +49099,7 @@ tr1421:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48012,8 +49107,8 @@ tr1421:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1432:
+ goto st1466;
+tr1451:
{ window_add_bit(KNOT_RRTYPE_HTTPS, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48033,7 +49128,7 @@ tr1432:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48041,8 +49136,8 @@ tr1432:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1447:
+ goto st1466;
+tr1466:
{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48062,7 +49157,7 @@ tr1447:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48070,8 +49165,8 @@ tr1447:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1458:
+ goto st1466;
+tr1477:
{ window_add_bit(KNOT_RRTYPE_KEY, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48091,7 +49186,7 @@ tr1458:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48099,8 +49194,8 @@ tr1458:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1466:
+ goto st1466;
+tr1485:
{ window_add_bit(KNOT_RRTYPE_KX, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48120,7 +49215,7 @@ tr1466:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48128,8 +49223,8 @@ tr1466:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1479:
+ goto st1466;
+tr1498:
{ window_add_bit(KNOT_RRTYPE_L32, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48149,7 +49244,7 @@ tr1479:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48157,8 +49252,8 @@ tr1479:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1488:
+ goto st1466;
+tr1507:
{ window_add_bit(KNOT_RRTYPE_L64, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48178,7 +49273,7 @@ tr1488:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48186,8 +49281,8 @@ tr1488:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1497:
+ goto st1466;
+tr1516:
{ window_add_bit(KNOT_RRTYPE_LOC, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48207,7 +49302,7 @@ tr1497:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48215,8 +49310,8 @@ tr1497:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1505:
+ goto st1466;
+tr1524:
{ window_add_bit(KNOT_RRTYPE_LP, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48236,7 +49331,7 @@ tr1505:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48244,8 +49339,8 @@ tr1505:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1518:
+ goto st1466;
+tr1537:
{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48265,7 +49360,7 @@ tr1518:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48273,8 +49368,8 @@ tr1518:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1526:
+ goto st1466;
+tr1545:
{ window_add_bit(KNOT_RRTYPE_MX, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48294,7 +49389,7 @@ tr1526:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48302,8 +49397,8 @@ tr1526:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1540:
+ goto st1466;
+tr1559:
{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48323,7 +49418,7 @@ tr1540:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48331,8 +49426,8 @@ tr1540:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1549:
+ goto st1466;
+tr1568:
{ window_add_bit(KNOT_RRTYPE_NID, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48352,7 +49447,7 @@ tr1549:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48360,8 +49455,8 @@ tr1549:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1558:
+ goto st1466;
+tr1577:
{ window_add_bit(KNOT_RRTYPE_NS, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48381,7 +49476,7 @@ tr1558:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48389,8 +49484,8 @@ tr1558:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1568:
+ goto st1466;
+tr1587:
{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48410,7 +49505,7 @@ tr1568:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48418,8 +49513,8 @@ tr1568:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1577:
+ goto st1466;
+tr1596:
{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48439,7 +49534,7 @@ tr1577:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48447,8 +49542,8 @@ tr1577:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1589:
+ goto st1466;
+tr1608:
{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48468,7 +49563,7 @@ tr1589:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48476,8 +49571,8 @@ tr1589:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1606:
+ goto st1466;
+tr1625:
{ window_add_bit(KNOT_RRTYPE_OPENPGPKEY, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48497,7 +49592,7 @@ tr1606:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48505,8 +49600,8 @@ tr1606:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1616:
+ goto st1466;
+tr1635:
{ window_add_bit(KNOT_RRTYPE_PTR, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48526,7 +49621,7 @@ tr1616:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48534,8 +49629,8 @@ tr1616:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1627:
+ goto st1466;
+tr1646:
{ window_add_bit(KNOT_RRTYPE_RP, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48555,7 +49650,7 @@ tr1627:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48563,8 +49658,8 @@ tr1627:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1638:
+ goto st1466;
+tr1657:
{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48584,7 +49679,7 @@ tr1638:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48592,8 +49687,8 @@ tr1638:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1646:
+ goto st1466;
+tr1665:
{ window_add_bit(KNOT_RRTYPE_RT, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48613,7 +49708,7 @@ tr1646:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48621,8 +49716,8 @@ tr1646:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1664:
+ goto st1466;
+tr1683:
{ window_add_bit(KNOT_RRTYPE_SMIMEA, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48642,7 +49737,7 @@ tr1664:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48650,8 +49745,8 @@ tr1664:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1673:
+ goto st1466;
+tr1692:
{ window_add_bit(KNOT_RRTYPE_SOA, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48671,7 +49766,7 @@ tr1673:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48679,8 +49774,8 @@ tr1673:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1682:
+ goto st1466;
+tr1701:
{ window_add_bit(KNOT_RRTYPE_SPF, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48700,7 +49795,7 @@ tr1682:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48708,8 +49803,8 @@ tr1682:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1691:
+ goto st1466;
+tr1710:
{ window_add_bit(KNOT_RRTYPE_SRV, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48729,7 +49824,7 @@ tr1691:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48737,8 +49832,8 @@ tr1691:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1702:
+ goto st1466;
+tr1721:
{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48758,7 +49853,7 @@ tr1702:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48766,8 +49861,8 @@ tr1702:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1712:
+ goto st1466;
+tr1731:
{ window_add_bit(KNOT_RRTYPE_SVCB, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48787,7 +49882,7 @@ tr1712:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48795,8 +49890,8 @@ tr1712:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1725:
+ goto st1466;
+tr1744:
{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48816,7 +49911,7 @@ tr1725:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48824,8 +49919,8 @@ tr1725:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1734:
+ goto st1466;
+tr1753:
{ window_add_bit(KNOT_RRTYPE_TXT, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48845,7 +49940,7 @@ tr1734:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48853,14 +49948,14 @@ tr1734:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1746:
+ goto st1466;
+tr1765:
{
if (s->number64 <= UINT16_MAX) {
window_add_bit(s->number64, s);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -48881,7 +49976,7 @@ tr1746:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48889,8 +49984,8 @@ tr1746:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1756:
+ goto st1466;
+tr1775:
{ window_add_bit(KNOT_RRTYPE_URI, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48910,7 +50005,7 @@ tr1756:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48918,8 +50013,37 @@ tr1756:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1769:
+ goto st1466;
+tr1788:
+ { window_add_bit(KNOT_RRTYPE_WALLET, s); }
+ {
+ for (uint16_t window = 0; window <= s->last_window; window++) {
+ if ((s->windows[window]).length > 0) {
+ if (rdata_tail + 2 + (s->windows[window]).length <= rdata_stop)
+ {
+ // Window number.
+ *rdata_tail = (uint8_t)window;
+ rdata_tail += 1;
+ // Bitmap length.
+ *rdata_tail = (s->windows[window]).length;
+ rdata_tail += 1;
+ // Copying bitmap.
+ memcpy(rdata_tail,
+ (s->windows[window]).bitmap,
+ (s->windows[window]).length);
+ rdata_tail += (s->windows[window]).length;
+ } else {
+ WARN(ZS_RDATA_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ }
+ }
+ {
+ p--; {cs = stack[--top];goto _again;}
+ }
+ goto st1466;
+tr1801:
{ window_add_bit(KNOT_RRTYPE_ZONEMD, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48939,7 +50063,7 @@ tr1769:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48947,8 +50071,8 @@ tr1769:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1780:
+ goto st1466;
+tr1812:
{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48968,7 +50092,7 @@ tr1780:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -48976,8 +50100,8 @@ tr1780:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-tr1789:
+ goto st1466;
+tr1821:
{ window_add_bit(KNOT_RRTYPE_APL, s); }
{
for (uint16_t window = 0; window <= s->last_window; window++) {
@@ -48997,7 +50121,7 @@ tr1789:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49005,13 +50129,13 @@ tr1789:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1418;
-st1418:
+ goto st1466;
+st1466:
if ( ++p == pe )
- goto _test_eof1418;
-case 1418:
+ goto _test_eof1466;
+case 1466:
goto st0;
-tr1226:
+tr1244:
{
memset(s->windows, 0, sizeof(s->windows));
s->last_window = -1;
@@ -49037,7 +50161,7 @@ tr1226:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49045,8 +50169,8 @@ tr1226:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1251:
+ goto st1467;
+tr1270:
{
s->line_counter++;
}
@@ -49068,7 +50192,7 @@ tr1251:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49076,8 +50200,8 @@ tr1251:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1262:
+ goto st1467;
+tr1281:
{ window_add_bit(KNOT_RRTYPE_A, s); }
{
s->line_counter++;
@@ -49100,7 +50224,7 @@ tr1262:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49108,8 +50232,8 @@ tr1262:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1272:
+ goto st1467;
+tr1291:
{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
{
s->line_counter++;
@@ -49132,7 +50256,7 @@ tr1272:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49140,8 +50264,8 @@ tr1272:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1288:
+ goto st1467;
+tr1307:
{ window_add_bit(KNOT_RRTYPE_CAA, s); }
{
s->line_counter++;
@@ -49164,7 +50288,7 @@ tr1288:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49172,8 +50296,8 @@ tr1288:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1302:
+ goto st1467;
+tr1321:
{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
{
s->line_counter++;
@@ -49196,7 +50320,7 @@ tr1302:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49204,8 +50328,8 @@ tr1302:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1310:
+ goto st1467;
+tr1329:
{ window_add_bit(KNOT_RRTYPE_CDS, s); }
{
s->line_counter++;
@@ -49228,7 +50352,7 @@ tr1310:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49236,8 +50360,8 @@ tr1310:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1320:
+ goto st1467;
+tr1339:
{ window_add_bit(KNOT_RRTYPE_CERT, s); }
{
s->line_counter++;
@@ -49260,7 +50384,7 @@ tr1320:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49268,8 +50392,8 @@ tr1320:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1331:
+ goto st1467;
+tr1350:
{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
{
s->line_counter++;
@@ -49292,7 +50416,7 @@ tr1331:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49300,8 +50424,8 @@ tr1331:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1342:
+ goto st1467;
+tr1361:
{ window_add_bit(KNOT_RRTYPE_CSYNC, s); }
{
s->line_counter++;
@@ -49324,7 +50448,7 @@ tr1342:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49332,8 +50456,8 @@ tr1342:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1356:
+ goto st1467;
+tr1375:
{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
{
s->line_counter++;
@@ -49356,7 +50480,7 @@ tr1356:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49364,8 +50488,8 @@ tr1356:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1368:
+ goto st1467;
+tr1387:
{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
{
s->line_counter++;
@@ -49388,7 +50512,7 @@ tr1368:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49396,8 +50520,8 @@ tr1368:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1379:
+ goto st1467;
+tr1398:
{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
{
s->line_counter++;
@@ -49420,7 +50544,7 @@ tr1379:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49428,8 +50552,8 @@ tr1379:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1387:
+ goto st1467;
+tr1406:
{ window_add_bit(KNOT_RRTYPE_DS, s); }
{
s->line_counter++;
@@ -49452,7 +50576,7 @@ tr1387:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49460,8 +50584,8 @@ tr1387:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1400:
+ goto st1467;
+tr1419:
{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
{
s->line_counter++;
@@ -49484,7 +50608,7 @@ tr1400:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49492,8 +50616,8 @@ tr1400:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1409:
+ goto st1467;
+tr1428:
{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
{
s->line_counter++;
@@ -49516,7 +50640,7 @@ tr1409:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49524,8 +50648,8 @@ tr1409:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1422:
+ goto st1467;
+tr1441:
{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
{
s->line_counter++;
@@ -49548,7 +50672,7 @@ tr1422:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49556,8 +50680,8 @@ tr1422:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1433:
+ goto st1467;
+tr1452:
{ window_add_bit(KNOT_RRTYPE_HTTPS, s); }
{
s->line_counter++;
@@ -49580,7 +50704,7 @@ tr1433:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49588,8 +50712,8 @@ tr1433:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1448:
+ goto st1467;
+tr1467:
{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
{
s->line_counter++;
@@ -49612,7 +50736,7 @@ tr1448:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49620,8 +50744,8 @@ tr1448:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1459:
+ goto st1467;
+tr1478:
{ window_add_bit(KNOT_RRTYPE_KEY, s); }
{
s->line_counter++;
@@ -49644,7 +50768,7 @@ tr1459:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49652,8 +50776,8 @@ tr1459:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1467:
+ goto st1467;
+tr1486:
{ window_add_bit(KNOT_RRTYPE_KX, s); }
{
s->line_counter++;
@@ -49676,7 +50800,7 @@ tr1467:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49684,8 +50808,8 @@ tr1467:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1480:
+ goto st1467;
+tr1499:
{ window_add_bit(KNOT_RRTYPE_L32, s); }
{
s->line_counter++;
@@ -49708,7 +50832,7 @@ tr1480:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49716,8 +50840,8 @@ tr1480:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1489:
+ goto st1467;
+tr1508:
{ window_add_bit(KNOT_RRTYPE_L64, s); }
{
s->line_counter++;
@@ -49740,7 +50864,7 @@ tr1489:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49748,8 +50872,8 @@ tr1489:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1498:
+ goto st1467;
+tr1517:
{ window_add_bit(KNOT_RRTYPE_LOC, s); }
{
s->line_counter++;
@@ -49772,7 +50896,7 @@ tr1498:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49780,8 +50904,8 @@ tr1498:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1506:
+ goto st1467;
+tr1525:
{ window_add_bit(KNOT_RRTYPE_LP, s); }
{
s->line_counter++;
@@ -49804,7 +50928,7 @@ tr1506:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49812,8 +50936,8 @@ tr1506:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1519:
+ goto st1467;
+tr1538:
{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
{
s->line_counter++;
@@ -49836,7 +50960,7 @@ tr1519:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49844,8 +50968,8 @@ tr1519:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1527:
+ goto st1467;
+tr1546:
{ window_add_bit(KNOT_RRTYPE_MX, s); }
{
s->line_counter++;
@@ -49868,7 +50992,7 @@ tr1527:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49876,8 +51000,8 @@ tr1527:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1541:
+ goto st1467;
+tr1560:
{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
{
s->line_counter++;
@@ -49900,7 +51024,7 @@ tr1541:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49908,8 +51032,8 @@ tr1541:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1550:
+ goto st1467;
+tr1569:
{ window_add_bit(KNOT_RRTYPE_NID, s); }
{
s->line_counter++;
@@ -49932,7 +51056,7 @@ tr1550:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49940,8 +51064,8 @@ tr1550:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1559:
+ goto st1467;
+tr1578:
{ window_add_bit(KNOT_RRTYPE_NS, s); }
{
s->line_counter++;
@@ -49964,7 +51088,7 @@ tr1559:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -49972,8 +51096,8 @@ tr1559:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1569:
+ goto st1467;
+tr1588:
{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
{
s->line_counter++;
@@ -49996,7 +51120,7 @@ tr1569:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50004,8 +51128,8 @@ tr1569:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1578:
+ goto st1467;
+tr1597:
{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
{
s->line_counter++;
@@ -50028,7 +51152,7 @@ tr1578:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50036,8 +51160,8 @@ tr1578:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1590:
+ goto st1467;
+tr1609:
{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
{
s->line_counter++;
@@ -50060,7 +51184,7 @@ tr1590:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50068,8 +51192,8 @@ tr1590:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1607:
+ goto st1467;
+tr1626:
{ window_add_bit(KNOT_RRTYPE_OPENPGPKEY, s); }
{
s->line_counter++;
@@ -50092,7 +51216,7 @@ tr1607:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50100,8 +51224,8 @@ tr1607:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1617:
+ goto st1467;
+tr1636:
{ window_add_bit(KNOT_RRTYPE_PTR, s); }
{
s->line_counter++;
@@ -50124,7 +51248,7 @@ tr1617:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50132,8 +51256,8 @@ tr1617:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1628:
+ goto st1467;
+tr1647:
{ window_add_bit(KNOT_RRTYPE_RP, s); }
{
s->line_counter++;
@@ -50156,7 +51280,7 @@ tr1628:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50164,8 +51288,8 @@ tr1628:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1639:
+ goto st1467;
+tr1658:
{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
{
s->line_counter++;
@@ -50188,7 +51312,7 @@ tr1639:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50196,8 +51320,8 @@ tr1639:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1647:
+ goto st1467;
+tr1666:
{ window_add_bit(KNOT_RRTYPE_RT, s); }
{
s->line_counter++;
@@ -50220,7 +51344,7 @@ tr1647:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50228,8 +51352,8 @@ tr1647:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1665:
+ goto st1467;
+tr1684:
{ window_add_bit(KNOT_RRTYPE_SMIMEA, s); }
{
s->line_counter++;
@@ -50252,7 +51376,7 @@ tr1665:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50260,8 +51384,8 @@ tr1665:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1674:
+ goto st1467;
+tr1693:
{ window_add_bit(KNOT_RRTYPE_SOA, s); }
{
s->line_counter++;
@@ -50284,7 +51408,7 @@ tr1674:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50292,8 +51416,8 @@ tr1674:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1683:
+ goto st1467;
+tr1702:
{ window_add_bit(KNOT_RRTYPE_SPF, s); }
{
s->line_counter++;
@@ -50316,7 +51440,7 @@ tr1683:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50324,8 +51448,8 @@ tr1683:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1692:
+ goto st1467;
+tr1711:
{ window_add_bit(KNOT_RRTYPE_SRV, s); }
{
s->line_counter++;
@@ -50348,7 +51472,7 @@ tr1692:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50356,8 +51480,8 @@ tr1692:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1703:
+ goto st1467;
+tr1722:
{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
{
s->line_counter++;
@@ -50380,7 +51504,7 @@ tr1703:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50388,8 +51512,8 @@ tr1703:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1713:
+ goto st1467;
+tr1732:
{ window_add_bit(KNOT_RRTYPE_SVCB, s); }
{
s->line_counter++;
@@ -50412,7 +51536,7 @@ tr1713:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50420,8 +51544,8 @@ tr1713:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1726:
+ goto st1467;
+tr1745:
{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
{
s->line_counter++;
@@ -50444,7 +51568,7 @@ tr1726:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50452,8 +51576,8 @@ tr1726:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1735:
+ goto st1467;
+tr1754:
{ window_add_bit(KNOT_RRTYPE_TXT, s); }
{
s->line_counter++;
@@ -50476,7 +51600,7 @@ tr1735:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50484,14 +51608,14 @@ tr1735:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1747:
+ goto st1467;
+tr1766:
{
if (s->number64 <= UINT16_MAX) {
window_add_bit(s->number64, s);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -50515,7 +51639,7 @@ tr1747:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50523,8 +51647,8 @@ tr1747:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1757:
+ goto st1467;
+tr1776:
{ window_add_bit(KNOT_RRTYPE_URI, s); }
{
s->line_counter++;
@@ -50547,7 +51671,7 @@ tr1757:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50555,8 +51679,40 @@ tr1757:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1770:
+ goto st1467;
+tr1789:
+ { window_add_bit(KNOT_RRTYPE_WALLET, s); }
+ {
+ s->line_counter++;
+ }
+ {
+ for (uint16_t window = 0; window <= s->last_window; window++) {
+ if ((s->windows[window]).length > 0) {
+ if (rdata_tail + 2 + (s->windows[window]).length <= rdata_stop)
+ {
+ // Window number.
+ *rdata_tail = (uint8_t)window;
+ rdata_tail += 1;
+ // Bitmap length.
+ *rdata_tail = (s->windows[window]).length;
+ rdata_tail += 1;
+ // Copying bitmap.
+ memcpy(rdata_tail,
+ (s->windows[window]).bitmap,
+ (s->windows[window]).length);
+ rdata_tail += (s->windows[window]).length;
+ } else {
+ WARN(ZS_RDATA_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ }
+ }
+ {
+ p--; {cs = stack[--top];goto _again;}
+ }
+ goto st1467;
+tr1802:
{ window_add_bit(KNOT_RRTYPE_ZONEMD, s); }
{
s->line_counter++;
@@ -50579,7 +51735,7 @@ tr1770:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50587,8 +51743,8 @@ tr1770:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1781:
+ goto st1467;
+tr1813:
{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
{
s->line_counter++;
@@ -50611,7 +51767,7 @@ tr1781:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50619,8 +51775,8 @@ tr1781:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-tr1790:
+ goto st1467;
+tr1822:
{ window_add_bit(KNOT_RRTYPE_APL, s); }
{
s->line_counter++;
@@ -50643,7 +51799,7 @@ tr1790:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50651,11 +51807,11 @@ tr1790:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1419;
-st1419:
+ goto st1467;
+st1467:
if ( ++p == pe )
- goto _test_eof1419;
-case 1419:
+ goto _test_eof1467;
+case 1467:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -50673,82 +51829,84 @@ case 1419:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st377;
- case 32: goto st377;
- case 40: goto tr1229;
- case 41: goto tr1230;
- case 65: goto st378;
- case 67: goto st383;
- case 68: goto st404;
- case 69: goto st418;
- case 72: goto st425;
- case 73: goto st434;
- case 75: goto st442;
- case 76: goto st446;
- case 77: goto st454;
- case 78: goto st460;
- case 79: goto st476;
- case 80: goto st486;
- case 82: goto st489;
- case 83: goto st496;
- case 84: goto st515;
- case 85: goto st525;
- case 90: goto st528;
- case 97: goto st378;
- case 99: goto st383;
- case 100: goto st404;
- case 101: goto st418;
- case 104: goto st425;
- case 105: goto st434;
- case 107: goto st442;
- case 108: goto st446;
- case 109: goto st454;
- case 110: goto st460;
- case 111: goto st476;
- case 112: goto st486;
- case 114: goto st489;
- case 115: goto st496;
- case 116: goto st515;
- case 117: goto st525;
- case 122: goto st528;
- case 3082: goto tr1248;
- case 3131: goto tr1249;
- case 3338: goto tr1250;
- case 3387: goto tr1250;
- case 3594: goto tr1251;
- case 3643: goto tr1252;
- }
- goto tr1219;
-st383:
+ case 9: goto st386;
+ case 32: goto st386;
+ case 40: goto tr1247;
+ case 41: goto tr1248;
+ case 65: goto st387;
+ case 67: goto st392;
+ case 68: goto st413;
+ case 69: goto st427;
+ case 72: goto st434;
+ case 73: goto st443;
+ case 75: goto st451;
+ case 76: goto st455;
+ case 77: goto st463;
+ case 78: goto st469;
+ case 79: goto st485;
+ case 80: goto st495;
+ case 82: goto st498;
+ case 83: goto st505;
+ case 84: goto st524;
+ case 85: goto st534;
+ case 87: goto st537;
+ case 90: goto st543;
+ case 97: goto st387;
+ case 99: goto st392;
+ case 100: goto st413;
+ case 101: goto st427;
+ case 104: goto st434;
+ case 105: goto st443;
+ case 107: goto st451;
+ case 108: goto st455;
+ case 109: goto st463;
+ case 110: goto st469;
+ case 111: goto st485;
+ case 112: goto st495;
+ case 114: goto st498;
+ case 115: goto st505;
+ case 116: goto st524;
+ case 117: goto st534;
+ case 119: goto st537;
+ case 122: goto st543;
+ case 3082: goto tr1267;
+ case 3131: goto tr1268;
+ case 3338: goto tr1269;
+ case 3387: goto tr1269;
+ case 3594: goto tr1270;
+ case 3643: goto tr1271;
+ }
+ goto tr1237;
+st392:
if ( ++p == pe )
- goto _test_eof383;
-case 383:
+ goto _test_eof392;
+case 392:
switch( (*p) ) {
- case 65: goto st384;
- case 68: goto st386;
- case 69: goto st393;
- case 78: goto st396;
- case 83: goto st400;
- case 97: goto st384;
- case 100: goto st386;
- case 101: goto st393;
- case 110: goto st396;
- case 115: goto st400;
- }
- goto tr1219;
-st384:
+ case 65: goto st393;
+ case 68: goto st395;
+ case 69: goto st402;
+ case 78: goto st405;
+ case 83: goto st409;
+ case 97: goto st393;
+ case 100: goto st395;
+ case 101: goto st402;
+ case 110: goto st405;
+ case 115: goto st409;
+ }
+ goto tr1237;
+st393:
if ( ++p == pe )
- goto _test_eof384;
-case 384:
+ goto _test_eof393;
+case 393:
switch( (*p) ) {
- case 65: goto st385;
- case 97: goto st385;
+ case 65: goto st394;
+ case 97: goto st394;
}
- goto tr1219;
-st385:
+ goto tr1237;
+st394:
if ( ++p == pe )
- goto _test_eof385;
-case 385:
+ goto _test_eof394;
+case 394:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -50766,19 +51924,19 @@ case 385:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1282;
- case 32: goto tr1282;
- case 40: goto tr1283;
- case 41: goto tr1284;
- case 3082: goto tr1285;
- case 3131: goto tr1286;
- case 3338: goto tr1287;
- case 3387: goto tr1287;
- case 3594: goto tr1288;
- case 3643: goto tr1289;
+ case 9: goto tr1301;
+ case 32: goto tr1301;
+ case 40: goto tr1302;
+ case 41: goto tr1303;
+ case 3082: goto tr1304;
+ case 3131: goto tr1305;
+ case 3338: goto tr1306;
+ case 3387: goto tr1306;
+ case 3594: goto tr1307;
+ case 3643: goto tr1308;
}
- goto tr1219;
-tr1227:
+ goto tr1237;
+tr1245:
{
memset(s->windows, 0, sizeof(s->windows));
s->last_window = -1;
@@ -50804,7 +51962,7 @@ tr1227:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50812,8 +51970,8 @@ tr1227:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1252:
+ goto st1468;
+tr1271:
{
s->buffer_length = 0;
}
@@ -50835,7 +51993,7 @@ tr1252:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50843,8 +52001,8 @@ tr1252:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1263:
+ goto st1468;
+tr1282:
{ window_add_bit(KNOT_RRTYPE_A, s); }
{
s->buffer_length = 0;
@@ -50867,7 +52025,7 @@ tr1263:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50875,8 +52033,8 @@ tr1263:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1273:
+ goto st1468;
+tr1292:
{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
{
s->buffer_length = 0;
@@ -50899,7 +52057,7 @@ tr1273:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50907,8 +52065,8 @@ tr1273:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1289:
+ goto st1468;
+tr1308:
{ window_add_bit(KNOT_RRTYPE_CAA, s); }
{
s->buffer_length = 0;
@@ -50931,7 +52089,7 @@ tr1289:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50939,8 +52097,8 @@ tr1289:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1303:
+ goto st1468;
+tr1322:
{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
{
s->buffer_length = 0;
@@ -50963,7 +52121,7 @@ tr1303:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -50971,8 +52129,8 @@ tr1303:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1311:
+ goto st1468;
+tr1330:
{ window_add_bit(KNOT_RRTYPE_CDS, s); }
{
s->buffer_length = 0;
@@ -50995,7 +52153,7 @@ tr1311:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51003,8 +52161,8 @@ tr1311:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1321:
+ goto st1468;
+tr1340:
{ window_add_bit(KNOT_RRTYPE_CERT, s); }
{
s->buffer_length = 0;
@@ -51027,7 +52185,7 @@ tr1321:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51035,8 +52193,8 @@ tr1321:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1332:
+ goto st1468;
+tr1351:
{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
{
s->buffer_length = 0;
@@ -51059,7 +52217,7 @@ tr1332:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51067,8 +52225,8 @@ tr1332:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1343:
+ goto st1468;
+tr1362:
{ window_add_bit(KNOT_RRTYPE_CSYNC, s); }
{
s->buffer_length = 0;
@@ -51091,7 +52249,7 @@ tr1343:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51099,8 +52257,8 @@ tr1343:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1357:
+ goto st1468;
+tr1376:
{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
{
s->buffer_length = 0;
@@ -51123,7 +52281,7 @@ tr1357:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51131,8 +52289,8 @@ tr1357:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1369:
+ goto st1468;
+tr1388:
{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
{
s->buffer_length = 0;
@@ -51155,7 +52313,7 @@ tr1369:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51163,8 +52321,8 @@ tr1369:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1380:
+ goto st1468;
+tr1399:
{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
{
s->buffer_length = 0;
@@ -51187,7 +52345,7 @@ tr1380:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51195,8 +52353,8 @@ tr1380:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1388:
+ goto st1468;
+tr1407:
{ window_add_bit(KNOT_RRTYPE_DS, s); }
{
s->buffer_length = 0;
@@ -51219,7 +52377,7 @@ tr1388:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51227,8 +52385,8 @@ tr1388:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1401:
+ goto st1468;
+tr1420:
{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
{
s->buffer_length = 0;
@@ -51251,7 +52409,7 @@ tr1401:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51259,8 +52417,8 @@ tr1401:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1410:
+ goto st1468;
+tr1429:
{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
{
s->buffer_length = 0;
@@ -51283,7 +52441,7 @@ tr1410:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51291,8 +52449,8 @@ tr1410:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1423:
+ goto st1468;
+tr1442:
{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
{
s->buffer_length = 0;
@@ -51315,7 +52473,7 @@ tr1423:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51323,8 +52481,8 @@ tr1423:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1434:
+ goto st1468;
+tr1453:
{ window_add_bit(KNOT_RRTYPE_HTTPS, s); }
{
s->buffer_length = 0;
@@ -51347,7 +52505,7 @@ tr1434:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51355,8 +52513,8 @@ tr1434:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1449:
+ goto st1468;
+tr1468:
{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
{
s->buffer_length = 0;
@@ -51379,7 +52537,7 @@ tr1449:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51387,8 +52545,8 @@ tr1449:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1460:
+ goto st1468;
+tr1479:
{ window_add_bit(KNOT_RRTYPE_KEY, s); }
{
s->buffer_length = 0;
@@ -51411,7 +52569,7 @@ tr1460:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51419,8 +52577,8 @@ tr1460:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1468:
+ goto st1468;
+tr1487:
{ window_add_bit(KNOT_RRTYPE_KX, s); }
{
s->buffer_length = 0;
@@ -51443,7 +52601,7 @@ tr1468:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51451,8 +52609,8 @@ tr1468:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1481:
+ goto st1468;
+tr1500:
{ window_add_bit(KNOT_RRTYPE_L32, s); }
{
s->buffer_length = 0;
@@ -51475,7 +52633,7 @@ tr1481:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51483,8 +52641,8 @@ tr1481:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1490:
+ goto st1468;
+tr1509:
{ window_add_bit(KNOT_RRTYPE_L64, s); }
{
s->buffer_length = 0;
@@ -51507,7 +52665,7 @@ tr1490:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51515,8 +52673,8 @@ tr1490:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1499:
+ goto st1468;
+tr1518:
{ window_add_bit(KNOT_RRTYPE_LOC, s); }
{
s->buffer_length = 0;
@@ -51539,7 +52697,7 @@ tr1499:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51547,8 +52705,8 @@ tr1499:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1507:
+ goto st1468;
+tr1526:
{ window_add_bit(KNOT_RRTYPE_LP, s); }
{
s->buffer_length = 0;
@@ -51571,7 +52729,7 @@ tr1507:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51579,8 +52737,8 @@ tr1507:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1520:
+ goto st1468;
+tr1539:
{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
{
s->buffer_length = 0;
@@ -51603,7 +52761,7 @@ tr1520:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51611,8 +52769,8 @@ tr1520:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1528:
+ goto st1468;
+tr1547:
{ window_add_bit(KNOT_RRTYPE_MX, s); }
{
s->buffer_length = 0;
@@ -51635,7 +52793,7 @@ tr1528:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51643,8 +52801,8 @@ tr1528:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1542:
+ goto st1468;
+tr1561:
{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
{
s->buffer_length = 0;
@@ -51667,7 +52825,7 @@ tr1542:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51675,8 +52833,8 @@ tr1542:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1551:
+ goto st1468;
+tr1570:
{ window_add_bit(KNOT_RRTYPE_NID, s); }
{
s->buffer_length = 0;
@@ -51699,7 +52857,7 @@ tr1551:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51707,8 +52865,8 @@ tr1551:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1560:
+ goto st1468;
+tr1579:
{ window_add_bit(KNOT_RRTYPE_NS, s); }
{
s->buffer_length = 0;
@@ -51731,7 +52889,7 @@ tr1560:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51739,8 +52897,8 @@ tr1560:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1570:
+ goto st1468;
+tr1589:
{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
{
s->buffer_length = 0;
@@ -51763,7 +52921,7 @@ tr1570:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51771,8 +52929,8 @@ tr1570:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1579:
+ goto st1468;
+tr1598:
{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
{
s->buffer_length = 0;
@@ -51795,7 +52953,7 @@ tr1579:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51803,8 +52961,8 @@ tr1579:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1591:
+ goto st1468;
+tr1610:
{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
{
s->buffer_length = 0;
@@ -51827,7 +52985,7 @@ tr1591:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51835,8 +52993,8 @@ tr1591:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1608:
+ goto st1468;
+tr1627:
{ window_add_bit(KNOT_RRTYPE_OPENPGPKEY, s); }
{
s->buffer_length = 0;
@@ -51859,7 +53017,7 @@ tr1608:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51867,8 +53025,8 @@ tr1608:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1618:
+ goto st1468;
+tr1637:
{ window_add_bit(KNOT_RRTYPE_PTR, s); }
{
s->buffer_length = 0;
@@ -51891,7 +53049,7 @@ tr1618:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51899,8 +53057,8 @@ tr1618:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1629:
+ goto st1468;
+tr1648:
{ window_add_bit(KNOT_RRTYPE_RP, s); }
{
s->buffer_length = 0;
@@ -51923,7 +53081,7 @@ tr1629:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51931,8 +53089,8 @@ tr1629:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1640:
+ goto st1468;
+tr1659:
{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
{
s->buffer_length = 0;
@@ -51955,7 +53113,7 @@ tr1640:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51963,8 +53121,8 @@ tr1640:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1648:
+ goto st1468;
+tr1667:
{ window_add_bit(KNOT_RRTYPE_RT, s); }
{
s->buffer_length = 0;
@@ -51987,7 +53145,7 @@ tr1648:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -51995,8 +53153,8 @@ tr1648:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1666:
+ goto st1468;
+tr1685:
{ window_add_bit(KNOT_RRTYPE_SMIMEA, s); }
{
s->buffer_length = 0;
@@ -52019,7 +53177,7 @@ tr1666:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -52027,8 +53185,8 @@ tr1666:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1675:
+ goto st1468;
+tr1694:
{ window_add_bit(KNOT_RRTYPE_SOA, s); }
{
s->buffer_length = 0;
@@ -52051,7 +53209,7 @@ tr1675:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -52059,8 +53217,8 @@ tr1675:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1684:
+ goto st1468;
+tr1703:
{ window_add_bit(KNOT_RRTYPE_SPF, s); }
{
s->buffer_length = 0;
@@ -52083,7 +53241,7 @@ tr1684:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -52091,8 +53249,8 @@ tr1684:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1693:
+ goto st1468;
+tr1712:
{ window_add_bit(KNOT_RRTYPE_SRV, s); }
{
s->buffer_length = 0;
@@ -52115,7 +53273,7 @@ tr1693:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -52123,8 +53281,8 @@ tr1693:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1704:
+ goto st1468;
+tr1723:
{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
{
s->buffer_length = 0;
@@ -52147,7 +53305,7 @@ tr1704:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -52155,8 +53313,8 @@ tr1704:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1714:
+ goto st1468;
+tr1733:
{ window_add_bit(KNOT_RRTYPE_SVCB, s); }
{
s->buffer_length = 0;
@@ -52179,7 +53337,7 @@ tr1714:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -52187,8 +53345,8 @@ tr1714:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1727:
+ goto st1468;
+tr1746:
{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
{
s->buffer_length = 0;
@@ -52211,7 +53369,7 @@ tr1727:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -52219,8 +53377,8 @@ tr1727:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1736:
+ goto st1468;
+tr1755:
{ window_add_bit(KNOT_RRTYPE_TXT, s); }
{
s->buffer_length = 0;
@@ -52243,7 +53401,7 @@ tr1736:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -52251,14 +53409,14 @@ tr1736:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1748:
+ goto st1468;
+tr1767:
{
if (s->number64 <= UINT16_MAX) {
window_add_bit(s->number64, s);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -52282,7 +53440,7 @@ tr1748:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -52290,8 +53448,8 @@ tr1748:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1758:
+ goto st1468;
+tr1777:
{ window_add_bit(KNOT_RRTYPE_URI, s); }
{
s->buffer_length = 0;
@@ -52314,7 +53472,7 @@ tr1758:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -52322,8 +53480,40 @@ tr1758:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1771:
+ goto st1468;
+tr1790:
+ { window_add_bit(KNOT_RRTYPE_WALLET, s); }
+ {
+ s->buffer_length = 0;
+ }
+ {
+ for (uint16_t window = 0; window <= s->last_window; window++) {
+ if ((s->windows[window]).length > 0) {
+ if (rdata_tail + 2 + (s->windows[window]).length <= rdata_stop)
+ {
+ // Window number.
+ *rdata_tail = (uint8_t)window;
+ rdata_tail += 1;
+ // Bitmap length.
+ *rdata_tail = (s->windows[window]).length;
+ rdata_tail += 1;
+ // Copying bitmap.
+ memcpy(rdata_tail,
+ (s->windows[window]).bitmap,
+ (s->windows[window]).length);
+ rdata_tail += (s->windows[window]).length;
+ } else {
+ WARN(ZS_RDATA_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ }
+ }
+ {
+ p--; {cs = stack[--top];goto _again;}
+ }
+ goto st1468;
+tr1803:
{ window_add_bit(KNOT_RRTYPE_ZONEMD, s); }
{
s->buffer_length = 0;
@@ -52346,7 +53536,7 @@ tr1771:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -52354,8 +53544,8 @@ tr1771:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1782:
+ goto st1468;
+tr1814:
{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
{
s->buffer_length = 0;
@@ -52378,7 +53568,7 @@ tr1782:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -52386,8 +53576,8 @@ tr1782:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-tr1791:
+ goto st1468;
+tr1823:
{ window_add_bit(KNOT_RRTYPE_APL, s); }
{
s->buffer_length = 0;
@@ -52410,7 +53600,7 @@ tr1791:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
}
@@ -52418,11 +53608,11 @@ tr1791:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1420;
-st1420:
+ goto st1468;
+st1468:
if ( ++p == pe )
- goto _test_eof1420;
-case 1420:
+ goto _test_eof1468;
+case 1468:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -52442,145 +53632,61 @@ case 1420:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1275;
+ goto tr1294;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1274;
- goto tr1219;
-st386:
- if ( ++p == pe )
- goto _test_eof386;
-case 386:
- switch( (*p) ) {
- case 78: goto st387;
- case 83: goto st392;
- case 110: goto st387;
- case 115: goto st392;
- }
- goto tr1219;
-st387:
- if ( ++p == pe )
- goto _test_eof387;
-case 387:
- switch( (*p) ) {
- case 83: goto st388;
- case 115: goto st388;
- }
- goto tr1219;
-st388:
+ goto tr1293;
+ goto tr1237;
+st395:
if ( ++p == pe )
- goto _test_eof388;
-case 388:
+ goto _test_eof395;
+case 395:
switch( (*p) ) {
- case 75: goto st389;
- case 107: goto st389;
+ case 78: goto st396;
+ case 83: goto st401;
+ case 110: goto st396;
+ case 115: goto st401;
}
- goto tr1219;
-st389:
+ goto tr1237;
+st396:
if ( ++p == pe )
- goto _test_eof389;
-case 389:
+ goto _test_eof396;
+case 396:
switch( (*p) ) {
- case 69: goto st390;
- case 101: goto st390;
+ case 83: goto st397;
+ case 115: goto st397;
}
- goto tr1219;
-st390:
+ goto tr1237;
+st397:
if ( ++p == pe )
- goto _test_eof390;
-case 390:
+ goto _test_eof397;
+case 397:
switch( (*p) ) {
- case 89: goto st391;
- case 121: goto st391;
- }
- goto tr1219;
-st391:
- if ( ++p == pe )
- goto _test_eof391;
-case 391:
- _widec = (*p);
- if ( (*p) > 10 ) {
- if ( 59 <= (*p) && (*p) <= 59 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- } else if ( (*p) >= 10 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- switch( _widec ) {
- case 9: goto tr1296;
- case 32: goto tr1296;
- case 40: goto tr1297;
- case 41: goto tr1298;
- case 3082: goto tr1299;
- case 3131: goto tr1300;
- case 3338: goto tr1301;
- case 3387: goto tr1301;
- case 3594: goto tr1302;
- case 3643: goto tr1303;
+ case 75: goto st398;
+ case 107: goto st398;
}
- goto tr1219;
-st392:
- if ( ++p == pe )
- goto _test_eof392;
-case 392:
- _widec = (*p);
- if ( (*p) > 10 ) {
- if ( 59 <= (*p) && (*p) <= 59 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- } else if ( (*p) >= 10 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- switch( _widec ) {
- case 9: goto tr1304;
- case 32: goto tr1304;
- case 40: goto tr1305;
- case 41: goto tr1306;
- case 3082: goto tr1307;
- case 3131: goto tr1308;
- case 3338: goto tr1309;
- case 3387: goto tr1309;
- case 3594: goto tr1310;
- case 3643: goto tr1311;
- }
- goto tr1219;
-st393:
+ goto tr1237;
+st398:
if ( ++p == pe )
- goto _test_eof393;
-case 393:
+ goto _test_eof398;
+case 398:
switch( (*p) ) {
- case 82: goto st394;
- case 114: goto st394;
+ case 69: goto st399;
+ case 101: goto st399;
}
- goto tr1219;
-st394:
+ goto tr1237;
+st399:
if ( ++p == pe )
- goto _test_eof394;
-case 394:
+ goto _test_eof399;
+case 399:
switch( (*p) ) {
- case 84: goto st395;
- case 116: goto st395;
+ case 89: goto st400;
+ case 121: goto st400;
}
- goto tr1219;
-st395:
+ goto tr1237;
+st400:
if ( ++p == pe )
- goto _test_eof395;
-case 395:
+ goto _test_eof400;
+case 400:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -52598,49 +53704,22 @@ case 395:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1314;
- case 32: goto tr1314;
- case 40: goto tr1315;
- case 41: goto tr1316;
- case 3082: goto tr1317;
- case 3131: goto tr1318;
- case 3338: goto tr1319;
- case 3387: goto tr1319;
- case 3594: goto tr1320;
- case 3643: goto tr1321;
- }
- goto tr1219;
-st396:
- if ( ++p == pe )
- goto _test_eof396;
-case 396:
- switch( (*p) ) {
- case 65: goto st397;
- case 97: goto st397;
+ case 9: goto tr1315;
+ case 32: goto tr1315;
+ case 40: goto tr1316;
+ case 41: goto tr1317;
+ case 3082: goto tr1318;
+ case 3131: goto tr1319;
+ case 3338: goto tr1320;
+ case 3387: goto tr1320;
+ case 3594: goto tr1321;
+ case 3643: goto tr1322;
}
- goto tr1219;
-st397:
- if ( ++p == pe )
- goto _test_eof397;
-case 397:
- switch( (*p) ) {
- case 77: goto st398;
- case 109: goto st398;
- }
- goto tr1219;
-st398:
- if ( ++p == pe )
- goto _test_eof398;
-case 398:
- switch( (*p) ) {
- case 69: goto st399;
- case 101: goto st399;
- }
- goto tr1219;
-st399:
+ goto tr1237;
+st401:
if ( ++p == pe )
- goto _test_eof399;
-case 399:
+ goto _test_eof401;
+case 401:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -52658,49 +53737,40 @@ case 399:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1325;
- case 32: goto tr1325;
- case 40: goto tr1326;
- case 41: goto tr1327;
- case 3082: goto tr1328;
- case 3131: goto tr1329;
- case 3338: goto tr1330;
- case 3387: goto tr1330;
- case 3594: goto tr1331;
- case 3643: goto tr1332;
- }
- goto tr1219;
-st400:
- if ( ++p == pe )
- goto _test_eof400;
-case 400:
- switch( (*p) ) {
- case 89: goto st401;
- case 121: goto st401;
- }
- goto tr1219;
-st401:
- if ( ++p == pe )
- goto _test_eof401;
-case 401:
- switch( (*p) ) {
- case 78: goto st402;
- case 110: goto st402;
+ case 9: goto tr1323;
+ case 32: goto tr1323;
+ case 40: goto tr1324;
+ case 41: goto tr1325;
+ case 3082: goto tr1326;
+ case 3131: goto tr1327;
+ case 3338: goto tr1328;
+ case 3387: goto tr1328;
+ case 3594: goto tr1329;
+ case 3643: goto tr1330;
}
- goto tr1219;
+ goto tr1237;
st402:
if ( ++p == pe )
goto _test_eof402;
case 402:
switch( (*p) ) {
- case 67: goto st403;
- case 99: goto st403;
+ case 82: goto st403;
+ case 114: goto st403;
}
- goto tr1219;
+ goto tr1237;
st403:
if ( ++p == pe )
goto _test_eof403;
case 403:
+ switch( (*p) ) {
+ case 84: goto st404;
+ case 116: goto st404;
+ }
+ goto tr1237;
+st404:
+ if ( ++p == pe )
+ goto _test_eof404;
+case 404:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -52718,58 +53788,45 @@ case 403:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1336;
- case 32: goto tr1336;
- case 40: goto tr1337;
- case 41: goto tr1338;
- case 3082: goto tr1339;
- case 3131: goto tr1340;
- case 3338: goto tr1341;
- case 3387: goto tr1341;
- case 3594: goto tr1342;
- case 3643: goto tr1343;
+ case 9: goto tr1333;
+ case 32: goto tr1333;
+ case 40: goto tr1334;
+ case 41: goto tr1335;
+ case 3082: goto tr1336;
+ case 3131: goto tr1337;
+ case 3338: goto tr1338;
+ case 3387: goto tr1338;
+ case 3594: goto tr1339;
+ case 3643: goto tr1340;
}
- goto tr1219;
-st404:
- if ( ++p == pe )
- goto _test_eof404;
-case 404:
- switch( (*p) ) {
- case 72: goto st405;
- case 78: goto st409;
- case 83: goto st417;
- case 104: goto st405;
- case 110: goto st409;
- case 115: goto st417;
- }
- goto tr1219;
+ goto tr1237;
st405:
if ( ++p == pe )
goto _test_eof405;
case 405:
switch( (*p) ) {
- case 67: goto st406;
- case 99: goto st406;
+ case 65: goto st406;
+ case 97: goto st406;
}
- goto tr1219;
+ goto tr1237;
st406:
if ( ++p == pe )
goto _test_eof406;
case 406:
switch( (*p) ) {
- case 73: goto st407;
- case 105: goto st407;
+ case 77: goto st407;
+ case 109: goto st407;
}
- goto tr1219;
+ goto tr1237;
st407:
if ( ++p == pe )
goto _test_eof407;
case 407:
switch( (*p) ) {
- case 68: goto st408;
- case 100: goto st408;
+ case 69: goto st408;
+ case 101: goto st408;
}
- goto tr1219;
+ goto tr1237;
st408:
if ( ++p == pe )
goto _test_eof408;
@@ -52791,47 +53848,45 @@ case 408:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1350;
- case 32: goto tr1350;
- case 40: goto tr1351;
- case 41: goto tr1352;
- case 3082: goto tr1353;
- case 3131: goto tr1354;
- case 3338: goto tr1355;
- case 3387: goto tr1355;
- case 3594: goto tr1356;
- case 3643: goto tr1357;
+ case 9: goto tr1344;
+ case 32: goto tr1344;
+ case 40: goto tr1345;
+ case 41: goto tr1346;
+ case 3082: goto tr1347;
+ case 3131: goto tr1348;
+ case 3338: goto tr1349;
+ case 3387: goto tr1349;
+ case 3594: goto tr1350;
+ case 3643: goto tr1351;
}
- goto tr1219;
+ goto tr1237;
st409:
if ( ++p == pe )
goto _test_eof409;
case 409:
switch( (*p) ) {
- case 65: goto st410;
- case 83: goto st413;
- case 97: goto st410;
- case 115: goto st413;
+ case 89: goto st410;
+ case 121: goto st410;
}
- goto tr1219;
+ goto tr1237;
st410:
if ( ++p == pe )
goto _test_eof410;
case 410:
switch( (*p) ) {
- case 77: goto st411;
- case 109: goto st411;
+ case 78: goto st411;
+ case 110: goto st411;
}
- goto tr1219;
+ goto tr1237;
st411:
if ( ++p == pe )
goto _test_eof411;
case 411:
switch( (*p) ) {
- case 69: goto st412;
- case 101: goto st412;
+ case 67: goto st412;
+ case 99: goto st412;
}
- goto tr1219;
+ goto tr1237;
st412:
if ( ++p == pe )
goto _test_eof412;
@@ -52853,78 +53908,58 @@ case 412:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1362;
- case 32: goto tr1362;
- case 40: goto tr1363;
- case 41: goto tr1364;
- case 3082: goto tr1365;
- case 3131: goto tr1366;
- case 3338: goto tr1367;
- case 3387: goto tr1367;
- case 3594: goto tr1368;
- case 3643: goto tr1369;
+ case 9: goto tr1355;
+ case 32: goto tr1355;
+ case 40: goto tr1356;
+ case 41: goto tr1357;
+ case 3082: goto tr1358;
+ case 3131: goto tr1359;
+ case 3338: goto tr1360;
+ case 3387: goto tr1360;
+ case 3594: goto tr1361;
+ case 3643: goto tr1362;
}
- goto tr1219;
+ goto tr1237;
st413:
if ( ++p == pe )
goto _test_eof413;
case 413:
switch( (*p) ) {
- case 75: goto st414;
- case 107: goto st414;
+ case 72: goto st414;
+ case 78: goto st418;
+ case 83: goto st426;
+ case 104: goto st414;
+ case 110: goto st418;
+ case 115: goto st426;
}
- goto tr1219;
+ goto tr1237;
st414:
if ( ++p == pe )
goto _test_eof414;
case 414:
switch( (*p) ) {
- case 69: goto st415;
- case 101: goto st415;
+ case 67: goto st415;
+ case 99: goto st415;
}
- goto tr1219;
+ goto tr1237;
st415:
if ( ++p == pe )
goto _test_eof415;
case 415:
switch( (*p) ) {
- case 89: goto st416;
- case 121: goto st416;
+ case 73: goto st416;
+ case 105: goto st416;
}
- goto tr1219;
+ goto tr1237;
st416:
if ( ++p == pe )
goto _test_eof416;
case 416:
- _widec = (*p);
- if ( (*p) > 10 ) {
- if ( 59 <= (*p) && (*p) <= 59 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- } else if ( (*p) >= 10 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- switch( _widec ) {
- case 9: goto tr1373;
- case 32: goto tr1373;
- case 40: goto tr1374;
- case 41: goto tr1375;
- case 3082: goto tr1376;
- case 3131: goto tr1377;
- case 3338: goto tr1378;
- case 3387: goto tr1378;
- case 3594: goto tr1379;
- case 3643: goto tr1380;
+ switch( (*p) ) {
+ case 68: goto st417;
+ case 100: goto st417;
}
- goto tr1219;
+ goto tr1237;
st417:
if ( ++p == pe )
goto _test_eof417;
@@ -52946,56 +53981,51 @@ case 417:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1381;
- case 32: goto tr1381;
- case 40: goto tr1382;
- case 41: goto tr1383;
- case 3082: goto tr1384;
- case 3131: goto tr1385;
- case 3338: goto tr1386;
- case 3387: goto tr1386;
- case 3594: goto tr1387;
- case 3643: goto tr1388;
+ case 9: goto tr1369;
+ case 32: goto tr1369;
+ case 40: goto tr1370;
+ case 41: goto tr1371;
+ case 3082: goto tr1372;
+ case 3131: goto tr1373;
+ case 3338: goto tr1374;
+ case 3387: goto tr1374;
+ case 3594: goto tr1375;
+ case 3643: goto tr1376;
}
- goto tr1219;
+ goto tr1237;
st418:
if ( ++p == pe )
goto _test_eof418;
case 418:
switch( (*p) ) {
- case 85: goto st419;
- case 117: goto st419;
+ case 65: goto st419;
+ case 83: goto st422;
+ case 97: goto st419;
+ case 115: goto st422;
}
- goto tr1219;
+ goto tr1237;
st419:
if ( ++p == pe )
goto _test_eof419;
case 419:
switch( (*p) ) {
- case 73: goto st420;
- case 105: goto st420;
+ case 77: goto st420;
+ case 109: goto st420;
}
- goto tr1219;
+ goto tr1237;
st420:
if ( ++p == pe )
goto _test_eof420;
case 420:
switch( (*p) ) {
- case 52: goto st421;
- case 54: goto st423;
+ case 69: goto st421;
+ case 101: goto st421;
}
- goto tr1219;
+ goto tr1237;
st421:
if ( ++p == pe )
goto _test_eof421;
case 421:
- if ( (*p) == 56 )
- goto st422;
- goto tr1219;
-st422:
- if ( ++p == pe )
- goto _test_eof422;
-case 422:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53013,29 +54043,49 @@ case 422:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1394;
- case 32: goto tr1394;
- case 40: goto tr1395;
- case 41: goto tr1396;
- case 3082: goto tr1397;
- case 3131: goto tr1398;
- case 3338: goto tr1399;
- case 3387: goto tr1399;
- case 3594: goto tr1400;
- case 3643: goto tr1401;
+ case 9: goto tr1381;
+ case 32: goto tr1381;
+ case 40: goto tr1382;
+ case 41: goto tr1383;
+ case 3082: goto tr1384;
+ case 3131: goto tr1385;
+ case 3338: goto tr1386;
+ case 3387: goto tr1386;
+ case 3594: goto tr1387;
+ case 3643: goto tr1388;
}
- goto tr1219;
+ goto tr1237;
+st422:
+ if ( ++p == pe )
+ goto _test_eof422;
+case 422:
+ switch( (*p) ) {
+ case 75: goto st423;
+ case 107: goto st423;
+ }
+ goto tr1237;
st423:
if ( ++p == pe )
goto _test_eof423;
case 423:
- if ( (*p) == 52 )
- goto st424;
- goto tr1219;
+ switch( (*p) ) {
+ case 69: goto st424;
+ case 101: goto st424;
+ }
+ goto tr1237;
st424:
if ( ++p == pe )
goto _test_eof424;
case 424:
+ switch( (*p) ) {
+ case 89: goto st425;
+ case 121: goto st425;
+ }
+ goto tr1237;
+st425:
+ if ( ++p == pe )
+ goto _test_eof425;
+case 425:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53053,60 +54103,89 @@ case 424:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1403;
- case 32: goto tr1403;
- case 40: goto tr1404;
- case 41: goto tr1405;
- case 3082: goto tr1406;
- case 3131: goto tr1407;
- case 3338: goto tr1408;
- case 3387: goto tr1408;
- case 3594: goto tr1409;
- case 3643: goto tr1410;
- }
- goto tr1219;
-st425:
- if ( ++p == pe )
- goto _test_eof425;
-case 425:
- switch( (*p) ) {
- case 73: goto st426;
- case 84: goto st430;
- case 105: goto st426;
- case 116: goto st430;
+ case 9: goto tr1392;
+ case 32: goto tr1392;
+ case 40: goto tr1393;
+ case 41: goto tr1394;
+ case 3082: goto tr1395;
+ case 3131: goto tr1396;
+ case 3338: goto tr1397;
+ case 3387: goto tr1397;
+ case 3594: goto tr1398;
+ case 3643: goto tr1399;
}
- goto tr1219;
+ goto tr1237;
st426:
if ( ++p == pe )
goto _test_eof426;
case 426:
- switch( (*p) ) {
- case 78: goto st427;
- case 110: goto st427;
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
}
- goto tr1219;
+ switch( _widec ) {
+ case 9: goto tr1400;
+ case 32: goto tr1400;
+ case 40: goto tr1401;
+ case 41: goto tr1402;
+ case 3082: goto tr1403;
+ case 3131: goto tr1404;
+ case 3338: goto tr1405;
+ case 3387: goto tr1405;
+ case 3594: goto tr1406;
+ case 3643: goto tr1407;
+ }
+ goto tr1237;
st427:
if ( ++p == pe )
goto _test_eof427;
case 427:
switch( (*p) ) {
- case 70: goto st428;
- case 102: goto st428;
+ case 85: goto st428;
+ case 117: goto st428;
}
- goto tr1219;
+ goto tr1237;
st428:
if ( ++p == pe )
goto _test_eof428;
case 428:
switch( (*p) ) {
- case 79: goto st429;
- case 111: goto st429;
+ case 73: goto st429;
+ case 105: goto st429;
}
- goto tr1219;
+ goto tr1237;
st429:
if ( ++p == pe )
goto _test_eof429;
case 429:
+ switch( (*p) ) {
+ case 52: goto st430;
+ case 54: goto st432;
+ }
+ goto tr1237;
+st430:
+ if ( ++p == pe )
+ goto _test_eof430;
+case 430:
+ if ( (*p) == 56 )
+ goto st431;
+ goto tr1237;
+st431:
+ if ( ++p == pe )
+ goto _test_eof431;
+case 431:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53124,45 +54203,25 @@ case 429:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1416;
- case 32: goto tr1416;
- case 40: goto tr1417;
- case 41: goto tr1418;
- case 3082: goto tr1419;
- case 3131: goto tr1420;
- case 3338: goto tr1421;
- case 3387: goto tr1421;
- case 3594: goto tr1422;
- case 3643: goto tr1423;
- }
- goto tr1219;
-st430:
- if ( ++p == pe )
- goto _test_eof430;
-case 430:
- switch( (*p) ) {
- case 84: goto st431;
- case 116: goto st431;
+ case 9: goto tr1413;
+ case 32: goto tr1413;
+ case 40: goto tr1414;
+ case 41: goto tr1415;
+ case 3082: goto tr1416;
+ case 3131: goto tr1417;
+ case 3338: goto tr1418;
+ case 3387: goto tr1418;
+ case 3594: goto tr1419;
+ case 3643: goto tr1420;
}
- goto tr1219;
-st431:
- if ( ++p == pe )
- goto _test_eof431;
-case 431:
- switch( (*p) ) {
- case 80: goto st432;
- case 112: goto st432;
- }
- goto tr1219;
+ goto tr1237;
st432:
if ( ++p == pe )
goto _test_eof432;
case 432:
- switch( (*p) ) {
- case 83: goto st433;
- case 115: goto st433;
- }
- goto tr1219;
+ if ( (*p) == 52 )
+ goto st433;
+ goto tr1237;
st433:
if ( ++p == pe )
goto _test_eof433;
@@ -53184,85 +54243,120 @@ case 433:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1427;
- case 32: goto tr1427;
- case 40: goto tr1428;
- case 41: goto tr1429;
- case 3082: goto tr1430;
- case 3131: goto tr1431;
- case 3338: goto tr1432;
- case 3387: goto tr1432;
- case 3594: goto tr1433;
- case 3643: goto tr1434;
+ case 9: goto tr1422;
+ case 32: goto tr1422;
+ case 40: goto tr1423;
+ case 41: goto tr1424;
+ case 3082: goto tr1425;
+ case 3131: goto tr1426;
+ case 3338: goto tr1427;
+ case 3387: goto tr1427;
+ case 3594: goto tr1428;
+ case 3643: goto tr1429;
}
- goto tr1219;
+ goto tr1237;
st434:
if ( ++p == pe )
goto _test_eof434;
case 434:
switch( (*p) ) {
- case 80: goto st435;
- case 112: goto st435;
+ case 73: goto st435;
+ case 84: goto st439;
+ case 105: goto st435;
+ case 116: goto st439;
}
- goto tr1219;
+ goto tr1237;
st435:
if ( ++p == pe )
goto _test_eof435;
case 435:
switch( (*p) ) {
- case 83: goto st436;
- case 115: goto st436;
+ case 78: goto st436;
+ case 110: goto st436;
}
- goto tr1219;
+ goto tr1237;
st436:
if ( ++p == pe )
goto _test_eof436;
case 436:
switch( (*p) ) {
- case 69: goto st437;
- case 101: goto st437;
+ case 70: goto st437;
+ case 102: goto st437;
}
- goto tr1219;
+ goto tr1237;
st437:
if ( ++p == pe )
goto _test_eof437;
case 437:
switch( (*p) ) {
- case 67: goto st438;
- case 99: goto st438;
+ case 79: goto st438;
+ case 111: goto st438;
}
- goto tr1219;
+ goto tr1237;
st438:
if ( ++p == pe )
goto _test_eof438;
case 438:
- switch( (*p) ) {
- case 75: goto st439;
- case 107: goto st439;
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
}
- goto tr1219;
+ switch( _widec ) {
+ case 9: goto tr1435;
+ case 32: goto tr1435;
+ case 40: goto tr1436;
+ case 41: goto tr1437;
+ case 3082: goto tr1438;
+ case 3131: goto tr1439;
+ case 3338: goto tr1440;
+ case 3387: goto tr1440;
+ case 3594: goto tr1441;
+ case 3643: goto tr1442;
+ }
+ goto tr1237;
st439:
if ( ++p == pe )
goto _test_eof439;
case 439:
switch( (*p) ) {
- case 69: goto st440;
- case 101: goto st440;
+ case 84: goto st440;
+ case 116: goto st440;
}
- goto tr1219;
+ goto tr1237;
st440:
if ( ++p == pe )
goto _test_eof440;
case 440:
switch( (*p) ) {
- case 89: goto st441;
- case 121: goto st441;
+ case 80: goto st441;
+ case 112: goto st441;
}
- goto tr1219;
+ goto tr1237;
st441:
if ( ++p == pe )
goto _test_eof441;
case 441:
+ switch( (*p) ) {
+ case 83: goto st442;
+ case 115: goto st442;
+ }
+ goto tr1237;
+st442:
+ if ( ++p == pe )
+ goto _test_eof442;
+case 442:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53280,164 +54374,81 @@ case 441:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1442;
- case 32: goto tr1442;
- case 40: goto tr1443;
- case 41: goto tr1444;
- case 3082: goto tr1445;
- case 3131: goto tr1446;
- case 3338: goto tr1447;
- case 3387: goto tr1447;
- case 3594: goto tr1448;
- case 3643: goto tr1449;
+ case 9: goto tr1446;
+ case 32: goto tr1446;
+ case 40: goto tr1447;
+ case 41: goto tr1448;
+ case 3082: goto tr1449;
+ case 3131: goto tr1450;
+ case 3338: goto tr1451;
+ case 3387: goto tr1451;
+ case 3594: goto tr1452;
+ case 3643: goto tr1453;
}
- goto tr1219;
-st442:
- if ( ++p == pe )
- goto _test_eof442;
-case 442:
- switch( (*p) ) {
- case 69: goto st443;
- case 88: goto st445;
- case 101: goto st443;
- case 120: goto st445;
- }
- goto tr1219;
+ goto tr1237;
st443:
if ( ++p == pe )
goto _test_eof443;
case 443:
switch( (*p) ) {
- case 89: goto st444;
- case 121: goto st444;
+ case 80: goto st444;
+ case 112: goto st444;
}
- goto tr1219;
+ goto tr1237;
st444:
if ( ++p == pe )
goto _test_eof444;
case 444:
- _widec = (*p);
- if ( (*p) > 10 ) {
- if ( 59 <= (*p) && (*p) <= 59 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- } else if ( (*p) >= 10 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- switch( _widec ) {
- case 9: goto tr1453;
- case 32: goto tr1453;
- case 40: goto tr1454;
- case 41: goto tr1455;
- case 3082: goto tr1456;
- case 3131: goto tr1457;
- case 3338: goto tr1458;
- case 3387: goto tr1458;
- case 3594: goto tr1459;
- case 3643: goto tr1460;
+ switch( (*p) ) {
+ case 83: goto st445;
+ case 115: goto st445;
}
- goto tr1219;
+ goto tr1237;
st445:
if ( ++p == pe )
goto _test_eof445;
case 445:
- _widec = (*p);
- if ( (*p) > 10 ) {
- if ( 59 <= (*p) && (*p) <= 59 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- } else if ( (*p) >= 10 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- switch( _widec ) {
- case 9: goto tr1461;
- case 32: goto tr1461;
- case 40: goto tr1462;
- case 41: goto tr1463;
- case 3082: goto tr1464;
- case 3131: goto tr1465;
- case 3338: goto tr1466;
- case 3387: goto tr1466;
- case 3594: goto tr1467;
- case 3643: goto tr1468;
+ switch( (*p) ) {
+ case 69: goto st446;
+ case 101: goto st446;
}
- goto tr1219;
+ goto tr1237;
st446:
if ( ++p == pe )
goto _test_eof446;
case 446:
switch( (*p) ) {
- case 51: goto st447;
- case 54: goto st449;
- case 79: goto st451;
- case 80: goto st453;
- case 111: goto st451;
- case 112: goto st453;
+ case 67: goto st447;
+ case 99: goto st447;
}
- goto tr1219;
+ goto tr1237;
st447:
if ( ++p == pe )
goto _test_eof447;
case 447:
- if ( (*p) == 50 )
- goto st448;
- goto tr1219;
+ switch( (*p) ) {
+ case 75: goto st448;
+ case 107: goto st448;
+ }
+ goto tr1237;
st448:
if ( ++p == pe )
goto _test_eof448;
case 448:
- _widec = (*p);
- if ( (*p) > 10 ) {
- if ( 59 <= (*p) && (*p) <= 59 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- } else if ( (*p) >= 10 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- switch( _widec ) {
- case 9: goto tr1474;
- case 32: goto tr1474;
- case 40: goto tr1475;
- case 41: goto tr1476;
- case 3082: goto tr1477;
- case 3131: goto tr1478;
- case 3338: goto tr1479;
- case 3387: goto tr1479;
- case 3594: goto tr1480;
- case 3643: goto tr1481;
+ switch( (*p) ) {
+ case 69: goto st449;
+ case 101: goto st449;
}
- goto tr1219;
+ goto tr1237;
st449:
if ( ++p == pe )
goto _test_eof449;
case 449:
- if ( (*p) == 52 )
- goto st450;
- goto tr1219;
+ switch( (*p) ) {
+ case 89: goto st450;
+ case 121: goto st450;
+ }
+ goto tr1237;
st450:
if ( ++p == pe )
goto _test_eof450;
@@ -53459,31 +54470,42 @@ case 450:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1483;
- case 32: goto tr1483;
- case 40: goto tr1484;
- case 41: goto tr1485;
- case 3082: goto tr1486;
- case 3131: goto tr1487;
- case 3338: goto tr1488;
- case 3387: goto tr1488;
- case 3594: goto tr1489;
- case 3643: goto tr1490;
+ case 9: goto tr1461;
+ case 32: goto tr1461;
+ case 40: goto tr1462;
+ case 41: goto tr1463;
+ case 3082: goto tr1464;
+ case 3131: goto tr1465;
+ case 3338: goto tr1466;
+ case 3387: goto tr1466;
+ case 3594: goto tr1467;
+ case 3643: goto tr1468;
}
- goto tr1219;
+ goto tr1237;
st451:
if ( ++p == pe )
goto _test_eof451;
case 451:
switch( (*p) ) {
- case 67: goto st452;
- case 99: goto st452;
+ case 69: goto st452;
+ case 88: goto st454;
+ case 101: goto st452;
+ case 120: goto st454;
}
- goto tr1219;
+ goto tr1237;
st452:
if ( ++p == pe )
goto _test_eof452;
case 452:
+ switch( (*p) ) {
+ case 89: goto st453;
+ case 121: goto st453;
+ }
+ goto tr1237;
+st453:
+ if ( ++p == pe )
+ goto _test_eof453;
+case 453:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53501,22 +54523,22 @@ case 452:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1492;
- case 32: goto tr1492;
- case 40: goto tr1493;
- case 41: goto tr1494;
- case 3082: goto tr1495;
- case 3131: goto tr1496;
- case 3338: goto tr1497;
- case 3387: goto tr1497;
- case 3594: goto tr1498;
- case 3643: goto tr1499;
+ case 9: goto tr1472;
+ case 32: goto tr1472;
+ case 40: goto tr1473;
+ case 41: goto tr1474;
+ case 3082: goto tr1475;
+ case 3131: goto tr1476;
+ case 3338: goto tr1477;
+ case 3387: goto tr1477;
+ case 3594: goto tr1478;
+ case 3643: goto tr1479;
}
- goto tr1219;
-st453:
+ goto tr1237;
+st454:
if ( ++p == pe )
- goto _test_eof453;
-case 453:
+ goto _test_eof454;
+case 454:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53534,60 +54556,42 @@ case 453:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1500;
- case 32: goto tr1500;
- case 40: goto tr1501;
- case 41: goto tr1502;
- case 3082: goto tr1503;
- case 3131: goto tr1504;
- case 3338: goto tr1505;
- case 3387: goto tr1505;
- case 3594: goto tr1506;
- case 3643: goto tr1507;
- }
- goto tr1219;
-st454:
- if ( ++p == pe )
- goto _test_eof454;
-case 454:
- switch( (*p) ) {
- case 73: goto st455;
- case 88: goto st459;
- case 105: goto st455;
- case 120: goto st459;
+ case 9: goto tr1480;
+ case 32: goto tr1480;
+ case 40: goto tr1481;
+ case 41: goto tr1482;
+ case 3082: goto tr1483;
+ case 3131: goto tr1484;
+ case 3338: goto tr1485;
+ case 3387: goto tr1485;
+ case 3594: goto tr1486;
+ case 3643: goto tr1487;
}
- goto tr1219;
+ goto tr1237;
st455:
if ( ++p == pe )
goto _test_eof455;
case 455:
switch( (*p) ) {
- case 78: goto st456;
- case 110: goto st456;
+ case 51: goto st456;
+ case 54: goto st458;
+ case 79: goto st460;
+ case 80: goto st462;
+ case 111: goto st460;
+ case 112: goto st462;
}
- goto tr1219;
+ goto tr1237;
st456:
if ( ++p == pe )
goto _test_eof456;
case 456:
- switch( (*p) ) {
- case 70: goto st457;
- case 102: goto st457;
- }
- goto tr1219;
+ if ( (*p) == 50 )
+ goto st457;
+ goto tr1237;
st457:
if ( ++p == pe )
goto _test_eof457;
case 457:
- switch( (*p) ) {
- case 79: goto st458;
- case 111: goto st458;
- }
- goto tr1219;
-st458:
- if ( ++p == pe )
- goto _test_eof458;
-case 458:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53605,18 +54609,25 @@ case 458:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1513;
- case 32: goto tr1513;
- case 40: goto tr1514;
- case 41: goto tr1515;
- case 3082: goto tr1516;
- case 3131: goto tr1517;
- case 3338: goto tr1518;
- case 3387: goto tr1518;
- case 3594: goto tr1519;
- case 3643: goto tr1520;
+ case 9: goto tr1493;
+ case 32: goto tr1493;
+ case 40: goto tr1494;
+ case 41: goto tr1495;
+ case 3082: goto tr1496;
+ case 3131: goto tr1497;
+ case 3338: goto tr1498;
+ case 3387: goto tr1498;
+ case 3594: goto tr1499;
+ case 3643: goto tr1500;
}
- goto tr1219;
+ goto tr1237;
+st458:
+ if ( ++p == pe )
+ goto _test_eof458;
+case 458:
+ if ( (*p) == 52 )
+ goto st459;
+ goto tr1237;
st459:
if ( ++p == pe )
goto _test_eof459;
@@ -53638,62 +54649,31 @@ case 459:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1521;
- case 32: goto tr1521;
- case 40: goto tr1522;
- case 41: goto tr1523;
- case 3082: goto tr1524;
- case 3131: goto tr1525;
- case 3338: goto tr1526;
- case 3387: goto tr1526;
- case 3594: goto tr1527;
- case 3643: goto tr1528;
+ case 9: goto tr1502;
+ case 32: goto tr1502;
+ case 40: goto tr1503;
+ case 41: goto tr1504;
+ case 3082: goto tr1505;
+ case 3131: goto tr1506;
+ case 3338: goto tr1507;
+ case 3387: goto tr1507;
+ case 3594: goto tr1508;
+ case 3643: goto tr1509;
}
- goto tr1219;
+ goto tr1237;
st460:
if ( ++p == pe )
goto _test_eof460;
case 460:
switch( (*p) ) {
- case 65: goto st461;
- case 73: goto st465;
- case 83: goto st467;
- case 97: goto st461;
- case 105: goto st465;
- case 115: goto st467;
+ case 67: goto st461;
+ case 99: goto st461;
}
- goto tr1219;
+ goto tr1237;
st461:
if ( ++p == pe )
goto _test_eof461;
case 461:
- switch( (*p) ) {
- case 80: goto st462;
- case 112: goto st462;
- }
- goto tr1219;
-st462:
- if ( ++p == pe )
- goto _test_eof462;
-case 462:
- switch( (*p) ) {
- case 84: goto st463;
- case 116: goto st463;
- }
- goto tr1219;
-st463:
- if ( ++p == pe )
- goto _test_eof463;
-case 463:
- switch( (*p) ) {
- case 82: goto st464;
- case 114: goto st464;
- }
- goto tr1219;
-st464:
- if ( ++p == pe )
- goto _test_eof464;
-case 464:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53711,31 +54691,22 @@ case 464:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1535;
- case 32: goto tr1535;
- case 40: goto tr1536;
- case 41: goto tr1537;
- case 3082: goto tr1538;
- case 3131: goto tr1539;
- case 3338: goto tr1540;
- case 3387: goto tr1540;
- case 3594: goto tr1541;
- case 3643: goto tr1542;
- }
- goto tr1219;
-st465:
- if ( ++p == pe )
- goto _test_eof465;
-case 465:
- switch( (*p) ) {
- case 68: goto st466;
- case 100: goto st466;
+ case 9: goto tr1511;
+ case 32: goto tr1511;
+ case 40: goto tr1512;
+ case 41: goto tr1513;
+ case 3082: goto tr1514;
+ case 3131: goto tr1515;
+ case 3338: goto tr1516;
+ case 3387: goto tr1516;
+ case 3594: goto tr1517;
+ case 3643: goto tr1518;
}
- goto tr1219;
-st466:
+ goto tr1237;
+st462:
if ( ++p == pe )
- goto _test_eof466;
-case 466:
+ goto _test_eof462;
+case 462:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53753,18 +54724,56 @@ case 466:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1544;
- case 32: goto tr1544;
- case 40: goto tr1545;
- case 41: goto tr1546;
- case 3082: goto tr1547;
- case 3131: goto tr1548;
- case 3338: goto tr1549;
- case 3387: goto tr1549;
- case 3594: goto tr1550;
- case 3643: goto tr1551;
+ case 9: goto tr1519;
+ case 32: goto tr1519;
+ case 40: goto tr1520;
+ case 41: goto tr1521;
+ case 3082: goto tr1522;
+ case 3131: goto tr1523;
+ case 3338: goto tr1524;
+ case 3387: goto tr1524;
+ case 3594: goto tr1525;
+ case 3643: goto tr1526;
+ }
+ goto tr1237;
+st463:
+ if ( ++p == pe )
+ goto _test_eof463;
+case 463:
+ switch( (*p) ) {
+ case 73: goto st464;
+ case 88: goto st468;
+ case 105: goto st464;
+ case 120: goto st468;
}
- goto tr1219;
+ goto tr1237;
+st464:
+ if ( ++p == pe )
+ goto _test_eof464;
+case 464:
+ switch( (*p) ) {
+ case 78: goto st465;
+ case 110: goto st465;
+ }
+ goto tr1237;
+st465:
+ if ( ++p == pe )
+ goto _test_eof465;
+case 465:
+ switch( (*p) ) {
+ case 70: goto st466;
+ case 102: goto st466;
+ }
+ goto tr1237;
+st466:
+ if ( ++p == pe )
+ goto _test_eof466;
+case 466:
+ switch( (*p) ) {
+ case 79: goto st467;
+ case 111: goto st467;
+ }
+ goto tr1237;
st467:
if ( ++p == pe )
goto _test_eof467;
@@ -53786,33 +54795,22 @@ case 467:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1552;
- case 32: goto tr1552;
- case 40: goto tr1553;
- case 41: goto tr1554;
- case 69: goto st468;
- case 101: goto st468;
- case 3082: goto tr1556;
- case 3131: goto tr1557;
- case 3338: goto tr1558;
- case 3387: goto tr1558;
- case 3594: goto tr1559;
- case 3643: goto tr1560;
- }
- goto tr1219;
+ case 9: goto tr1532;
+ case 32: goto tr1532;
+ case 40: goto tr1533;
+ case 41: goto tr1534;
+ case 3082: goto tr1535;
+ case 3131: goto tr1536;
+ case 3338: goto tr1537;
+ case 3387: goto tr1537;
+ case 3594: goto tr1538;
+ case 3643: goto tr1539;
+ }
+ goto tr1237;
st468:
if ( ++p == pe )
goto _test_eof468;
case 468:
- switch( (*p) ) {
- case 67: goto st469;
- case 99: goto st469;
- }
- goto tr1219;
-st469:
- if ( ++p == pe )
- goto _test_eof469;
-case 469:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -53830,63 +54828,49 @@ case 469:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1562;
- case 32: goto tr1562;
- case 40: goto tr1563;
- case 41: goto tr1564;
- case 51: goto st470;
- case 3082: goto tr1566;
- case 3131: goto tr1567;
- case 3338: goto tr1568;
- case 3387: goto tr1568;
- case 3594: goto tr1569;
- case 3643: goto tr1570;
+ case 9: goto tr1540;
+ case 32: goto tr1540;
+ case 40: goto tr1541;
+ case 41: goto tr1542;
+ case 3082: goto tr1543;
+ case 3131: goto tr1544;
+ case 3338: goto tr1545;
+ case 3387: goto tr1545;
+ case 3594: goto tr1546;
+ case 3643: goto tr1547;
+ }
+ goto tr1237;
+st469:
+ if ( ++p == pe )
+ goto _test_eof469;
+case 469:
+ switch( (*p) ) {
+ case 65: goto st470;
+ case 73: goto st474;
+ case 83: goto st476;
+ case 97: goto st470;
+ case 105: goto st474;
+ case 115: goto st476;
}
- goto tr1219;
+ goto tr1237;
st470:
if ( ++p == pe )
goto _test_eof470;
case 470:
- _widec = (*p);
- if ( (*p) > 10 ) {
- if ( 59 <= (*p) && (*p) <= 59 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- } else if ( (*p) >= 10 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- switch( _widec ) {
- case 9: goto tr1571;
- case 32: goto tr1571;
- case 40: goto tr1572;
- case 41: goto tr1573;
+ switch( (*p) ) {
case 80: goto st471;
case 112: goto st471;
- case 3082: goto tr1575;
- case 3131: goto tr1576;
- case 3338: goto tr1577;
- case 3387: goto tr1577;
- case 3594: goto tr1578;
- case 3643: goto tr1579;
}
- goto tr1219;
+ goto tr1237;
st471:
if ( ++p == pe )
goto _test_eof471;
case 471:
switch( (*p) ) {
- case 65: goto st472;
- case 97: goto st472;
+ case 84: goto st472;
+ case 116: goto st472;
}
- goto tr1219;
+ goto tr1237;
st472:
if ( ++p == pe )
goto _test_eof472;
@@ -53895,25 +54879,49 @@ case 472:
case 82: goto st473;
case 114: goto st473;
}
- goto tr1219;
+ goto tr1237;
st473:
if ( ++p == pe )
goto _test_eof473;
case 473:
- switch( (*p) ) {
- case 65: goto st474;
- case 97: goto st474;
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
}
- goto tr1219;
+ switch( _widec ) {
+ case 9: goto tr1554;
+ case 32: goto tr1554;
+ case 40: goto tr1555;
+ case 41: goto tr1556;
+ case 3082: goto tr1557;
+ case 3131: goto tr1558;
+ case 3338: goto tr1559;
+ case 3387: goto tr1559;
+ case 3594: goto tr1560;
+ case 3643: goto tr1561;
+ }
+ goto tr1237;
st474:
if ( ++p == pe )
goto _test_eof474;
case 474:
switch( (*p) ) {
- case 77: goto st475;
- case 109: goto st475;
+ case 68: goto st475;
+ case 100: goto st475;
}
- goto tr1219;
+ goto tr1237;
st475:
if ( ++p == pe )
goto _test_eof475;
@@ -53935,103 +54943,171 @@ case 475:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1584;
- case 32: goto tr1584;
- case 40: goto tr1585;
- case 41: goto tr1586;
- case 3082: goto tr1587;
- case 3131: goto tr1588;
- case 3338: goto tr1589;
- case 3387: goto tr1589;
- case 3594: goto tr1590;
- case 3643: goto tr1591;
+ case 9: goto tr1563;
+ case 32: goto tr1563;
+ case 40: goto tr1564;
+ case 41: goto tr1565;
+ case 3082: goto tr1566;
+ case 3131: goto tr1567;
+ case 3338: goto tr1568;
+ case 3387: goto tr1568;
+ case 3594: goto tr1569;
+ case 3643: goto tr1570;
}
- goto tr1219;
+ goto tr1237;
st476:
if ( ++p == pe )
goto _test_eof476;
case 476:
- switch( (*p) ) {
- case 80: goto st477;
- case 112: goto st477;
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
}
- goto tr1219;
+ switch( _widec ) {
+ case 9: goto tr1571;
+ case 32: goto tr1571;
+ case 40: goto tr1572;
+ case 41: goto tr1573;
+ case 69: goto st477;
+ case 101: goto st477;
+ case 3082: goto tr1575;
+ case 3131: goto tr1576;
+ case 3338: goto tr1577;
+ case 3387: goto tr1577;
+ case 3594: goto tr1578;
+ case 3643: goto tr1579;
+ }
+ goto tr1237;
st477:
if ( ++p == pe )
goto _test_eof477;
case 477:
switch( (*p) ) {
- case 69: goto st478;
- case 101: goto st478;
+ case 67: goto st478;
+ case 99: goto st478;
}
- goto tr1219;
+ goto tr1237;
st478:
if ( ++p == pe )
goto _test_eof478;
case 478:
- switch( (*p) ) {
- case 78: goto st479;
- case 110: goto st479;
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ switch( _widec ) {
+ case 9: goto tr1581;
+ case 32: goto tr1581;
+ case 40: goto tr1582;
+ case 41: goto tr1583;
+ case 51: goto st479;
+ case 3082: goto tr1585;
+ case 3131: goto tr1586;
+ case 3338: goto tr1587;
+ case 3387: goto tr1587;
+ case 3594: goto tr1588;
+ case 3643: goto tr1589;
}
- goto tr1219;
+ goto tr1237;
st479:
if ( ++p == pe )
goto _test_eof479;
case 479:
- switch( (*p) ) {
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ switch( _widec ) {
+ case 9: goto tr1590;
+ case 32: goto tr1590;
+ case 40: goto tr1591;
+ case 41: goto tr1592;
case 80: goto st480;
case 112: goto st480;
- }
- goto tr1219;
+ case 3082: goto tr1594;
+ case 3131: goto tr1595;
+ case 3338: goto tr1596;
+ case 3387: goto tr1596;
+ case 3594: goto tr1597;
+ case 3643: goto tr1598;
+ }
+ goto tr1237;
st480:
if ( ++p == pe )
goto _test_eof480;
case 480:
switch( (*p) ) {
- case 71: goto st481;
- case 103: goto st481;
+ case 65: goto st481;
+ case 97: goto st481;
}
- goto tr1219;
+ goto tr1237;
st481:
if ( ++p == pe )
goto _test_eof481;
case 481:
switch( (*p) ) {
- case 80: goto st482;
- case 112: goto st482;
+ case 82: goto st482;
+ case 114: goto st482;
}
- goto tr1219;
+ goto tr1237;
st482:
if ( ++p == pe )
goto _test_eof482;
case 482:
switch( (*p) ) {
- case 75: goto st483;
- case 107: goto st483;
+ case 65: goto st483;
+ case 97: goto st483;
}
- goto tr1219;
+ goto tr1237;
st483:
if ( ++p == pe )
goto _test_eof483;
case 483:
switch( (*p) ) {
- case 69: goto st484;
- case 101: goto st484;
+ case 77: goto st484;
+ case 109: goto st484;
}
- goto tr1219;
+ goto tr1237;
st484:
if ( ++p == pe )
goto _test_eof484;
case 484:
- switch( (*p) ) {
- case 89: goto st485;
- case 121: goto st485;
- }
- goto tr1219;
-st485:
- if ( ++p == pe )
- goto _test_eof485;
-case 485:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -54049,142 +55125,99 @@ case 485:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1601;
- case 32: goto tr1601;
- case 40: goto tr1602;
- case 41: goto tr1603;
- case 3082: goto tr1604;
- case 3131: goto tr1605;
- case 3338: goto tr1606;
- case 3387: goto tr1606;
- case 3594: goto tr1607;
- case 3643: goto tr1608;
+ case 9: goto tr1603;
+ case 32: goto tr1603;
+ case 40: goto tr1604;
+ case 41: goto tr1605;
+ case 3082: goto tr1606;
+ case 3131: goto tr1607;
+ case 3338: goto tr1608;
+ case 3387: goto tr1608;
+ case 3594: goto tr1609;
+ case 3643: goto tr1610;
+ }
+ goto tr1237;
+st485:
+ if ( ++p == pe )
+ goto _test_eof485;
+case 485:
+ switch( (*p) ) {
+ case 80: goto st486;
+ case 112: goto st486;
}
- goto tr1219;
+ goto tr1237;
st486:
if ( ++p == pe )
goto _test_eof486;
case 486:
switch( (*p) ) {
- case 84: goto st487;
- case 116: goto st487;
+ case 69: goto st487;
+ case 101: goto st487;
}
- goto tr1219;
+ goto tr1237;
st487:
if ( ++p == pe )
goto _test_eof487;
case 487:
switch( (*p) ) {
- case 82: goto st488;
- case 114: goto st488;
+ case 78: goto st488;
+ case 110: goto st488;
}
- goto tr1219;
+ goto tr1237;
st488:
if ( ++p == pe )
goto _test_eof488;
case 488:
- _widec = (*p);
- if ( (*p) > 10 ) {
- if ( 59 <= (*p) && (*p) <= 59 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- } else if ( (*p) >= 10 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- switch( _widec ) {
- case 9: goto tr1611;
- case 32: goto tr1611;
- case 40: goto tr1612;
- case 41: goto tr1613;
- case 3082: goto tr1614;
- case 3131: goto tr1615;
- case 3338: goto tr1616;
- case 3387: goto tr1616;
- case 3594: goto tr1617;
- case 3643: goto tr1618;
+ switch( (*p) ) {
+ case 80: goto st489;
+ case 112: goto st489;
}
- goto tr1219;
+ goto tr1237;
st489:
if ( ++p == pe )
goto _test_eof489;
case 489:
switch( (*p) ) {
- case 80: goto st490;
- case 82: goto st491;
- case 84: goto st495;
- case 112: goto st490;
- case 114: goto st491;
- case 116: goto st495;
+ case 71: goto st490;
+ case 103: goto st490;
}
- goto tr1219;
+ goto tr1237;
st490:
if ( ++p == pe )
goto _test_eof490;
case 490:
- _widec = (*p);
- if ( (*p) > 10 ) {
- if ( 59 <= (*p) && (*p) <= 59 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- } else if ( (*p) >= 10 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- switch( _widec ) {
- case 9: goto tr1622;
- case 32: goto tr1622;
- case 40: goto tr1623;
- case 41: goto tr1624;
- case 3082: goto tr1625;
- case 3131: goto tr1626;
- case 3338: goto tr1627;
- case 3387: goto tr1627;
- case 3594: goto tr1628;
- case 3643: goto tr1629;
+ switch( (*p) ) {
+ case 80: goto st491;
+ case 112: goto st491;
}
- goto tr1219;
+ goto tr1237;
st491:
if ( ++p == pe )
goto _test_eof491;
case 491:
switch( (*p) ) {
- case 83: goto st492;
- case 115: goto st492;
+ case 75: goto st492;
+ case 107: goto st492;
}
- goto tr1219;
+ goto tr1237;
st492:
if ( ++p == pe )
goto _test_eof492;
case 492:
switch( (*p) ) {
- case 73: goto st493;
- case 105: goto st493;
+ case 69: goto st493;
+ case 101: goto st493;
}
- goto tr1219;
+ goto tr1237;
st493:
if ( ++p == pe )
goto _test_eof493;
case 493:
switch( (*p) ) {
- case 71: goto st494;
- case 103: goto st494;
+ case 89: goto st494;
+ case 121: goto st494;
}
- goto tr1219;
+ goto tr1237;
st494:
if ( ++p == pe )
goto _test_eof494;
@@ -54206,22 +55239,40 @@ case 494:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1633;
- case 32: goto tr1633;
- case 40: goto tr1634;
- case 41: goto tr1635;
- case 3082: goto tr1636;
- case 3131: goto tr1637;
- case 3338: goto tr1638;
- case 3387: goto tr1638;
- case 3594: goto tr1639;
- case 3643: goto tr1640;
+ case 9: goto tr1620;
+ case 32: goto tr1620;
+ case 40: goto tr1621;
+ case 41: goto tr1622;
+ case 3082: goto tr1623;
+ case 3131: goto tr1624;
+ case 3338: goto tr1625;
+ case 3387: goto tr1625;
+ case 3594: goto tr1626;
+ case 3643: goto tr1627;
}
- goto tr1219;
+ goto tr1237;
st495:
if ( ++p == pe )
goto _test_eof495;
case 495:
+ switch( (*p) ) {
+ case 84: goto st496;
+ case 116: goto st496;
+ }
+ goto tr1237;
+st496:
+ if ( ++p == pe )
+ goto _test_eof496;
+case 496:
+ switch( (*p) ) {
+ case 82: goto st497;
+ case 114: goto st497;
+ }
+ goto tr1237;
+st497:
+ if ( ++p == pe )
+ goto _test_eof497;
+case 497:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -54239,77 +55290,35 @@ case 495:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1641;
- case 32: goto tr1641;
- case 40: goto tr1642;
- case 41: goto tr1643;
- case 3082: goto tr1644;
- case 3131: goto tr1645;
- case 3338: goto tr1646;
- case 3387: goto tr1646;
- case 3594: goto tr1647;
- case 3643: goto tr1648;
+ case 9: goto tr1630;
+ case 32: goto tr1630;
+ case 40: goto tr1631;
+ case 41: goto tr1632;
+ case 3082: goto tr1633;
+ case 3131: goto tr1634;
+ case 3338: goto tr1635;
+ case 3387: goto tr1635;
+ case 3594: goto tr1636;
+ case 3643: goto tr1637;
}
- goto tr1219;
-st496:
- if ( ++p == pe )
- goto _test_eof496;
-case 496:
- switch( (*p) ) {
- case 77: goto st497;
- case 79: goto st502;
- case 80: goto st504;
- case 82: goto st506;
- case 83: goto st508;
- case 86: goto st512;
- case 109: goto st497;
- case 111: goto st502;
- case 112: goto st504;
- case 114: goto st506;
- case 115: goto st508;
- case 118: goto st512;
- }
- goto tr1219;
-st497:
- if ( ++p == pe )
- goto _test_eof497;
-case 497:
- switch( (*p) ) {
- case 73: goto st498;
- case 105: goto st498;
- }
- goto tr1219;
+ goto tr1237;
st498:
if ( ++p == pe )
goto _test_eof498;
case 498:
switch( (*p) ) {
- case 77: goto st499;
- case 109: goto st499;
+ case 80: goto st499;
+ case 82: goto st500;
+ case 84: goto st504;
+ case 112: goto st499;
+ case 114: goto st500;
+ case 116: goto st504;
}
- goto tr1219;
+ goto tr1237;
st499:
if ( ++p == pe )
goto _test_eof499;
case 499:
- switch( (*p) ) {
- case 69: goto st500;
- case 101: goto st500;
- }
- goto tr1219;
-st500:
- if ( ++p == pe )
- goto _test_eof500;
-case 500:
- switch( (*p) ) {
- case 65: goto st501;
- case 97: goto st501;
- }
- goto tr1219;
-st501:
- if ( ++p == pe )
- goto _test_eof501;
-case 501:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -54327,27 +55336,45 @@ case 501:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1659;
- case 32: goto tr1659;
- case 40: goto tr1660;
- case 41: goto tr1661;
- case 3082: goto tr1662;
- case 3131: goto tr1663;
- case 3338: goto tr1664;
- case 3387: goto tr1664;
- case 3594: goto tr1665;
- case 3643: goto tr1666;
+ case 9: goto tr1641;
+ case 32: goto tr1641;
+ case 40: goto tr1642;
+ case 41: goto tr1643;
+ case 3082: goto tr1644;
+ case 3131: goto tr1645;
+ case 3338: goto tr1646;
+ case 3387: goto tr1646;
+ case 3594: goto tr1647;
+ case 3643: goto tr1648;
}
- goto tr1219;
+ goto tr1237;
+st500:
+ if ( ++p == pe )
+ goto _test_eof500;
+case 500:
+ switch( (*p) ) {
+ case 83: goto st501;
+ case 115: goto st501;
+ }
+ goto tr1237;
+st501:
+ if ( ++p == pe )
+ goto _test_eof501;
+case 501:
+ switch( (*p) ) {
+ case 73: goto st502;
+ case 105: goto st502;
+ }
+ goto tr1237;
st502:
if ( ++p == pe )
goto _test_eof502;
case 502:
switch( (*p) ) {
- case 65: goto st503;
- case 97: goto st503;
+ case 71: goto st503;
+ case 103: goto st503;
}
- goto tr1219;
+ goto tr1237;
st503:
if ( ++p == pe )
goto _test_eof503;
@@ -54369,31 +55396,22 @@ case 503:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1668;
- case 32: goto tr1668;
- case 40: goto tr1669;
- case 41: goto tr1670;
- case 3082: goto tr1671;
- case 3131: goto tr1672;
- case 3338: goto tr1673;
- case 3387: goto tr1673;
- case 3594: goto tr1674;
- case 3643: goto tr1675;
+ case 9: goto tr1652;
+ case 32: goto tr1652;
+ case 40: goto tr1653;
+ case 41: goto tr1654;
+ case 3082: goto tr1655;
+ case 3131: goto tr1656;
+ case 3338: goto tr1657;
+ case 3387: goto tr1657;
+ case 3594: goto tr1658;
+ case 3643: goto tr1659;
}
- goto tr1219;
+ goto tr1237;
st504:
if ( ++p == pe )
goto _test_eof504;
case 504:
- switch( (*p) ) {
- case 70: goto st505;
- case 102: goto st505;
- }
- goto tr1219;
-st505:
- if ( ++p == pe )
- goto _test_eof505;
-case 505:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -54411,91 +55429,77 @@ case 505:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1677;
- case 32: goto tr1677;
- case 40: goto tr1678;
- case 41: goto tr1679;
- case 3082: goto tr1680;
- case 3131: goto tr1681;
- case 3338: goto tr1682;
- case 3387: goto tr1682;
- case 3594: goto tr1683;
- case 3643: goto tr1684;
+ case 9: goto tr1660;
+ case 32: goto tr1660;
+ case 40: goto tr1661;
+ case 41: goto tr1662;
+ case 3082: goto tr1663;
+ case 3131: goto tr1664;
+ case 3338: goto tr1665;
+ case 3387: goto tr1665;
+ case 3594: goto tr1666;
+ case 3643: goto tr1667;
}
- goto tr1219;
+ goto tr1237;
+st505:
+ if ( ++p == pe )
+ goto _test_eof505;
+case 505:
+ switch( (*p) ) {
+ case 77: goto st506;
+ case 79: goto st511;
+ case 80: goto st513;
+ case 82: goto st515;
+ case 83: goto st517;
+ case 86: goto st521;
+ case 109: goto st506;
+ case 111: goto st511;
+ case 112: goto st513;
+ case 114: goto st515;
+ case 115: goto st517;
+ case 118: goto st521;
+ }
+ goto tr1237;
st506:
if ( ++p == pe )
goto _test_eof506;
case 506:
switch( (*p) ) {
- case 86: goto st507;
- case 118: goto st507;
+ case 73: goto st507;
+ case 105: goto st507;
}
- goto tr1219;
+ goto tr1237;
st507:
if ( ++p == pe )
goto _test_eof507;
case 507:
- _widec = (*p);
- if ( (*p) > 10 ) {
- if ( 59 <= (*p) && (*p) <= 59 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- } else if ( (*p) >= 10 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- switch( _widec ) {
- case 9: goto tr1686;
- case 32: goto tr1686;
- case 40: goto tr1687;
- case 41: goto tr1688;
- case 3082: goto tr1689;
- case 3131: goto tr1690;
- case 3338: goto tr1691;
- case 3387: goto tr1691;
- case 3594: goto tr1692;
- case 3643: goto tr1693;
+ switch( (*p) ) {
+ case 77: goto st508;
+ case 109: goto st508;
}
- goto tr1219;
+ goto tr1237;
st508:
if ( ++p == pe )
goto _test_eof508;
case 508:
switch( (*p) ) {
- case 72: goto st509;
- case 104: goto st509;
+ case 69: goto st509;
+ case 101: goto st509;
}
- goto tr1219;
+ goto tr1237;
st509:
if ( ++p == pe )
goto _test_eof509;
case 509:
switch( (*p) ) {
- case 70: goto st510;
- case 102: goto st510;
+ case 65: goto st510;
+ case 97: goto st510;
}
- goto tr1219;
+ goto tr1237;
st510:
if ( ++p == pe )
goto _test_eof510;
case 510:
- switch( (*p) ) {
- case 80: goto st511;
- case 112: goto st511;
- }
- goto tr1219;
-st511:
- if ( ++p == pe )
- goto _test_eof511;
-case 511:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -54513,36 +55517,69 @@ case 511:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1697;
- case 32: goto tr1697;
- case 40: goto tr1698;
- case 41: goto tr1699;
- case 3082: goto tr1700;
- case 3131: goto tr1701;
- case 3338: goto tr1702;
- case 3387: goto tr1702;
- case 3594: goto tr1703;
- case 3643: goto tr1704;
+ case 9: goto tr1678;
+ case 32: goto tr1678;
+ case 40: goto tr1679;
+ case 41: goto tr1680;
+ case 3082: goto tr1681;
+ case 3131: goto tr1682;
+ case 3338: goto tr1683;
+ case 3387: goto tr1683;
+ case 3594: goto tr1684;
+ case 3643: goto tr1685;
}
- goto tr1219;
+ goto tr1237;
+st511:
+ if ( ++p == pe )
+ goto _test_eof511;
+case 511:
+ switch( (*p) ) {
+ case 65: goto st512;
+ case 97: goto st512;
+ }
+ goto tr1237;
st512:
if ( ++p == pe )
goto _test_eof512;
case 512:
- switch( (*p) ) {
- case 67: goto st513;
- case 99: goto st513;
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ switch( _widec ) {
+ case 9: goto tr1687;
+ case 32: goto tr1687;
+ case 40: goto tr1688;
+ case 41: goto tr1689;
+ case 3082: goto tr1690;
+ case 3131: goto tr1691;
+ case 3338: goto tr1692;
+ case 3387: goto tr1692;
+ case 3594: goto tr1693;
+ case 3643: goto tr1694;
}
- goto tr1219;
+ goto tr1237;
st513:
if ( ++p == pe )
goto _test_eof513;
case 513:
switch( (*p) ) {
- case 66: goto st514;
- case 98: goto st514;
+ case 70: goto st514;
+ case 102: goto st514;
}
- goto tr1219;
+ goto tr1237;
st514:
if ( ++p == pe )
goto _test_eof514;
@@ -54564,53 +55601,31 @@ case 514:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1707;
- case 32: goto tr1707;
- case 40: goto tr1708;
- case 41: goto tr1709;
- case 3082: goto tr1710;
- case 3131: goto tr1711;
- case 3338: goto tr1712;
- case 3387: goto tr1712;
- case 3594: goto tr1713;
- case 3643: goto tr1714;
+ case 9: goto tr1696;
+ case 32: goto tr1696;
+ case 40: goto tr1697;
+ case 41: goto tr1698;
+ case 3082: goto tr1699;
+ case 3131: goto tr1700;
+ case 3338: goto tr1701;
+ case 3387: goto tr1701;
+ case 3594: goto tr1702;
+ case 3643: goto tr1703;
}
- goto tr1219;
+ goto tr1237;
st515:
if ( ++p == pe )
goto _test_eof515;
case 515:
switch( (*p) ) {
- case 76: goto st516;
- case 88: goto st519;
- case 89: goto st521;
- case 108: goto st516;
- case 120: goto st519;
- case 121: goto st521;
+ case 86: goto st516;
+ case 118: goto st516;
}
- goto tr1219;
+ goto tr1237;
st516:
if ( ++p == pe )
goto _test_eof516;
case 516:
- switch( (*p) ) {
- case 83: goto st517;
- case 115: goto st517;
- }
- goto tr1219;
-st517:
- if ( ++p == pe )
- goto _test_eof517;
-case 517:
- switch( (*p) ) {
- case 65: goto st518;
- case 97: goto st518;
- }
- goto tr1219;
-st518:
- if ( ++p == pe )
- goto _test_eof518;
-case 518:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -54628,27 +55643,45 @@ case 518:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1720;
- case 32: goto tr1720;
- case 40: goto tr1721;
- case 41: goto tr1722;
- case 3082: goto tr1723;
- case 3131: goto tr1724;
- case 3338: goto tr1725;
- case 3387: goto tr1725;
- case 3594: goto tr1726;
- case 3643: goto tr1727;
+ case 9: goto tr1705;
+ case 32: goto tr1705;
+ case 40: goto tr1706;
+ case 41: goto tr1707;
+ case 3082: goto tr1708;
+ case 3131: goto tr1709;
+ case 3338: goto tr1710;
+ case 3387: goto tr1710;
+ case 3594: goto tr1711;
+ case 3643: goto tr1712;
}
- goto tr1219;
+ goto tr1237;
+st517:
+ if ( ++p == pe )
+ goto _test_eof517;
+case 517:
+ switch( (*p) ) {
+ case 72: goto st518;
+ case 104: goto st518;
+ }
+ goto tr1237;
+st518:
+ if ( ++p == pe )
+ goto _test_eof518;
+case 518:
+ switch( (*p) ) {
+ case 70: goto st519;
+ case 102: goto st519;
+ }
+ goto tr1237;
st519:
if ( ++p == pe )
goto _test_eof519;
case 519:
switch( (*p) ) {
- case 84: goto st520;
- case 116: goto st520;
+ case 80: goto st520;
+ case 112: goto st520;
}
- goto tr1219;
+ goto tr1237;
st520:
if ( ++p == pe )
goto _test_eof520;
@@ -54670,82 +55703,40 @@ case 520:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1729;
- case 32: goto tr1729;
- case 40: goto tr1730;
- case 41: goto tr1731;
- case 3082: goto tr1732;
- case 3131: goto tr1733;
- case 3338: goto tr1734;
- case 3387: goto tr1734;
- case 3594: goto tr1735;
- case 3643: goto tr1736;
+ case 9: goto tr1716;
+ case 32: goto tr1716;
+ case 40: goto tr1717;
+ case 41: goto tr1718;
+ case 3082: goto tr1719;
+ case 3131: goto tr1720;
+ case 3338: goto tr1721;
+ case 3387: goto tr1721;
+ case 3594: goto tr1722;
+ case 3643: goto tr1723;
}
- goto tr1219;
+ goto tr1237;
st521:
if ( ++p == pe )
goto _test_eof521;
case 521:
switch( (*p) ) {
- case 80: goto st522;
- case 112: goto st522;
+ case 67: goto st522;
+ case 99: goto st522;
}
- goto tr1219;
+ goto tr1237;
st522:
if ( ++p == pe )
goto _test_eof522;
case 522:
switch( (*p) ) {
- case 69: goto st523;
- case 101: goto st523;
+ case 66: goto st523;
+ case 98: goto st523;
}
- goto tr1219;
+ goto tr1237;
st523:
if ( ++p == pe )
goto _test_eof523;
case 523:
- if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1739;
- goto tr1219;
-tr1739:
- {
- s->number64 = 0;
- }
- {
- // Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
- if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
- ((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
- ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
- )
- ) {
- s->number64 *= 10;
- s->number64 += digit_to_num[(uint8_t)(*p)];
- } else {
- WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
- }
- }
- goto st524;
-tr1743:
- {
- // Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
- if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
- ((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
- ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
- )
- ) {
- s->number64 *= 10;
- s->number64 += digit_to_num[(uint8_t)(*p)];
- } else {
- WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
- }
- }
- goto st524;
-st524:
- if ( ++p == pe )
- goto _test_eof524;
-case 524:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -54763,38 +55754,49 @@ case 524:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1740;
- case 32: goto tr1740;
- case 40: goto tr1741;
- case 41: goto tr1742;
- case 3082: goto tr1744;
- case 3131: goto tr1745;
- case 3338: goto tr1746;
- case 3387: goto tr1746;
- case 3594: goto tr1747;
- case 3643: goto tr1748;
+ case 9: goto tr1726;
+ case 32: goto tr1726;
+ case 40: goto tr1727;
+ case 41: goto tr1728;
+ case 3082: goto tr1729;
+ case 3131: goto tr1730;
+ case 3338: goto tr1731;
+ case 3387: goto tr1731;
+ case 3594: goto tr1732;
+ case 3643: goto tr1733;
}
- if ( 48 <= _widec && _widec <= 57 )
- goto tr1743;
- goto tr1219;
+ goto tr1237;
+st524:
+ if ( ++p == pe )
+ goto _test_eof524;
+case 524:
+ switch( (*p) ) {
+ case 76: goto st525;
+ case 88: goto st528;
+ case 89: goto st530;
+ case 108: goto st525;
+ case 120: goto st528;
+ case 121: goto st530;
+ }
+ goto tr1237;
st525:
if ( ++p == pe )
goto _test_eof525;
case 525:
switch( (*p) ) {
- case 82: goto st526;
- case 114: goto st526;
+ case 83: goto st526;
+ case 115: goto st526;
}
- goto tr1219;
+ goto tr1237;
st526:
if ( ++p == pe )
goto _test_eof526;
case 526:
switch( (*p) ) {
- case 73: goto st527;
- case 105: goto st527;
+ case 65: goto st527;
+ case 97: goto st527;
}
- goto tr1219;
+ goto tr1237;
st527:
if ( ++p == pe )
goto _test_eof527;
@@ -54816,63 +55818,120 @@ case 527:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1751;
- case 32: goto tr1751;
- case 40: goto tr1752;
- case 41: goto tr1753;
- case 3082: goto tr1754;
- case 3131: goto tr1755;
- case 3338: goto tr1756;
- case 3387: goto tr1756;
- case 3594: goto tr1757;
- case 3643: goto tr1758;
+ case 9: goto tr1739;
+ case 32: goto tr1739;
+ case 40: goto tr1740;
+ case 41: goto tr1741;
+ case 3082: goto tr1742;
+ case 3131: goto tr1743;
+ case 3338: goto tr1744;
+ case 3387: goto tr1744;
+ case 3594: goto tr1745;
+ case 3643: goto tr1746;
}
- goto tr1219;
+ goto tr1237;
st528:
if ( ++p == pe )
goto _test_eof528;
case 528:
switch( (*p) ) {
- case 79: goto st529;
- case 111: goto st529;
+ case 84: goto st529;
+ case 116: goto st529;
}
- goto tr1219;
+ goto tr1237;
st529:
if ( ++p == pe )
goto _test_eof529;
case 529:
- switch( (*p) ) {
- case 78: goto st530;
- case 110: goto st530;
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ switch( _widec ) {
+ case 9: goto tr1748;
+ case 32: goto tr1748;
+ case 40: goto tr1749;
+ case 41: goto tr1750;
+ case 3082: goto tr1751;
+ case 3131: goto tr1752;
+ case 3338: goto tr1753;
+ case 3387: goto tr1753;
+ case 3594: goto tr1754;
+ case 3643: goto tr1755;
}
- goto tr1219;
+ goto tr1237;
st530:
if ( ++p == pe )
goto _test_eof530;
case 530:
switch( (*p) ) {
- case 69: goto st531;
- case 101: goto st531;
+ case 80: goto st531;
+ case 112: goto st531;
}
- goto tr1219;
+ goto tr1237;
st531:
if ( ++p == pe )
goto _test_eof531;
case 531:
switch( (*p) ) {
- case 77: goto st532;
- case 109: goto st532;
+ case 69: goto st532;
+ case 101: goto st532;
}
- goto tr1219;
+ goto tr1237;
st532:
if ( ++p == pe )
goto _test_eof532;
case 532:
- switch( (*p) ) {
- case 68: goto st533;
- case 100: goto st533;
+ if ( 48 <= (*p) && (*p) <= 57 )
+ goto tr1758;
+ goto tr1237;
+tr1758:
+ {
+ s->number64 = 0;
+ }
+ {
+ // Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
+ if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
+ ((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
+ ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
+ )
+ ) {
+ s->number64 *= 10;
+ s->number64 += digit_to_num[(uint8_t)(*p)];
+ } else {
+ WARN(ZS_NUMBER64_OVERFLOW);
+ p--; {goto st316;}
+ }
}
- goto tr1219;
+ goto st533;
+tr1762:
+ {
+ // Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
+ if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
+ ((s->number64 == (UINT64_MAX / 10)) && // Marginal case.
+ ((uint8_t)(*p) <= (UINT64_MAX % 10) + '0')
+ )
+ ) {
+ s->number64 *= 10;
+ s->number64 += digit_to_num[(uint8_t)(*p)];
+ } else {
+ WARN(ZS_NUMBER64_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ goto st533;
st533:
if ( ++p == pe )
goto _test_eof533;
@@ -54894,49 +55953,42 @@ case 533:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1764;
- case 32: goto tr1764;
- case 40: goto tr1765;
- case 41: goto tr1766;
- case 3082: goto tr1767;
- case 3131: goto tr1768;
- case 3338: goto tr1769;
- case 3387: goto tr1769;
- case 3594: goto tr1770;
- case 3643: goto tr1771;
+ case 9: goto tr1759;
+ case 32: goto tr1759;
+ case 40: goto tr1760;
+ case 41: goto tr1761;
+ case 3082: goto tr1763;
+ case 3131: goto tr1764;
+ case 3338: goto tr1765;
+ case 3387: goto tr1765;
+ case 3594: goto tr1766;
+ case 3643: goto tr1767;
}
- goto tr1219;
+ if ( 48 <= _widec && _widec <= 57 )
+ goto tr1762;
+ goto tr1237;
st534:
if ( ++p == pe )
goto _test_eof534;
case 534:
switch( (*p) ) {
- case 83: goto st535;
- case 115: goto st535;
+ case 82: goto st535;
+ case 114: goto st535;
}
- goto tr1219;
+ goto tr1237;
st535:
if ( ++p == pe )
goto _test_eof535;
case 535:
switch( (*p) ) {
- case 68: goto st536;
- case 100: goto st536;
+ case 73: goto st536;
+ case 105: goto st536;
}
- goto tr1219;
+ goto tr1237;
st536:
if ( ++p == pe )
goto _test_eof536;
case 536:
- switch( (*p) ) {
- case 66: goto st537;
- case 98: goto st537;
- }
- goto tr1219;
-st537:
- if ( ++p == pe )
- goto _test_eof537;
-case 537:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -54954,18 +56006,27 @@ case 537:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1775;
- case 32: goto tr1775;
- case 40: goto tr1776;
- case 41: goto tr1777;
- case 3082: goto tr1778;
- case 3131: goto tr1779;
- case 3338: goto tr1780;
- case 3387: goto tr1780;
- case 3594: goto tr1781;
- case 3643: goto tr1782;
+ case 9: goto tr1770;
+ case 32: goto tr1770;
+ case 40: goto tr1771;
+ case 41: goto tr1772;
+ case 3082: goto tr1773;
+ case 3131: goto tr1774;
+ case 3338: goto tr1775;
+ case 3387: goto tr1775;
+ case 3594: goto tr1776;
+ case 3643: goto tr1777;
}
- goto tr1219;
+ goto tr1237;
+st537:
+ if ( ++p == pe )
+ goto _test_eof537;
+case 537:
+ switch( (*p) ) {
+ case 65: goto st538;
+ case 97: goto st538;
+ }
+ goto tr1237;
st538:
if ( ++p == pe )
goto _test_eof538;
@@ -54974,11 +56035,38 @@ case 538:
case 76: goto st539;
case 108: goto st539;
}
- goto tr1219;
+ goto tr1237;
st539:
if ( ++p == pe )
goto _test_eof539;
case 539:
+ switch( (*p) ) {
+ case 76: goto st540;
+ case 108: goto st540;
+ }
+ goto tr1237;
+st540:
+ if ( ++p == pe )
+ goto _test_eof540;
+case 540:
+ switch( (*p) ) {
+ case 69: goto st541;
+ case 101: goto st541;
+ }
+ goto tr1237;
+st541:
+ if ( ++p == pe )
+ goto _test_eof541;
+case 541:
+ switch( (*p) ) {
+ case 84: goto st542;
+ case 116: goto st542;
+ }
+ goto tr1237;
+st542:
+ if ( ++p == pe )
+ goto _test_eof542;
+case 542:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -54996,22 +56084,202 @@ case 539:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1784;
- case 32: goto tr1784;
- case 40: goto tr1785;
- case 41: goto tr1786;
- case 3082: goto tr1787;
- case 3131: goto tr1788;
- case 3338: goto tr1789;
- case 3387: goto tr1789;
- case 3594: goto tr1790;
- case 3643: goto tr1791;
+ case 9: goto tr1783;
+ case 32: goto tr1783;
+ case 40: goto tr1784;
+ case 41: goto tr1785;
+ case 3082: goto tr1786;
+ case 3131: goto tr1787;
+ case 3338: goto tr1788;
+ case 3387: goto tr1788;
+ case 3594: goto tr1789;
+ case 3643: goto tr1790;
}
- goto tr1219;
-st540:
+ goto tr1237;
+st543:
if ( ++p == pe )
- goto _test_eof540;
-case 540:
+ goto _test_eof543;
+case 543:
+ switch( (*p) ) {
+ case 79: goto st544;
+ case 111: goto st544;
+ }
+ goto tr1237;
+st544:
+ if ( ++p == pe )
+ goto _test_eof544;
+case 544:
+ switch( (*p) ) {
+ case 78: goto st545;
+ case 110: goto st545;
+ }
+ goto tr1237;
+st545:
+ if ( ++p == pe )
+ goto _test_eof545;
+case 545:
+ switch( (*p) ) {
+ case 69: goto st546;
+ case 101: goto st546;
+ }
+ goto tr1237;
+st546:
+ if ( ++p == pe )
+ goto _test_eof546;
+case 546:
+ switch( (*p) ) {
+ case 77: goto st547;
+ case 109: goto st547;
+ }
+ goto tr1237;
+st547:
+ if ( ++p == pe )
+ goto _test_eof547;
+case 547:
+ switch( (*p) ) {
+ case 68: goto st548;
+ case 100: goto st548;
+ }
+ goto tr1237;
+st548:
+ if ( ++p == pe )
+ goto _test_eof548;
+case 548:
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ switch( _widec ) {
+ case 9: goto tr1796;
+ case 32: goto tr1796;
+ case 40: goto tr1797;
+ case 41: goto tr1798;
+ case 3082: goto tr1799;
+ case 3131: goto tr1800;
+ case 3338: goto tr1801;
+ case 3387: goto tr1801;
+ case 3594: goto tr1802;
+ case 3643: goto tr1803;
+ }
+ goto tr1237;
+st549:
+ if ( ++p == pe )
+ goto _test_eof549;
+case 549:
+ switch( (*p) ) {
+ case 83: goto st550;
+ case 115: goto st550;
+ }
+ goto tr1237;
+st550:
+ if ( ++p == pe )
+ goto _test_eof550;
+case 550:
+ switch( (*p) ) {
+ case 68: goto st551;
+ case 100: goto st551;
+ }
+ goto tr1237;
+st551:
+ if ( ++p == pe )
+ goto _test_eof551;
+case 551:
+ switch( (*p) ) {
+ case 66: goto st552;
+ case 98: goto st552;
+ }
+ goto tr1237;
+st552:
+ if ( ++p == pe )
+ goto _test_eof552;
+case 552:
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ switch( _widec ) {
+ case 9: goto tr1807;
+ case 32: goto tr1807;
+ case 40: goto tr1808;
+ case 41: goto tr1809;
+ case 3082: goto tr1810;
+ case 3131: goto tr1811;
+ case 3338: goto tr1812;
+ case 3387: goto tr1812;
+ case 3594: goto tr1813;
+ case 3643: goto tr1814;
+ }
+ goto tr1237;
+st553:
+ if ( ++p == pe )
+ goto _test_eof553;
+case 553:
+ switch( (*p) ) {
+ case 76: goto st554;
+ case 108: goto st554;
+ }
+ goto tr1237;
+st554:
+ if ( ++p == pe )
+ goto _test_eof554;
+case 554:
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ switch( _widec ) {
+ case 9: goto tr1816;
+ case 32: goto tr1816;
+ case 40: goto tr1817;
+ case 41: goto tr1818;
+ case 3082: goto tr1819;
+ case 3131: goto tr1820;
+ case 3338: goto tr1821;
+ case 3387: goto tr1821;
+ case 3594: goto tr1822;
+ case 3643: goto tr1823;
+ }
+ goto tr1237;
+st555:
+ if ( ++p == pe )
+ goto _test_eof555;
+case 555:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -55025,38 +56293,38 @@ case 540:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st541;
- case 32: goto st541;
- case 40: goto tr1794;
- case 41: goto tr1795;
- case 2058: goto tr1796;
- case 2107: goto tr1797;
+ case 9: goto st556;
+ case 32: goto st556;
+ case 40: goto tr1826;
+ case 41: goto tr1827;
+ case 2058: goto tr1828;
+ case 2107: goto tr1829;
}
- goto tr1792;
-tr1794:
+ goto tr1824;
+tr1826:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st541;
-tr1795:
+ goto st556;
+tr1827:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st541;
-tr1796:
+ goto st556;
+tr1828:
{
s->line_counter++;
}
- goto st541;
-tr1827:
+ goto st556;
+tr1859:
{
s->buffer[s->buffer_length++] = 0;
@@ -55066,18 +56334,18 @@ tr1827:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 541; goto _out;}
+ {p++; cs = 556; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st541;
-st541:
+ goto st556;
+st556:
if ( ++p == pe )
- goto _test_eof541;
-case 541:
+ goto _test_eof556;
+case 556:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -55091,17 +56359,17 @@ case 541:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st541;
- case 32: goto st541;
- case 40: goto tr1794;
- case 41: goto tr1795;
- case 2058: goto tr1796;
- case 2107: goto tr1797;
+ case 9: goto st556;
+ case 32: goto st556;
+ case 40: goto tr1826;
+ case 41: goto tr1827;
+ case 2058: goto tr1828;
+ case 2107: goto tr1829;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr1799;
- goto tr1798;
-tr1799:
+ goto tr1831;
+ goto tr1830;
+tr1831:
{
s->number64 = 0;
}
@@ -55116,11 +56384,11 @@ tr1799:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st542;
-tr1803:
+ goto st557;
+tr1835:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -55132,14 +56400,14 @@ tr1803:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st542;
-st542:
+ goto st557;
+st557:
if ( ++p == pe )
- goto _test_eof542;
-case 542:
+ goto _test_eof557;
+case 557:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -55153,40 +56421,40 @@ case 542:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr1800;
- case 32: goto tr1800;
- case 40: goto tr1801;
- case 41: goto tr1802;
- case 2058: goto tr1804;
- case 2107: goto tr1805;
+ case 9: goto tr1832;
+ case 32: goto tr1832;
+ case 40: goto tr1833;
+ case 41: goto tr1834;
+ case 2058: goto tr1836;
+ case 2107: goto tr1837;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr1803;
- goto tr1798;
-tr1808:
+ goto tr1835;
+ goto tr1830;
+tr1840:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st543;
-tr1809:
+ goto st558;
+tr1841:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st543;
-tr1811:
+ goto st558;
+tr1843:
{
s->line_counter++;
}
- goto st543;
-tr1825:
+ goto st558;
+tr1857:
{
s->buffer[s->buffer_length++] = 0;
@@ -55196,75 +56464,75 @@ tr1825:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 543; goto _out;}
+ {p++; cs = 558; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st543;
-tr1800:
+ goto st558;
+tr1832:
{
if (s->number64 <= UINT16_MAX) {
s->r_data_length = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st543;
-tr1801:
+ goto st558;
+tr1833:
{
if (s->number64 <= UINT16_MAX) {
s->r_data_length = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st543;
-tr1802:
+ goto st558;
+tr1834:
{
if (s->number64 <= UINT16_MAX) {
s->r_data_length = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st543;
-tr1804:
+ goto st558;
+tr1836:
{
if (s->number64 <= UINT16_MAX) {
s->r_data_length = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st543;
-st543:
+ goto st558;
+st558:
if ( ++p == pe )
- goto _test_eof543;
-case 543:
+ goto _test_eof558;
+case 558:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -55278,69 +56546,69 @@ case 543:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st543;
- case 32: goto st543;
- case 40: goto tr1808;
- case 41: goto tr1809;
- case 2058: goto tr1811;
- case 2107: goto tr1812;
+ case 9: goto st558;
+ case 32: goto st558;
+ case 40: goto tr1840;
+ case 41: goto tr1841;
+ case 2058: goto tr1843;
+ case 2107: goto tr1844;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr1810;
+ goto tr1842;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr1810;
+ goto tr1842;
} else
- goto tr1810;
- goto tr1806;
-tr1810:
+ goto tr1842;
+ goto tr1838;
+tr1842:
{
if (rdata_tail <= rdata_stop) {
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st544;
-st544:
+ goto st559;
+st559:
if ( ++p == pe )
- goto _test_eof544;
-case 544:
+ goto _test_eof559;
+case 559:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1813;
+ goto tr1845;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr1813;
+ goto tr1845;
} else
- goto tr1813;
- goto tr1806;
-tr1815:
+ goto tr1845;
+ goto tr1838;
+tr1847:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st545;
-tr1816:
+ goto st560;
+tr1848:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st545;
-tr1817:
+ goto st560;
+tr1849:
{
s->line_counter++;
}
- goto st545;
-tr1823:
+ goto st560;
+tr1855:
{
s->buffer[s->buffer_length++] = 0;
@@ -55350,24 +56618,24 @@ tr1823:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 545; goto _out;}
+ {p++; cs = 560; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st545;
-tr1813:
+ goto st560;
+tr1845:
{
*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
rdata_tail++;
}
- goto st545;
-st545:
+ goto st560;
+st560:
if ( ++p == pe )
- goto _test_eof545;
-case 545:
+ goto _test_eof560;
+case 560:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -55385,42 +56653,42 @@ case 545:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st545;
- case 32: goto st545;
- case 40: goto tr1815;
- case 41: goto tr1816;
- case 3082: goto tr1817;
- case 3131: goto tr1818;
- case 3338: goto tr1819;
- case 3387: goto tr1819;
- case 3594: goto tr1820;
- case 3643: goto tr1821;
+ case 9: goto st560;
+ case 32: goto st560;
+ case 40: goto tr1847;
+ case 41: goto tr1848;
+ case 3082: goto tr1849;
+ case 3131: goto tr1850;
+ case 3338: goto tr1851;
+ case 3387: goto tr1851;
+ case 3594: goto tr1852;
+ case 3643: goto tr1853;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr1810;
+ goto tr1842;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr1810;
+ goto tr1842;
} else
- goto tr1810;
- goto tr1806;
-tr1818:
+ goto tr1842;
+ goto tr1838;
+tr1850:
{
s->buffer_length = 0;
}
- goto st546;
-tr1822:
+ goto st561;
+tr1854:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st546;
-st546:
+ goto st561;
+st561:
if ( ++p == pe )
- goto _test_eof546;
-case 546:
+ goto _test_eof561;
+case 561:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -55440,44 +56708,44 @@ case 546:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1823;
+ goto tr1855;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1822;
- goto tr1806;
-tr1819:
+ goto tr1854;
+ goto tr1838;
+tr1851:
{
if ((rdata_tail - s->r_data) != s->r_data_length) {
WARN(ZS_BAD_RDATA_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1421;
-st1421:
+ goto st1469;
+st1469:
if ( ++p == pe )
- goto _test_eof1421;
-case 1421:
+ goto _test_eof1469;
+case 1469:
goto st0;
-tr1820:
+tr1852:
{
s->line_counter++;
}
{
if ((rdata_tail - s->r_data) != s->r_data_length) {
WARN(ZS_BAD_RDATA_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1422;
-st1422:
+ goto st1470;
+st1470:
if ( ++p == pe )
- goto _test_eof1422;
-case 1422:
+ goto _test_eof1470;
+case 1470:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -55495,44 +56763,44 @@ case 1422:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st545;
- case 32: goto st545;
- case 40: goto tr1815;
- case 41: goto tr1816;
- case 3082: goto tr1817;
- case 3131: goto tr1818;
- case 3338: goto tr1819;
- case 3387: goto tr1819;
- case 3594: goto tr1820;
- case 3643: goto tr1821;
+ case 9: goto st560;
+ case 32: goto st560;
+ case 40: goto tr1847;
+ case 41: goto tr1848;
+ case 3082: goto tr1849;
+ case 3131: goto tr1850;
+ case 3338: goto tr1851;
+ case 3387: goto tr1851;
+ case 3594: goto tr1852;
+ case 3643: goto tr1853;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr1810;
+ goto tr1842;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr1810;
+ goto tr1842;
} else
- goto tr1810;
- goto tr1806;
-tr1821:
+ goto tr1842;
+ goto tr1838;
+tr1853:
{
s->buffer_length = 0;
}
{
if ((rdata_tail - s->r_data) != s->r_data_length) {
WARN(ZS_BAD_RDATA_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1423;
-st1423:
+ goto st1471;
+st1471:
if ( ++p == pe )
- goto _test_eof1423;
-case 1423:
+ goto _test_eof1471;
+case 1471:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -55552,39 +56820,39 @@ case 1423:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1823;
+ goto tr1855;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1822;
- goto tr1806;
-tr1812:
+ goto tr1854;
+ goto tr1838;
+tr1844:
{
s->buffer_length = 0;
}
- goto st547;
-tr1824:
+ goto st562;
+tr1856:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st547;
-tr1805:
+ goto st562;
+tr1837:
{
if (s->number64 <= UINT16_MAX) {
s->r_data_length = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st547;
-st547:
+ goto st562;
+st562:
if ( ++p == pe )
- goto _test_eof547;
-case 547:
+ goto _test_eof562;
+case 562:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -55604,26 +56872,26 @@ case 547:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1825;
+ goto tr1857;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1824;
- goto tr1792;
-tr1797:
+ goto tr1856;
+ goto tr1824;
+tr1829:
{
s->buffer_length = 0;
}
- goto st548;
-tr1826:
+ goto st563;
+tr1858:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st548;
-st548:
+ goto st563;
+st563:
if ( ++p == pe )
- goto _test_eof548;
-case 548:
+ goto _test_eof563;
+case 563:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -55643,14 +56911,14 @@ case 548:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1827;
+ goto tr1859;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1826;
- goto tr1792;
-st549:
+ goto tr1858;
+ goto tr1824;
+st564:
if ( ++p == pe )
- goto _test_eof549;
-case 549:
+ goto _test_eof564;
+case 564:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -55664,38 +56932,38 @@ case 549:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st550;
- case 32: goto st550;
- case 40: goto tr1829;
- case 41: goto tr1830;
- case 2058: goto tr1831;
- case 2107: goto tr1832;
+ case 9: goto st565;
+ case 32: goto st565;
+ case 40: goto tr1861;
+ case 41: goto tr1862;
+ case 2058: goto tr1863;
+ case 2107: goto tr1864;
}
- goto tr1792;
-tr1829:
+ goto tr1824;
+tr1861:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st550;
-tr1830:
+ goto st565;
+tr1862:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st550;
-tr1831:
+ goto st565;
+tr1863:
{
s->line_counter++;
}
- goto st550;
-tr1867:
+ goto st565;
+tr1899:
{
s->buffer[s->buffer_length++] = 0;
@@ -55705,18 +56973,18 @@ tr1867:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 550; goto _out;}
+ {p++; cs = 565; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st550;
-st550:
+ goto st565;
+st565:
if ( ++p == pe )
- goto _test_eof550;
-case 550:
+ goto _test_eof565;
+case 565:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -55730,18 +56998,18 @@ case 550:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st550;
- case 32: goto st550;
- case 40: goto tr1829;
- case 41: goto tr1830;
- case 48: goto tr1833;
- case 2058: goto tr1831;
- case 2107: goto tr1832;
+ case 9: goto st565;
+ case 32: goto st565;
+ case 40: goto tr1861;
+ case 41: goto tr1862;
+ case 48: goto tr1865;
+ case 2058: goto tr1863;
+ case 2107: goto tr1864;
}
if ( 49 <= _widec && _widec <= 57 )
- goto tr1834;
- goto tr1798;
-tr1833:
+ goto tr1866;
+ goto tr1830;
+tr1865:
{
s->number64 = 0;
}
@@ -55756,14 +57024,14 @@ tr1833:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st551;
-st551:
+ goto st566;
+st566:
if ( ++p == pe )
- goto _test_eof551;
-case 551:
+ goto _test_eof566;
+case 566:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -55777,19 +57045,19 @@ case 551:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr1835;
- case 32: goto tr1835;
- case 40: goto tr1836;
- case 41: goto tr1837;
- case 1802: goto tr1839;
- case 1851: goto tr1839;
- case 2058: goto tr1840;
- case 2107: goto tr1841;
+ case 9: goto tr1867;
+ case 32: goto tr1867;
+ case 40: goto tr1868;
+ case 41: goto tr1869;
+ case 1802: goto tr1871;
+ case 1851: goto tr1871;
+ case 2058: goto tr1872;
+ case 2107: goto tr1873;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr1838;
- goto tr1798;
-tr1835:
+ goto tr1870;
+ goto tr1830;
+tr1867:
{
p--; {cs = stack[--top];goto _again;}
}
@@ -55798,11 +57066,11 @@ tr1835:
s->r_data_length = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1424;
-tr1836:
+ goto st1472;
+tr1868:
{
p--; {cs = stack[--top];goto _again;}
}
@@ -55811,18 +57079,18 @@ tr1836:
s->r_data_length = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1424;
-tr1837:
+ goto st1472;
+tr1869:
{
p--; {cs = stack[--top];goto _again;}
}
@@ -55831,18 +57099,18 @@ tr1837:
s->r_data_length = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1424;
-tr1840:
+ goto st1472;
+tr1872:
{
p--; {cs = stack[--top];goto _again;}
}
@@ -55851,17 +57119,17 @@ tr1840:
s->r_data_length = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1424;
-st1424:
+ goto st1472;
+st1472:
if ( ++p == pe )
- goto _test_eof1424;
-case 1424:
+ goto _test_eof1472;
+case 1472:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -55875,46 +57143,46 @@ case 1424:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st552;
- case 32: goto st552;
- case 40: goto tr1843;
- case 41: goto tr1844;
- case 2058: goto tr1846;
- case 2107: goto tr1847;
+ case 9: goto st567;
+ case 32: goto st567;
+ case 40: goto tr1875;
+ case 41: goto tr1876;
+ case 2058: goto tr1878;
+ case 2107: goto tr1879;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr1845;
+ goto tr1877;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr1845;
+ goto tr1877;
} else
- goto tr1845;
- goto tr1806;
-tr1843:
+ goto tr1877;
+ goto tr1838;
+tr1875:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st552;
-tr1844:
+ goto st567;
+tr1876:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st552;
-tr1846:
+ goto st567;
+tr1878:
{
s->line_counter++;
}
- goto st552;
-tr1860:
+ goto st567;
+tr1892:
{
s->buffer[s->buffer_length++] = 0;
@@ -55924,75 +57192,75 @@ tr1860:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 552; goto _out;}
+ {p++; cs = 567; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st552;
-tr1861:
+ goto st567;
+tr1893:
{
if (s->number64 <= UINT16_MAX) {
s->r_data_length = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st552;
-tr1862:
+ goto st567;
+tr1894:
{
if (s->number64 <= UINT16_MAX) {
s->r_data_length = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st552;
-tr1863:
+ goto st567;
+tr1895:
{
if (s->number64 <= UINT16_MAX) {
s->r_data_length = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st552;
-tr1864:
+ goto st567;
+tr1896:
{
if (s->number64 <= UINT16_MAX) {
s->r_data_length = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st552;
-st552:
+ goto st567;
+st567:
if ( ++p == pe )
- goto _test_eof552;
-case 552:
+ goto _test_eof567;
+case 567:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -56006,69 +57274,69 @@ case 552:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st552;
- case 32: goto st552;
- case 40: goto tr1843;
- case 41: goto tr1844;
- case 2058: goto tr1846;
- case 2107: goto tr1847;
+ case 9: goto st567;
+ case 32: goto st567;
+ case 40: goto tr1875;
+ case 41: goto tr1876;
+ case 2058: goto tr1878;
+ case 2107: goto tr1879;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr1845;
+ goto tr1877;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr1845;
+ goto tr1877;
} else
- goto tr1845;
- goto tr1806;
-tr1845:
+ goto tr1877;
+ goto tr1838;
+tr1877:
{
if (rdata_tail <= rdata_stop) {
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st553;
-st553:
+ goto st568;
+st568:
if ( ++p == pe )
- goto _test_eof553;
-case 553:
+ goto _test_eof568;
+case 568:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1848;
+ goto tr1880;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr1848;
+ goto tr1880;
} else
- goto tr1848;
- goto tr1806;
-tr1850:
+ goto tr1880;
+ goto tr1838;
+tr1882:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st554;
-tr1851:
+ goto st569;
+tr1883:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st554;
-tr1852:
+ goto st569;
+tr1884:
{
s->line_counter++;
}
- goto st554;
-tr1858:
+ goto st569;
+tr1890:
{
s->buffer[s->buffer_length++] = 0;
@@ -56078,24 +57346,24 @@ tr1858:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 554; goto _out;}
+ {p++; cs = 569; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st554;
-tr1848:
+ goto st569;
+tr1880:
{
*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
rdata_tail++;
}
- goto st554;
-st554:
+ goto st569;
+st569:
if ( ++p == pe )
- goto _test_eof554;
-case 554:
+ goto _test_eof569;
+case 569:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -56113,42 +57381,42 @@ case 554:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st554;
- case 32: goto st554;
- case 40: goto tr1850;
- case 41: goto tr1851;
- case 3082: goto tr1852;
- case 3131: goto tr1853;
- case 3338: goto tr1854;
- case 3387: goto tr1854;
- case 3594: goto tr1855;
- case 3643: goto tr1856;
+ case 9: goto st569;
+ case 32: goto st569;
+ case 40: goto tr1882;
+ case 41: goto tr1883;
+ case 3082: goto tr1884;
+ case 3131: goto tr1885;
+ case 3338: goto tr1886;
+ case 3387: goto tr1886;
+ case 3594: goto tr1887;
+ case 3643: goto tr1888;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr1845;
+ goto tr1877;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr1845;
+ goto tr1877;
} else
- goto tr1845;
- goto tr1806;
-tr1853:
+ goto tr1877;
+ goto tr1838;
+tr1885:
{
s->buffer_length = 0;
}
- goto st555;
-tr1857:
+ goto st570;
+tr1889:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st555;
-st555:
+ goto st570;
+st570:
if ( ++p == pe )
- goto _test_eof555;
-case 555:
+ goto _test_eof570;
+case 570:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -56168,49 +57436,49 @@ case 555:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1858;
+ goto tr1890;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1857;
- goto tr1806;
-tr1839:
+ goto tr1889;
+ goto tr1838;
+tr1871:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1425;
-tr1854:
+ goto st1473;
+tr1886:
{
if ((rdata_tail - s->r_data) != s->r_data_length) {
WARN(ZS_BAD_RDATA_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1425;
-st1425:
+ goto st1473;
+st1473:
if ( ++p == pe )
- goto _test_eof1425;
-case 1425:
- goto tr1792;
-tr1855:
+ goto _test_eof1473;
+case 1473:
+ goto tr1824;
+tr1887:
{
s->line_counter++;
}
{
if ((rdata_tail - s->r_data) != s->r_data_length) {
WARN(ZS_BAD_RDATA_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1426;
-st1426:
+ goto st1474;
+st1474:
if ( ++p == pe )
- goto _test_eof1426;
-case 1426:
+ goto _test_eof1474;
+case 1474:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -56228,44 +57496,44 @@ case 1426:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st554;
- case 32: goto st554;
- case 40: goto tr1850;
- case 41: goto tr1851;
- case 3082: goto tr1852;
- case 3131: goto tr1853;
- case 3338: goto tr1854;
- case 3387: goto tr1854;
- case 3594: goto tr1855;
- case 3643: goto tr1856;
+ case 9: goto st569;
+ case 32: goto st569;
+ case 40: goto tr1882;
+ case 41: goto tr1883;
+ case 3082: goto tr1884;
+ case 3131: goto tr1885;
+ case 3338: goto tr1886;
+ case 3387: goto tr1886;
+ case 3594: goto tr1887;
+ case 3643: goto tr1888;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr1845;
+ goto tr1877;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr1845;
+ goto tr1877;
} else
- goto tr1845;
- goto tr1806;
-tr1856:
+ goto tr1877;
+ goto tr1838;
+tr1888:
{
s->buffer_length = 0;
}
{
if ((rdata_tail - s->r_data) != s->r_data_length) {
WARN(ZS_BAD_RDATA_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1427;
-st1427:
+ goto st1475;
+st1475:
if ( ++p == pe )
- goto _test_eof1427;
-case 1427:
+ goto _test_eof1475;
+case 1475:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -56285,39 +57553,39 @@ case 1427:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1858;
+ goto tr1890;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1857;
- goto tr1806;
-tr1847:
+ goto tr1889;
+ goto tr1838;
+tr1879:
{
s->buffer_length = 0;
}
- goto st556;
-tr1859:
+ goto st571;
+tr1891:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st556;
-tr1865:
+ goto st571;
+tr1897:
{
if (s->number64 <= UINT16_MAX) {
s->r_data_length = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st556;
-st556:
+ goto st571;
+st571:
if ( ++p == pe )
- goto _test_eof556;
-case 556:
+ goto _test_eof571;
+case 571:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -56337,11 +57605,11 @@ case 556:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1860;
+ goto tr1892;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1859;
- goto tr1792;
-tr1834:
+ goto tr1891;
+ goto tr1824;
+tr1866:
{
s->number64 = 0;
}
@@ -56356,11 +57624,11 @@ tr1834:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st557;
-tr1838:
+ goto st572;
+tr1870:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -56372,14 +57640,14 @@ tr1838:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st557;
-st557:
+ goto st572;
+st572:
if ( ++p == pe )
- goto _test_eof557;
-case 557:
+ goto _test_eof572;
+case 572:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -56393,17 +57661,17 @@ case 557:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr1861;
- case 32: goto tr1861;
- case 40: goto tr1862;
- case 41: goto tr1863;
- case 2058: goto tr1864;
- case 2107: goto tr1865;
+ case 9: goto tr1893;
+ case 32: goto tr1893;
+ case 40: goto tr1894;
+ case 41: goto tr1895;
+ case 2058: goto tr1896;
+ case 2107: goto tr1897;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr1838;
- goto tr1798;
-tr1841:
+ goto tr1870;
+ goto tr1830;
+tr1873:
{
p--; {cs = stack[--top];goto _again;}
}
@@ -56412,17 +57680,17 @@ tr1841:
s->r_data_length = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1428;
-st1428:
+ goto st1476;
+st1476:
if ( ++p == pe )
- goto _test_eof1428;
-case 1428:
+ goto _test_eof1476;
+case 1476:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -56442,26 +57710,26 @@ case 1428:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1860;
+ goto tr1892;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1859;
- goto tr1792;
-tr1832:
+ goto tr1891;
+ goto tr1824;
+tr1864:
{
s->buffer_length = 0;
}
- goto st558;
-tr1866:
+ goto st573;
+tr1898:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st558;
-st558:
+ goto st573;
+st573:
if ( ++p == pe )
- goto _test_eof558;
-case 558:
+ goto _test_eof573;
+case 573:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -56481,69 +57749,71 @@ case 558:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1867;
+ goto tr1899;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1866;
- goto tr1792;
-st559:
+ goto tr1898;
+ goto tr1824;
+st574:
if ( ++p == pe )
- goto _test_eof559;
-case 559:
+ goto _test_eof574;
+case 574:
switch( (*p) ) {
- case 97: goto tr1869;
- case 101: goto tr1870;
- case 105: goto tr1871;
- case 107: goto tr1872;
- case 110: goto tr1873;
- case 112: goto tr1874;
+ case 97: goto tr1901;
+ case 100: goto tr1902;
+ case 101: goto tr1903;
+ case 105: goto tr1904;
+ case 107: goto tr1905;
+ case 110: goto tr1906;
+ case 111: goto tr1907;
+ case 112: goto tr1908;
}
- goto tr1868;
-tr1869:
+ goto tr1900;
+tr1901:
{
if (rdata_tail + 2 > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st560;
-st560:
+ goto st575;
+st575:
if ( ++p == pe )
- goto _test_eof560;
-case 560:
+ goto _test_eof575;
+case 575:
if ( (*p) == 108 )
- goto st561;
- goto tr1868;
-st561:
+ goto st576;
+ goto tr1900;
+st576:
if ( ++p == pe )
- goto _test_eof561;
-case 561:
+ goto _test_eof576;
+case 576:
if ( (*p) == 112 )
- goto st562;
- goto tr1868;
-st562:
+ goto st577;
+ goto tr1900;
+st577:
if ( ++p == pe )
- goto _test_eof562;
-case 562:
+ goto _test_eof577;
+case 577:
if ( (*p) == 110 )
- goto st563;
- goto tr1868;
-st563:
+ goto st578;
+ goto tr1900;
+st578:
if ( ++p == pe )
- goto _test_eof563;
-case 563:
+ goto _test_eof578;
+case 578:
switch( (*p) ) {
- case 32: goto tr1878;
- case 34: goto tr1878;
- case 44: goto tr1878;
- case 59: goto tr1878;
+ case 32: goto tr1912;
+ case 34: goto tr1912;
+ case 44: goto tr1912;
+ case 59: goto tr1912;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr1878;
+ goto tr1912;
} else if ( (*p) >= 9 )
- goto tr1878;
- goto tr1868;
-tr1878:
+ goto tr1912;
+ goto tr1900;
+tr1912:
{
uint16_t val = htons(1);
memcpy(rdata_tail, &val, 2);
@@ -56552,8 +57822,18 @@ tr1878:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1429;
-tr1881:
+ goto st1477;
+tr1919:
+ {
+ uint16_t val = htons(7);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ p--; {cs = stack[--top];goto _again;}
+ }
+ goto st1477;
+tr1922:
{
uint16_t val = htons(5);
memcpy(rdata_tail, &val, 2);
@@ -56562,8 +57842,8 @@ tr1881:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1429;
-tr1890:
+ goto st1477;
+tr1931:
{
uint16_t val = htons(4);
memcpy(rdata_tail, &val, 2);
@@ -56572,8 +57852,8 @@ tr1890:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1429;
-tr1895:
+ goto st1477;
+tr1936:
{
uint16_t val = htons(6);
memcpy(rdata_tail, &val, 2);
@@ -56582,8 +57862,8 @@ tr1895:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1429;
-tr1900:
+ goto st1477;
+tr1941:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -56591,14 +57871,14 @@ tr1900:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1429;
-tr1916:
+ goto st1477;
+tr1957:
{
uint16_t val = htons(2);
memcpy(rdata_tail, &val, 2);
@@ -56607,8 +57887,18 @@ tr1916:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1429;
-tr1920:
+ goto st1477;
+tr1962:
+ {
+ uint16_t val = htons(8);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ p--; {cs = stack[--top];goto _again;}
+ }
+ goto st1477;
+tr1966:
{
uint16_t val = htons(3);
memcpy(rdata_tail, &val, 2);
@@ -56617,199 +57907,265 @@ tr1920:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1429;
-st1429:
+ goto st1477;
+st1477:
if ( ++p == pe )
- goto _test_eof1429;
-case 1429:
+ goto _test_eof1477;
+case 1477:
goto st0;
-tr1870:
+tr1902:
{
if (rdata_tail + 2 > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st564;
-st564:
+ goto st579;
+st579:
if ( ++p == pe )
- goto _test_eof564;
-case 564:
+ goto _test_eof579;
+case 579:
+ if ( (*p) == 111 )
+ goto st580;
+ goto tr1900;
+st580:
+ if ( ++p == pe )
+ goto _test_eof580;
+case 580:
+ if ( (*p) == 104 )
+ goto st581;
+ goto tr1900;
+st581:
+ if ( ++p == pe )
+ goto _test_eof581;
+case 581:
+ if ( (*p) == 112 )
+ goto st582;
+ goto tr1900;
+st582:
+ if ( ++p == pe )
+ goto _test_eof582;
+case 582:
+ if ( (*p) == 97 )
+ goto st583;
+ goto tr1900;
+st583:
+ if ( ++p == pe )
+ goto _test_eof583;
+case 583:
+ if ( (*p) == 116 )
+ goto st584;
+ goto tr1900;
+st584:
+ if ( ++p == pe )
+ goto _test_eof584;
+case 584:
+ if ( (*p) == 104 )
+ goto st585;
+ goto tr1900;
+st585:
+ if ( ++p == pe )
+ goto _test_eof585;
+case 585:
+ switch( (*p) ) {
+ case 32: goto tr1919;
+ case 34: goto tr1919;
+ case 44: goto tr1919;
+ case 59: goto tr1919;
+ }
+ if ( (*p) > 10 ) {
+ if ( 40 <= (*p) && (*p) <= 41 )
+ goto tr1919;
+ } else if ( (*p) >= 9 )
+ goto tr1919;
+ goto tr1900;
+tr1903:
+ {
+ if (rdata_tail + 2 > rdata_stop + 1) {
+ WARN(ZS_RDATA_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ goto st586;
+st586:
+ if ( ++p == pe )
+ goto _test_eof586;
+case 586:
if ( (*p) == 99 )
- goto st565;
- goto tr1868;
-st565:
+ goto st587;
+ goto tr1900;
+st587:
if ( ++p == pe )
- goto _test_eof565;
-case 565:
+ goto _test_eof587;
+case 587:
if ( (*p) == 104 )
- goto st566;
- goto tr1868;
-st566:
+ goto st588;
+ goto tr1900;
+st588:
if ( ++p == pe )
- goto _test_eof566;
-case 566:
+ goto _test_eof588;
+case 588:
switch( (*p) ) {
- case 32: goto tr1881;
- case 34: goto tr1881;
- case 44: goto tr1881;
- case 59: goto tr1881;
+ case 32: goto tr1922;
+ case 34: goto tr1922;
+ case 44: goto tr1922;
+ case 59: goto tr1922;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr1881;
+ goto tr1922;
} else if ( (*p) >= 9 )
- goto tr1881;
- goto tr1868;
-tr1871:
+ goto tr1922;
+ goto tr1900;
+tr1904:
{
if (rdata_tail + 2 > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st567;
-st567:
+ goto st589;
+st589:
if ( ++p == pe )
- goto _test_eof567;
-case 567:
+ goto _test_eof589;
+case 589:
if ( (*p) == 112 )
- goto st568;
- goto tr1868;
-st568:
+ goto st590;
+ goto tr1900;
+st590:
if ( ++p == pe )
- goto _test_eof568;
-case 568:
+ goto _test_eof590;
+case 590:
if ( (*p) == 118 )
- goto st569;
- goto tr1868;
-st569:
+ goto st591;
+ goto tr1900;
+st591:
if ( ++p == pe )
- goto _test_eof569;
-case 569:
+ goto _test_eof591;
+case 591:
switch( (*p) ) {
- case 52: goto st570;
- case 54: goto st575;
+ case 52: goto st592;
+ case 54: goto st597;
}
- goto tr1868;
-st570:
+ goto tr1900;
+st592:
if ( ++p == pe )
- goto _test_eof570;
-case 570:
+ goto _test_eof592;
+case 592:
if ( (*p) == 104 )
- goto st571;
- goto tr1868;
-st571:
+ goto st593;
+ goto tr1900;
+st593:
if ( ++p == pe )
- goto _test_eof571;
-case 571:
+ goto _test_eof593;
+case 593:
if ( (*p) == 105 )
- goto st572;
- goto tr1868;
-st572:
+ goto st594;
+ goto tr1900;
+st594:
if ( ++p == pe )
- goto _test_eof572;
-case 572:
+ goto _test_eof594;
+case 594:
if ( (*p) == 110 )
- goto st573;
- goto tr1868;
-st573:
+ goto st595;
+ goto tr1900;
+st595:
if ( ++p == pe )
- goto _test_eof573;
-case 573:
+ goto _test_eof595;
+case 595:
if ( (*p) == 116 )
- goto st574;
- goto tr1868;
-st574:
+ goto st596;
+ goto tr1900;
+st596:
if ( ++p == pe )
- goto _test_eof574;
-case 574:
+ goto _test_eof596;
+case 596:
switch( (*p) ) {
- case 32: goto tr1890;
- case 34: goto tr1890;
- case 44: goto tr1890;
- case 59: goto tr1890;
+ case 32: goto tr1931;
+ case 34: goto tr1931;
+ case 44: goto tr1931;
+ case 59: goto tr1931;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr1890;
+ goto tr1931;
} else if ( (*p) >= 9 )
- goto tr1890;
- goto tr1868;
-st575:
+ goto tr1931;
+ goto tr1900;
+st597:
if ( ++p == pe )
- goto _test_eof575;
-case 575:
+ goto _test_eof597;
+case 597:
if ( (*p) == 104 )
- goto st576;
- goto tr1868;
-st576:
+ goto st598;
+ goto tr1900;
+st598:
if ( ++p == pe )
- goto _test_eof576;
-case 576:
+ goto _test_eof598;
+case 598:
if ( (*p) == 105 )
- goto st577;
- goto tr1868;
-st577:
+ goto st599;
+ goto tr1900;
+st599:
if ( ++p == pe )
- goto _test_eof577;
-case 577:
+ goto _test_eof599;
+case 599:
if ( (*p) == 110 )
- goto st578;
- goto tr1868;
-st578:
+ goto st600;
+ goto tr1900;
+st600:
if ( ++p == pe )
- goto _test_eof578;
-case 578:
+ goto _test_eof600;
+case 600:
if ( (*p) == 116 )
- goto st579;
- goto tr1868;
-st579:
+ goto st601;
+ goto tr1900;
+st601:
if ( ++p == pe )
- goto _test_eof579;
-case 579:
+ goto _test_eof601;
+case 601:
switch( (*p) ) {
- case 32: goto tr1895;
- case 34: goto tr1895;
- case 44: goto tr1895;
- case 59: goto tr1895;
+ case 32: goto tr1936;
+ case 34: goto tr1936;
+ case 44: goto tr1936;
+ case 59: goto tr1936;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr1895;
+ goto tr1936;
} else if ( (*p) >= 9 )
- goto tr1895;
- goto tr1868;
-tr1872:
+ goto tr1936;
+ goto tr1900;
+tr1905:
{
if (rdata_tail + 2 > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st580;
-st580:
+ goto st602;
+st602:
if ( ++p == pe )
- goto _test_eof580;
-case 580:
+ goto _test_eof602;
+case 602:
if ( (*p) == 101 )
- goto st581;
- goto tr1868;
-st581:
+ goto st603;
+ goto tr1900;
+st603:
if ( ++p == pe )
- goto _test_eof581;
-case 581:
+ goto _test_eof603;
+case 603:
if ( (*p) == 121 )
- goto st582;
- goto tr1868;
-st582:
+ goto st604;
+ goto tr1900;
+st604:
if ( ++p == pe )
- goto _test_eof582;
-case 582:
+ goto _test_eof604;
+case 604:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1899;
- goto tr1898;
-tr1899:
+ goto tr1940;
+ goto tr1939;
+tr1940:
{
s->number64 = 0;
}
@@ -56824,11 +58180,11 @@ tr1899:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st583;
-tr1901:
+ goto st605;
+tr1942:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -56840,200 +58196,252 @@ tr1901:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st583;
-st583:
+ goto st605;
+st605:
if ( ++p == pe )
- goto _test_eof583;
-case 583:
+ goto _test_eof605;
+case 605:
switch( (*p) ) {
- case 32: goto tr1900;
- case 34: goto tr1900;
- case 44: goto tr1900;
- case 59: goto tr1900;
+ case 32: goto tr1941;
+ case 34: goto tr1941;
+ case 44: goto tr1941;
+ case 59: goto tr1941;
}
if ( (*p) < 40 ) {
if ( 9 <= (*p) && (*p) <= 10 )
- goto tr1900;
+ goto tr1941;
} else if ( (*p) > 41 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr1901;
+ goto tr1942;
} else
- goto tr1900;
- goto tr1898;
-tr1873:
+ goto tr1941;
+ goto tr1939;
+tr1906:
{
if (rdata_tail + 2 > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st584;
-st584:
+ goto st606;
+st606:
if ( ++p == pe )
- goto _test_eof584;
-case 584:
+ goto _test_eof606;
+case 606:
if ( (*p) == 111 )
- goto st585;
- goto tr1868;
-st585:
+ goto st607;
+ goto tr1900;
+st607:
if ( ++p == pe )
- goto _test_eof585;
-case 585:
+ goto _test_eof607;
+case 607:
if ( (*p) == 45 )
- goto st586;
- goto tr1868;
-st586:
+ goto st608;
+ goto tr1900;
+st608:
if ( ++p == pe )
- goto _test_eof586;
-case 586:
+ goto _test_eof608;
+case 608:
if ( (*p) == 100 )
- goto st587;
- goto tr1868;
-st587:
+ goto st609;
+ goto tr1900;
+st609:
if ( ++p == pe )
- goto _test_eof587;
-case 587:
+ goto _test_eof609;
+case 609:
if ( (*p) == 101 )
- goto st588;
- goto tr1868;
-st588:
+ goto st610;
+ goto tr1900;
+st610:
if ( ++p == pe )
- goto _test_eof588;
-case 588:
+ goto _test_eof610;
+case 610:
if ( (*p) == 102 )
- goto st589;
- goto tr1868;
-st589:
+ goto st611;
+ goto tr1900;
+st611:
if ( ++p == pe )
- goto _test_eof589;
-case 589:
+ goto _test_eof611;
+case 611:
if ( (*p) == 97 )
- goto st590;
- goto tr1868;
-st590:
+ goto st612;
+ goto tr1900;
+st612:
if ( ++p == pe )
- goto _test_eof590;
-case 590:
+ goto _test_eof612;
+case 612:
if ( (*p) == 117 )
- goto st591;
- goto tr1868;
-st591:
+ goto st613;
+ goto tr1900;
+st613:
if ( ++p == pe )
- goto _test_eof591;
-case 591:
+ goto _test_eof613;
+case 613:
if ( (*p) == 108 )
- goto st592;
- goto tr1868;
-st592:
+ goto st614;
+ goto tr1900;
+st614:
if ( ++p == pe )
- goto _test_eof592;
-case 592:
+ goto _test_eof614;
+case 614:
if ( (*p) == 116 )
- goto st593;
- goto tr1868;
-st593:
+ goto st615;
+ goto tr1900;
+st615:
if ( ++p == pe )
- goto _test_eof593;
-case 593:
+ goto _test_eof615;
+case 615:
if ( (*p) == 45 )
- goto st594;
- goto tr1868;
-st594:
+ goto st616;
+ goto tr1900;
+st616:
if ( ++p == pe )
- goto _test_eof594;
-case 594:
+ goto _test_eof616;
+case 616:
if ( (*p) == 97 )
- goto st595;
- goto tr1868;
-st595:
+ goto st617;
+ goto tr1900;
+st617:
if ( ++p == pe )
- goto _test_eof595;
-case 595:
+ goto _test_eof617;
+case 617:
if ( (*p) == 108 )
- goto st596;
- goto tr1868;
-st596:
+ goto st618;
+ goto tr1900;
+st618:
if ( ++p == pe )
- goto _test_eof596;
-case 596:
+ goto _test_eof618;
+case 618:
if ( (*p) == 112 )
- goto st597;
- goto tr1868;
-st597:
+ goto st619;
+ goto tr1900;
+st619:
if ( ++p == pe )
- goto _test_eof597;
-case 597:
+ goto _test_eof619;
+case 619:
if ( (*p) == 110 )
- goto st598;
- goto tr1868;
-st598:
+ goto st620;
+ goto tr1900;
+st620:
if ( ++p == pe )
- goto _test_eof598;
-case 598:
+ goto _test_eof620;
+case 620:
switch( (*p) ) {
- case 32: goto tr1916;
- case 34: goto tr1916;
- case 44: goto tr1916;
- case 59: goto tr1916;
+ case 32: goto tr1957;
+ case 34: goto tr1957;
+ case 44: goto tr1957;
+ case 59: goto tr1957;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr1916;
+ goto tr1957;
} else if ( (*p) >= 9 )
- goto tr1916;
- goto tr1868;
-tr1874:
+ goto tr1957;
+ goto tr1900;
+tr1907:
{
if (rdata_tail + 2 > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st599;
-st599:
+ goto st621;
+st621:
if ( ++p == pe )
- goto _test_eof599;
-case 599:
+ goto _test_eof621;
+case 621:
+ if ( (*p) == 104 )
+ goto st622;
+ goto tr1900;
+st622:
+ if ( ++p == pe )
+ goto _test_eof622;
+case 622:
+ if ( (*p) == 116 )
+ goto st623;
+ goto tr1900;
+st623:
+ if ( ++p == pe )
+ goto _test_eof623;
+case 623:
+ if ( (*p) == 116 )
+ goto st624;
+ goto tr1900;
+st624:
+ if ( ++p == pe )
+ goto _test_eof624;
+case 624:
+ if ( (*p) == 112 )
+ goto st625;
+ goto tr1900;
+st625:
+ if ( ++p == pe )
+ goto _test_eof625;
+case 625:
+ switch( (*p) ) {
+ case 32: goto tr1962;
+ case 34: goto tr1962;
+ case 44: goto tr1962;
+ case 59: goto tr1962;
+ }
+ if ( (*p) > 10 ) {
+ if ( 40 <= (*p) && (*p) <= 41 )
+ goto tr1962;
+ } else if ( (*p) >= 9 )
+ goto tr1962;
+ goto tr1900;
+tr1908:
+ {
+ if (rdata_tail + 2 > rdata_stop + 1) {
+ WARN(ZS_RDATA_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ goto st626;
+st626:
+ if ( ++p == pe )
+ goto _test_eof626;
+case 626:
if ( (*p) == 111 )
- goto st600;
- goto tr1868;
-st600:
+ goto st627;
+ goto tr1900;
+st627:
if ( ++p == pe )
- goto _test_eof600;
-case 600:
+ goto _test_eof627;
+case 627:
if ( (*p) == 114 )
- goto st601;
- goto tr1868;
-st601:
+ goto st628;
+ goto tr1900;
+st628:
if ( ++p == pe )
- goto _test_eof601;
-case 601:
+ goto _test_eof628;
+case 628:
if ( (*p) == 116 )
- goto st602;
- goto tr1868;
-st602:
+ goto st629;
+ goto tr1900;
+st629:
if ( ++p == pe )
- goto _test_eof602;
-case 602:
+ goto _test_eof629;
+case 629:
switch( (*p) ) {
- case 32: goto tr1920;
- case 34: goto tr1920;
- case 44: goto tr1920;
- case 59: goto tr1920;
+ case 32: goto tr1966;
+ case 34: goto tr1966;
+ case 44: goto tr1966;
+ case 59: goto tr1966;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr1920;
+ goto tr1966;
} else if ( (*p) >= 9 )
- goto tr1920;
- goto tr1868;
-st603:
+ goto tr1966;
+ goto tr1900;
+st630:
if ( ++p == pe )
- goto _test_eof603;
-case 603:
+ goto _test_eof630;
+case 630:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -57051,42 +58459,42 @@ case 603:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1922;
- case 32: goto tr1922;
- case 40: goto tr1923;
- case 41: goto tr1924;
- case 3082: goto tr1925;
- case 3131: goto tr1926;
- case 3338: goto tr1927;
- case 3387: goto tr1927;
- case 3594: goto tr1928;
- case 3643: goto tr1929;
- }
- goto tr1921;
-tr1931:
+ case 9: goto tr1968;
+ case 32: goto tr1968;
+ case 40: goto tr1969;
+ case 41: goto tr1970;
+ case 3082: goto tr1971;
+ case 3131: goto tr1972;
+ case 3338: goto tr1973;
+ case 3387: goto tr1973;
+ case 3594: goto tr1974;
+ case 3643: goto tr1975;
+ }
+ goto tr1967;
+tr1977:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st604;
-tr1932:
+ goto st631;
+tr1978:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st604;
-tr1940:
+ goto st631;
+tr1988:
{
s->line_counter++;
}
- goto st604;
-tr1960:
+ goto st631;
+tr2008:
{
s->buffer[s->buffer_length++] = 0;
@@ -57096,21 +58504,21 @@ tr1960:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 604; goto _out;}
+ {p++; cs = 631; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st604;
-tr1922:
+ goto st631;
+tr1968:
{
s->svcb.params_position = rdata_tail;
s->svcb.last_key = -1;
}
- goto st604;
-tr1923:
+ goto st631;
+tr1969:
{
s->svcb.params_position = rdata_tail;
s->svcb.last_key = -1;
@@ -57118,12 +58526,12 @@ tr1923:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st604;
-tr1924:
+ goto st631;
+tr1970:
{
s->svcb.params_position = rdata_tail;
s->svcb.last_key = -1;
@@ -57131,12 +58539,12 @@ tr1924:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st604;
-tr1925:
+ goto st631;
+tr1971:
{
s->svcb.params_position = rdata_tail;
s->svcb.last_key = -1;
@@ -57144,26 +58552,26 @@ tr1925:
{
s->line_counter++;
}
- goto st604;
-tr1951:
+ goto st631;
+tr1999:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->comma_list = false;
if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -57174,36 +58582,36 @@ tr1951:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st604;
-tr1952:
+ goto st631;
+tr2000:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->comma_list = false;
if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -57214,43 +58622,43 @@ tr1952:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st604;
-tr1953:
+ goto st631;
+tr2001:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->comma_list = false;
if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -57261,43 +58669,43 @@ tr1953:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st604;
-tr1954:
+ goto st631;
+tr2002:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->comma_list = false;
if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -57308,74 +58716,95 @@ tr1954:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st604;
-tr1974:
+ goto st631;
+tr2018:
+ {
+ s->item_length = rdata_tail - s->item_length2_location - 2;
+
+ if (s->item_length <= MAX_ITEM_LENGTH2) {
+ uint16_t val = htons((uint16_t)(s->item_length));
+ memcpy(s->item_length2_location, &val, 2);
+ } else {
+ WARN(ZS_ITEM_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
+ }
+ }
+ goto st631;
+tr2019:
+ {
+ s->item_length = rdata_tail - s->item_length2_location - 2;
+
+ if (s->item_length <= MAX_ITEM_LENGTH2) {
+ uint16_t val = htons((uint16_t)(s->item_length));
+ memcpy(s->item_length2_location, &val, 2);
+ } else {
+ WARN(ZS_ITEM_OVERFLOW);
+ p--; {goto st316;}
}
}
- goto st604;
-tr1975:
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st604;
-tr1976:
+ goto st631;
+tr2020:
+ {
+ s->item_length = rdata_tail - s->item_length2_location - 2;
+
+ if (s->item_length <= MAX_ITEM_LENGTH2) {
+ uint16_t val = htons((uint16_t)(s->item_length));
+ memcpy(s->item_length2_location, &val, 2);
+ } else {
+ WARN(ZS_ITEM_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st604;
-tr1977:
- {
- int ret = svcb_sort(s, rdata_tail);
- if (ret != ZS_OK) {
- WARN(ret);
- p--; {goto st307;}
- }
- }
- {
- s->line_counter++;
- }
- goto st604;
-tr1987:
+ goto st631;
+tr2021:
{
s->item_length = rdata_tail - s->item_length2_location - 2;
@@ -57384,107 +58813,86 @@ tr1987:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st604;
-tr1988:
{
- s->item_length = rdata_tail - s->item_length2_location - 2;
-
- if (s->item_length <= MAX_ITEM_LENGTH2) {
- uint16_t val = htons((uint16_t)(s->item_length));
- memcpy(s->item_length2_location, &val, 2);
- } else {
- WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ s->line_counter++;
+ }
+ goto st631;
+tr2028:
+ {
+ int ret = svcb_sort(s, rdata_tail);
+ if (ret != ZS_OK) {
+ WARN(ret);
+ p--; {goto st316;}
}
}
+ goto st631;
+tr2029:
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st604;
-tr1989:
- {
- s->item_length = rdata_tail - s->item_length2_location - 2;
-
- if (s->item_length <= MAX_ITEM_LENGTH2) {
- uint16_t val = htons((uint16_t)(s->item_length));
- memcpy(s->item_length2_location, &val, 2);
- } else {
- WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
- }
- }
+ goto st631;
+tr2030:
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st604;
-tr1991:
- {
- s->item_length = rdata_tail - s->item_length2_location - 2;
-
- if (s->item_length <= MAX_ITEM_LENGTH2) {
- uint16_t val = htons((uint16_t)(s->item_length));
- memcpy(s->item_length2_location, &val, 2);
- } else {
- WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
- }
- }
+ goto st631;
+tr2031:
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st604;
-tr2013:
+ goto st631;
+tr2071:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -57497,30 +58905,30 @@ tr2013:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st604;
-tr2014:
+ goto st631;
+tr2072:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -57533,37 +58941,37 @@ tr2014:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st604;
-tr2015:
+ goto st631;
+tr2073:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -57576,37 +58984,37 @@ tr2015:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st604;
-tr2018:
+ goto st631;
+tr2076:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -57619,33 +59027,33 @@ tr2018:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st604;
-tr2036:
+ goto st631;
+tr2094:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -57658,30 +59066,30 @@ tr2036:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st604;
-tr2037:
+ goto st631;
+tr2095:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -57694,37 +59102,37 @@ tr2037:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st604;
-tr2038:
+ goto st631;
+tr2096:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -57737,37 +59145,37 @@ tr2038:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st604;
-tr2041:
+ goto st631;
+tr2099:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -57780,21 +59188,21 @@ tr2041:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st604;
-tr2051:
+ goto st631;
+tr2109:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -57802,7 +59210,7 @@ tr2051:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -57814,11 +59222,11 @@ tr2051:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st604;
-tr2052:
+ goto st631;
+tr2110:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -57826,7 +59234,7 @@ tr2052:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -57838,18 +59246,18 @@ tr2052:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st604;
-tr2053:
+ goto st631;
+tr2111:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -57857,7 +59265,7 @@ tr2053:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -57869,18 +59277,18 @@ tr2053:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st604;
-tr2056:
+ goto st631;
+tr2114:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -57888,7 +59296,7 @@ tr2056:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -57900,14 +59308,14 @@ tr2056:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st604;
-tr2077:
+ goto st631;
+tr2134:
{
s->item_length = rdata_tail - s->item_length2_location - 2;
@@ -57916,7 +59324,7 @@ tr2077:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -57926,11 +59334,11 @@ tr2077:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st604;
-tr2078:
+ goto st631;
+tr2135:
{
s->item_length = rdata_tail - s->item_length2_location - 2;
@@ -57939,7 +59347,7 @@ tr2078:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -57949,18 +59357,18 @@ tr2078:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st604;
-tr2079:
+ goto st631;
+tr2136:
{
s->item_length = rdata_tail - s->item_length2_location - 2;
@@ -57969,7 +59377,7 @@ tr2079:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -57979,18 +59387,18 @@ tr2079:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st604;
-tr2081:
+ goto st631;
+tr2138:
{
s->item_length = rdata_tail - s->item_length2_location - 2;
@@ -57999,7 +59407,7 @@ tr2081:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -58009,14 +59417,14 @@ tr2081:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st604;
-tr2101:
+ goto st631;
+tr2158:
{
uint16_t val = htons(2);
memcpy(rdata_tail, &val, 2);
@@ -58031,11 +59439,11 @@ tr2101:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st604;
-tr2102:
+ goto st631;
+tr2159:
{
uint16_t val = htons(2);
memcpy(rdata_tail, &val, 2);
@@ -58050,18 +59458,18 @@ tr2102:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st604;
-tr2103:
+ goto st631;
+tr2160:
{
uint16_t val = htons(2);
memcpy(rdata_tail, &val, 2);
@@ -58076,18 +59484,18 @@ tr2103:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st604;
-tr2104:
+ goto st631;
+tr2161:
{
uint16_t val = htons(2);
memcpy(rdata_tail, &val, 2);
@@ -58102,14 +59510,107 @@ tr2104:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st604;
-tr2118:
+ goto st631;
+tr2170:
+ {
+ uint16_t val = htons(8);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ uint16_t val = htons(0);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ int ret = svcb_sort(s, rdata_tail);
+ if (ret != ZS_OK) {
+ WARN(ret);
+ p--; {goto st316;}
+ }
+ }
+ goto st631;
+tr2171:
+ {
+ uint16_t val = htons(8);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ uint16_t val = htons(0);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ int ret = svcb_sort(s, rdata_tail);
+ if (ret != ZS_OK) {
+ WARN(ret);
+ p--; {goto st316;}
+ }
+ }
+ {
+ if (s->multiline == true) {
+ ERR(ZS_LEFT_PARENTHESIS);
+ p--; {goto st316;}
+ }
+ s->multiline = true;
+ }
+ goto st631;
+tr2172:
+ {
+ uint16_t val = htons(8);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ uint16_t val = htons(0);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ int ret = svcb_sort(s, rdata_tail);
+ if (ret != ZS_OK) {
+ WARN(ret);
+ p--; {goto st316;}
+ }
+ }
+ {
+ if (s->multiline == false) {
+ ERR(ZS_RIGHT_PARENTHESIS);
+ p--; {goto st316;}
+ }
+ s->multiline = false;
+ }
+ goto st631;
+tr2173:
+ {
+ uint16_t val = htons(8);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ uint16_t val = htons(0);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ int ret = svcb_sort(s, rdata_tail);
+ if (ret != ZS_OK) {
+ WARN(ret);
+ p--; {goto st316;}
+ }
+ }
+ {
+ s->line_counter++;
+ }
+ goto st631;
+tr2187:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -58117,18 +59618,18 @@ tr2118:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st604;
-tr2119:
+ goto st631;
+tr2188:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -58136,25 +59637,25 @@ tr2119:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st604;
-tr2120:
+ goto st631;
+tr2189:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -58162,25 +59663,25 @@ tr2120:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st604;
-tr2122:
+ goto st631;
+tr2191:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -58188,24 +59689,24 @@ tr2122:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st604;
-st604:
+ goto st631;
+st631:
if ( ++p == pe )
- goto _test_eof604;
-case 604:
+ goto _test_eof631;
+case 631:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -58223,85 +59724,87 @@ case 604:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st604;
- case 32: goto st604;
- case 40: goto tr1931;
- case 41: goto tr1932;
- case 97: goto tr1933;
- case 101: goto tr1934;
- case 105: goto tr1935;
- case 107: goto tr1936;
- case 109: goto tr1937;
- case 110: goto tr1938;
- case 112: goto tr1939;
- case 3082: goto tr1940;
- case 3131: goto tr1941;
- case 3338: goto tr1942;
- case 3387: goto tr1942;
- case 3594: goto tr1943;
- case 3643: goto tr1944;
- }
- goto tr1921;
-tr1933:
+ case 9: goto st631;
+ case 32: goto st631;
+ case 40: goto tr1977;
+ case 41: goto tr1978;
+ case 97: goto tr1979;
+ case 100: goto tr1980;
+ case 101: goto tr1981;
+ case 105: goto tr1982;
+ case 107: goto tr1983;
+ case 109: goto tr1984;
+ case 110: goto tr1985;
+ case 111: goto tr1986;
+ case 112: goto tr1987;
+ case 3082: goto tr1988;
+ case 3131: goto tr1989;
+ case 3338: goto tr1990;
+ case 3387: goto tr1990;
+ case 3594: goto tr1991;
+ case 3643: goto tr1992;
+ }
+ goto tr1967;
+tr1979:
{
if (rdata_tail + 4 > rdata_stop + 1) { // key_len + val_len
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->svcb.param_position = rdata_tail;
}
- goto st605;
-st605:
+ goto st632;
+st632:
if ( ++p == pe )
- goto _test_eof605;
-case 605:
+ goto _test_eof632;
+case 632:
if ( (*p) == 108 )
- goto st606;
- goto tr1921;
-st606:
+ goto st633;
+ goto tr1967;
+st633:
if ( ++p == pe )
- goto _test_eof606;
-case 606:
+ goto _test_eof633;
+case 633:
if ( (*p) == 112 )
- goto st607;
- goto tr1921;
-st607:
+ goto st634;
+ goto tr1967;
+st634:
if ( ++p == pe )
- goto _test_eof607;
-case 607:
+ goto _test_eof634;
+case 634:
if ( (*p) == 110 )
- goto st608;
- goto tr1921;
-st608:
+ goto st635;
+ goto tr1967;
+st635:
if ( ++p == pe )
- goto _test_eof608;
-case 608:
+ goto _test_eof635;
+case 635:
if ( (*p) == 61 )
- goto tr1948;
- goto tr1921;
-tr1948:
+ goto tr1996;
+ goto tr1967;
+tr1996:
{
uint16_t val = htons(1);
memcpy(rdata_tail, &val, 2);
rdata_tail += 2;
}
- goto st609;
-st609:
+ goto st636;
+st636:
if ( ++p == pe )
- goto _test_eof609;
-case 609:
+ goto _test_eof636;
+case 636:
switch( (*p) ) {
- case 32: goto tr1921;
- case 34: goto tr1950;
- case 59: goto tr1921;
+ case 32: goto tr1967;
+ case 34: goto tr1998;
+ case 59: goto tr1967;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr1921;
+ goto tr1967;
} else if ( (*p) >= 9 )
- goto tr1921;
- goto tr1949;
-tr1949:
+ goto tr1967;
+ goto tr1997;
+tr1997:
{
s->comma_list = true;
s->pending_backslash = false;
@@ -58312,7 +59815,7 @@ tr1949:
rdata_tail += 2;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -58320,15 +59823,15 @@ tr1949:
s->item_length_location = rdata_tail++;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- { p--; {stack[top++] = 610;goto st318;} }
- goto st610;
-st610:
+ { p--; {stack[top++] = 637;goto st327;} }
+ goto st637;
+st637:
if ( ++p == pe )
- goto _test_eof610;
-case 610:
+ goto _test_eof637;
+case 637:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -58346,31 +59849,31 @@ case 610:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1951;
- case 32: goto tr1951;
- case 40: goto tr1952;
- case 41: goto tr1953;
- case 3082: goto tr1954;
- case 3131: goto tr1955;
- case 3338: goto tr1956;
- case 3387: goto tr1956;
- case 3594: goto tr1957;
- case 3643: goto tr1958;
+ case 9: goto tr1999;
+ case 32: goto tr1999;
+ case 40: goto tr2000;
+ case 41: goto tr2001;
+ case 3082: goto tr2002;
+ case 3131: goto tr2003;
+ case 3338: goto tr2004;
+ case 3387: goto tr2004;
+ case 3594: goto tr2005;
+ case 3643: goto tr2006;
}
- goto tr1921;
-tr1941:
+ goto tr1967;
+tr1989:
{
s->buffer_length = 0;
}
- goto st611;
-tr1959:
+ goto st638;
+tr2007:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st611;
-tr1926:
+ goto st638;
+tr1972:
{
s->svcb.params_position = rdata_tail;
s->svcb.last_key = -1;
@@ -58378,26 +59881,26 @@ tr1926:
{
s->buffer_length = 0;
}
- goto st611;
-tr1955:
+ goto st638;
+tr2003:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->comma_list = false;
if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -58408,33 +59911,21 @@ tr1955:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
- }
- }
- {
- s->buffer_length = 0;
- }
- goto st611;
-tr1978:
- {
- int ret = svcb_sort(s, rdata_tail);
- if (ret != ZS_OK) {
- WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st611;
-tr1992:
+ goto st638;
+tr2022:
{
s->item_length = rdata_tail - s->item_length2_location - 2;
@@ -58443,33 +59934,45 @@ tr1992:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st611;
-tr2019:
+ goto st638;
+tr2032:
+ {
+ int ret = svcb_sort(s, rdata_tail);
+ if (ret != ZS_OK) {
+ WARN(ret);
+ p--; {goto st316;}
+ }
+ }
+ {
+ s->buffer_length = 0;
+ }
+ goto st638;
+tr2077:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -58482,33 +59985,33 @@ tr2019:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st611;
-tr2042:
+ goto st638;
+tr2100:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -58521,21 +60024,21 @@ tr2042:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st611;
-tr2057:
+ goto st638;
+tr2115:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -58543,7 +60046,7 @@ tr2057:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -58555,14 +60058,14 @@ tr2057:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st611;
-tr2082:
+ goto st638;
+tr2139:
{
s->item_length = rdata_tail - s->item_length2_location - 2;
@@ -58571,7 +60074,7 @@ tr2082:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -58581,14 +60084,14 @@ tr2082:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st611;
-tr2105:
+ goto st638;
+tr2162:
{
uint16_t val = htons(2);
memcpy(rdata_tail, &val, 2);
@@ -58603,14 +60106,36 @@ tr2105:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
+ }
+ }
+ {
+ s->buffer_length = 0;
+ }
+ goto st638;
+tr2174:
+ {
+ uint16_t val = htons(8);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ uint16_t val = htons(0);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ int ret = svcb_sort(s, rdata_tail);
+ if (ret != ZS_OK) {
+ WARN(ret);
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st611;
-tr2123:
+ goto st638;
+tr2192:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -58618,24 +60143,24 @@ tr2123:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st611;
-st611:
+ goto st638;
+st638:
if ( ++p == pe )
- goto _test_eof611;
-case 611:
+ goto _test_eof638;
+case 638:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -58655,11 +60180,11 @@ case 611:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1960;
+ goto tr2008;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1959;
- goto tr1921;
-tr1927:
+ goto tr2007;
+ goto tr1967;
+tr1973:
{
s->svcb.params_position = rdata_tail;
s->svcb.last_key = -1;
@@ -58668,44 +60193,44 @@ tr1927:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1430;
-tr1942:
+ goto st1478;
+tr1990:
{
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1430;
-tr1956:
+ goto st1478;
+tr2004:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->comma_list = false;
if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -58716,89 +60241,89 @@ tr1956:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1430;
-tr1979:
+ goto st1478;
+tr2023:
+ {
+ s->item_length = rdata_tail - s->item_length2_location - 2;
+
+ if (s->item_length <= MAX_ITEM_LENGTH2) {
+ uint16_t val = htons((uint16_t)(s->item_length));
+ memcpy(s->item_length2_location, &val, 2);
+ } else {
+ WARN(ZS_ITEM_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1430;
-tr1993:
- {
- s->item_length = rdata_tail - s->item_length2_location - 2;
-
- if (s->item_length <= MAX_ITEM_LENGTH2) {
- uint16_t val = htons((uint16_t)(s->item_length));
- memcpy(s->item_length2_location, &val, 2);
- } else {
- WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
- }
- }
+ goto st1478;
+tr2033:
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1430;
-tr2020:
+ goto st1478;
+tr2078:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -58811,40 +60336,40 @@ tr2020:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1430;
-tr2043:
+ goto st1478;
+tr2101:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -58857,28 +60382,28 @@ tr2043:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1430;
-tr2058:
+ goto st1478;
+tr2116:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -58886,7 +60411,7 @@ tr2058:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -58898,21 +60423,21 @@ tr2058:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1430;
-tr2083:
+ goto st1478;
+tr2140:
{
s->item_length = rdata_tail - s->item_length2_location - 2;
@@ -58921,7 +60446,7 @@ tr2083:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -58931,21 +60456,21 @@ tr2083:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1430;
-tr2106:
+ goto st1478;
+tr2163:
{
uint16_t val = htons(2);
memcpy(rdata_tail, &val, 2);
@@ -58960,21 +60485,50 @@ tr2106:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
+ }
+ }
+ {
+ int ret = svcb_check(s, rdata_tail);
+ if (ret != ZS_OK) {
+ WARN(ret);
+ p--; {goto st316;}
+ }
+ }
+ {
+ p--; {cs = stack[--top];goto _again;}
+ }
+ goto st1478;
+tr2175:
+ {
+ uint16_t val = htons(8);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ uint16_t val = htons(0);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ int ret = svcb_sort(s, rdata_tail);
+ if (ret != ZS_OK) {
+ WARN(ret);
+ p--; {goto st316;}
}
}
{
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1430;
-tr2124:
+ goto st1478;
+tr2193:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -58982,33 +60536,33 @@ tr2124:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1430;
-st1430:
+ goto st1478;
+st1478:
if ( ++p == pe )
- goto _test_eof1430;
-case 1430:
+ goto _test_eof1478;
+case 1478:
goto st0;
-tr1928:
+tr1974:
{
s->svcb.params_position = rdata_tail;
s->svcb.last_key = -1;
@@ -59020,14 +60574,14 @@ tr1928:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1431;
-tr1943:
+ goto st1479;
+tr1991:
{
s->line_counter++;
}
@@ -59035,32 +60589,32 @@ tr1943:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1431;
-tr1957:
+ goto st1479;
+tr2005:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->comma_list = false;
if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -59071,14 +60625,14 @@ tr1957:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -59088,19 +60642,30 @@ tr1957:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1431;
-tr1980:
+ goto st1479;
+tr2024:
+ {
+ s->item_length = rdata_tail - s->item_length2_location - 2;
+
+ if (s->item_length <= MAX_ITEM_LENGTH2) {
+ uint16_t val = htons((uint16_t)(s->item_length));
+ memcpy(s->item_length2_location, &val, 2);
+ } else {
+ WARN(ZS_ITEM_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -59110,30 +60675,19 @@ tr1980:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1431;
-tr1994:
- {
- s->item_length = rdata_tail - s->item_length2_location - 2;
-
- if (s->item_length <= MAX_ITEM_LENGTH2) {
- uint16_t val = htons((uint16_t)(s->item_length));
- memcpy(s->item_length2_location, &val, 2);
- } else {
- WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
- }
- }
+ goto st1479;
+tr2034:
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -59143,26 +60697,26 @@ tr1994:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1431;
-tr2021:
+ goto st1479;
+tr2079:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -59175,14 +60729,14 @@ tr2021:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -59192,26 +60746,26 @@ tr2021:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1431;
-tr2044:
+ goto st1479;
+tr2102:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -59224,14 +60778,14 @@ tr2044:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -59241,14 +60795,14 @@ tr2044:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1431;
-tr2059:
+ goto st1479;
+tr2117:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -59256,7 +60810,7 @@ tr2059:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -59268,7 +60822,7 @@ tr2059:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -59278,14 +60832,14 @@ tr2059:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1431;
-tr2084:
+ goto st1479;
+tr2141:
{
s->item_length = rdata_tail - s->item_length2_location - 2;
@@ -59294,7 +60848,7 @@ tr2084:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -59304,7 +60858,7 @@ tr2084:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -59314,14 +60868,14 @@ tr2084:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1431;
-tr2107:
+ goto st1479;
+tr2164:
{
uint16_t val = htons(2);
memcpy(rdata_tail, &val, 2);
@@ -59336,7 +60890,7 @@ tr2107:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -59346,14 +60900,46 @@ tr2107:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1431;
-tr2125:
+ goto st1479;
+tr2176:
+ {
+ uint16_t val = htons(8);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ uint16_t val = htons(0);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ int ret = svcb_sort(s, rdata_tail);
+ if (ret != ZS_OK) {
+ WARN(ret);
+ p--; {goto st316;}
+ }
+ }
+ {
+ s->line_counter++;
+ }
+ {
+ int ret = svcb_check(s, rdata_tail);
+ if (ret != ZS_OK) {
+ WARN(ret);
+ p--; {goto st316;}
+ }
+ }
+ {
+ p--; {cs = stack[--top];goto _again;}
+ }
+ goto st1479;
+tr2194:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -59361,14 +60947,14 @@ tr2125:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -59378,17 +60964,17 @@ tr2125:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1431;
-st1431:
+ goto st1479;
+st1479:
if ( ++p == pe )
- goto _test_eof1431;
-case 1431:
+ goto _test_eof1479;
+case 1479:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -59406,354 +60992,123 @@ case 1431:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st604;
- case 32: goto st604;
- case 40: goto tr1931;
- case 41: goto tr1932;
- case 97: goto tr1933;
- case 101: goto tr1934;
- case 105: goto tr1935;
- case 107: goto tr1936;
- case 109: goto tr1937;
- case 110: goto tr1938;
- case 112: goto tr1939;
- case 3082: goto tr1940;
- case 3131: goto tr1941;
- case 3338: goto tr1942;
- case 3387: goto tr1942;
- case 3594: goto tr1943;
- case 3643: goto tr1944;
- }
- goto tr1921;
-tr1934:
+ case 9: goto st631;
+ case 32: goto st631;
+ case 40: goto tr1977;
+ case 41: goto tr1978;
+ case 97: goto tr1979;
+ case 100: goto tr1980;
+ case 101: goto tr1981;
+ case 105: goto tr1982;
+ case 107: goto tr1983;
+ case 109: goto tr1984;
+ case 110: goto tr1985;
+ case 111: goto tr1986;
+ case 112: goto tr1987;
+ case 3082: goto tr1988;
+ case 3131: goto tr1989;
+ case 3338: goto tr1990;
+ case 3387: goto tr1990;
+ case 3594: goto tr1991;
+ case 3643: goto tr1992;
+ }
+ goto tr1967;
+tr1980:
{
if (rdata_tail + 4 > rdata_stop + 1) { // key_len + val_len
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->svcb.param_position = rdata_tail;
}
- goto st612;
-st612:
+ goto st639;
+st639:
if ( ++p == pe )
- goto _test_eof612;
-case 612:
- if ( (*p) == 99 )
- goto st613;
- goto tr1921;
-st613:
+ goto _test_eof639;
+case 639:
+ if ( (*p) == 111 )
+ goto st640;
+ goto tr1967;
+st640:
if ( ++p == pe )
- goto _test_eof613;
-case 613:
+ goto _test_eof640;
+case 640:
if ( (*p) == 104 )
- goto st614;
- goto tr1921;
-st614:
+ goto st641;
+ goto tr1967;
+st641:
if ( ++p == pe )
- goto _test_eof614;
-case 614:
+ goto _test_eof641;
+case 641:
+ if ( (*p) == 112 )
+ goto st642;
+ goto tr1967;
+st642:
+ if ( ++p == pe )
+ goto _test_eof642;
+case 642:
+ if ( (*p) == 97 )
+ goto st643;
+ goto tr1967;
+st643:
+ if ( ++p == pe )
+ goto _test_eof643;
+case 643:
+ if ( (*p) == 116 )
+ goto st644;
+ goto tr1967;
+st644:
+ if ( ++p == pe )
+ goto _test_eof644;
+case 644:
+ if ( (*p) == 104 )
+ goto st645;
+ goto tr1967;
+st645:
+ if ( ++p == pe )
+ goto _test_eof645;
+case 645:
if ( (*p) == 61 )
- goto tr1963;
- goto tr1921;
-tr1963:
+ goto tr2015;
+ goto tr1967;
+tr2015:
{
- uint16_t val = htons(5);
+ uint16_t val = htons(7);
memcpy(rdata_tail, &val, 2);
rdata_tail += 2;
}
- goto st615;
-st615:
+ goto st646;
+st646:
if ( ++p == pe )
- goto _test_eof615;
-case 615:
+ goto _test_eof646;
+case 646:
switch( (*p) ) {
- case 34: goto st616;
- case 43: goto tr1965;
- }
- if ( (*p) < 65 ) {
- if ( 47 <= (*p) && (*p) <= 57 )
- goto tr1965;
- } else if ( (*p) > 90 ) {
- if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1965;
- } else
- goto tr1965;
- goto tr1921;
-st616:
- if ( ++p == pe )
- goto _test_eof616;
-case 616:
- if ( (*p) == 43 )
- goto tr1966;
- if ( (*p) < 65 ) {
- if ( 47 <= (*p) && (*p) <= 57 )
- goto tr1966;
- } else if ( (*p) > 90 ) {
- if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1966;
- } else
- goto tr1966;
- goto tr1921;
-tr1973:
- {
- if (rdata_tail <= rdata_stop) {
- *rdata_tail = first_base64_to_num[(uint8_t)(*p)];
- } else {
- WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
- }
+ case 32: goto tr1967;
+ case 34: goto tr2017;
+ case 59: goto tr1967;
}
- goto st617;
-tr1966:
+ if ( (*p) > 10 ) {
+ if ( 40 <= (*p) && (*p) <= 41 )
+ goto tr1967;
+ } else if ( (*p) >= 9 )
+ goto tr1967;
+ goto tr2016;
+tr2016:
{
if (rdata_tail < rdata_stop) {
s->item_length2_location = rdata_tail;
rdata_tail += 2;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
- }
- }
- {
- if (rdata_tail <= rdata_stop) {
- *rdata_tail = first_base64_to_num[(uint8_t)(*p)];
- } else {
- WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
- }
- }
- goto st617;
-st617:
- if ( ++p == pe )
- goto _test_eof617;
-case 617:
- if ( (*p) == 43 )
- goto tr1967;
- if ( (*p) < 65 ) {
- if ( 47 <= (*p) && (*p) <= 57 )
- goto tr1967;
- } else if ( (*p) > 90 ) {
- if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1967;
- } else
- goto tr1967;
- goto tr1921;
-tr1967:
- {
- *(rdata_tail++) += second_left_base64_to_num[(uint8_t)(*p)];
-
- if (rdata_tail <= rdata_stop) {
- *rdata_tail = second_right_base64_to_num[(uint8_t)(*p)];
- } else {
- WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
- }
- }
- goto st618;
-st618:
- if ( ++p == pe )
- goto _test_eof618;
-case 618:
- switch( (*p) ) {
- case 43: goto tr1968;
- case 61: goto st622;
- }
- if ( (*p) < 65 ) {
- if ( 47 <= (*p) && (*p) <= 57 )
- goto tr1968;
- } else if ( (*p) > 90 ) {
- if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1968;
- } else
- goto tr1968;
- goto tr1921;
-tr1968:
- {
- *(rdata_tail++) += third_left_base64_to_num[(uint8_t)(*p)];
-
- if (rdata_tail <= rdata_stop) {
- *rdata_tail = third_right_base64_to_num[(uint8_t)(*p)];
- } else {
- WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
- }
- }
- goto st619;
-st619:
- if ( ++p == pe )
- goto _test_eof619;
-case 619:
- switch( (*p) ) {
- case 43: goto tr1970;
- case 61: goto st620;
- }
- if ( (*p) < 65 ) {
- if ( 47 <= (*p) && (*p) <= 57 )
- goto tr1970;
- } else if ( (*p) > 90 ) {
- if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1970;
- } else
- goto tr1970;
- goto tr1921;
-tr1970:
- {
- *(rdata_tail++) += fourth_base64_to_num[(uint8_t)(*p)];
- }
- goto st620;
-st620:
- if ( ++p == pe )
- goto _test_eof620;
-case 620:
- switch( (*p) ) {
- case 34: goto tr1972;
- case 43: goto tr1973;
- }
- if ( (*p) < 65 ) {
- if ( 47 <= (*p) && (*p) <= 57 )
- goto tr1973;
- } else if ( (*p) > 90 ) {
- if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1973;
- } else
- goto tr1973;
- goto tr1921;
-tr1972:
- {
- s->item_length = rdata_tail - s->item_length2_location - 2;
-
- if (s->item_length <= MAX_ITEM_LENGTH2) {
- uint16_t val = htons((uint16_t)(s->item_length));
- memcpy(s->item_length2_location, &val, 2);
- } else {
- WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
- }
- }
- goto st621;
-tr2009:
- {
- s->buffer[s->buffer_length] = 0;
-
- if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
- WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
- }
- }
- {
- if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
- WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
- }
- memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
- rdata_tail += ZS_INET4_ADDR_LENGTH;
- }
- {
- s->item_length = rdata_tail - s->item_length2_location - 2;
-
- if (s->item_length <= MAX_ITEM_LENGTH2) {
- uint16_t val = htons((uint16_t)(s->item_length));
- memcpy(s->item_length2_location, &val, 2);
- } else {
- WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
- }
- }
- goto st621;
-tr2032:
- {
- s->buffer[s->buffer_length] = 0;
-
- if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
- WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
- }
- }
- {
- if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
- WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
- }
- memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
- rdata_tail += ZS_INET6_ADDR_LENGTH;
- }
- {
- s->item_length = rdata_tail - s->item_length2_location - 2;
-
- if (s->item_length <= MAX_ITEM_LENGTH2) {
- uint16_t val = htons((uint16_t)(s->item_length));
- memcpy(s->item_length2_location, &val, 2);
- } else {
- WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
- }
- }
- goto st621;
-tr2116:
- {
- if (s->number64 <= UINT16_MAX) {
- uint16_t num16 = htons((uint16_t)s->number64);
- memcpy(rdata_tail, &num16, 2);
- rdata_tail += 2;
- } else {
- WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
- }
- }
- goto st621;
-tr2074:
- {
- s->item_length = rdata_tail - s->item_length2_location - 2;
-
- if (s->item_length <= MAX_ITEM_LENGTH2) {
- uint16_t val = htons((uint16_t)(s->item_length));
- memcpy(s->item_length2_location, &val, 2);
- } else {
- WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- {
- svcb_mandatory_sort(s->svcb.mandatory_position, rdata_tail);
- }
- goto st621;
-tr2128:
- {
- s->item_length = rdata_tail - s->item_length_location - 1;
- if (s->comma_list && s->item_length == 0) {
- WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
- }
- if (s->item_length <= MAX_ITEM_LENGTH) {
- *(s->item_length_location) = (uint8_t)(s->item_length);
- } else {
- WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
- }
- }
- {
- s->comma_list = false;
- if (s->pending_backslash) {
- WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
- }
- }
- {
- s->item_length = rdata_tail - s->item_length2_location - 2;
-
- if (s->item_length <= MAX_ITEM_LENGTH2) {
- uint16_t val = htons((uint16_t)(s->item_length));
- memcpy(s->item_length2_location, &val, 2);
- } else {
- WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
- }
- }
- goto st621;
-st621:
+ { p--; {stack[top++] = 647;goto st327;} }
+ goto st647;
+st647:
if ( ++p == pe )
- goto _test_eof621;
-case 621:
+ goto _test_eof647;
+case 647:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -59771,19 +61126,19 @@ case 621:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1974;
- case 32: goto tr1974;
- case 40: goto tr1975;
- case 41: goto tr1976;
- case 3082: goto tr1977;
- case 3131: goto tr1978;
- case 3338: goto tr1979;
- case 3387: goto tr1979;
- case 3594: goto tr1980;
- case 3643: goto tr1981;
+ case 9: goto tr2018;
+ case 32: goto tr2018;
+ case 40: goto tr2019;
+ case 41: goto tr2020;
+ case 3082: goto tr2021;
+ case 3131: goto tr2022;
+ case 3338: goto tr2023;
+ case 3387: goto tr2023;
+ case 3594: goto tr2024;
+ case 3643: goto tr2025;
}
- goto tr1921;
-tr1929:
+ goto tr1967;
+tr1975:
{
s->svcb.params_position = rdata_tail;
s->svcb.last_key = -1;
@@ -59795,14 +61150,14 @@ tr1929:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1432;
-tr1944:
+ goto st1480;
+tr1992:
{
s->buffer_length = 0;
}
@@ -59810,32 +61165,32 @@ tr1944:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1432;
-tr1958:
+ goto st1480;
+tr2006:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->comma_list = false;
if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -59846,14 +61201,14 @@ tr1958:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -59863,19 +61218,30 @@ tr1958:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1432;
-tr1981:
+ goto st1480;
+tr2025:
+ {
+ s->item_length = rdata_tail - s->item_length2_location - 2;
+
+ if (s->item_length <= MAX_ITEM_LENGTH2) {
+ uint16_t val = htons((uint16_t)(s->item_length));
+ memcpy(s->item_length2_location, &val, 2);
+ } else {
+ WARN(ZS_ITEM_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -59885,30 +61251,19 @@ tr1981:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1432;
-tr1995:
- {
- s->item_length = rdata_tail - s->item_length2_location - 2;
-
- if (s->item_length <= MAX_ITEM_LENGTH2) {
- uint16_t val = htons((uint16_t)(s->item_length));
- memcpy(s->item_length2_location, &val, 2);
- } else {
- WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
- }
- }
+ goto st1480;
+tr2035:
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -59918,26 +61273,26 @@ tr1995:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1432;
-tr2022:
+ goto st1480;
+tr2080:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -59950,14 +61305,14 @@ tr2022:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -59967,26 +61322,26 @@ tr2022:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1432;
-tr2045:
+ goto st1480;
+tr2103:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -59999,14 +61354,14 @@ tr2045:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -60016,14 +61371,14 @@ tr2045:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1432;
-tr2060:
+ goto st1480;
+tr2118:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -60031,7 +61386,7 @@ tr2060:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -60043,7 +61398,7 @@ tr2060:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -60053,14 +61408,14 @@ tr2060:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1432;
-tr2085:
+ goto st1480;
+tr2142:
{
s->item_length = rdata_tail - s->item_length2_location - 2;
@@ -60069,7 +61424,7 @@ tr2085:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -60079,7 +61434,7 @@ tr2085:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -60089,14 +61444,14 @@ tr2085:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1432;
-tr2108:
+ goto st1480;
+tr2165:
{
uint16_t val = htons(2);
memcpy(rdata_tail, &val, 2);
@@ -60111,7 +61466,7 @@ tr2108:
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -60121,14 +61476,46 @@ tr2108:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1432;
-tr2126:
+ goto st1480;
+tr2177:
+ {
+ uint16_t val = htons(8);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ uint16_t val = htons(0);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ int ret = svcb_sort(s, rdata_tail);
+ if (ret != ZS_OK) {
+ WARN(ret);
+ p--; {goto st316;}
+ }
+ }
+ {
+ s->buffer_length = 0;
+ }
+ {
+ int ret = svcb_check(s, rdata_tail);
+ if (ret != ZS_OK) {
+ WARN(ret);
+ p--; {goto st316;}
+ }
+ }
+ {
+ p--; {cs = stack[--top];goto _again;}
+ }
+ goto st1480;
+tr2195:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -60136,14 +61523,14 @@ tr2126:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -60153,17 +61540,17 @@ tr2126:
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1432;
-st1432:
+ goto st1480;
+st1480:
if ( ++p == pe )
- goto _test_eof1432;
-case 1432:
+ goto _test_eof1480;
+case 1480:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -60183,35 +61570,334 @@ case 1432:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr1960;
+ goto tr2008;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr1959;
- goto tr1921;
-st622:
+ goto tr2007;
+ goto tr1967;
+tr2017:
+ {
+ if (rdata_tail < rdata_stop) {
+ s->item_length2_location = rdata_tail;
+ rdata_tail += 2;
+ } else {
+ WARN(ZS_RDATA_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ { p--; {stack[top++] = 648;goto st327;} }
+ goto st648;
+st648:
if ( ++p == pe )
- goto _test_eof622;
-case 622:
+ goto _test_eof648;
+case 648:
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ switch( _widec ) {
+ case 9: goto tr2018;
+ case 32: goto tr2018;
+ case 40: goto tr2019;
+ case 41: goto tr2020;
+ case 3082: goto tr2021;
+ case 3131: goto tr2022;
+ case 3338: goto tr2023;
+ case 3387: goto tr2023;
+ case 3594: goto tr2024;
+ case 3643: goto tr2025;
+ }
+ if ( _widec < 11 ) {
+ if ( _widec <= 8 )
+ goto tr2026;
+ } else if ( _widec > 58 ) {
+ if ( 60 <= _widec )
+ goto tr2026;
+ } else
+ goto tr2026;
+ goto tr1967;
+tr2026:
+ {
+ if (rdata_tail < rdata_stop) {
+ s->item_length2_location = rdata_tail;
+ rdata_tail += 2;
+ } else {
+ WARN(ZS_RDATA_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ { p--; {stack[top++] = 649;goto st327;} }
+ goto st649;
+st649:
+ if ( ++p == pe )
+ goto _test_eof649;
+case 649:
+ if ( (*p) == 34 )
+ goto tr2027;
+ goto tr1967;
+tr2027:
+ {
+ s->item_length = rdata_tail - s->item_length2_location - 2;
+
+ if (s->item_length <= MAX_ITEM_LENGTH2) {
+ uint16_t val = htons((uint16_t)(s->item_length));
+ memcpy(s->item_length2_location, &val, 2);
+ } else {
+ WARN(ZS_ITEM_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ goto st650;
+tr2067:
+ {
+ s->buffer[s->buffer_length] = 0;
+
+ if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
+ WARN(ZS_BAD_IPV4);
+ p--; {goto st316;}
+ }
+ }
+ {
+ if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
+ WARN(ZS_RDATA_OVERFLOW);
+ p--; {goto st316;}
+ }
+ memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
+ rdata_tail += ZS_INET4_ADDR_LENGTH;
+ }
+ {
+ s->item_length = rdata_tail - s->item_length2_location - 2;
+
+ if (s->item_length <= MAX_ITEM_LENGTH2) {
+ uint16_t val = htons((uint16_t)(s->item_length));
+ memcpy(s->item_length2_location, &val, 2);
+ } else {
+ WARN(ZS_ITEM_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ goto st650;
+tr2090:
+ {
+ s->buffer[s->buffer_length] = 0;
+
+ if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
+ WARN(ZS_BAD_IPV6);
+ p--; {goto st316;}
+ }
+ }
+ {
+ if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
+ WARN(ZS_RDATA_OVERFLOW);
+ p--; {goto st316;}
+ }
+ memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
+ rdata_tail += ZS_INET6_ADDR_LENGTH;
+ }
+ {
+ s->item_length = rdata_tail - s->item_length2_location - 2;
+
+ if (s->item_length <= MAX_ITEM_LENGTH2) {
+ uint16_t val = htons((uint16_t)(s->item_length));
+ memcpy(s->item_length2_location, &val, 2);
+ } else {
+ WARN(ZS_ITEM_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ goto st650;
+tr2185:
+ {
+ if (s->number64 <= UINT16_MAX) {
+ uint16_t num16 = htons((uint16_t)s->number64);
+ memcpy(rdata_tail, &num16, 2);
+ rdata_tail += 2;
+ } else {
+ WARN(ZS_NUMBER16_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ goto st650;
+tr2131:
+ {
+ s->item_length = rdata_tail - s->item_length2_location - 2;
+
+ if (s->item_length <= MAX_ITEM_LENGTH2) {
+ uint16_t val = htons((uint16_t)(s->item_length));
+ memcpy(s->item_length2_location, &val, 2);
+ } else {
+ WARN(ZS_ITEM_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ {
+ svcb_mandatory_sort(s->svcb.mandatory_position, rdata_tail);
+ }
+ goto st650;
+tr2197:
+ {
+ s->item_length = rdata_tail - s->item_length_location - 1;
+ if (s->comma_list && s->item_length == 0) {
+ WARN(ZS_EMPTY_LIST_ITEM);
+ p--; {goto st316;}
+ }
+ if (s->item_length <= MAX_ITEM_LENGTH) {
+ *(s->item_length_location) = (uint8_t)(s->item_length);
+ } else {
+ WARN(ZS_ITEM_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ {
+ s->comma_list = false;
+ if (s->pending_backslash) {
+ WARN(ZS_BAD_ALPN_BACKSLASH);
+ p--; {goto st316;}
+ }
+ }
+ {
+ s->item_length = rdata_tail - s->item_length2_location - 2;
+
+ if (s->item_length <= MAX_ITEM_LENGTH2) {
+ uint16_t val = htons((uint16_t)(s->item_length));
+ memcpy(s->item_length2_location, &val, 2);
+ } else {
+ WARN(ZS_ITEM_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ goto st650;
+st650:
+ if ( ++p == pe )
+ goto _test_eof650;
+case 650:
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ switch( _widec ) {
+ case 9: goto tr2028;
+ case 32: goto tr2028;
+ case 40: goto tr2029;
+ case 41: goto tr2030;
+ case 3082: goto tr2031;
+ case 3131: goto tr2032;
+ case 3338: goto tr2033;
+ case 3387: goto tr2033;
+ case 3594: goto tr2034;
+ case 3643: goto tr2035;
+ }
+ goto tr1967;
+tr1981:
+ {
+ if (rdata_tail + 4 > rdata_stop + 1) { // key_len + val_len
+ WARN(ZS_RDATA_OVERFLOW);
+ p--; {goto st316;}
+ }
+ s->svcb.param_position = rdata_tail;
+ }
+ goto st651;
+st651:
+ if ( ++p == pe )
+ goto _test_eof651;
+case 651:
+ if ( (*p) == 99 )
+ goto st652;
+ goto tr1967;
+st652:
+ if ( ++p == pe )
+ goto _test_eof652;
+case 652:
+ if ( (*p) == 104 )
+ goto st653;
+ goto tr1967;
+st653:
+ if ( ++p == pe )
+ goto _test_eof653;
+case 653:
if ( (*p) == 61 )
- goto st620;
- goto tr1921;
-tr1990:
+ goto tr2038;
+ goto tr1967;
+tr2038:
+ {
+ uint16_t val = htons(5);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ goto st654;
+st654:
+ if ( ++p == pe )
+ goto _test_eof654;
+case 654:
+ switch( (*p) ) {
+ case 34: goto st655;
+ case 43: goto tr2040;
+ }
+ if ( (*p) < 65 ) {
+ if ( 47 <= (*p) && (*p) <= 57 )
+ goto tr2040;
+ } else if ( (*p) > 90 ) {
+ if ( 97 <= (*p) && (*p) <= 122 )
+ goto tr2040;
+ } else
+ goto tr2040;
+ goto tr1967;
+st655:
+ if ( ++p == pe )
+ goto _test_eof655;
+case 655:
+ if ( (*p) == 43 )
+ goto tr2041;
+ if ( (*p) < 65 ) {
+ if ( 47 <= (*p) && (*p) <= 57 )
+ goto tr2041;
+ } else if ( (*p) > 90 ) {
+ if ( 97 <= (*p) && (*p) <= 122 )
+ goto tr2041;
+ } else
+ goto tr2041;
+ goto tr1967;
+tr2047:
{
if (rdata_tail <= rdata_stop) {
*rdata_tail = first_base64_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st623;
-tr1965:
+ goto st656;
+tr2041:
{
if (rdata_tail < rdata_stop) {
s->item_length2_location = rdata_tail;
rdata_tail += 2;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -60219,26 +61905,26 @@ tr1965:
*rdata_tail = first_base64_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st623;
-st623:
+ goto st656;
+st656:
if ( ++p == pe )
- goto _test_eof623;
-case 623:
+ goto _test_eof656;
+case 656:
if ( (*p) == 43 )
- goto tr1982;
+ goto tr2042;
if ( (*p) < 65 ) {
if ( 47 <= (*p) && (*p) <= 57 )
- goto tr1982;
+ goto tr2042;
} else if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1982;
+ goto tr2042;
} else
- goto tr1982;
- goto tr1921;
-tr1982:
+ goto tr2042;
+ goto tr1967;
+tr2042:
{
*(rdata_tail++) += second_left_base64_to_num[(uint8_t)(*p)];
@@ -60246,28 +61932,28 @@ tr1982:
*rdata_tail = second_right_base64_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st624;
-st624:
+ goto st657;
+st657:
if ( ++p == pe )
- goto _test_eof624;
-case 624:
+ goto _test_eof657;
+case 657:
switch( (*p) ) {
- case 43: goto tr1983;
- case 61: goto st627;
+ case 43: goto tr2043;
+ case 61: goto st660;
}
if ( (*p) < 65 ) {
if ( 47 <= (*p) && (*p) <= 57 )
- goto tr1983;
+ goto tr2043;
} else if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1983;
+ goto tr2043;
} else
- goto tr1983;
- goto tr1921;
-tr1983:
+ goto tr2043;
+ goto tr1967;
+tr2043:
{
*(rdata_tail++) += third_left_base64_to_num[(uint8_t)(*p)];
@@ -60275,36 +61961,167 @@ tr1983:
*rdata_tail = third_right_base64_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st625;
-st625:
+ goto st658;
+st658:
if ( ++p == pe )
- goto _test_eof625;
-case 625:
+ goto _test_eof658;
+case 658:
switch( (*p) ) {
- case 43: goto tr1985;
- case 61: goto st626;
+ case 43: goto tr2045;
+ case 61: goto st659;
}
if ( (*p) < 65 ) {
if ( 47 <= (*p) && (*p) <= 57 )
- goto tr1985;
+ goto tr2045;
} else if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr1985;
+ goto tr2045;
} else
- goto tr1985;
- goto tr1921;
-tr1985:
+ goto tr2045;
+ goto tr1967;
+tr2045:
{
*(rdata_tail++) += fourth_base64_to_num[(uint8_t)(*p)];
}
- goto st626;
-st626:
+ goto st659;
+st659:
if ( ++p == pe )
- goto _test_eof626;
-case 626:
+ goto _test_eof659;
+case 659:
+ switch( (*p) ) {
+ case 34: goto tr2027;
+ case 43: goto tr2047;
+ }
+ if ( (*p) < 65 ) {
+ if ( 47 <= (*p) && (*p) <= 57 )
+ goto tr2047;
+ } else if ( (*p) > 90 ) {
+ if ( 97 <= (*p) && (*p) <= 122 )
+ goto tr2047;
+ } else
+ goto tr2047;
+ goto tr1967;
+st660:
+ if ( ++p == pe )
+ goto _test_eof660;
+case 660:
+ if ( (*p) == 61 )
+ goto st659;
+ goto tr1967;
+tr2053:
+ {
+ if (rdata_tail <= rdata_stop) {
+ *rdata_tail = first_base64_to_num[(uint8_t)(*p)];
+ } else {
+ WARN(ZS_RDATA_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ goto st661;
+tr2040:
+ {
+ if (rdata_tail < rdata_stop) {
+ s->item_length2_location = rdata_tail;
+ rdata_tail += 2;
+ } else {
+ WARN(ZS_RDATA_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ {
+ if (rdata_tail <= rdata_stop) {
+ *rdata_tail = first_base64_to_num[(uint8_t)(*p)];
+ } else {
+ WARN(ZS_RDATA_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ goto st661;
+st661:
+ if ( ++p == pe )
+ goto _test_eof661;
+case 661:
+ if ( (*p) == 43 )
+ goto tr2048;
+ if ( (*p) < 65 ) {
+ if ( 47 <= (*p) && (*p) <= 57 )
+ goto tr2048;
+ } else if ( (*p) > 90 ) {
+ if ( 97 <= (*p) && (*p) <= 122 )
+ goto tr2048;
+ } else
+ goto tr2048;
+ goto tr1967;
+tr2048:
+ {
+ *(rdata_tail++) += second_left_base64_to_num[(uint8_t)(*p)];
+
+ if (rdata_tail <= rdata_stop) {
+ *rdata_tail = second_right_base64_to_num[(uint8_t)(*p)];
+ } else {
+ WARN(ZS_RDATA_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ goto st662;
+st662:
+ if ( ++p == pe )
+ goto _test_eof662;
+case 662:
+ switch( (*p) ) {
+ case 43: goto tr2049;
+ case 61: goto st665;
+ }
+ if ( (*p) < 65 ) {
+ if ( 47 <= (*p) && (*p) <= 57 )
+ goto tr2049;
+ } else if ( (*p) > 90 ) {
+ if ( 97 <= (*p) && (*p) <= 122 )
+ goto tr2049;
+ } else
+ goto tr2049;
+ goto tr1967;
+tr2049:
+ {
+ *(rdata_tail++) += third_left_base64_to_num[(uint8_t)(*p)];
+
+ if (rdata_tail <= rdata_stop) {
+ *rdata_tail = third_right_base64_to_num[(uint8_t)(*p)];
+ } else {
+ WARN(ZS_RDATA_OVERFLOW);
+ p--; {goto st316;}
+ }
+ }
+ goto st663;
+st663:
+ if ( ++p == pe )
+ goto _test_eof663;
+case 663:
+ switch( (*p) ) {
+ case 43: goto tr2051;
+ case 61: goto st664;
+ }
+ if ( (*p) < 65 ) {
+ if ( 47 <= (*p) && (*p) <= 57 )
+ goto tr2051;
+ } else if ( (*p) > 90 ) {
+ if ( 97 <= (*p) && (*p) <= 122 )
+ goto tr2051;
+ } else
+ goto tr2051;
+ goto tr1967;
+tr2051:
+ {
+ *(rdata_tail++) += fourth_base64_to_num[(uint8_t)(*p)];
+ }
+ goto st664;
+st664:
+ if ( ++p == pe )
+ goto _test_eof664;
+case 664:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -60322,136 +62139,136 @@ case 626:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1987;
- case 32: goto tr1987;
- case 40: goto tr1988;
- case 41: goto tr1989;
- case 43: goto tr1990;
- case 3082: goto tr1991;
- case 3131: goto tr1992;
- case 3338: goto tr1993;
- case 3387: goto tr1993;
- case 3594: goto tr1994;
- case 3643: goto tr1995;
+ case 9: goto tr2018;
+ case 32: goto tr2018;
+ case 40: goto tr2019;
+ case 41: goto tr2020;
+ case 43: goto tr2053;
+ case 3082: goto tr2021;
+ case 3131: goto tr2022;
+ case 3338: goto tr2023;
+ case 3387: goto tr2023;
+ case 3594: goto tr2024;
+ case 3643: goto tr2025;
}
if ( _widec < 65 ) {
if ( 47 <= _widec && _widec <= 57 )
- goto tr1990;
+ goto tr2053;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr1990;
+ goto tr2053;
} else
- goto tr1990;
- goto tr1921;
-st627:
+ goto tr2053;
+ goto tr1967;
+st665:
if ( ++p == pe )
- goto _test_eof627;
-case 627:
+ goto _test_eof665;
+case 665:
if ( (*p) == 61 )
- goto st626;
- goto tr1921;
-tr1935:
+ goto st664;
+ goto tr1967;
+tr1982:
{
if (rdata_tail + 4 > rdata_stop + 1) { // key_len + val_len
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->svcb.param_position = rdata_tail;
}
- goto st628;
-st628:
+ goto st666;
+st666:
if ( ++p == pe )
- goto _test_eof628;
-case 628:
+ goto _test_eof666;
+case 666:
if ( (*p) == 112 )
- goto st629;
- goto tr1921;
-st629:
+ goto st667;
+ goto tr1967;
+st667:
if ( ++p == pe )
- goto _test_eof629;
-case 629:
+ goto _test_eof667;
+case 667:
if ( (*p) == 118 )
- goto st630;
- goto tr1921;
-st630:
+ goto st668;
+ goto tr1967;
+st668:
if ( ++p == pe )
- goto _test_eof630;
-case 630:
+ goto _test_eof668;
+case 668:
switch( (*p) ) {
- case 52: goto st631;
- case 54: goto st642;
+ case 52: goto st669;
+ case 54: goto st680;
}
- goto tr1921;
-st631:
+ goto tr1967;
+st669:
if ( ++p == pe )
- goto _test_eof631;
-case 631:
+ goto _test_eof669;
+case 669:
if ( (*p) == 104 )
- goto st632;
- goto tr1921;
-st632:
+ goto st670;
+ goto tr1967;
+st670:
if ( ++p == pe )
- goto _test_eof632;
-case 632:
+ goto _test_eof670;
+case 670:
if ( (*p) == 105 )
- goto st633;
- goto tr1921;
-st633:
+ goto st671;
+ goto tr1967;
+st671:
if ( ++p == pe )
- goto _test_eof633;
-case 633:
+ goto _test_eof671;
+case 671:
if ( (*p) == 110 )
- goto st634;
- goto tr1921;
-st634:
+ goto st672;
+ goto tr1967;
+st672:
if ( ++p == pe )
- goto _test_eof634;
-case 634:
+ goto _test_eof672;
+case 672:
if ( (*p) == 116 )
- goto st635;
- goto tr1921;
-st635:
+ goto st673;
+ goto tr1967;
+st673:
if ( ++p == pe )
- goto _test_eof635;
-case 635:
+ goto _test_eof673;
+case 673:
if ( (*p) == 61 )
- goto tr2004;
- goto tr1921;
-tr2004:
+ goto tr2062;
+ goto tr1967;
+tr2062:
{
uint16_t val = htons(4);
memcpy(rdata_tail, &val, 2);
rdata_tail += 2;
}
- goto st636;
-st636:
+ goto st674;
+st674:
if ( ++p == pe )
- goto _test_eof636;
-case 636:
+ goto _test_eof674;
+case 674:
switch( (*p) ) {
- case 34: goto st637;
- case 46: goto tr2007;
+ case 34: goto st675;
+ case 46: goto tr2065;
}
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2007;
- goto tr2005;
-st637:
+ goto tr2065;
+ goto tr2063;
+st675:
if ( ++p == pe )
- goto _test_eof637;
-case 637:
+ goto _test_eof675;
+case 675:
if ( (*p) == 46 )
- goto tr2008;
+ goto tr2066;
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2008;
- goto tr2005;
-tr2008:
+ goto tr2066;
+ goto tr2063;
+tr2066:
{
if (rdata_tail < rdata_stop) {
s->item_length2_location = rdata_tail;
rdata_tail += 2;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -60462,21 +62279,21 @@ tr2008:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st638;
-tr2011:
+ goto st676;
+tr2069:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st638;
-tr2012:
+ goto st676;
+tr2070:
{
s->buffer_length = 0;
}
@@ -60485,57 +62302,57 @@ tr2012:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st638;
-st638:
+ goto st676;
+st676:
if ( ++p == pe )
- goto _test_eof638;
-case 638:
+ goto _test_eof676;
+case 676:
switch( (*p) ) {
- case 34: goto tr2009;
- case 44: goto tr2010;
- case 46: goto tr2011;
+ case 34: goto tr2067;
+ case 44: goto tr2068;
+ case 46: goto tr2069;
}
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2011;
- goto tr2005;
-tr2010:
+ goto tr2069;
+ goto tr2063;
+tr2068:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
}
- goto st639;
-st639:
+ goto st677;
+st677:
if ( ++p == pe )
- goto _test_eof639;
-case 639:
+ goto _test_eof677;
+case 677:
if ( (*p) == 46 )
- goto tr2012;
+ goto tr2070;
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2012;
- goto tr2005;
-tr2007:
+ goto tr2070;
+ goto tr2063;
+tr2065:
{
if (rdata_tail < rdata_stop) {
s->item_length2_location = rdata_tail;
rdata_tail += 2;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -60546,21 +62363,21 @@ tr2007:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st640;
-tr2017:
+ goto st678;
+tr2075:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st640;
-tr2023:
+ goto st678;
+tr2081:
{
s->buffer_length = 0;
}
@@ -60569,14 +62386,14 @@ tr2023:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st640;
-st640:
+ goto st678;
+st678:
if ( ++p == pe )
- goto _test_eof640;
-case 640:
+ goto _test_eof678;
+case 678:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -60594,131 +62411,131 @@ case 640:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2013;
- case 32: goto tr2013;
- case 40: goto tr2014;
- case 41: goto tr2015;
- case 44: goto tr2016;
- case 46: goto tr2017;
- case 3082: goto tr2018;
- case 3131: goto tr2019;
- case 3338: goto tr2020;
- case 3387: goto tr2020;
- case 3594: goto tr2021;
- case 3643: goto tr2022;
+ case 9: goto tr2071;
+ case 32: goto tr2071;
+ case 40: goto tr2072;
+ case 41: goto tr2073;
+ case 44: goto tr2074;
+ case 46: goto tr2075;
+ case 3082: goto tr2076;
+ case 3131: goto tr2077;
+ case 3338: goto tr2078;
+ case 3387: goto tr2078;
+ case 3594: goto tr2079;
+ case 3643: goto tr2080;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2017;
- goto tr2005;
-tr2016:
+ goto tr2075;
+ goto tr2063;
+tr2074:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
}
- goto st641;
-st641:
+ goto st679;
+st679:
if ( ++p == pe )
- goto _test_eof641;
-case 641:
+ goto _test_eof679;
+case 679:
if ( (*p) == 46 )
- goto tr2023;
+ goto tr2081;
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2023;
- goto tr2005;
-st642:
+ goto tr2081;
+ goto tr2063;
+st680:
if ( ++p == pe )
- goto _test_eof642;
-case 642:
+ goto _test_eof680;
+case 680:
if ( (*p) == 104 )
- goto st643;
- goto tr1921;
-st643:
+ goto st681;
+ goto tr1967;
+st681:
if ( ++p == pe )
- goto _test_eof643;
-case 643:
+ goto _test_eof681;
+case 681:
if ( (*p) == 105 )
- goto st644;
- goto tr1921;
-st644:
+ goto st682;
+ goto tr1967;
+st682:
if ( ++p == pe )
- goto _test_eof644;
-case 644:
+ goto _test_eof682;
+case 682:
if ( (*p) == 110 )
- goto st645;
- goto tr1921;
-st645:
+ goto st683;
+ goto tr1967;
+st683:
if ( ++p == pe )
- goto _test_eof645;
-case 645:
+ goto _test_eof683;
+case 683:
if ( (*p) == 116 )
- goto st646;
- goto tr1921;
-st646:
+ goto st684;
+ goto tr1967;
+st684:
if ( ++p == pe )
- goto _test_eof646;
-case 646:
+ goto _test_eof684;
+case 684:
if ( (*p) == 61 )
- goto tr2028;
- goto tr1921;
-tr2028:
+ goto tr2086;
+ goto tr1967;
+tr2086:
{
uint16_t val = htons(6);
memcpy(rdata_tail, &val, 2);
rdata_tail += 2;
}
- goto st647;
-st647:
+ goto st685;
+st685:
if ( ++p == pe )
- goto _test_eof647;
-case 647:
+ goto _test_eof685;
+case 685:
switch( (*p) ) {
- case 34: goto st648;
- case 46: goto tr2030;
+ case 34: goto st686;
+ case 46: goto tr2088;
}
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 58 )
- goto tr2030;
+ goto tr2088;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr2030;
+ goto tr2088;
} else
- goto tr2030;
- goto tr2005;
-st648:
+ goto tr2088;
+ goto tr2063;
+st686:
if ( ++p == pe )
- goto _test_eof648;
-case 648:
+ goto _test_eof686;
+case 686:
if ( (*p) == 46 )
- goto tr2031;
+ goto tr2089;
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 58 )
- goto tr2031;
+ goto tr2089;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr2031;
+ goto tr2089;
} else
- goto tr2031;
- goto tr2005;
-tr2031:
+ goto tr2089;
+ goto tr2063;
+tr2089:
{
if (rdata_tail < rdata_stop) {
s->item_length2_location = rdata_tail;
rdata_tail += 2;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -60729,21 +62546,21 @@ tr2031:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st649;
-tr2034:
+ goto st687;
+tr2092:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st649;
-tr2035:
+ goto st687;
+tr2093:
{
s->buffer_length = 0;
}
@@ -60752,69 +62569,69 @@ tr2035:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st649;
-st649:
+ goto st687;
+st687:
if ( ++p == pe )
- goto _test_eof649;
-case 649:
+ goto _test_eof687;
+case 687:
switch( (*p) ) {
- case 34: goto tr2032;
- case 44: goto tr2033;
- case 46: goto tr2034;
+ case 34: goto tr2090;
+ case 44: goto tr2091;
+ case 46: goto tr2092;
}
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 58 )
- goto tr2034;
+ goto tr2092;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr2034;
+ goto tr2092;
} else
- goto tr2034;
- goto tr2005;
-tr2033:
+ goto tr2092;
+ goto tr2063;
+tr2091:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
}
- goto st650;
-st650:
+ goto st688;
+st688:
if ( ++p == pe )
- goto _test_eof650;
-case 650:
+ goto _test_eof688;
+case 688:
if ( (*p) == 46 )
- goto tr2035;
+ goto tr2093;
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 58 )
- goto tr2035;
+ goto tr2093;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr2035;
+ goto tr2093;
} else
- goto tr2035;
- goto tr2005;
-tr2030:
+ goto tr2093;
+ goto tr2063;
+tr2088:
{
if (rdata_tail < rdata_stop) {
s->item_length2_location = rdata_tail;
rdata_tail += 2;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -60825,21 +62642,21 @@ tr2030:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st651;
-tr2040:
+ goto st689;
+tr2098:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st651;
-tr2046:
+ goto st689;
+tr2104:
{
s->buffer_length = 0;
}
@@ -60848,14 +62665,14 @@ tr2046:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st651;
-st651:
+ goto st689;
+st689:
if ( ++p == pe )
- goto _test_eof651;
-case 651:
+ goto _test_eof689;
+case 689:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -60873,92 +62690,92 @@ case 651:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2036;
- case 32: goto tr2036;
- case 40: goto tr2037;
- case 41: goto tr2038;
- case 44: goto tr2039;
- case 46: goto tr2040;
- case 3082: goto tr2041;
- case 3131: goto tr2042;
- case 3338: goto tr2043;
- case 3387: goto tr2043;
- case 3594: goto tr2044;
- case 3643: goto tr2045;
+ case 9: goto tr2094;
+ case 32: goto tr2094;
+ case 40: goto tr2095;
+ case 41: goto tr2096;
+ case 44: goto tr2097;
+ case 46: goto tr2098;
+ case 3082: goto tr2099;
+ case 3131: goto tr2100;
+ case 3338: goto tr2101;
+ case 3387: goto tr2101;
+ case 3594: goto tr2102;
+ case 3643: goto tr2103;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 58 )
- goto tr2040;
+ goto tr2098;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr2040;
+ goto tr2098;
} else
- goto tr2040;
- goto tr2005;
-tr2039:
+ goto tr2098;
+ goto tr2063;
+tr2097:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
}
- goto st652;
-st652:
+ goto st690;
+st690:
if ( ++p == pe )
- goto _test_eof652;
-case 652:
+ goto _test_eof690;
+case 690:
if ( (*p) == 46 )
- goto tr2046;
+ goto tr2104;
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 58 )
- goto tr2046;
+ goto tr2104;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr2046;
+ goto tr2104;
} else
- goto tr2046;
- goto tr2005;
-tr1936:
+ goto tr2104;
+ goto tr2063;
+tr1983:
{
if (rdata_tail + 4 > rdata_stop + 1) { // key_len + val_len
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->svcb.param_position = rdata_tail;
}
- goto st653;
-st653:
+ goto st691;
+st691:
if ( ++p == pe )
- goto _test_eof653;
-case 653:
+ goto _test_eof691;
+case 691:
if ( (*p) == 101 )
- goto st654;
- goto tr1921;
-st654:
+ goto st692;
+ goto tr1967;
+st692:
if ( ++p == pe )
- goto _test_eof654;
-case 654:
+ goto _test_eof692;
+case 692:
if ( (*p) == 121 )
- goto st655;
- goto tr1921;
-st655:
+ goto st693;
+ goto tr1967;
+st693:
if ( ++p == pe )
- goto _test_eof655;
-case 655:
+ goto _test_eof693;
+case 693:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2050;
- goto tr2049;
-tr2050:
+ goto tr2108;
+ goto tr2107;
+tr2108:
{
s->number64 = 0;
}
@@ -60973,11 +62790,11 @@ tr2050:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st656;
-tr2054:
+ goto st694;
+tr2112:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -60989,14 +62806,14 @@ tr2054:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st656;
-st656:
+ goto st694;
+st694:
if ( ++p == pe )
- goto _test_eof656;
-case 656:
+ goto _test_eof694;
+case 694:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -61014,22 +62831,22 @@ case 656:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2051;
- case 32: goto tr2051;
- case 40: goto tr2052;
- case 41: goto tr2053;
- case 61: goto tr2055;
- case 3082: goto tr2056;
- case 3131: goto tr2057;
- case 3338: goto tr2058;
- case 3387: goto tr2058;
- case 3594: goto tr2059;
- case 3643: goto tr2060;
+ case 9: goto tr2109;
+ case 32: goto tr2109;
+ case 40: goto tr2110;
+ case 41: goto tr2111;
+ case 61: goto tr2113;
+ case 3082: goto tr2114;
+ case 3131: goto tr2115;
+ case 3338: goto tr2116;
+ case 3387: goto tr2116;
+ case 3594: goto tr2117;
+ case 3643: goto tr2118;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2054;
- goto tr2049;
-tr2055:
+ goto tr2112;
+ goto tr2107;
+tr2113:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -61037,171 +62854,126 @@ tr2055:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st657;
-st657:
+ goto st695;
+st695:
if ( ++p == pe )
- goto _test_eof657;
-case 657:
+ goto _test_eof695;
+case 695:
switch( (*p) ) {
- case 32: goto tr1921;
- case 59: goto tr1921;
+ case 32: goto tr1967;
+ case 59: goto tr1967;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr1921;
+ goto tr1967;
} else if ( (*p) >= 9 )
- goto tr1921;
- goto tr2061;
-tr2061:
- {
- if (rdata_tail < rdata_stop) {
- s->item_length2_location = rdata_tail;
- rdata_tail += 2;
- } else {
- WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
- }
- }
- { p--; {stack[top++] = 658;goto st318;} }
- goto st658;
-st658:
- if ( ++p == pe )
- goto _test_eof658;
-case 658:
- _widec = (*p);
- if ( (*p) > 10 ) {
- if ( 59 <= (*p) && (*p) <= 59 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- } else if ( (*p) >= 10 ) {
- _widec = (short)(2688 + ((*p) - -128));
- if (
- s->multiline ) _widec += 256;
- if (
- !s->multiline ) _widec += 512;
- }
- switch( _widec ) {
- case 9: goto tr1987;
- case 32: goto tr1987;
- case 40: goto tr1988;
- case 41: goto tr1989;
- case 3082: goto tr1991;
- case 3131: goto tr1992;
- case 3338: goto tr1993;
- case 3387: goto tr1993;
- case 3594: goto tr1994;
- case 3643: goto tr1995;
- }
- goto tr1921;
-tr1937:
+ goto tr1967;
+ goto tr2016;
+tr1984:
{
if (rdata_tail + 4 > rdata_stop + 1) { // key_len + val_len
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->svcb.param_position = rdata_tail;
}
- goto st659;
-st659:
+ goto st696;
+st696:
if ( ++p == pe )
- goto _test_eof659;
-case 659:
+ goto _test_eof696;
+case 696:
if ( (*p) == 97 )
- goto st660;
- goto tr1921;
-st660:
+ goto st697;
+ goto tr1967;
+st697:
if ( ++p == pe )
- goto _test_eof660;
-case 660:
+ goto _test_eof697;
+case 697:
if ( (*p) == 110 )
- goto st661;
- goto tr1921;
-st661:
+ goto st698;
+ goto tr1967;
+st698:
if ( ++p == pe )
- goto _test_eof661;
-case 661:
+ goto _test_eof698;
+case 698:
if ( (*p) == 100 )
- goto st662;
- goto tr1921;
-st662:
+ goto st699;
+ goto tr1967;
+st699:
if ( ++p == pe )
- goto _test_eof662;
-case 662:
+ goto _test_eof699;
+case 699:
if ( (*p) == 97 )
- goto st663;
- goto tr1921;
-st663:
+ goto st700;
+ goto tr1967;
+st700:
if ( ++p == pe )
- goto _test_eof663;
-case 663:
+ goto _test_eof700;
+case 700:
if ( (*p) == 116 )
- goto st664;
- goto tr1921;
-st664:
+ goto st701;
+ goto tr1967;
+st701:
if ( ++p == pe )
- goto _test_eof664;
-case 664:
+ goto _test_eof701;
+case 701:
if ( (*p) == 111 )
- goto st665;
- goto tr1921;
-st665:
+ goto st702;
+ goto tr1967;
+st702:
if ( ++p == pe )
- goto _test_eof665;
-case 665:
+ goto _test_eof702;
+case 702:
if ( (*p) == 114 )
- goto st666;
- goto tr1921;
-st666:
+ goto st703;
+ goto tr1967;
+st703:
if ( ++p == pe )
- goto _test_eof666;
-case 666:
+ goto _test_eof703;
+case 703:
if ( (*p) == 121 )
- goto st667;
- goto tr1921;
-st667:
+ goto st704;
+ goto tr1967;
+st704:
if ( ++p == pe )
- goto _test_eof667;
-case 667:
+ goto _test_eof704;
+case 704:
if ( (*p) == 61 )
- goto tr2070;
- goto tr1921;
-tr2070:
+ goto tr2127;
+ goto tr1967;
+tr2127:
{
uint16_t val = htons(0);
memcpy(rdata_tail, &val, 2);
rdata_tail += 2;
}
- goto st668;
-st668:
+ goto st705;
+st705:
if ( ++p == pe )
- goto _test_eof668;
-case 668:
+ goto _test_eof705;
+case 705:
if ( (*p) == 34 )
- goto st669;
+ goto st706;
if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr2072;
+ goto tr2129;
} else if ( (*p) >= 65 )
- goto tr2072;
- goto tr1921;
-st669:
+ goto tr2129;
+ goto tr1967;
+st706:
if ( ++p == pe )
- goto _test_eof669;
-case 669:
+ goto _test_eof706;
+case 706:
if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr2073;
+ goto tr2130;
} else if ( (*p) >= 65 )
- goto tr2073;
- goto tr1921;
-tr2073:
+ goto tr2130;
+ goto tr1967;
+tr2130:
{
s->svcb.mandatory_position = rdata_tail + 2; // Skip 2-B prefix.
}
@@ -61211,34 +62983,34 @@ tr2073:
rdata_tail += 2;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- { p--; {stack[top++] = 670;goto st559;} }
- goto st670;
-tr2076:
- { p--; {stack[top++] = 670;goto st559;} }
- goto st670;
-st670:
+ { p--; {stack[top++] = 707;goto st574;} }
+ goto st707;
+tr2133:
+ { p--; {stack[top++] = 707;goto st574;} }
+ goto st707;
+st707:
if ( ++p == pe )
- goto _test_eof670;
-case 670:
+ goto _test_eof707;
+case 707:
switch( (*p) ) {
- case 34: goto tr2074;
- case 44: goto st671;
+ case 34: goto tr2131;
+ case 44: goto st708;
}
- goto tr1921;
-st671:
+ goto tr1967;
+st708:
if ( ++p == pe )
- goto _test_eof671;
-case 671:
+ goto _test_eof708;
+case 708:
if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr2076;
+ goto tr2133;
} else if ( (*p) >= 65 )
- goto tr2076;
- goto tr1921;
-tr2072:
+ goto tr2133;
+ goto tr1967;
+tr2129:
{
s->svcb.mandatory_position = rdata_tail + 2; // Skip 2-B prefix.
}
@@ -61248,18 +63020,18 @@ tr2072:
rdata_tail += 2;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- { p--; {stack[top++] = 672;goto st559;} }
- goto st672;
-tr2086:
- { p--; {stack[top++] = 672;goto st559;} }
- goto st672;
-st672:
+ { p--; {stack[top++] = 709;goto st574;} }
+ goto st709;
+tr2143:
+ { p--; {stack[top++] = 709;goto st574;} }
+ goto st709;
+st709:
if ( ++p == pe )
- goto _test_eof672;
-case 672:
+ goto _test_eof709;
+case 709:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -61277,140 +63049,140 @@ case 672:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2077;
- case 32: goto tr2077;
- case 40: goto tr2078;
- case 41: goto tr2079;
- case 44: goto st673;
- case 3082: goto tr2081;
- case 3131: goto tr2082;
- case 3338: goto tr2083;
- case 3387: goto tr2083;
- case 3594: goto tr2084;
- case 3643: goto tr2085;
+ case 9: goto tr2134;
+ case 32: goto tr2134;
+ case 40: goto tr2135;
+ case 41: goto tr2136;
+ case 44: goto st710;
+ case 3082: goto tr2138;
+ case 3131: goto tr2139;
+ case 3338: goto tr2140;
+ case 3387: goto tr2140;
+ case 3594: goto tr2141;
+ case 3643: goto tr2142;
}
- goto tr1921;
-st673:
+ goto tr1967;
+st710:
if ( ++p == pe )
- goto _test_eof673;
-case 673:
+ goto _test_eof710;
+case 710:
if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr2086;
+ goto tr2143;
} else if ( (*p) >= 65 )
- goto tr2086;
- goto tr1921;
-tr1938:
+ goto tr2143;
+ goto tr1967;
+tr1985:
{
if (rdata_tail + 4 > rdata_stop + 1) { // key_len + val_len
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->svcb.param_position = rdata_tail;
}
- goto st674;
-st674:
+ goto st711;
+st711:
if ( ++p == pe )
- goto _test_eof674;
-case 674:
+ goto _test_eof711;
+case 711:
if ( (*p) == 111 )
- goto st675;
- goto tr1921;
-st675:
+ goto st712;
+ goto tr1967;
+st712:
if ( ++p == pe )
- goto _test_eof675;
-case 675:
+ goto _test_eof712;
+case 712:
if ( (*p) == 45 )
- goto st676;
- goto tr1921;
-st676:
+ goto st713;
+ goto tr1967;
+st713:
if ( ++p == pe )
- goto _test_eof676;
-case 676:
+ goto _test_eof713;
+case 713:
if ( (*p) == 100 )
- goto st677;
- goto tr1921;
-st677:
+ goto st714;
+ goto tr1967;
+st714:
if ( ++p == pe )
- goto _test_eof677;
-case 677:
+ goto _test_eof714;
+case 714:
if ( (*p) == 101 )
- goto st678;
- goto tr1921;
-st678:
+ goto st715;
+ goto tr1967;
+st715:
if ( ++p == pe )
- goto _test_eof678;
-case 678:
+ goto _test_eof715;
+case 715:
if ( (*p) == 102 )
- goto st679;
- goto tr1921;
-st679:
+ goto st716;
+ goto tr1967;
+st716:
if ( ++p == pe )
- goto _test_eof679;
-case 679:
+ goto _test_eof716;
+case 716:
if ( (*p) == 97 )
- goto st680;
- goto tr1921;
-st680:
+ goto st717;
+ goto tr1967;
+st717:
if ( ++p == pe )
- goto _test_eof680;
-case 680:
+ goto _test_eof717;
+case 717:
if ( (*p) == 117 )
- goto st681;
- goto tr1921;
-st681:
+ goto st718;
+ goto tr1967;
+st718:
if ( ++p == pe )
- goto _test_eof681;
-case 681:
+ goto _test_eof718;
+case 718:
if ( (*p) == 108 )
- goto st682;
- goto tr1921;
-st682:
+ goto st719;
+ goto tr1967;
+st719:
if ( ++p == pe )
- goto _test_eof682;
-case 682:
+ goto _test_eof719;
+case 719:
if ( (*p) == 116 )
- goto st683;
- goto tr1921;
-st683:
+ goto st720;
+ goto tr1967;
+st720:
if ( ++p == pe )
- goto _test_eof683;
-case 683:
+ goto _test_eof720;
+case 720:
if ( (*p) == 45 )
- goto st684;
- goto tr1921;
-st684:
+ goto st721;
+ goto tr1967;
+st721:
if ( ++p == pe )
- goto _test_eof684;
-case 684:
+ goto _test_eof721;
+case 721:
if ( (*p) == 97 )
- goto st685;
- goto tr1921;
-st685:
+ goto st722;
+ goto tr1967;
+st722:
if ( ++p == pe )
- goto _test_eof685;
-case 685:
+ goto _test_eof722;
+case 722:
if ( (*p) == 108 )
- goto st686;
- goto tr1921;
-st686:
+ goto st723;
+ goto tr1967;
+st723:
if ( ++p == pe )
- goto _test_eof686;
-case 686:
+ goto _test_eof723;
+case 723:
if ( (*p) == 112 )
- goto st687;
- goto tr1921;
-st687:
+ goto st724;
+ goto tr1967;
+st724:
if ( ++p == pe )
- goto _test_eof687;
-case 687:
+ goto _test_eof724;
+case 724:
if ( (*p) == 110 )
- goto st688;
- goto tr1921;
-st688:
+ goto st725;
+ goto tr1967;
+st725:
if ( ++p == pe )
- goto _test_eof688;
-case 688:
+ goto _test_eof725;
+case 725:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -61428,79 +63200,149 @@ case 688:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2101;
- case 32: goto tr2101;
- case 40: goto tr2102;
- case 41: goto tr2103;
- case 3082: goto tr2104;
- case 3131: goto tr2105;
- case 3338: goto tr2106;
- case 3387: goto tr2106;
- case 3594: goto tr2107;
- case 3643: goto tr2108;
+ case 9: goto tr2158;
+ case 32: goto tr2158;
+ case 40: goto tr2159;
+ case 41: goto tr2160;
+ case 3082: goto tr2161;
+ case 3131: goto tr2162;
+ case 3338: goto tr2163;
+ case 3387: goto tr2163;
+ case 3594: goto tr2164;
+ case 3643: goto tr2165;
}
- goto tr1921;
-tr1939:
+ goto tr1967;
+tr1986:
{
if (rdata_tail + 4 > rdata_stop + 1) { // key_len + val_len
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->svcb.param_position = rdata_tail;
}
- goto st689;
-st689:
+ goto st726;
+st726:
if ( ++p == pe )
- goto _test_eof689;
-case 689:
+ goto _test_eof726;
+case 726:
+ if ( (*p) == 104 )
+ goto st727;
+ goto tr1967;
+st727:
+ if ( ++p == pe )
+ goto _test_eof727;
+case 727:
+ if ( (*p) == 116 )
+ goto st728;
+ goto tr1967;
+st728:
+ if ( ++p == pe )
+ goto _test_eof728;
+case 728:
+ if ( (*p) == 116 )
+ goto st729;
+ goto tr1967;
+st729:
+ if ( ++p == pe )
+ goto _test_eof729;
+case 729:
+ if ( (*p) == 112 )
+ goto st730;
+ goto tr1967;
+st730:
+ if ( ++p == pe )
+ goto _test_eof730;
+case 730:
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(2688 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ if (
+ !s->multiline ) _widec += 512;
+ }
+ switch( _widec ) {
+ case 9: goto tr2170;
+ case 32: goto tr2170;
+ case 40: goto tr2171;
+ case 41: goto tr2172;
+ case 3082: goto tr2173;
+ case 3131: goto tr2174;
+ case 3338: goto tr2175;
+ case 3387: goto tr2175;
+ case 3594: goto tr2176;
+ case 3643: goto tr2177;
+ }
+ goto tr1967;
+tr1987:
+ {
+ if (rdata_tail + 4 > rdata_stop + 1) { // key_len + val_len
+ WARN(ZS_RDATA_OVERFLOW);
+ p--; {goto st316;}
+ }
+ s->svcb.param_position = rdata_tail;
+ }
+ goto st731;
+st731:
+ if ( ++p == pe )
+ goto _test_eof731;
+case 731:
if ( (*p) == 111 )
- goto st690;
- goto tr1921;
-st690:
+ goto st732;
+ goto tr1967;
+st732:
if ( ++p == pe )
- goto _test_eof690;
-case 690:
+ goto _test_eof732;
+case 732:
if ( (*p) == 114 )
- goto st691;
- goto tr1921;
-st691:
+ goto st733;
+ goto tr1967;
+st733:
if ( ++p == pe )
- goto _test_eof691;
-case 691:
+ goto _test_eof733;
+case 733:
if ( (*p) == 116 )
- goto st692;
- goto tr1921;
-st692:
+ goto st734;
+ goto tr1967;
+st734:
if ( ++p == pe )
- goto _test_eof692;
-case 692:
+ goto _test_eof734;
+case 734:
if ( (*p) == 61 )
- goto tr2112;
- goto tr1921;
-tr2112:
+ goto tr2181;
+ goto tr1967;
+tr2181:
{
uint16_t val = htons(3);
memcpy(rdata_tail, &val, 2);
rdata_tail += 2;
}
- goto st693;
-st693:
+ goto st735;
+st735:
if ( ++p == pe )
- goto _test_eof693;
-case 693:
+ goto _test_eof735;
+case 735:
if ( (*p) == 34 )
- goto st694;
+ goto st736;
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2114;
- goto tr2049;
-st694:
+ goto tr2183;
+ goto tr2107;
+st736:
if ( ++p == pe )
- goto _test_eof694;
-case 694:
+ goto _test_eof736;
+case 736:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2115;
- goto tr2049;
-tr2117:
+ goto tr2184;
+ goto tr2107;
+tr2186:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -61512,11 +63354,11 @@ tr2117:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st695;
-tr2115:
+ goto st737;
+tr2184:
{
uint16_t val = htons(2);
memcpy(rdata_tail, &val, 2);
@@ -61525,7 +63367,7 @@ tr2115:
{
if (rdata_tail + 2 > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -61542,20 +63384,20 @@ tr2115:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st695;
-st695:
+ goto st737;
+st737:
if ( ++p == pe )
- goto _test_eof695;
-case 695:
+ goto _test_eof737;
+case 737:
if ( (*p) == 34 )
- goto tr2116;
+ goto tr2185;
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2117;
- goto tr2049;
-tr2121:
+ goto tr2186;
+ goto tr2107;
+tr2190:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -61567,11 +63409,11 @@ tr2121:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st696;
-tr2114:
+ goto st738;
+tr2183:
{
uint16_t val = htons(2);
memcpy(rdata_tail, &val, 2);
@@ -61580,7 +63422,7 @@ tr2114:
{
if (rdata_tail + 2 > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -61597,14 +63439,14 @@ tr2114:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st696;
-st696:
+ goto st738;
+st738:
if ( ++p == pe )
- goto _test_eof696;
-case 696:
+ goto _test_eof738;
+case 738:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -61622,21 +63464,21 @@ case 696:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2118;
- case 32: goto tr2118;
- case 40: goto tr2119;
- case 41: goto tr2120;
- case 3082: goto tr2122;
- case 3131: goto tr2123;
- case 3338: goto tr2124;
- case 3387: goto tr2124;
- case 3594: goto tr2125;
- case 3643: goto tr2126;
+ case 9: goto tr2187;
+ case 32: goto tr2187;
+ case 40: goto tr2188;
+ case 41: goto tr2189;
+ case 3082: goto tr2191;
+ case 3131: goto tr2192;
+ case 3338: goto tr2193;
+ case 3387: goto tr2193;
+ case 3594: goto tr2194;
+ case 3643: goto tr2195;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2121;
- goto tr2049;
-tr1950:
+ goto tr2190;
+ goto tr2107;
+tr1998:
{
s->comma_list = true;
s->pending_backslash = false;
@@ -61647,7 +63489,7 @@ tr1950:
rdata_tail += 2;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -61655,15 +63497,15 @@ tr1950:
s->item_length_location = rdata_tail++;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- { p--; {stack[top++] = 697;goto st318;} }
- goto st697;
-st697:
+ { p--; {stack[top++] = 739;goto st327;} }
+ goto st739;
+st739:
if ( ++p == pe )
- goto _test_eof697;
-case 697:
+ goto _test_eof739;
+case 739:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -61681,27 +63523,27 @@ case 697:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr1951;
- case 32: goto tr1951;
- case 40: goto tr1952;
- case 41: goto tr1953;
- case 3082: goto tr1954;
- case 3131: goto tr1955;
- case 3338: goto tr1956;
- case 3387: goto tr1956;
- case 3594: goto tr1957;
- case 3643: goto tr1958;
+ case 9: goto tr1999;
+ case 32: goto tr1999;
+ case 40: goto tr2000;
+ case 41: goto tr2001;
+ case 3082: goto tr2002;
+ case 3131: goto tr2003;
+ case 3338: goto tr2004;
+ case 3387: goto tr2004;
+ case 3594: goto tr2005;
+ case 3643: goto tr2006;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr2127;
+ goto tr2196;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr2127;
+ goto tr2196;
} else
- goto tr2127;
- goto tr1921;
-tr2127:
+ goto tr2196;
+ goto tr1967;
+tr2196:
{
s->comma_list = true;
s->pending_backslash = false;
@@ -61712,7 +63554,7 @@ tr2127:
rdata_tail += 2;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -61720,38 +63562,38 @@ tr2127:
s->item_length_location = rdata_tail++;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- { p--; {stack[top++] = 698;goto st318;} }
- goto st698;
-st698:
+ { p--; {stack[top++] = 740;goto st327;} }
+ goto st740;
+st740:
if ( ++p == pe )
- goto _test_eof698;
-case 698:
+ goto _test_eof740;
+case 740:
if ( (*p) == 34 )
- goto tr2128;
- goto tr1921;
-st699:
+ goto tr2197;
+ goto tr1967;
+st741:
if ( ++p == pe )
- goto _test_eof699;
-case 699:
+ goto _test_eof741;
+case 741:
switch( (*p) ) {
- case 68: goto st701;
- case 69: goto st716;
- case 73: goto st755;
- case 80: goto st763;
- case 82: goto st776;
- case 100: goto st701;
- case 101: goto st716;
- case 105: goto st755;
- case 112: goto st763;
- case 114: goto st776;
+ case 68: goto st743;
+ case 69: goto st758;
+ case 73: goto st797;
+ case 80: goto st805;
+ case 82: goto st818;
+ case 100: goto st743;
+ case 101: goto st758;
+ case 105: goto st797;
+ case 112: goto st805;
+ case 114: goto st818;
}
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2130;
- goto tr2129;
-tr2130:
+ goto tr2199;
+ goto tr2198;
+tr2199:
{
s->number64 = 0;
}
@@ -61766,11 +63608,11 @@ tr2130:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st700;
-tr2137:
+ goto st742;
+tr2206:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -61782,1151 +63624,1151 @@ tr2137:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st700;
-st700:
+ goto st742;
+st742:
if ( ++p == pe )
- goto _test_eof700;
-case 700:
+ goto _test_eof742;
+case 742:
switch( (*p) ) {
- case 32: goto tr2136;
- case 59: goto tr2136;
+ case 32: goto tr2205;
+ case 59: goto tr2205;
}
if ( (*p) < 40 ) {
if ( 9 <= (*p) && (*p) <= 10 )
- goto tr2136;
+ goto tr2205;
} else if ( (*p) > 41 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2137;
+ goto tr2206;
} else
- goto tr2136;
- goto tr2129;
-tr2136:
+ goto tr2205;
+ goto tr2198;
+tr2205:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1433;
-tr2140:
+ goto st1481;
+tr2209:
{
*(rdata_tail++) = 2;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1433;
-tr2142:
+ goto st1481;
+tr2211:
{
*(rdata_tail++) = 3;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1433;
-tr2154:
+ goto st1481;
+tr2223:
{
*(rdata_tail++) = 6;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1433;
-tr2164:
+ goto st1481;
+tr2233:
{
*(rdata_tail++) = 12;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1433;
-tr2178:
+ goto st1481;
+tr2247:
{
*(rdata_tail++) = 13;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1433;
-tr2187:
+ goto st1481;
+tr2256:
{
*(rdata_tail++) = 14;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1433;
-tr2194:
+ goto st1481;
+tr2263:
{
*(rdata_tail++) = 15;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1433;
-tr2197:
+ goto st1481;
+tr2266:
{
*(rdata_tail++) = 16;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1433;
-tr2205:
+ goto st1481;
+tr2274:
{
*(rdata_tail++) = 252;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1433;
-tr2216:
+ goto st1481;
+tr2285:
{
*(rdata_tail++) = 253;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1433;
-tr2219:
+ goto st1481;
+tr2288:
{
*(rdata_tail++) = 254;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1433;
-tr2226:
+ goto st1481;
+tr2295:
{
*(rdata_tail++) = 1;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1433;
-tr2232:
+ goto st1481;
+tr2301:
{
*(rdata_tail++) = 5;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1433;
-tr2244:
+ goto st1481;
+tr2313:
{
*(rdata_tail++) = 7;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1433;
-tr2247:
+ goto st1481;
+tr2316:
{
*(rdata_tail++) = 8;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1433;
-tr2250:
+ goto st1481;
+tr2319:
{
*(rdata_tail++) = 10;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1433;
-st1433:
+ goto st1481;
+st1481:
if ( ++p == pe )
- goto _test_eof1433;
-case 1433:
+ goto _test_eof1481;
+case 1481:
goto st0;
-st701:
+st743:
if ( ++p == pe )
- goto _test_eof701;
-case 701:
+ goto _test_eof743;
+case 743:
switch( (*p) ) {
- case 72: goto st702;
- case 83: goto st703;
- case 104: goto st702;
- case 115: goto st703;
+ case 72: goto st744;
+ case 83: goto st745;
+ case 104: goto st744;
+ case 115: goto st745;
}
- goto tr2129;
-st702:
+ goto tr2198;
+st744:
if ( ++p == pe )
- goto _test_eof702;
-case 702:
+ goto _test_eof744;
+case 744:
switch( (*p) ) {
- case 32: goto tr2140;
- case 59: goto tr2140;
+ case 32: goto tr2209;
+ case 59: goto tr2209;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2140;
+ goto tr2209;
} else if ( (*p) >= 9 )
- goto tr2140;
- goto tr2129;
-st703:
+ goto tr2209;
+ goto tr2198;
+st745:
if ( ++p == pe )
- goto _test_eof703;
-case 703:
+ goto _test_eof745;
+case 745:
switch( (*p) ) {
- case 65: goto st704;
- case 97: goto st704;
+ case 65: goto st746;
+ case 97: goto st746;
}
- goto tr2129;
-st704:
+ goto tr2198;
+st746:
if ( ++p == pe )
- goto _test_eof704;
-case 704:
+ goto _test_eof746;
+case 746:
switch( (*p) ) {
- case 32: goto tr2142;
- case 45: goto st705;
- case 59: goto tr2142;
+ case 32: goto tr2211;
+ case 45: goto st747;
+ case 59: goto tr2211;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2142;
+ goto tr2211;
} else if ( (*p) >= 9 )
- goto tr2142;
- goto tr2129;
-st705:
+ goto tr2211;
+ goto tr2198;
+st747:
if ( ++p == pe )
- goto _test_eof705;
-case 705:
+ goto _test_eof747;
+case 747:
switch( (*p) ) {
- case 78: goto st706;
- case 110: goto st706;
+ case 78: goto st748;
+ case 110: goto st748;
}
- goto tr2129;
-st706:
+ goto tr2198;
+st748:
if ( ++p == pe )
- goto _test_eof706;
-case 706:
+ goto _test_eof748;
+case 748:
switch( (*p) ) {
- case 83: goto st707;
- case 115: goto st707;
+ case 83: goto st749;
+ case 115: goto st749;
}
- goto tr2129;
-st707:
+ goto tr2198;
+st749:
if ( ++p == pe )
- goto _test_eof707;
-case 707:
+ goto _test_eof749;
+case 749:
switch( (*p) ) {
- case 69: goto st708;
- case 101: goto st708;
+ case 69: goto st750;
+ case 101: goto st750;
}
- goto tr2129;
-st708:
+ goto tr2198;
+st750:
if ( ++p == pe )
- goto _test_eof708;
-case 708:
+ goto _test_eof750;
+case 750:
switch( (*p) ) {
- case 67: goto st709;
- case 99: goto st709;
+ case 67: goto st751;
+ case 99: goto st751;
}
- goto tr2129;
-st709:
+ goto tr2198;
+st751:
if ( ++p == pe )
- goto _test_eof709;
-case 709:
+ goto _test_eof751;
+case 751:
if ( (*p) == 51 )
- goto st710;
- goto tr2129;
-st710:
+ goto st752;
+ goto tr2198;
+st752:
if ( ++p == pe )
- goto _test_eof710;
-case 710:
+ goto _test_eof752;
+case 752:
if ( (*p) == 45 )
- goto st711;
- goto tr2129;
-st711:
+ goto st753;
+ goto tr2198;
+st753:
if ( ++p == pe )
- goto _test_eof711;
-case 711:
+ goto _test_eof753;
+case 753:
switch( (*p) ) {
- case 83: goto st712;
- case 115: goto st712;
+ case 83: goto st754;
+ case 115: goto st754;
}
- goto tr2129;
-st712:
+ goto tr2198;
+st754:
if ( ++p == pe )
- goto _test_eof712;
-case 712:
+ goto _test_eof754;
+case 754:
switch( (*p) ) {
- case 72: goto st713;
- case 104: goto st713;
+ case 72: goto st755;
+ case 104: goto st755;
}
- goto tr2129;
-st713:
+ goto tr2198;
+st755:
if ( ++p == pe )
- goto _test_eof713;
-case 713:
+ goto _test_eof755;
+case 755:
switch( (*p) ) {
- case 65: goto st714;
- case 97: goto st714;
+ case 65: goto st756;
+ case 97: goto st756;
}
- goto tr2129;
-st714:
+ goto tr2198;
+st756:
if ( ++p == pe )
- goto _test_eof714;
-case 714:
+ goto _test_eof756;
+case 756:
if ( (*p) == 49 )
- goto st715;
- goto tr2129;
-st715:
+ goto st757;
+ goto tr2198;
+st757:
if ( ++p == pe )
- goto _test_eof715;
-case 715:
+ goto _test_eof757;
+case 757:
switch( (*p) ) {
- case 32: goto tr2154;
- case 59: goto tr2154;
+ case 32: goto tr2223;
+ case 59: goto tr2223;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2154;
+ goto tr2223;
} else if ( (*p) >= 9 )
- goto tr2154;
- goto tr2129;
-st716:
+ goto tr2223;
+ goto tr2198;
+st758:
if ( ++p == pe )
- goto _test_eof716;
-case 716:
+ goto _test_eof758;
+case 758:
switch( (*p) ) {
- case 67: goto st717;
- case 68: goto st746;
- case 99: goto st717;
- case 100: goto st746;
+ case 67: goto st759;
+ case 68: goto st788;
+ case 99: goto st759;
+ case 100: goto st788;
}
- goto tr2129;
-st717:
+ goto tr2198;
+st759:
if ( ++p == pe )
- goto _test_eof717;
-case 717:
+ goto _test_eof759;
+case 759:
switch( (*p) ) {
- case 67: goto st718;
- case 68: goto st724;
- case 99: goto st718;
- case 100: goto st724;
+ case 67: goto st760;
+ case 68: goto st766;
+ case 99: goto st760;
+ case 100: goto st766;
}
- goto tr2129;
-st718:
+ goto tr2198;
+st760:
if ( ++p == pe )
- goto _test_eof718;
-case 718:
+ goto _test_eof760;
+case 760:
if ( (*p) == 45 )
- goto st719;
- goto tr2129;
-st719:
+ goto st761;
+ goto tr2198;
+st761:
if ( ++p == pe )
- goto _test_eof719;
-case 719:
+ goto _test_eof761;
+case 761:
switch( (*p) ) {
- case 71: goto st720;
- case 103: goto st720;
+ case 71: goto st762;
+ case 103: goto st762;
}
- goto tr2129;
-st720:
+ goto tr2198;
+st762:
if ( ++p == pe )
- goto _test_eof720;
-case 720:
+ goto _test_eof762;
+case 762:
switch( (*p) ) {
- case 79: goto st721;
- case 111: goto st721;
+ case 79: goto st763;
+ case 111: goto st763;
}
- goto tr2129;
-st721:
+ goto tr2198;
+st763:
if ( ++p == pe )
- goto _test_eof721;
-case 721:
+ goto _test_eof763;
+case 763:
switch( (*p) ) {
- case 83: goto st722;
- case 115: goto st722;
+ case 83: goto st764;
+ case 115: goto st764;
}
- goto tr2129;
-st722:
+ goto tr2198;
+st764:
if ( ++p == pe )
- goto _test_eof722;
-case 722:
+ goto _test_eof764;
+case 764:
switch( (*p) ) {
- case 84: goto st723;
- case 116: goto st723;
+ case 84: goto st765;
+ case 116: goto st765;
}
- goto tr2129;
-st723:
+ goto tr2198;
+st765:
if ( ++p == pe )
- goto _test_eof723;
-case 723:
+ goto _test_eof765;
+case 765:
switch( (*p) ) {
- case 32: goto tr2164;
- case 59: goto tr2164;
+ case 32: goto tr2233;
+ case 59: goto tr2233;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2164;
+ goto tr2233;
} else if ( (*p) >= 9 )
- goto tr2164;
- goto tr2129;
-st724:
+ goto tr2233;
+ goto tr2198;
+st766:
if ( ++p == pe )
- goto _test_eof724;
-case 724:
+ goto _test_eof766;
+case 766:
switch( (*p) ) {
- case 83: goto st725;
- case 115: goto st725;
+ case 83: goto st767;
+ case 115: goto st767;
}
- goto tr2129;
-st725:
+ goto tr2198;
+st767:
if ( ++p == pe )
- goto _test_eof725;
-case 725:
+ goto _test_eof767;
+case 767:
switch( (*p) ) {
- case 65: goto st726;
- case 97: goto st726;
+ case 65: goto st768;
+ case 97: goto st768;
}
- goto tr2129;
-st726:
+ goto tr2198;
+st768:
if ( ++p == pe )
- goto _test_eof726;
-case 726:
+ goto _test_eof768;
+case 768:
switch( (*p) ) {
- case 80: goto st727;
- case 112: goto st727;
+ case 80: goto st769;
+ case 112: goto st769;
}
- goto tr2129;
-st727:
+ goto tr2198;
+st769:
if ( ++p == pe )
- goto _test_eof727;
-case 727:
+ goto _test_eof769;
+case 769:
switch( (*p) ) {
- case 50: goto st728;
- case 51: goto st737;
+ case 50: goto st770;
+ case 51: goto st779;
}
- goto tr2129;
-st728:
+ goto tr2198;
+st770:
if ( ++p == pe )
- goto _test_eof728;
-case 728:
+ goto _test_eof770;
+case 770:
if ( (*p) == 53 )
- goto st729;
- goto tr2129;
-st729:
+ goto st771;
+ goto tr2198;
+st771:
if ( ++p == pe )
- goto _test_eof729;
-case 729:
+ goto _test_eof771;
+case 771:
if ( (*p) == 54 )
- goto st730;
- goto tr2129;
-st730:
+ goto st772;
+ goto tr2198;
+st772:
if ( ++p == pe )
- goto _test_eof730;
-case 730:
+ goto _test_eof772;
+case 772:
switch( (*p) ) {
- case 83: goto st731;
- case 115: goto st731;
+ case 83: goto st773;
+ case 115: goto st773;
}
- goto tr2129;
-st731:
+ goto tr2198;
+st773:
if ( ++p == pe )
- goto _test_eof731;
-case 731:
+ goto _test_eof773;
+case 773:
switch( (*p) ) {
- case 72: goto st732;
- case 104: goto st732;
+ case 72: goto st774;
+ case 104: goto st774;
}
- goto tr2129;
-st732:
+ goto tr2198;
+st774:
if ( ++p == pe )
- goto _test_eof732;
-case 732:
+ goto _test_eof774;
+case 774:
switch( (*p) ) {
- case 65: goto st733;
- case 97: goto st733;
+ case 65: goto st775;
+ case 97: goto st775;
}
- goto tr2129;
-st733:
+ goto tr2198;
+st775:
if ( ++p == pe )
- goto _test_eof733;
-case 733:
+ goto _test_eof775;
+case 775:
if ( (*p) == 50 )
- goto st734;
- goto tr2129;
-st734:
+ goto st776;
+ goto tr2198;
+st776:
if ( ++p == pe )
- goto _test_eof734;
-case 734:
+ goto _test_eof776;
+case 776:
if ( (*p) == 53 )
- goto st735;
- goto tr2129;
-st735:
+ goto st777;
+ goto tr2198;
+st777:
if ( ++p == pe )
- goto _test_eof735;
-case 735:
+ goto _test_eof777;
+case 777:
if ( (*p) == 54 )
- goto st736;
- goto tr2129;
-st736:
+ goto st778;
+ goto tr2198;
+st778:
if ( ++p == pe )
- goto _test_eof736;
-case 736:
+ goto _test_eof778;
+case 778:
switch( (*p) ) {
- case 32: goto tr2178;
- case 59: goto tr2178;
+ case 32: goto tr2247;
+ case 59: goto tr2247;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2178;
+ goto tr2247;
} else if ( (*p) >= 9 )
- goto tr2178;
- goto tr2129;
-st737:
+ goto tr2247;
+ goto tr2198;
+st779:
if ( ++p == pe )
- goto _test_eof737;
-case 737:
+ goto _test_eof779;
+case 779:
if ( (*p) == 56 )
- goto st738;
- goto tr2129;
-st738:
+ goto st780;
+ goto tr2198;
+st780:
if ( ++p == pe )
- goto _test_eof738;
-case 738:
+ goto _test_eof780;
+case 780:
if ( (*p) == 52 )
- goto st739;
- goto tr2129;
-st739:
+ goto st781;
+ goto tr2198;
+st781:
if ( ++p == pe )
- goto _test_eof739;
-case 739:
+ goto _test_eof781;
+case 781:
switch( (*p) ) {
- case 83: goto st740;
- case 115: goto st740;
+ case 83: goto st782;
+ case 115: goto st782;
}
- goto tr2129;
-st740:
+ goto tr2198;
+st782:
if ( ++p == pe )
- goto _test_eof740;
-case 740:
+ goto _test_eof782;
+case 782:
switch( (*p) ) {
- case 72: goto st741;
- case 104: goto st741;
+ case 72: goto st783;
+ case 104: goto st783;
}
- goto tr2129;
-st741:
+ goto tr2198;
+st783:
if ( ++p == pe )
- goto _test_eof741;
-case 741:
+ goto _test_eof783;
+case 783:
switch( (*p) ) {
- case 65: goto st742;
- case 97: goto st742;
+ case 65: goto st784;
+ case 97: goto st784;
}
- goto tr2129;
-st742:
+ goto tr2198;
+st784:
if ( ++p == pe )
- goto _test_eof742;
-case 742:
+ goto _test_eof784;
+case 784:
if ( (*p) == 51 )
- goto st743;
- goto tr2129;
-st743:
+ goto st785;
+ goto tr2198;
+st785:
if ( ++p == pe )
- goto _test_eof743;
-case 743:
+ goto _test_eof785;
+case 785:
if ( (*p) == 56 )
- goto st744;
- goto tr2129;
-st744:
+ goto st786;
+ goto tr2198;
+st786:
if ( ++p == pe )
- goto _test_eof744;
-case 744:
+ goto _test_eof786;
+case 786:
if ( (*p) == 52 )
- goto st745;
- goto tr2129;
-st745:
+ goto st787;
+ goto tr2198;
+st787:
if ( ++p == pe )
- goto _test_eof745;
-case 745:
+ goto _test_eof787;
+case 787:
switch( (*p) ) {
- case 32: goto tr2187;
- case 59: goto tr2187;
+ case 32: goto tr2256;
+ case 59: goto tr2256;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2187;
+ goto tr2256;
} else if ( (*p) >= 9 )
- goto tr2187;
- goto tr2129;
-st746:
+ goto tr2256;
+ goto tr2198;
+st788:
if ( ++p == pe )
- goto _test_eof746;
-case 746:
+ goto _test_eof788;
+case 788:
switch( (*p) ) {
- case 50: goto st747;
- case 52: goto st752;
+ case 50: goto st789;
+ case 52: goto st794;
}
- goto tr2129;
-st747:
+ goto tr2198;
+st789:
if ( ++p == pe )
- goto _test_eof747;
-case 747:
+ goto _test_eof789;
+case 789:
if ( (*p) == 53 )
- goto st748;
- goto tr2129;
-st748:
+ goto st790;
+ goto tr2198;
+st790:
if ( ++p == pe )
- goto _test_eof748;
-case 748:
+ goto _test_eof790;
+case 790:
if ( (*p) == 53 )
- goto st749;
- goto tr2129;
-st749:
+ goto st791;
+ goto tr2198;
+st791:
if ( ++p == pe )
- goto _test_eof749;
-case 749:
+ goto _test_eof791;
+case 791:
if ( (*p) == 49 )
- goto st750;
- goto tr2129;
-st750:
+ goto st792;
+ goto tr2198;
+st792:
if ( ++p == pe )
- goto _test_eof750;
-case 750:
+ goto _test_eof792;
+case 792:
if ( (*p) == 57 )
- goto st751;
- goto tr2129;
-st751:
+ goto st793;
+ goto tr2198;
+st793:
if ( ++p == pe )
- goto _test_eof751;
-case 751:
+ goto _test_eof793;
+case 793:
switch( (*p) ) {
- case 32: goto tr2194;
- case 59: goto tr2194;
+ case 32: goto tr2263;
+ case 59: goto tr2263;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2194;
+ goto tr2263;
} else if ( (*p) >= 9 )
- goto tr2194;
- goto tr2129;
-st752:
+ goto tr2263;
+ goto tr2198;
+st794:
if ( ++p == pe )
- goto _test_eof752;
-case 752:
+ goto _test_eof794;
+case 794:
if ( (*p) == 52 )
- goto st753;
- goto tr2129;
-st753:
+ goto st795;
+ goto tr2198;
+st795:
if ( ++p == pe )
- goto _test_eof753;
-case 753:
+ goto _test_eof795;
+case 795:
if ( (*p) == 56 )
- goto st754;
- goto tr2129;
-st754:
+ goto st796;
+ goto tr2198;
+st796:
if ( ++p == pe )
- goto _test_eof754;
-case 754:
+ goto _test_eof796;
+case 796:
switch( (*p) ) {
- case 32: goto tr2197;
- case 59: goto tr2197;
+ case 32: goto tr2266;
+ case 59: goto tr2266;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2197;
+ goto tr2266;
} else if ( (*p) >= 9 )
- goto tr2197;
- goto tr2129;
-st755:
+ goto tr2266;
+ goto tr2198;
+st797:
if ( ++p == pe )
- goto _test_eof755;
-case 755:
+ goto _test_eof797;
+case 797:
switch( (*p) ) {
- case 78: goto st756;
- case 110: goto st756;
+ case 78: goto st798;
+ case 110: goto st798;
}
- goto tr2129;
-st756:
+ goto tr2198;
+st798:
if ( ++p == pe )
- goto _test_eof756;
-case 756:
+ goto _test_eof798;
+case 798:
switch( (*p) ) {
- case 68: goto st757;
- case 100: goto st757;
+ case 68: goto st799;
+ case 100: goto st799;
}
- goto tr2129;
-st757:
+ goto tr2198;
+st799:
if ( ++p == pe )
- goto _test_eof757;
-case 757:
+ goto _test_eof799;
+case 799:
switch( (*p) ) {
- case 73: goto st758;
- case 105: goto st758;
+ case 73: goto st800;
+ case 105: goto st800;
}
- goto tr2129;
-st758:
+ goto tr2198;
+st800:
if ( ++p == pe )
- goto _test_eof758;
-case 758:
+ goto _test_eof800;
+case 800:
switch( (*p) ) {
- case 82: goto st759;
- case 114: goto st759;
+ case 82: goto st801;
+ case 114: goto st801;
}
- goto tr2129;
-st759:
+ goto tr2198;
+st801:
if ( ++p == pe )
- goto _test_eof759;
-case 759:
+ goto _test_eof801;
+case 801:
switch( (*p) ) {
- case 69: goto st760;
- case 101: goto st760;
+ case 69: goto st802;
+ case 101: goto st802;
}
- goto tr2129;
-st760:
+ goto tr2198;
+st802:
if ( ++p == pe )
- goto _test_eof760;
-case 760:
+ goto _test_eof802;
+case 802:
switch( (*p) ) {
- case 67: goto st761;
- case 99: goto st761;
+ case 67: goto st803;
+ case 99: goto st803;
}
- goto tr2129;
-st761:
+ goto tr2198;
+st803:
if ( ++p == pe )
- goto _test_eof761;
-case 761:
+ goto _test_eof803;
+case 803:
switch( (*p) ) {
- case 84: goto st762;
- case 116: goto st762;
+ case 84: goto st804;
+ case 116: goto st804;
}
- goto tr2129;
-st762:
+ goto tr2198;
+st804:
if ( ++p == pe )
- goto _test_eof762;
-case 762:
+ goto _test_eof804;
+case 804:
switch( (*p) ) {
- case 32: goto tr2205;
- case 59: goto tr2205;
+ case 32: goto tr2274;
+ case 59: goto tr2274;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2205;
+ goto tr2274;
} else if ( (*p) >= 9 )
- goto tr2205;
- goto tr2129;
-st763:
+ goto tr2274;
+ goto tr2198;
+st805:
if ( ++p == pe )
- goto _test_eof763;
-case 763:
+ goto _test_eof805;
+case 805:
switch( (*p) ) {
- case 82: goto st764;
- case 114: goto st764;
+ case 82: goto st806;
+ case 114: goto st806;
}
- goto tr2129;
-st764:
+ goto tr2198;
+st806:
if ( ++p == pe )
- goto _test_eof764;
-case 764:
+ goto _test_eof806;
+case 806:
switch( (*p) ) {
- case 73: goto st765;
- case 105: goto st765;
+ case 73: goto st807;
+ case 105: goto st807;
}
- goto tr2129;
-st765:
+ goto tr2198;
+st807:
if ( ++p == pe )
- goto _test_eof765;
-case 765:
+ goto _test_eof807;
+case 807:
switch( (*p) ) {
- case 86: goto st766;
- case 118: goto st766;
+ case 86: goto st808;
+ case 118: goto st808;
}
- goto tr2129;
-st766:
+ goto tr2198;
+st808:
if ( ++p == pe )
- goto _test_eof766;
-case 766:
+ goto _test_eof808;
+case 808:
switch( (*p) ) {
- case 65: goto st767;
- case 97: goto st767;
+ case 65: goto st809;
+ case 97: goto st809;
}
- goto tr2129;
-st767:
+ goto tr2198;
+st809:
if ( ++p == pe )
- goto _test_eof767;
-case 767:
+ goto _test_eof809;
+case 809:
switch( (*p) ) {
- case 84: goto st768;
- case 116: goto st768;
+ case 84: goto st810;
+ case 116: goto st810;
}
- goto tr2129;
-st768:
+ goto tr2198;
+st810:
if ( ++p == pe )
- goto _test_eof768;
-case 768:
+ goto _test_eof810;
+case 810:
switch( (*p) ) {
- case 69: goto st769;
- case 101: goto st769;
+ case 69: goto st811;
+ case 101: goto st811;
}
- goto tr2129;
-st769:
+ goto tr2198;
+st811:
if ( ++p == pe )
- goto _test_eof769;
-case 769:
+ goto _test_eof811;
+case 811:
switch( (*p) ) {
- case 68: goto st770;
- case 79: goto st773;
- case 100: goto st770;
- case 111: goto st773;
+ case 68: goto st812;
+ case 79: goto st815;
+ case 100: goto st812;
+ case 111: goto st815;
}
- goto tr2129;
-st770:
+ goto tr2198;
+st812:
if ( ++p == pe )
- goto _test_eof770;
-case 770:
+ goto _test_eof812;
+case 812:
switch( (*p) ) {
- case 78: goto st771;
- case 110: goto st771;
+ case 78: goto st813;
+ case 110: goto st813;
}
- goto tr2129;
-st771:
+ goto tr2198;
+st813:
if ( ++p == pe )
- goto _test_eof771;
-case 771:
+ goto _test_eof813;
+case 813:
switch( (*p) ) {
- case 83: goto st772;
- case 115: goto st772;
+ case 83: goto st814;
+ case 115: goto st814;
}
- goto tr2129;
-st772:
+ goto tr2198;
+st814:
if ( ++p == pe )
- goto _test_eof772;
-case 772:
+ goto _test_eof814;
+case 814:
switch( (*p) ) {
- case 32: goto tr2216;
- case 59: goto tr2216;
+ case 32: goto tr2285;
+ case 59: goto tr2285;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2216;
+ goto tr2285;
} else if ( (*p) >= 9 )
- goto tr2216;
- goto tr2129;
-st773:
+ goto tr2285;
+ goto tr2198;
+st815:
if ( ++p == pe )
- goto _test_eof773;
-case 773:
+ goto _test_eof815;
+case 815:
switch( (*p) ) {
- case 73: goto st774;
- case 105: goto st774;
+ case 73: goto st816;
+ case 105: goto st816;
}
- goto tr2129;
-st774:
+ goto tr2198;
+st816:
if ( ++p == pe )
- goto _test_eof774;
-case 774:
+ goto _test_eof816;
+case 816:
switch( (*p) ) {
- case 68: goto st775;
- case 100: goto st775;
+ case 68: goto st817;
+ case 100: goto st817;
}
- goto tr2129;
-st775:
+ goto tr2198;
+st817:
if ( ++p == pe )
- goto _test_eof775;
-case 775:
+ goto _test_eof817;
+case 817:
switch( (*p) ) {
- case 32: goto tr2219;
- case 59: goto tr2219;
+ case 32: goto tr2288;
+ case 59: goto tr2288;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2219;
+ goto tr2288;
} else if ( (*p) >= 9 )
- goto tr2219;
- goto tr2129;
-st776:
+ goto tr2288;
+ goto tr2198;
+st818:
if ( ++p == pe )
- goto _test_eof776;
-case 776:
+ goto _test_eof818;
+case 818:
switch( (*p) ) {
- case 83: goto st777;
- case 115: goto st777;
+ case 83: goto st819;
+ case 115: goto st819;
}
- goto tr2129;
-st777:
+ goto tr2198;
+st819:
if ( ++p == pe )
- goto _test_eof777;
-case 777:
+ goto _test_eof819;
+case 819:
switch( (*p) ) {
- case 65: goto st778;
- case 97: goto st778;
+ case 65: goto st820;
+ case 97: goto st820;
}
- goto tr2129;
-st778:
+ goto tr2198;
+st820:
if ( ++p == pe )
- goto _test_eof778;
-case 778:
+ goto _test_eof820;
+case 820:
switch( (*p) ) {
- case 77: goto st779;
- case 83: goto st782;
- case 109: goto st779;
- case 115: goto st782;
+ case 77: goto st821;
+ case 83: goto st824;
+ case 109: goto st821;
+ case 115: goto st824;
}
- goto tr2129;
-st779:
+ goto tr2198;
+st821:
if ( ++p == pe )
- goto _test_eof779;
-case 779:
+ goto _test_eof821;
+case 821:
switch( (*p) ) {
- case 68: goto st780;
- case 100: goto st780;
+ case 68: goto st822;
+ case 100: goto st822;
}
- goto tr2129;
-st780:
+ goto tr2198;
+st822:
if ( ++p == pe )
- goto _test_eof780;
-case 780:
+ goto _test_eof822;
+case 822:
if ( (*p) == 53 )
- goto st781;
- goto tr2129;
-st781:
+ goto st823;
+ goto tr2198;
+st823:
if ( ++p == pe )
- goto _test_eof781;
-case 781:
+ goto _test_eof823;
+case 823:
switch( (*p) ) {
- case 32: goto tr2226;
- case 59: goto tr2226;
+ case 32: goto tr2295;
+ case 59: goto tr2295;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2226;
+ goto tr2295;
} else if ( (*p) >= 9 )
- goto tr2226;
- goto tr2129;
-st782:
+ goto tr2295;
+ goto tr2198;
+st824:
if ( ++p == pe )
- goto _test_eof782;
-case 782:
+ goto _test_eof824;
+case 824:
switch( (*p) ) {
- case 72: goto st783;
- case 104: goto st783;
+ case 72: goto st825;
+ case 104: goto st825;
}
- goto tr2129;
-st783:
+ goto tr2198;
+st825:
if ( ++p == pe )
- goto _test_eof783;
-case 783:
+ goto _test_eof825;
+case 825:
switch( (*p) ) {
- case 65: goto st784;
- case 97: goto st784;
+ case 65: goto st826;
+ case 97: goto st826;
}
- goto tr2129;
-st784:
+ goto tr2198;
+st826:
if ( ++p == pe )
- goto _test_eof784;
-case 784:
+ goto _test_eof826;
+case 826:
switch( (*p) ) {
- case 49: goto st785;
- case 50: goto st797;
- case 53: goto st800;
+ case 49: goto st827;
+ case 50: goto st839;
+ case 53: goto st842;
}
- goto tr2129;
-st785:
+ goto tr2198;
+st827:
if ( ++p == pe )
- goto _test_eof785;
-case 785:
+ goto _test_eof827;
+case 827:
switch( (*p) ) {
- case 32: goto tr2232;
- case 45: goto st786;
- case 59: goto tr2232;
+ case 32: goto tr2301;
+ case 45: goto st828;
+ case 59: goto tr2301;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2232;
+ goto tr2301;
} else if ( (*p) >= 9 )
- goto tr2232;
- goto tr2129;
-st786:
+ goto tr2301;
+ goto tr2198;
+st828:
if ( ++p == pe )
- goto _test_eof786;
-case 786:
+ goto _test_eof828;
+case 828:
switch( (*p) ) {
- case 78: goto st787;
- case 110: goto st787;
+ case 78: goto st829;
+ case 110: goto st829;
}
- goto tr2129;
-st787:
+ goto tr2198;
+st829:
if ( ++p == pe )
- goto _test_eof787;
-case 787:
+ goto _test_eof829;
+case 829:
switch( (*p) ) {
- case 83: goto st788;
- case 115: goto st788;
+ case 83: goto st830;
+ case 115: goto st830;
}
- goto tr2129;
-st788:
+ goto tr2198;
+st830:
if ( ++p == pe )
- goto _test_eof788;
-case 788:
+ goto _test_eof830;
+case 830:
switch( (*p) ) {
- case 69: goto st789;
- case 101: goto st789;
+ case 69: goto st831;
+ case 101: goto st831;
}
- goto tr2129;
-st789:
+ goto tr2198;
+st831:
if ( ++p == pe )
- goto _test_eof789;
-case 789:
+ goto _test_eof831;
+case 831:
switch( (*p) ) {
- case 67: goto st790;
- case 99: goto st790;
+ case 67: goto st832;
+ case 99: goto st832;
}
- goto tr2129;
-st790:
+ goto tr2198;
+st832:
if ( ++p == pe )
- goto _test_eof790;
-case 790:
+ goto _test_eof832;
+case 832:
if ( (*p) == 51 )
- goto st791;
- goto tr2129;
-st791:
+ goto st833;
+ goto tr2198;
+st833:
if ( ++p == pe )
- goto _test_eof791;
-case 791:
+ goto _test_eof833;
+case 833:
if ( (*p) == 45 )
- goto st792;
- goto tr2129;
-st792:
+ goto st834;
+ goto tr2198;
+st834:
if ( ++p == pe )
- goto _test_eof792;
-case 792:
+ goto _test_eof834;
+case 834:
switch( (*p) ) {
- case 83: goto st793;
- case 115: goto st793;
+ case 83: goto st835;
+ case 115: goto st835;
}
- goto tr2129;
-st793:
+ goto tr2198;
+st835:
if ( ++p == pe )
- goto _test_eof793;
-case 793:
+ goto _test_eof835;
+case 835:
switch( (*p) ) {
- case 72: goto st794;
- case 104: goto st794;
+ case 72: goto st836;
+ case 104: goto st836;
}
- goto tr2129;
-st794:
+ goto tr2198;
+st836:
if ( ++p == pe )
- goto _test_eof794;
-case 794:
+ goto _test_eof836;
+case 836:
switch( (*p) ) {
- case 65: goto st795;
- case 97: goto st795;
+ case 65: goto st837;
+ case 97: goto st837;
}
- goto tr2129;
-st795:
+ goto tr2198;
+st837:
if ( ++p == pe )
- goto _test_eof795;
-case 795:
+ goto _test_eof837;
+case 837:
if ( (*p) == 49 )
- goto st796;
- goto tr2129;
-st796:
+ goto st838;
+ goto tr2198;
+st838:
if ( ++p == pe )
- goto _test_eof796;
-case 796:
+ goto _test_eof838;
+case 838:
switch( (*p) ) {
- case 32: goto tr2244;
- case 59: goto tr2244;
+ case 32: goto tr2313;
+ case 59: goto tr2313;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2244;
+ goto tr2313;
} else if ( (*p) >= 9 )
- goto tr2244;
- goto tr2129;
-st797:
+ goto tr2313;
+ goto tr2198;
+st839:
if ( ++p == pe )
- goto _test_eof797;
-case 797:
+ goto _test_eof839;
+case 839:
if ( (*p) == 53 )
- goto st798;
- goto tr2129;
-st798:
+ goto st840;
+ goto tr2198;
+st840:
if ( ++p == pe )
- goto _test_eof798;
-case 798:
+ goto _test_eof840;
+case 840:
if ( (*p) == 54 )
- goto st799;
- goto tr2129;
-st799:
+ goto st841;
+ goto tr2198;
+st841:
if ( ++p == pe )
- goto _test_eof799;
-case 799:
+ goto _test_eof841;
+case 841:
switch( (*p) ) {
- case 32: goto tr2247;
- case 59: goto tr2247;
+ case 32: goto tr2316;
+ case 59: goto tr2316;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2247;
+ goto tr2316;
} else if ( (*p) >= 9 )
- goto tr2247;
- goto tr2129;
-st800:
+ goto tr2316;
+ goto tr2198;
+st842:
if ( ++p == pe )
- goto _test_eof800;
-case 800:
+ goto _test_eof842;
+case 842:
if ( (*p) == 49 )
- goto st801;
- goto tr2129;
-st801:
+ goto st843;
+ goto tr2198;
+st843:
if ( ++p == pe )
- goto _test_eof801;
-case 801:
+ goto _test_eof843;
+case 843:
if ( (*p) == 50 )
- goto st802;
- goto tr2129;
-st802:
+ goto st844;
+ goto tr2198;
+st844:
if ( ++p == pe )
- goto _test_eof802;
-case 802:
+ goto _test_eof844;
+case 844:
switch( (*p) ) {
- case 32: goto tr2250;
- case 59: goto tr2250;
+ case 32: goto tr2319;
+ case 59: goto tr2319;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2250;
+ goto tr2319;
} else if ( (*p) >= 9 )
- goto tr2250;
- goto tr2129;
-st803:
+ goto tr2319;
+ goto tr2198;
+st845:
if ( ++p == pe )
- goto _test_eof803;
-case 803:
+ goto _test_eof845;
+case 845:
switch( (*p) ) {
- case 65: goto st805;
- case 73: goto st811;
- case 79: goto st828;
- case 80: goto st831;
- case 83: goto st837;
- case 85: goto st841;
- case 97: goto st805;
- case 105: goto st811;
- case 111: goto st828;
- case 112: goto st831;
- case 115: goto st837;
- case 117: goto st841;
+ case 65: goto st847;
+ case 73: goto st853;
+ case 79: goto st870;
+ case 80: goto st873;
+ case 83: goto st879;
+ case 85: goto st883;
+ case 97: goto st847;
+ case 105: goto st853;
+ case 111: goto st870;
+ case 112: goto st873;
+ case 115: goto st879;
+ case 117: goto st883;
}
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2252;
- goto tr2251;
-tr2252:
+ goto tr2321;
+ goto tr2320;
+tr2321:
{
s->number64 = 0;
}
@@ -62941,11 +64783,11 @@ tr2252:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st804;
-tr2260:
+ goto st846;
+tr2329:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -62957,28 +64799,28 @@ tr2260:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st804;
-st804:
+ goto st846;
+st846:
if ( ++p == pe )
- goto _test_eof804;
-case 804:
+ goto _test_eof846;
+case 846:
switch( (*p) ) {
- case 32: goto tr2259;
- case 59: goto tr2259;
+ case 32: goto tr2328;
+ case 59: goto tr2328;
}
if ( (*p) < 40 ) {
if ( 9 <= (*p) && (*p) <= 10 )
- goto tr2259;
+ goto tr2328;
} else if ( (*p) > 41 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2260;
+ goto tr2329;
} else
- goto tr2259;
- goto tr2251;
-tr2296:
+ goto tr2328;
+ goto tr2320;
+tr2365:
{
uint16_t val = htons(1);
memcpy(rdata_tail, &val, 2);
@@ -62987,8 +64829,18 @@ tr2296:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1434;
-tr2286:
+ goto st1482;
+tr2335:
+ {
+ uint16_t val = htons(7);
+ memcpy(rdata_tail, &val, 2);
+ rdata_tail += 2;
+ }
+ {
+ p--; {cs = stack[--top];goto _again;}
+ }
+ goto st1482;
+tr2355:
{
uint16_t val = htons(5);
memcpy(rdata_tail, &val, 2);
@@ -62997,8 +64849,8 @@ tr2286:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1434;
-tr2282:
+ goto st1482;
+tr2351:
{
uint16_t val = htons(4);
memcpy(rdata_tail, &val, 2);
@@ -63007,8 +64859,8 @@ tr2282:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1434;
-tr2279:
+ goto st1482;
+tr2348:
{
uint16_t val = htons(6);
memcpy(rdata_tail, &val, 2);
@@ -63017,8 +64869,8 @@ tr2279:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1434;
-tr2259:
+ goto st1482;
+tr2328:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -63026,14 +64878,14 @@ tr2259:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1434;
-tr2300:
+ goto st1482;
+tr2369:
{
uint16_t val = htons(2);
memcpy(rdata_tail, &val, 2);
@@ -63042,38 +64894,28 @@ tr2300:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1434;
-tr2293:
- {
- uint16_t val = htons(3);
- memcpy(rdata_tail, &val, 2);
- rdata_tail += 2;
- }
- {
- p--; {cs = stack[--top];goto _again;}
- }
- goto st1434;
-tr2266:
+ goto st1482;
+tr2344:
{
- uint16_t val = htons(7);
+ uint16_t val = htons(8);
memcpy(rdata_tail, &val, 2);
rdata_tail += 2;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1434;
-tr2275:
+ goto st1482;
+tr2362:
{
- uint16_t val = htons(8);
+ uint16_t val = htons(3);
memcpy(rdata_tail, &val, 2);
rdata_tail += 2;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1434;
-tr2289:
+ goto st1482;
+tr2358:
{
uint16_t val = htons(254);
memcpy(rdata_tail, &val, 2);
@@ -63082,8 +64924,8 @@ tr2289:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1434;
-tr2303:
+ goto st1482;
+tr2372:
{
uint16_t val = htons(253);
memcpy(rdata_tail, &val, 2);
@@ -63092,441 +64934,441 @@ tr2303:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1434;
-st1434:
+ goto st1482;
+st1482:
if ( ++p == pe )
- goto _test_eof1434;
-case 1434:
+ goto _test_eof1482;
+case 1482:
goto st0;
-st805:
+st847:
if ( ++p == pe )
- goto _test_eof805;
-case 805:
+ goto _test_eof847;
+case 847:
switch( (*p) ) {
- case 67: goto st806;
- case 99: goto st806;
+ case 67: goto st848;
+ case 99: goto st848;
}
- goto tr2251;
-st806:
+ goto tr2320;
+st848:
if ( ++p == pe )
- goto _test_eof806;
-case 806:
+ goto _test_eof848;
+case 848:
switch( (*p) ) {
- case 80: goto st807;
- case 112: goto st807;
+ case 80: goto st849;
+ case 112: goto st849;
}
- goto tr2251;
-st807:
+ goto tr2320;
+st849:
if ( ++p == pe )
- goto _test_eof807;
-case 807:
+ goto _test_eof849;
+case 849:
switch( (*p) ) {
- case 75: goto st808;
- case 107: goto st808;
+ case 75: goto st850;
+ case 107: goto st850;
}
- goto tr2251;
-st808:
+ goto tr2320;
+st850:
if ( ++p == pe )
- goto _test_eof808;
-case 808:
+ goto _test_eof850;
+case 850:
switch( (*p) ) {
- case 73: goto st809;
- case 105: goto st809;
+ case 73: goto st851;
+ case 105: goto st851;
}
- goto tr2251;
-st809:
+ goto tr2320;
+st851:
if ( ++p == pe )
- goto _test_eof809;
-case 809:
+ goto _test_eof851;
+case 851:
switch( (*p) ) {
- case 88: goto st810;
- case 120: goto st810;
+ case 88: goto st852;
+ case 120: goto st852;
}
- goto tr2251;
-st810:
+ goto tr2320;
+st852:
if ( ++p == pe )
- goto _test_eof810;
-case 810:
+ goto _test_eof852;
+case 852:
switch( (*p) ) {
- case 32: goto tr2266;
- case 59: goto tr2266;
+ case 32: goto tr2335;
+ case 59: goto tr2335;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2266;
+ goto tr2335;
} else if ( (*p) >= 9 )
- goto tr2266;
- goto tr2251;
-st811:
+ goto tr2335;
+ goto tr2320;
+st853:
if ( ++p == pe )
- goto _test_eof811;
-case 811:
+ goto _test_eof853;
+case 853:
switch( (*p) ) {
- case 65: goto st812;
- case 80: goto st818;
- case 83: goto st824;
- case 97: goto st812;
- case 112: goto st818;
- case 115: goto st824;
+ case 65: goto st854;
+ case 80: goto st860;
+ case 83: goto st866;
+ case 97: goto st854;
+ case 112: goto st860;
+ case 115: goto st866;
}
- goto tr2251;
-st812:
+ goto tr2320;
+st854:
if ( ++p == pe )
- goto _test_eof812;
-case 812:
+ goto _test_eof854;
+case 854:
switch( (*p) ) {
- case 67: goto st813;
- case 99: goto st813;
+ case 67: goto st855;
+ case 99: goto st855;
}
- goto tr2251;
-st813:
+ goto tr2320;
+st855:
if ( ++p == pe )
- goto _test_eof813;
-case 813:
+ goto _test_eof855;
+case 855:
switch( (*p) ) {
- case 80: goto st814;
- case 112: goto st814;
+ case 80: goto st856;
+ case 112: goto st856;
}
- goto tr2251;
-st814:
+ goto tr2320;
+st856:
if ( ++p == pe )
- goto _test_eof814;
-case 814:
+ goto _test_eof856;
+case 856:
switch( (*p) ) {
- case 75: goto st815;
- case 107: goto st815;
+ case 75: goto st857;
+ case 107: goto st857;
}
- goto tr2251;
-st815:
+ goto tr2320;
+st857:
if ( ++p == pe )
- goto _test_eof815;
-case 815:
+ goto _test_eof857;
+case 857:
switch( (*p) ) {
- case 73: goto st816;
- case 105: goto st816;
+ case 73: goto st858;
+ case 105: goto st858;
}
- goto tr2251;
-st816:
+ goto tr2320;
+st858:
if ( ++p == pe )
- goto _test_eof816;
-case 816:
+ goto _test_eof858;
+case 858:
switch( (*p) ) {
- case 88: goto st817;
- case 120: goto st817;
+ case 88: goto st859;
+ case 120: goto st859;
}
- goto tr2251;
-st817:
+ goto tr2320;
+st859:
if ( ++p == pe )
- goto _test_eof817;
-case 817:
+ goto _test_eof859;
+case 859:
switch( (*p) ) {
- case 32: goto tr2275;
- case 59: goto tr2275;
+ case 32: goto tr2344;
+ case 59: goto tr2344;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2275;
+ goto tr2344;
} else if ( (*p) >= 9 )
- goto tr2275;
- goto tr2251;
-st818:
+ goto tr2344;
+ goto tr2320;
+st860:
if ( ++p == pe )
- goto _test_eof818;
-case 818:
+ goto _test_eof860;
+case 860:
switch( (*p) ) {
- case 71: goto st819;
- case 75: goto st821;
- case 103: goto st819;
- case 107: goto st821;
+ case 71: goto st861;
+ case 75: goto st863;
+ case 103: goto st861;
+ case 107: goto st863;
}
- goto tr2251;
-st819:
+ goto tr2320;
+st861:
if ( ++p == pe )
- goto _test_eof819;
-case 819:
+ goto _test_eof861;
+case 861:
switch( (*p) ) {
- case 80: goto st820;
- case 112: goto st820;
+ case 80: goto st862;
+ case 112: goto st862;
}
- goto tr2251;
-st820:
+ goto tr2320;
+st862:
if ( ++p == pe )
- goto _test_eof820;
-case 820:
+ goto _test_eof862;
+case 862:
switch( (*p) ) {
- case 32: goto tr2279;
- case 59: goto tr2279;
+ case 32: goto tr2348;
+ case 59: goto tr2348;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2279;
+ goto tr2348;
} else if ( (*p) >= 9 )
- goto tr2279;
- goto tr2251;
-st821:
+ goto tr2348;
+ goto tr2320;
+st863:
if ( ++p == pe )
- goto _test_eof821;
-case 821:
+ goto _test_eof863;
+case 863:
switch( (*p) ) {
- case 73: goto st822;
- case 105: goto st822;
+ case 73: goto st864;
+ case 105: goto st864;
}
- goto tr2251;
-st822:
+ goto tr2320;
+st864:
if ( ++p == pe )
- goto _test_eof822;
-case 822:
+ goto _test_eof864;
+case 864:
switch( (*p) ) {
- case 88: goto st823;
- case 120: goto st823;
+ case 88: goto st865;
+ case 120: goto st865;
}
- goto tr2251;
-st823:
+ goto tr2320;
+st865:
if ( ++p == pe )
- goto _test_eof823;
-case 823:
+ goto _test_eof865;
+case 865:
switch( (*p) ) {
- case 32: goto tr2282;
- case 59: goto tr2282;
+ case 32: goto tr2351;
+ case 59: goto tr2351;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2282;
+ goto tr2351;
} else if ( (*p) >= 9 )
- goto tr2282;
- goto tr2251;
-st824:
+ goto tr2351;
+ goto tr2320;
+st866:
if ( ++p == pe )
- goto _test_eof824;
-case 824:
+ goto _test_eof866;
+case 866:
switch( (*p) ) {
- case 80: goto st825;
- case 112: goto st825;
+ case 80: goto st867;
+ case 112: goto st867;
}
- goto tr2251;
-st825:
+ goto tr2320;
+st867:
if ( ++p == pe )
- goto _test_eof825;
-case 825:
+ goto _test_eof867;
+case 867:
switch( (*p) ) {
- case 75: goto st826;
- case 107: goto st826;
+ case 75: goto st868;
+ case 107: goto st868;
}
- goto tr2251;
-st826:
+ goto tr2320;
+st868:
if ( ++p == pe )
- goto _test_eof826;
-case 826:
+ goto _test_eof868;
+case 868:
switch( (*p) ) {
- case 73: goto st827;
- case 105: goto st827;
+ case 73: goto st869;
+ case 105: goto st869;
}
- goto tr2251;
-st827:
+ goto tr2320;
+st869:
if ( ++p == pe )
- goto _test_eof827;
-case 827:
+ goto _test_eof869;
+case 869:
switch( (*p) ) {
- case 32: goto tr2286;
- case 59: goto tr2286;
+ case 32: goto tr2355;
+ case 59: goto tr2355;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2286;
+ goto tr2355;
} else if ( (*p) >= 9 )
- goto tr2286;
- goto tr2251;
-st828:
+ goto tr2355;
+ goto tr2320;
+st870:
if ( ++p == pe )
- goto _test_eof828;
-case 828:
+ goto _test_eof870;
+case 870:
switch( (*p) ) {
- case 73: goto st829;
- case 105: goto st829;
+ case 73: goto st871;
+ case 105: goto st871;
}
- goto tr2251;
-st829:
+ goto tr2320;
+st871:
if ( ++p == pe )
- goto _test_eof829;
-case 829:
+ goto _test_eof871;
+case 871:
switch( (*p) ) {
- case 68: goto st830;
- case 100: goto st830;
+ case 68: goto st872;
+ case 100: goto st872;
}
- goto tr2251;
-st830:
+ goto tr2320;
+st872:
if ( ++p == pe )
- goto _test_eof830;
-case 830:
+ goto _test_eof872;
+case 872:
switch( (*p) ) {
- case 32: goto tr2289;
- case 59: goto tr2289;
+ case 32: goto tr2358;
+ case 59: goto tr2358;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2289;
+ goto tr2358;
} else if ( (*p) >= 9 )
- goto tr2289;
- goto tr2251;
-st831:
+ goto tr2358;
+ goto tr2320;
+st873:
if ( ++p == pe )
- goto _test_eof831;
-case 831:
+ goto _test_eof873;
+case 873:
switch( (*p) ) {
- case 71: goto st832;
- case 75: goto st834;
- case 103: goto st832;
- case 107: goto st834;
+ case 71: goto st874;
+ case 75: goto st876;
+ case 103: goto st874;
+ case 107: goto st876;
}
- goto tr2251;
-st832:
+ goto tr2320;
+st874:
if ( ++p == pe )
- goto _test_eof832;
-case 832:
+ goto _test_eof874;
+case 874:
switch( (*p) ) {
- case 80: goto st833;
- case 112: goto st833;
+ case 80: goto st875;
+ case 112: goto st875;
}
- goto tr2251;
-st833:
+ goto tr2320;
+st875:
if ( ++p == pe )
- goto _test_eof833;
-case 833:
+ goto _test_eof875;
+case 875:
switch( (*p) ) {
- case 32: goto tr2293;
- case 59: goto tr2293;
+ case 32: goto tr2362;
+ case 59: goto tr2362;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2293;
+ goto tr2362;
} else if ( (*p) >= 9 )
- goto tr2293;
- goto tr2251;
-st834:
+ goto tr2362;
+ goto tr2320;
+st876:
if ( ++p == pe )
- goto _test_eof834;
-case 834:
+ goto _test_eof876;
+case 876:
switch( (*p) ) {
- case 73: goto st835;
- case 105: goto st835;
+ case 73: goto st877;
+ case 105: goto st877;
}
- goto tr2251;
-st835:
+ goto tr2320;
+st877:
if ( ++p == pe )
- goto _test_eof835;
-case 835:
+ goto _test_eof877;
+case 877:
switch( (*p) ) {
- case 88: goto st836;
- case 120: goto st836;
+ case 88: goto st878;
+ case 120: goto st878;
}
- goto tr2251;
-st836:
+ goto tr2320;
+st878:
if ( ++p == pe )
- goto _test_eof836;
-case 836:
+ goto _test_eof878;
+case 878:
switch( (*p) ) {
- case 32: goto tr2296;
- case 59: goto tr2296;
+ case 32: goto tr2365;
+ case 59: goto tr2365;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2296;
+ goto tr2365;
} else if ( (*p) >= 9 )
- goto tr2296;
- goto tr2251;
-st837:
+ goto tr2365;
+ goto tr2320;
+st879:
if ( ++p == pe )
- goto _test_eof837;
-case 837:
+ goto _test_eof879;
+case 879:
switch( (*p) ) {
- case 80: goto st838;
- case 112: goto st838;
+ case 80: goto st880;
+ case 112: goto st880;
}
- goto tr2251;
-st838:
+ goto tr2320;
+st880:
if ( ++p == pe )
- goto _test_eof838;
-case 838:
+ goto _test_eof880;
+case 880:
switch( (*p) ) {
- case 75: goto st839;
- case 107: goto st839;
+ case 75: goto st881;
+ case 107: goto st881;
}
- goto tr2251;
-st839:
+ goto tr2320;
+st881:
if ( ++p == pe )
- goto _test_eof839;
-case 839:
+ goto _test_eof881;
+case 881:
switch( (*p) ) {
- case 73: goto st840;
- case 105: goto st840;
+ case 73: goto st882;
+ case 105: goto st882;
}
- goto tr2251;
-st840:
+ goto tr2320;
+st882:
if ( ++p == pe )
- goto _test_eof840;
-case 840:
+ goto _test_eof882;
+case 882:
switch( (*p) ) {
- case 32: goto tr2300;
- case 59: goto tr2300;
+ case 32: goto tr2369;
+ case 59: goto tr2369;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2300;
+ goto tr2369;
} else if ( (*p) >= 9 )
- goto tr2300;
- goto tr2251;
-st841:
+ goto tr2369;
+ goto tr2320;
+st883:
if ( ++p == pe )
- goto _test_eof841;
-case 841:
+ goto _test_eof883;
+case 883:
switch( (*p) ) {
- case 82: goto st842;
- case 114: goto st842;
+ case 82: goto st884;
+ case 114: goto st884;
}
- goto tr2251;
-st842:
+ goto tr2320;
+st884:
if ( ++p == pe )
- goto _test_eof842;
-case 842:
+ goto _test_eof884;
+case 884:
switch( (*p) ) {
- case 73: goto st843;
- case 105: goto st843;
+ case 73: goto st885;
+ case 105: goto st885;
}
- goto tr2251;
-st843:
+ goto tr2320;
+st885:
if ( ++p == pe )
- goto _test_eof843;
-case 843:
+ goto _test_eof885;
+case 885:
switch( (*p) ) {
- case 32: goto tr2303;
- case 59: goto tr2303;
+ case 32: goto tr2372;
+ case 59: goto tr2372;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2303;
+ goto tr2372;
} else if ( (*p) >= 9 )
- goto tr2303;
- goto tr2251;
-st844:
+ goto tr2372;
+ goto tr2320;
+st886:
if ( ++p == pe )
- goto _test_eof844;
-case 844:
+ goto _test_eof886;
+case 886:
if ( (*p) == 46 )
- goto tr2305;
+ goto tr2374;
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2305;
- goto tr2304;
-tr2307:
+ goto tr2374;
+ goto tr2373;
+tr2376:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st845;
-tr2305:
+ goto st887;
+tr2374:
{
s->buffer_length = 0;
}
@@ -63535,41 +65377,41 @@ tr2305:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st845;
-st845:
+ goto st887;
+st887:
if ( ++p == pe )
- goto _test_eof845;
-case 845:
+ goto _test_eof887;
+case 887:
switch( (*p) ) {
- case 32: goto tr2306;
- case 46: goto tr2307;
- case 59: goto tr2306;
+ case 32: goto tr2375;
+ case 46: goto tr2376;
+ case 59: goto tr2375;
}
if ( (*p) < 40 ) {
if ( 9 <= (*p) && (*p) <= 10 )
- goto tr2306;
+ goto tr2375;
} else if ( (*p) > 41 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2307;
+ goto tr2376;
} else
- goto tr2306;
- goto tr2304;
-tr2306:
+ goto tr2375;
+ goto tr2373;
+tr2375:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -63577,91 +65419,91 @@ tr2306:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1435;
-st1435:
+ goto st1483;
+st1483:
if ( ++p == pe )
- goto _test_eof1435;
-case 1435:
+ goto _test_eof1483;
+case 1483:
goto st0;
-st846:
+st888:
if ( ++p == pe )
- goto _test_eof846;
-case 846:
+ goto _test_eof888;
+case 888:
switch( (*p) ) {
- case 42: goto tr2308;
- case 92: goto tr2308;
- case 95: goto tr2308;
+ case 42: goto tr2377;
+ case 92: goto tr2377;
+ case 95: goto tr2377;
}
if ( (*p) < 64 ) {
if ( 45 <= (*p) && (*p) <= 57 )
- goto tr2308;
+ goto tr2377;
} else if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr2308;
+ goto tr2377;
} else
- goto tr2308;
- goto tr75;
-tr2308:
+ goto tr2377;
+ goto tr77;
+tr2377:
{
s->dname = rdata_tail;
}
- { p--; {stack[top++] = 847;goto st309;} }
- goto st847;
-st847:
+ { p--; {stack[top++] = 889;goto st318;} }
+ goto st889;
+st889:
if ( ++p == pe )
- goto _test_eof847;
-case 847:
+ goto _test_eof889;
+case 889:
switch( (*p) ) {
- case 32: goto tr2309;
- case 59: goto tr2309;
+ case 32: goto tr2378;
+ case 59: goto tr2378;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2309;
+ goto tr2378;
} else if ( (*p) >= 9 )
- goto tr2309;
- goto tr75;
-tr2309:
+ goto tr2378;
+ goto tr77;
+tr2378:
{
rdata_tail += s->dname_tmp_length;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1436;
-st1436:
+ goto st1484;
+st1484:
if ( ++p == pe )
- goto _test_eof1436;
-case 1436:
+ goto _test_eof1484;
+case 1484:
goto st0;
-st848:
+st890:
if ( ++p == pe )
- goto _test_eof848;
-case 848:
+ goto _test_eof890;
+case 890:
switch( (*p) ) {
- case 42: goto tr2310;
- case 92: goto tr2310;
- case 95: goto tr2310;
+ case 42: goto tr2379;
+ case 92: goto tr2379;
+ case 95: goto tr2379;
}
if ( (*p) < 64 ) {
if ( 45 <= (*p) && (*p) <= 57 )
- goto tr2310;
+ goto tr2379;
} else if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr2310;
+ goto tr2379;
} else
- goto tr2310;
- goto tr75;
-tr2310:
+ goto tr2379;
+ goto tr77;
+tr2379:
{
s->dname = rdata_tail;
}
- { p--; {stack[top++] = 849;goto st309;} }
- goto st849;
-st849:
+ { p--; {stack[top++] = 891;goto st318;} }
+ goto st891;
+st891:
if ( ++p == pe )
- goto _test_eof849;
-case 849:
+ goto _test_eof891;
+case 891:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -63675,38 +65517,38 @@ case 849:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2311;
- case 32: goto tr2311;
- case 40: goto tr2312;
- case 41: goto tr2313;
- case 2058: goto tr2314;
- case 2107: goto tr2315;
+ case 9: goto tr2380;
+ case 32: goto tr2380;
+ case 40: goto tr2381;
+ case 41: goto tr2382;
+ case 2058: goto tr2383;
+ case 2107: goto tr2384;
}
- goto tr75;
-tr2317:
+ goto tr77;
+tr2386:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st850;
-tr2318:
+ goto st892;
+tr2387:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st850;
-tr2320:
+ goto st892;
+tr2389:
{
s->line_counter++;
}
- goto st850;
-tr2464:
+ goto st892;
+tr2533:
{
s->buffer[s->buffer_length++] = 0;
@@ -63716,55 +65558,55 @@ tr2464:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 850; goto _out;}
+ {p++; cs = 892; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st850;
-tr2311:
+ goto st892;
+tr2380:
{
rdata_tail += s->dname_tmp_length;
}
- goto st850;
-tr2312:
+ goto st892;
+tr2381:
{
rdata_tail += s->dname_tmp_length;
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st850;
-tr2313:
+ goto st892;
+tr2382:
{
rdata_tail += s->dname_tmp_length;
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st850;
-tr2314:
+ goto st892;
+tr2383:
{
rdata_tail += s->dname_tmp_length;
}
{
s->line_counter++;
}
- goto st850;
-st850:
+ goto st892;
+st892:
if ( ++p == pe )
- goto _test_eof850;
-case 850:
+ goto _test_eof892;
+case 892:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -63778,35 +65620,35 @@ case 850:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st850;
- case 32: goto st850;
- case 40: goto tr2317;
- case 41: goto tr2318;
- case 42: goto tr2319;
- case 92: goto tr2319;
- case 95: goto tr2319;
- case 2058: goto tr2320;
- case 2107: goto tr2321;
+ case 9: goto st892;
+ case 32: goto st892;
+ case 40: goto tr2386;
+ case 41: goto tr2387;
+ case 42: goto tr2388;
+ case 92: goto tr2388;
+ case 95: goto tr2388;
+ case 2058: goto tr2389;
+ case 2107: goto tr2390;
}
if ( _widec < 64 ) {
if ( 45 <= _widec && _widec <= 57 )
- goto tr2319;
+ goto tr2388;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr2319;
+ goto tr2388;
} else
- goto tr2319;
- goto tr75;
-tr2319:
+ goto tr2388;
+ goto tr77;
+tr2388:
{
s->dname = rdata_tail;
}
- { p--; {stack[top++] = 851;goto st309;} }
- goto st851;
-st851:
+ { p--; {stack[top++] = 893;goto st318;} }
+ goto st893;
+st893:
if ( ++p == pe )
- goto _test_eof851;
-case 851:
+ goto _test_eof893;
+case 893:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -63820,38 +65662,38 @@ case 851:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2322;
- case 32: goto tr2322;
- case 40: goto tr2323;
- case 41: goto tr2324;
- case 2058: goto tr2325;
- case 2107: goto tr2326;
+ case 9: goto tr2391;
+ case 32: goto tr2391;
+ case 40: goto tr2392;
+ case 41: goto tr2393;
+ case 2058: goto tr2394;
+ case 2107: goto tr2395;
}
- goto tr75;
-tr2329:
+ goto tr77;
+tr2398:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st852;
-tr2330:
+ goto st894;
+tr2399:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st852;
-tr2332:
+ goto st894;
+tr2401:
{
s->line_counter++;
}
- goto st852;
-tr2462:
+ goto st894;
+tr2531:
{
s->buffer[s->buffer_length++] = 0;
@@ -63861,55 +65703,55 @@ tr2462:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 852; goto _out;}
+ {p++; cs = 894; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st852;
-tr2322:
+ goto st894;
+tr2391:
{
rdata_tail += s->dname_tmp_length;
}
- goto st852;
-tr2323:
+ goto st894;
+tr2392:
{
rdata_tail += s->dname_tmp_length;
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st852;
-tr2324:
+ goto st894;
+tr2393:
{
rdata_tail += s->dname_tmp_length;
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st852;
-tr2325:
+ goto st894;
+tr2394:
{
rdata_tail += s->dname_tmp_length;
}
{
s->line_counter++;
}
- goto st852;
-st852:
+ goto st894;
+st894:
if ( ++p == pe )
- goto _test_eof852;
-case 852:
+ goto _test_eof894;
+case 894:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -63923,17 +65765,17 @@ case 852:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st852;
- case 32: goto st852;
- case 40: goto tr2329;
- case 41: goto tr2330;
- case 2058: goto tr2332;
- case 2107: goto tr2333;
+ case 9: goto st894;
+ case 32: goto st894;
+ case 40: goto tr2398;
+ case 41: goto tr2399;
+ case 2058: goto tr2401;
+ case 2107: goto tr2402;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2331;
- goto tr2327;
-tr2331:
+ goto tr2400;
+ goto tr2396;
+tr2400:
{
s->number64 = 0;
}
@@ -63948,11 +65790,11 @@ tr2331:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st853;
-tr2337:
+ goto st895;
+tr2406:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -63964,14 +65806,14 @@ tr2337:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st853;
-st853:
+ goto st895;
+st895:
if ( ++p == pe )
- goto _test_eof853;
-case 853:
+ goto _test_eof895;
+case 895:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -63985,40 +65827,40 @@ case 853:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2334;
- case 32: goto tr2334;
- case 40: goto tr2335;
- case 41: goto tr2336;
- case 2058: goto tr2338;
- case 2107: goto tr2339;
+ case 9: goto tr2403;
+ case 32: goto tr2403;
+ case 40: goto tr2404;
+ case 41: goto tr2405;
+ case 2058: goto tr2407;
+ case 2107: goto tr2408;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2337;
- goto tr2327;
-tr2341:
+ goto tr2406;
+ goto tr2396;
+tr2410:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st854;
-tr2342:
+ goto st896;
+tr2411:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st854;
-tr2344:
+ goto st896;
+tr2413:
{
s->line_counter++;
}
- goto st854;
-tr2460:
+ goto st896;
+tr2529:
{
s->buffer[s->buffer_length++] = 0;
@@ -64028,15 +65870,15 @@ tr2460:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 854; goto _out;}
+ {p++; cs = 896; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st854;
-tr2334:
+ goto st896;
+tr2403:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -64044,11 +65886,11 @@ tr2334:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st854;
-tr2335:
+ goto st896;
+tr2404:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -64056,18 +65898,18 @@ tr2335:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st854;
-tr2336:
+ goto st896;
+tr2405:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -64075,18 +65917,18 @@ tr2336:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st854;
-tr2338:
+ goto st896;
+tr2407:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -64094,17 +65936,17 @@ tr2338:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st854;
-st854:
+ goto st896;
+st896:
if ( ++p == pe )
- goto _test_eof854;
-case 854:
+ goto _test_eof896;
+case 896:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -64118,17 +65960,17 @@ case 854:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st854;
- case 32: goto st854;
- case 40: goto tr2341;
- case 41: goto tr2342;
- case 2058: goto tr2344;
- case 2107: goto tr2345;
+ case 9: goto st896;
+ case 32: goto st896;
+ case 40: goto tr2410;
+ case 41: goto tr2411;
+ case 2058: goto tr2413;
+ case 2107: goto tr2414;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2343;
- goto tr2327;
-tr2343:
+ goto tr2412;
+ goto tr2396;
+tr2412:
{
s->number64 = 0;
}
@@ -64143,11 +65985,11 @@ tr2343:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st855;
-tr2350:
+ goto st897;
+tr2419:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -64159,14 +66001,14 @@ tr2350:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st855;
-st855:
+ goto st897;
+st897:
if ( ++p == pe )
- goto _test_eof855;
-case 855:
+ goto _test_eof897;
+case 897:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -64180,50 +66022,50 @@ case 855:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2347;
- case 32: goto tr2347;
- case 40: goto tr2348;
- case 41: goto tr2349;
- case 68: goto tr2351;
- case 72: goto tr2352;
- case 77: goto tr2353;
- case 83: goto st874;
- case 87: goto tr2355;
- case 100: goto tr2351;
- case 104: goto tr2352;
- case 109: goto tr2353;
- case 115: goto st874;
- case 119: goto tr2355;
- case 2058: goto tr2356;
- case 2107: goto tr2357;
+ case 9: goto tr2416;
+ case 32: goto tr2416;
+ case 40: goto tr2417;
+ case 41: goto tr2418;
+ case 68: goto tr2420;
+ case 72: goto tr2421;
+ case 77: goto tr2422;
+ case 83: goto st916;
+ case 87: goto tr2424;
+ case 100: goto tr2420;
+ case 104: goto tr2421;
+ case 109: goto tr2422;
+ case 115: goto st916;
+ case 119: goto tr2424;
+ case 2058: goto tr2425;
+ case 2107: goto tr2426;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2350;
- goto tr2346;
-tr2359:
+ goto tr2419;
+ goto tr2415;
+tr2428:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st856;
-tr2360:
+ goto st898;
+tr2429:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st856;
-tr2362:
+ goto st898;
+tr2431:
{
s->line_counter++;
}
- goto st856;
-tr2445:
+ goto st898;
+tr2514:
{
s->buffer[s->buffer_length++] = 0;
@@ -64233,15 +66075,15 @@ tr2445:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 856; goto _out;}
+ {p++; cs = 898; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st856;
-tr2347:
+ goto st898;
+tr2416:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -64249,11 +66091,11 @@ tr2347:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st856;
-tr2348:
+ goto st898;
+tr2417:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -64261,18 +66103,18 @@ tr2348:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st856;
-tr2349:
+ goto st898;
+tr2418:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -64280,18 +66122,18 @@ tr2349:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st856;
-tr2356:
+ goto st898;
+tr2425:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -64299,20 +66141,20 @@ tr2356:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st856;
-tr2453:
+ goto st898;
+tr2522:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -64322,17 +66164,17 @@ tr2453:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st856;
-tr2454:
+ goto st898;
+tr2523:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -64342,24 +66184,24 @@ tr2454:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st856;
-tr2455:
+ goto st898;
+tr2524:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -64369,24 +66211,24 @@ tr2455:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st856;
-tr2457:
+ goto st898;
+tr2526:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -64396,17 +66238,17 @@ tr2457:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st856;
-st856:
+ goto st898;
+st898:
if ( ++p == pe )
- goto _test_eof856;
-case 856:
+ goto _test_eof898;
+case 898:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -64420,17 +66262,17 @@ case 856:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st856;
- case 32: goto st856;
- case 40: goto tr2359;
- case 41: goto tr2360;
- case 2058: goto tr2362;
- case 2107: goto tr2363;
+ case 9: goto st898;
+ case 32: goto st898;
+ case 40: goto tr2428;
+ case 41: goto tr2429;
+ case 2058: goto tr2431;
+ case 2107: goto tr2432;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2361;
- goto tr2327;
-tr2361:
+ goto tr2430;
+ goto tr2396;
+tr2430:
{
s->number64 = 0;
}
@@ -64445,11 +66287,11 @@ tr2361:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st857;
-tr2367:
+ goto st899;
+tr2436:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -64461,14 +66303,14 @@ tr2367:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st857;
-st857:
+ goto st899;
+st899:
if ( ++p == pe )
- goto _test_eof857;
-case 857:
+ goto _test_eof899;
+case 899:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -64482,50 +66324,50 @@ case 857:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2364;
- case 32: goto tr2364;
- case 40: goto tr2365;
- case 41: goto tr2366;
- case 68: goto tr2368;
- case 72: goto tr2369;
- case 77: goto tr2370;
- case 83: goto st870;
- case 87: goto tr2372;
- case 100: goto tr2368;
- case 104: goto tr2369;
- case 109: goto tr2370;
- case 115: goto st870;
- case 119: goto tr2372;
- case 2058: goto tr2373;
- case 2107: goto tr2374;
+ case 9: goto tr2433;
+ case 32: goto tr2433;
+ case 40: goto tr2434;
+ case 41: goto tr2435;
+ case 68: goto tr2437;
+ case 72: goto tr2438;
+ case 77: goto tr2439;
+ case 83: goto st912;
+ case 87: goto tr2441;
+ case 100: goto tr2437;
+ case 104: goto tr2438;
+ case 109: goto tr2439;
+ case 115: goto st912;
+ case 119: goto tr2441;
+ case 2058: goto tr2442;
+ case 2107: goto tr2443;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2367;
- goto tr2346;
-tr2376:
+ goto tr2436;
+ goto tr2415;
+tr2445:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st858;
-tr2377:
+ goto st900;
+tr2446:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st858;
-tr2379:
+ goto st900;
+tr2448:
{
s->line_counter++;
}
- goto st858;
-tr2430:
+ goto st900;
+tr2499:
{
s->buffer[s->buffer_length++] = 0;
@@ -64535,15 +66377,15 @@ tr2430:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 858; goto _out;}
+ {p++; cs = 900; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st858;
-tr2364:
+ goto st900;
+tr2433:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -64551,11 +66393,11 @@ tr2364:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st858;
-tr2365:
+ goto st900;
+tr2434:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -64563,18 +66405,18 @@ tr2365:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st858;
-tr2366:
+ goto st900;
+tr2435:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -64582,18 +66424,18 @@ tr2366:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st858;
-tr2373:
+ goto st900;
+tr2442:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -64601,20 +66443,20 @@ tr2373:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st858;
-tr2438:
+ goto st900;
+tr2507:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -64624,17 +66466,17 @@ tr2438:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st858;
-tr2439:
+ goto st900;
+tr2508:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -64644,24 +66486,24 @@ tr2439:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st858;
-tr2440:
+ goto st900;
+tr2509:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -64671,24 +66513,24 @@ tr2440:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st858;
-tr2442:
+ goto st900;
+tr2511:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -64698,17 +66540,17 @@ tr2442:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st858;
-st858:
+ goto st900;
+st900:
if ( ++p == pe )
- goto _test_eof858;
-case 858:
+ goto _test_eof900;
+case 900:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -64722,17 +66564,17 @@ case 858:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st858;
- case 32: goto st858;
- case 40: goto tr2376;
- case 41: goto tr2377;
- case 2058: goto tr2379;
- case 2107: goto tr2380;
+ case 9: goto st900;
+ case 32: goto st900;
+ case 40: goto tr2445;
+ case 41: goto tr2446;
+ case 2058: goto tr2448;
+ case 2107: goto tr2449;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2378;
- goto tr2327;
-tr2378:
+ goto tr2447;
+ goto tr2396;
+tr2447:
{
s->number64 = 0;
}
@@ -64747,11 +66589,11 @@ tr2378:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st859;
-tr2384:
+ goto st901;
+tr2453:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -64763,14 +66605,14 @@ tr2384:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st859;
-st859:
+ goto st901;
+st901:
if ( ++p == pe )
- goto _test_eof859;
-case 859:
+ goto _test_eof901;
+case 901:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -64784,50 +66626,50 @@ case 859:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2381;
- case 32: goto tr2381;
- case 40: goto tr2382;
- case 41: goto tr2383;
- case 68: goto tr2385;
- case 72: goto tr2386;
- case 77: goto tr2387;
- case 83: goto st866;
- case 87: goto tr2389;
- case 100: goto tr2385;
- case 104: goto tr2386;
- case 109: goto tr2387;
- case 115: goto st866;
- case 119: goto tr2389;
- case 2058: goto tr2390;
- case 2107: goto tr2391;
+ case 9: goto tr2450;
+ case 32: goto tr2450;
+ case 40: goto tr2451;
+ case 41: goto tr2452;
+ case 68: goto tr2454;
+ case 72: goto tr2455;
+ case 77: goto tr2456;
+ case 83: goto st908;
+ case 87: goto tr2458;
+ case 100: goto tr2454;
+ case 104: goto tr2455;
+ case 109: goto tr2456;
+ case 115: goto st908;
+ case 119: goto tr2458;
+ case 2058: goto tr2459;
+ case 2107: goto tr2460;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2384;
- goto tr2346;
-tr2393:
+ goto tr2453;
+ goto tr2415;
+tr2462:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st860;
-tr2394:
+ goto st902;
+tr2463:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st860;
-tr2396:
+ goto st902;
+tr2465:
{
s->line_counter++;
}
- goto st860;
-tr2415:
+ goto st902;
+tr2484:
{
s->buffer[s->buffer_length++] = 0;
@@ -64837,15 +66679,15 @@ tr2415:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 860; goto _out;}
+ {p++; cs = 902; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st860;
-tr2381:
+ goto st902;
+tr2450:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -64853,11 +66695,11 @@ tr2381:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st860;
-tr2382:
+ goto st902;
+tr2451:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -64865,18 +66707,18 @@ tr2382:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st860;
-tr2383:
+ goto st902;
+tr2452:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -64884,18 +66726,18 @@ tr2383:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st860;
-tr2390:
+ goto st902;
+tr2459:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -64903,20 +66745,20 @@ tr2390:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st860;
-tr2423:
+ goto st902;
+tr2492:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -64926,17 +66768,17 @@ tr2423:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st860;
-tr2424:
+ goto st902;
+tr2493:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -64946,24 +66788,24 @@ tr2424:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st860;
-tr2425:
+ goto st902;
+tr2494:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -64973,24 +66815,24 @@ tr2425:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st860;
-tr2427:
+ goto st902;
+tr2496:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -65000,17 +66842,17 @@ tr2427:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st860;
-st860:
+ goto st902;
+st902:
if ( ++p == pe )
- goto _test_eof860;
-case 860:
+ goto _test_eof902;
+case 902:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -65024,17 +66866,17 @@ case 860:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st860;
- case 32: goto st860;
- case 40: goto tr2393;
- case 41: goto tr2394;
- case 2058: goto tr2396;
- case 2107: goto tr2397;
+ case 9: goto st902;
+ case 32: goto st902;
+ case 40: goto tr2462;
+ case 41: goto tr2463;
+ case 2058: goto tr2465;
+ case 2107: goto tr2466;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2395;
- goto tr2327;
-tr2395:
+ goto tr2464;
+ goto tr2396;
+tr2464:
{
s->number64 = 0;
}
@@ -65049,11 +66891,11 @@ tr2395:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st861;
-tr2399:
+ goto st903;
+tr2468:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -65065,38 +66907,38 @@ tr2399:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st861;
-st861:
+ goto st903;
+st903:
if ( ++p == pe )
- goto _test_eof861;
-case 861:
+ goto _test_eof903;
+case 903:
switch( (*p) ) {
- case 32: goto tr2398;
- case 59: goto tr2398;
- case 68: goto tr2400;
- case 72: goto tr2401;
- case 77: goto tr2402;
- case 83: goto st862;
- case 87: goto tr2404;
- case 100: goto tr2400;
- case 104: goto tr2401;
- case 109: goto tr2402;
- case 115: goto st862;
- case 119: goto tr2404;
+ case 32: goto tr2467;
+ case 59: goto tr2467;
+ case 68: goto tr2469;
+ case 72: goto tr2470;
+ case 77: goto tr2471;
+ case 83: goto st904;
+ case 87: goto tr2473;
+ case 100: goto tr2469;
+ case 104: goto tr2470;
+ case 109: goto tr2471;
+ case 115: goto st904;
+ case 119: goto tr2473;
}
if ( (*p) < 40 ) {
if ( 9 <= (*p) && (*p) <= 10 )
- goto tr2398;
+ goto tr2467;
} else if ( (*p) > 41 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2399;
+ goto tr2468;
} else
- goto tr2398;
- goto tr2346;
-tr2398:
+ goto tr2467;
+ goto tr2415;
+tr2467:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -65104,20 +66946,20 @@ tr2398:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1437;
-tr2412:
+ goto st1485;
+tr2481:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -65127,72 +66969,72 @@ tr2412:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1437;
-st1437:
+ goto st1485;
+st1485:
if ( ++p == pe )
- goto _test_eof1437;
-case 1437:
+ goto _test_eof1485;
+case 1485:
goto st0;
-tr2400:
+tr2469:
{ if (s->number64 <= (UINT32_MAX / 86400)) {
s->number64 *= 86400;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st862;
-tr2401:
+ goto st904;
+tr2470:
{ if (s->number64 <= (UINT32_MAX / 3600)) {
s->number64 *= 3600;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st862;
-tr2402:
+ goto st904;
+tr2471:
{ if (s->number64 <= (UINT32_MAX / 60)) {
s->number64 *= 60;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st862;
-tr2404:
+ goto st904;
+tr2473:
{ if (s->number64 <= (UINT32_MAX / 604800)) {
s->number64 *= 604800;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st862;
-st862:
+ goto st904;
+st904:
if ( ++p == pe )
- goto _test_eof862;
-case 862:
+ goto _test_eof904;
+case 904:
switch( (*p) ) {
- case 32: goto tr2398;
- case 59: goto tr2398;
+ case 32: goto tr2467;
+ case 59: goto tr2467;
}
if ( (*p) < 40 ) {
if ( 9 <= (*p) && (*p) <= 10 )
- goto tr2398;
+ goto tr2467;
} else if ( (*p) > 41 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2405;
+ goto tr2474;
} else
- goto tr2398;
- goto tr2346;
-tr2406:
+ goto tr2467;
+ goto tr2415;
+tr2475:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -65204,11 +67046,11 @@ tr2406:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st863;
-tr2405:
+ goto st905;
+tr2474:
{
s->number64_tmp = s->number64;
}
@@ -65226,17 +67068,17 @@ tr2405:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st863;
-tr2413:
+ goto st905;
+tr2482:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -65256,95 +67098,95 @@ tr2413:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st863;
-st863:
+ goto st905;
+st905:
if ( ++p == pe )
- goto _test_eof863;
-case 863:
+ goto _test_eof905;
+case 905:
switch( (*p) ) {
- case 68: goto tr2407;
- case 72: goto tr2408;
- case 77: goto tr2409;
- case 83: goto st864;
- case 87: goto tr2411;
- case 100: goto tr2407;
- case 104: goto tr2408;
- case 109: goto tr2409;
- case 115: goto st864;
- case 119: goto tr2411;
+ case 68: goto tr2476;
+ case 72: goto tr2477;
+ case 77: goto tr2478;
+ case 83: goto st906;
+ case 87: goto tr2480;
+ case 100: goto tr2476;
+ case 104: goto tr2477;
+ case 109: goto tr2478;
+ case 115: goto st906;
+ case 119: goto tr2480;
}
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2406;
- goto tr2346;
-tr2407:
+ goto tr2475;
+ goto tr2415;
+tr2476:
{ if (s->number64 <= (UINT32_MAX / 86400)) {
s->number64 *= 86400;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st864;
-tr2408:
+ goto st906;
+tr2477:
{ if (s->number64 <= (UINT32_MAX / 3600)) {
s->number64 *= 3600;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st864;
-tr2409:
+ goto st906;
+tr2478:
{ if (s->number64 <= (UINT32_MAX / 60)) {
s->number64 *= 60;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st864;
-tr2411:
+ goto st906;
+tr2480:
{ if (s->number64 <= (UINT32_MAX / 604800)) {
s->number64 *= 604800;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st864;
-st864:
+ goto st906;
+st906:
if ( ++p == pe )
- goto _test_eof864;
-case 864:
+ goto _test_eof906;
+case 906:
switch( (*p) ) {
- case 32: goto tr2412;
- case 59: goto tr2412;
+ case 32: goto tr2481;
+ case 59: goto tr2481;
}
if ( (*p) < 40 ) {
if ( 9 <= (*p) && (*p) <= 10 )
- goto tr2412;
+ goto tr2481;
} else if ( (*p) > 41 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2413;
+ goto tr2482;
} else
- goto tr2412;
- goto tr2346;
-tr2397:
+ goto tr2481;
+ goto tr2415;
+tr2466:
{
s->buffer_length = 0;
}
- goto st865;
-tr2414:
+ goto st907;
+tr2483:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st865;
-tr2391:
+ goto st907;
+tr2460:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -65352,20 +67194,20 @@ tr2391:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st865;
-tr2428:
+ goto st907;
+tr2497:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -65375,17 +67217,17 @@ tr2428:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st865;
-st865:
+ goto st907;
+st907:
if ( ++p == pe )
- goto _test_eof865;
-case 865:
+ goto _test_eof907;
+case 907:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -65405,50 +67247,50 @@ case 865:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2415;
+ goto tr2484;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2414;
- goto tr75;
-tr2385:
+ goto tr2483;
+ goto tr77;
+tr2454:
{ if (s->number64 <= (UINT32_MAX / 86400)) {
s->number64 *= 86400;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st866;
-tr2386:
+ goto st908;
+tr2455:
{ if (s->number64 <= (UINT32_MAX / 3600)) {
s->number64 *= 3600;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st866;
-tr2387:
+ goto st908;
+tr2456:
{ if (s->number64 <= (UINT32_MAX / 60)) {
s->number64 *= 60;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st866;
-tr2389:
+ goto st908;
+tr2458:
{ if (s->number64 <= (UINT32_MAX / 604800)) {
s->number64 *= 604800;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st866;
-st866:
+ goto st908;
+st908:
if ( ++p == pe )
- goto _test_eof866;
-case 866:
+ goto _test_eof908;
+case 908:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -65462,17 +67304,17 @@ case 866:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2381;
- case 32: goto tr2381;
- case 40: goto tr2382;
- case 41: goto tr2383;
- case 2058: goto tr2390;
- case 2107: goto tr2391;
+ case 9: goto tr2450;
+ case 32: goto tr2450;
+ case 40: goto tr2451;
+ case 41: goto tr2452;
+ case 2058: goto tr2459;
+ case 2107: goto tr2460;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2416;
- goto tr2346;
-tr2417:
+ goto tr2485;
+ goto tr2415;
+tr2486:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -65484,11 +67326,11 @@ tr2417:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st867;
-tr2416:
+ goto st909;
+tr2485:
{
s->number64_tmp = s->number64;
}
@@ -65506,17 +67348,17 @@ tr2416:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st867;
-tr2426:
+ goto st909;
+tr2495:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -65536,69 +67378,69 @@ tr2426:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st867;
-st867:
+ goto st909;
+st909:
if ( ++p == pe )
- goto _test_eof867;
-case 867:
+ goto _test_eof909;
+case 909:
switch( (*p) ) {
- case 68: goto tr2418;
- case 72: goto tr2419;
- case 77: goto tr2420;
- case 83: goto st868;
- case 87: goto tr2422;
- case 100: goto tr2418;
- case 104: goto tr2419;
- case 109: goto tr2420;
- case 115: goto st868;
- case 119: goto tr2422;
+ case 68: goto tr2487;
+ case 72: goto tr2488;
+ case 77: goto tr2489;
+ case 83: goto st910;
+ case 87: goto tr2491;
+ case 100: goto tr2487;
+ case 104: goto tr2488;
+ case 109: goto tr2489;
+ case 115: goto st910;
+ case 119: goto tr2491;
}
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2417;
- goto tr2346;
-tr2418:
+ goto tr2486;
+ goto tr2415;
+tr2487:
{ if (s->number64 <= (UINT32_MAX / 86400)) {
s->number64 *= 86400;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st868;
-tr2419:
+ goto st910;
+tr2488:
{ if (s->number64 <= (UINT32_MAX / 3600)) {
s->number64 *= 3600;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st868;
-tr2420:
+ goto st910;
+tr2489:
{ if (s->number64 <= (UINT32_MAX / 60)) {
s->number64 *= 60;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st868;
-tr2422:
+ goto st910;
+tr2491:
{ if (s->number64 <= (UINT32_MAX / 604800)) {
s->number64 *= 604800;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st868;
-st868:
+ goto st910;
+st910:
if ( ++p == pe )
- goto _test_eof868;
-case 868:
+ goto _test_eof910;
+case 910:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -65612,29 +67454,29 @@ case 868:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2423;
- case 32: goto tr2423;
- case 40: goto tr2424;
- case 41: goto tr2425;
- case 2058: goto tr2427;
- case 2107: goto tr2428;
+ case 9: goto tr2492;
+ case 32: goto tr2492;
+ case 40: goto tr2493;
+ case 41: goto tr2494;
+ case 2058: goto tr2496;
+ case 2107: goto tr2497;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2426;
- goto tr2346;
-tr2380:
+ goto tr2495;
+ goto tr2415;
+tr2449:
{
s->buffer_length = 0;
}
- goto st869;
-tr2429:
+ goto st911;
+tr2498:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st869;
-tr2374:
+ goto st911;
+tr2443:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -65642,20 +67484,20 @@ tr2374:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st869;
-tr2443:
+ goto st911;
+tr2512:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -65665,17 +67507,17 @@ tr2443:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st869;
-st869:
+ goto st911;
+st911:
if ( ++p == pe )
- goto _test_eof869;
-case 869:
+ goto _test_eof911;
+case 911:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -65695,50 +67537,50 @@ case 869:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2430;
+ goto tr2499;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2429;
- goto tr75;
-tr2368:
+ goto tr2498;
+ goto tr77;
+tr2437:
{ if (s->number64 <= (UINT32_MAX / 86400)) {
s->number64 *= 86400;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st870;
-tr2369:
+ goto st912;
+tr2438:
{ if (s->number64 <= (UINT32_MAX / 3600)) {
s->number64 *= 3600;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st870;
-tr2370:
+ goto st912;
+tr2439:
{ if (s->number64 <= (UINT32_MAX / 60)) {
s->number64 *= 60;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st870;
-tr2372:
+ goto st912;
+tr2441:
{ if (s->number64 <= (UINT32_MAX / 604800)) {
s->number64 *= 604800;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st870;
-st870:
+ goto st912;
+st912:
if ( ++p == pe )
- goto _test_eof870;
-case 870:
+ goto _test_eof912;
+case 912:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -65752,17 +67594,17 @@ case 870:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2364;
- case 32: goto tr2364;
- case 40: goto tr2365;
- case 41: goto tr2366;
- case 2058: goto tr2373;
- case 2107: goto tr2374;
+ case 9: goto tr2433;
+ case 32: goto tr2433;
+ case 40: goto tr2434;
+ case 41: goto tr2435;
+ case 2058: goto tr2442;
+ case 2107: goto tr2443;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2431;
- goto tr2346;
-tr2432:
+ goto tr2500;
+ goto tr2415;
+tr2501:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -65774,11 +67616,11 @@ tr2432:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st871;
-tr2431:
+ goto st913;
+tr2500:
{
s->number64_tmp = s->number64;
}
@@ -65796,17 +67638,17 @@ tr2431:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st871;
-tr2441:
+ goto st913;
+tr2510:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -65826,69 +67668,69 @@ tr2441:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st871;
-st871:
+ goto st913;
+st913:
if ( ++p == pe )
- goto _test_eof871;
-case 871:
+ goto _test_eof913;
+case 913:
switch( (*p) ) {
- case 68: goto tr2433;
- case 72: goto tr2434;
- case 77: goto tr2435;
- case 83: goto st872;
- case 87: goto tr2437;
- case 100: goto tr2433;
- case 104: goto tr2434;
- case 109: goto tr2435;
- case 115: goto st872;
- case 119: goto tr2437;
+ case 68: goto tr2502;
+ case 72: goto tr2503;
+ case 77: goto tr2504;
+ case 83: goto st914;
+ case 87: goto tr2506;
+ case 100: goto tr2502;
+ case 104: goto tr2503;
+ case 109: goto tr2504;
+ case 115: goto st914;
+ case 119: goto tr2506;
}
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2432;
- goto tr2346;
-tr2433:
+ goto tr2501;
+ goto tr2415;
+tr2502:
{ if (s->number64 <= (UINT32_MAX / 86400)) {
s->number64 *= 86400;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st872;
-tr2434:
+ goto st914;
+tr2503:
{ if (s->number64 <= (UINT32_MAX / 3600)) {
s->number64 *= 3600;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st872;
-tr2435:
+ goto st914;
+tr2504:
{ if (s->number64 <= (UINT32_MAX / 60)) {
s->number64 *= 60;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st872;
-tr2437:
+ goto st914;
+tr2506:
{ if (s->number64 <= (UINT32_MAX / 604800)) {
s->number64 *= 604800;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st872;
-st872:
+ goto st914;
+st914:
if ( ++p == pe )
- goto _test_eof872;
-case 872:
+ goto _test_eof914;
+case 914:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -65902,29 +67744,29 @@ case 872:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2438;
- case 32: goto tr2438;
- case 40: goto tr2439;
- case 41: goto tr2440;
- case 2058: goto tr2442;
- case 2107: goto tr2443;
+ case 9: goto tr2507;
+ case 32: goto tr2507;
+ case 40: goto tr2508;
+ case 41: goto tr2509;
+ case 2058: goto tr2511;
+ case 2107: goto tr2512;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2441;
- goto tr2346;
-tr2363:
+ goto tr2510;
+ goto tr2415;
+tr2432:
{
s->buffer_length = 0;
}
- goto st873;
-tr2444:
+ goto st915;
+tr2513:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st873;
-tr2357:
+ goto st915;
+tr2426:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -65932,20 +67774,20 @@ tr2357:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st873;
-tr2458:
+ goto st915;
+tr2527:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -65955,17 +67797,17 @@ tr2458:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st873;
-st873:
+ goto st915;
+st915:
if ( ++p == pe )
- goto _test_eof873;
-case 873:
+ goto _test_eof915;
+case 915:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -65985,50 +67827,50 @@ case 873:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2445;
+ goto tr2514;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2444;
- goto tr75;
-tr2351:
+ goto tr2513;
+ goto tr77;
+tr2420:
{ if (s->number64 <= (UINT32_MAX / 86400)) {
s->number64 *= 86400;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st874;
-tr2352:
+ goto st916;
+tr2421:
{ if (s->number64 <= (UINT32_MAX / 3600)) {
s->number64 *= 3600;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st874;
-tr2353:
+ goto st916;
+tr2422:
{ if (s->number64 <= (UINT32_MAX / 60)) {
s->number64 *= 60;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st874;
-tr2355:
+ goto st916;
+tr2424:
{ if (s->number64 <= (UINT32_MAX / 604800)) {
s->number64 *= 604800;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st874;
-st874:
+ goto st916;
+st916:
if ( ++p == pe )
- goto _test_eof874;
-case 874:
+ goto _test_eof916;
+case 916:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66042,17 +67884,17 @@ case 874:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2347;
- case 32: goto tr2347;
- case 40: goto tr2348;
- case 41: goto tr2349;
- case 2058: goto tr2356;
- case 2107: goto tr2357;
+ case 9: goto tr2416;
+ case 32: goto tr2416;
+ case 40: goto tr2417;
+ case 41: goto tr2418;
+ case 2058: goto tr2425;
+ case 2107: goto tr2426;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2446;
- goto tr2346;
-tr2447:
+ goto tr2515;
+ goto tr2415;
+tr2516:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -66064,11 +67906,11 @@ tr2447:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st875;
-tr2446:
+ goto st917;
+tr2515:
{
s->number64_tmp = s->number64;
}
@@ -66086,17 +67928,17 @@ tr2446:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st875;
-tr2456:
+ goto st917;
+tr2525:
{
if (s->number64 + s->number64_tmp < UINT32_MAX) {
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -66116,69 +67958,69 @@ tr2456:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st875;
-st875:
+ goto st917;
+st917:
if ( ++p == pe )
- goto _test_eof875;
-case 875:
+ goto _test_eof917;
+case 917:
switch( (*p) ) {
- case 68: goto tr2448;
- case 72: goto tr2449;
- case 77: goto tr2450;
- case 83: goto st876;
- case 87: goto tr2452;
- case 100: goto tr2448;
- case 104: goto tr2449;
- case 109: goto tr2450;
- case 115: goto st876;
- case 119: goto tr2452;
+ case 68: goto tr2517;
+ case 72: goto tr2518;
+ case 77: goto tr2519;
+ case 83: goto st918;
+ case 87: goto tr2521;
+ case 100: goto tr2517;
+ case 104: goto tr2518;
+ case 109: goto tr2519;
+ case 115: goto st918;
+ case 119: goto tr2521;
}
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2447;
- goto tr2346;
-tr2448:
+ goto tr2516;
+ goto tr2415;
+tr2517:
{ if (s->number64 <= (UINT32_MAX / 86400)) {
s->number64 *= 86400;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st876;
-tr2449:
+ goto st918;
+tr2518:
{ if (s->number64 <= (UINT32_MAX / 3600)) {
s->number64 *= 3600;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st876;
-tr2450:
+ goto st918;
+tr2519:
{ if (s->number64 <= (UINT32_MAX / 60)) {
s->number64 *= 60;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st876;
-tr2452:
+ goto st918;
+tr2521:
{ if (s->number64 <= (UINT32_MAX / 604800)) {
s->number64 *= 604800;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st876;
-st876:
+ goto st918;
+st918:
if ( ++p == pe )
- goto _test_eof876;
-case 876:
+ goto _test_eof918;
+case 918:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66192,29 +68034,29 @@ case 876:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2453;
- case 32: goto tr2453;
- case 40: goto tr2454;
- case 41: goto tr2455;
- case 2058: goto tr2457;
- case 2107: goto tr2458;
+ case 9: goto tr2522;
+ case 32: goto tr2522;
+ case 40: goto tr2523;
+ case 41: goto tr2524;
+ case 2058: goto tr2526;
+ case 2107: goto tr2527;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2456;
- goto tr2346;
-tr2345:
+ goto tr2525;
+ goto tr2415;
+tr2414:
{
s->buffer_length = 0;
}
- goto st877;
-tr2459:
+ goto st919;
+tr2528:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st877;
-tr2339:
+ goto st919;
+tr2408:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -66222,17 +68064,17 @@ tr2339:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st877;
-st877:
+ goto st919;
+st919:
if ( ++p == pe )
- goto _test_eof877;
-case 877:
+ goto _test_eof919;
+case 919:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -66252,34 +68094,34 @@ case 877:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2460;
+ goto tr2529;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2459;
- goto tr75;
-tr2333:
+ goto tr2528;
+ goto tr77;
+tr2402:
{
s->buffer_length = 0;
}
- goto st878;
-tr2461:
+ goto st920;
+tr2530:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st878;
-tr2326:
+ goto st920;
+tr2395:
{
rdata_tail += s->dname_tmp_length;
}
{
s->buffer_length = 0;
}
- goto st878;
-st878:
+ goto st920;
+st920:
if ( ++p == pe )
- goto _test_eof878;
-case 878:
+ goto _test_eof920;
+case 920:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -66299,34 +68141,34 @@ case 878:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2462;
+ goto tr2531;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2461;
- goto tr75;
-tr2321:
+ goto tr2530;
+ goto tr77;
+tr2390:
{
s->buffer_length = 0;
}
- goto st879;
-tr2463:
+ goto st921;
+tr2532:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st879;
-tr2315:
+ goto st921;
+tr2384:
{
rdata_tail += s->dname_tmp_length;
}
{
s->buffer_length = 0;
}
- goto st879;
-st879:
+ goto st921;
+st921:
if ( ++p == pe )
- goto _test_eof879;
-case 879:
+ goto _test_eof921;
+case 921:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -66346,39 +68188,39 @@ case 879:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2464;
+ goto tr2533;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2463;
- goto tr75;
-st880:
+ goto tr2532;
+ goto tr77;
+st922:
if ( ++p == pe )
- goto _test_eof880;
-case 880:
+ goto _test_eof922;
+case 922:
switch( (*p) ) {
- case 32: goto tr75;
- case 59: goto tr75;
+ case 32: goto tr77;
+ case 59: goto tr77;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr75;
+ goto tr77;
} else if ( (*p) >= 9 )
- goto tr75;
- goto tr2465;
-tr2465:
+ goto tr77;
+ goto tr2534;
+tr2534:
{
if (rdata_tail <= rdata_stop) {
s->item_length_location = rdata_tail++;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- { p--; {stack[top++] = 881;goto st318;} }
- goto st881;
-st881:
+ { p--; {stack[top++] = 923;goto st327;} }
+ goto st923;
+st923:
if ( ++p == pe )
- goto _test_eof881;
-case 881:
+ goto _test_eof923;
+case 923:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66392,38 +68234,38 @@ case 881:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2466;
- case 32: goto tr2466;
- case 40: goto tr2467;
- case 41: goto tr2468;
- case 2058: goto tr2469;
- case 2107: goto tr2470;
+ case 9: goto tr2535;
+ case 32: goto tr2535;
+ case 40: goto tr2536;
+ case 41: goto tr2537;
+ case 2058: goto tr2538;
+ case 2107: goto tr2539;
}
- goto tr75;
-tr2473:
+ goto tr77;
+tr2542:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st882;
-tr2474:
+ goto st924;
+tr2543:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st882;
-tr2475:
+ goto st924;
+tr2544:
{
s->line_counter++;
}
- goto st882;
-tr2479:
+ goto st924;
+tr2548:
{
s->buffer[s->buffer_length++] = 0;
@@ -66433,95 +68275,95 @@ tr2479:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 882; goto _out;}
+ {p++; cs = 924; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st882;
-tr2466:
+ goto st924;
+tr2535:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st882;
-tr2467:
+ goto st924;
+tr2536:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st882;
-tr2468:
+ goto st924;
+tr2537:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st882;
-tr2469:
+ goto st924;
+tr2538:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st882;
-st882:
+ goto st924;
+st924:
if ( ++p == pe )
- goto _test_eof882;
-case 882:
+ goto _test_eof924;
+case 924:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66535,104 +68377,104 @@ case 882:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st882;
- case 32: goto st882;
- case 40: goto tr2473;
- case 41: goto tr2474;
- case 2058: goto tr2475;
- case 2107: goto tr2476;
+ case 9: goto st924;
+ case 32: goto st924;
+ case 40: goto tr2542;
+ case 41: goto tr2543;
+ case 2058: goto tr2544;
+ case 2107: goto tr2545;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr2471;
+ goto tr2540;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr2471;
+ goto tr2540;
} else
- goto tr2471;
- goto tr75;
-tr2471:
+ goto tr2540;
+ goto tr77;
+tr2540:
{
if (rdata_tail <= rdata_stop) {
s->item_length_location = rdata_tail++;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- { p--; {stack[top++] = 883;goto st318;} }
- goto st883;
-st883:
+ { p--; {stack[top++] = 925;goto st327;} }
+ goto st925;
+st925:
if ( ++p == pe )
- goto _test_eof883;
-case 883:
+ goto _test_eof925;
+case 925:
switch( (*p) ) {
- case 32: goto tr2477;
- case 59: goto tr2477;
+ case 32: goto tr2546;
+ case 59: goto tr2546;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2477;
+ goto tr2546;
} else if ( (*p) >= 9 )
- goto tr2477;
- goto tr75;
-tr2477:
+ goto tr2546;
+ goto tr77;
+tr2546:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1438;
-st1438:
+ goto st1486;
+st1486:
if ( ++p == pe )
- goto _test_eof1438;
-case 1438:
+ goto _test_eof1486;
+case 1486:
goto st0;
-tr2476:
+tr2545:
{
s->buffer_length = 0;
}
- goto st884;
-tr2478:
+ goto st926;
+tr2547:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st884;
-tr2470:
+ goto st926;
+tr2539:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st884;
-st884:
+ goto st926;
+st926:
if ( ++p == pe )
- goto _test_eof884;
-case 884:
+ goto _test_eof926;
+case 926:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -66652,38 +68494,38 @@ case 884:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2479;
+ goto tr2548;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2478;
- goto tr75;
-st885:
+ goto tr2547;
+ goto tr77;
+st927:
if ( ++p == pe )
- goto _test_eof885;
-case 885:
+ goto _test_eof927;
+case 927:
switch( (*p) ) {
- case 42: goto tr2480;
- case 92: goto tr2480;
- case 95: goto tr2480;
+ case 42: goto tr2549;
+ case 92: goto tr2549;
+ case 95: goto tr2549;
}
if ( (*p) < 64 ) {
if ( 45 <= (*p) && (*p) <= 57 )
- goto tr2480;
+ goto tr2549;
} else if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr2480;
+ goto tr2549;
} else
- goto tr2480;
- goto tr75;
-tr2480:
+ goto tr2549;
+ goto tr77;
+tr2549:
{
s->dname = rdata_tail;
}
- { p--; {stack[top++] = 886;goto st309;} }
- goto st886;
-st886:
+ { p--; {stack[top++] = 928;goto st318;} }
+ goto st928;
+st928:
if ( ++p == pe )
- goto _test_eof886;
-case 886:
+ goto _test_eof928;
+case 928:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66697,38 +68539,38 @@ case 886:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2481;
- case 32: goto tr2481;
- case 40: goto tr2482;
- case 41: goto tr2483;
- case 2058: goto tr2484;
- case 2107: goto tr2485;
+ case 9: goto tr2550;
+ case 32: goto tr2550;
+ case 40: goto tr2551;
+ case 41: goto tr2552;
+ case 2058: goto tr2553;
+ case 2107: goto tr2554;
}
- goto tr75;
-tr2487:
+ goto tr77;
+tr2556:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st887;
-tr2488:
+ goto st929;
+tr2557:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st887;
-tr2490:
+ goto st929;
+tr2559:
{
s->line_counter++;
}
- goto st887;
-tr2494:
+ goto st929;
+tr2563:
{
s->buffer[s->buffer_length++] = 0;
@@ -66738,55 +68580,55 @@ tr2494:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 887; goto _out;}
+ {p++; cs = 929; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st887;
-tr2481:
+ goto st929;
+tr2550:
{
rdata_tail += s->dname_tmp_length;
}
- goto st887;
-tr2482:
+ goto st929;
+tr2551:
{
rdata_tail += s->dname_tmp_length;
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st887;
-tr2483:
+ goto st929;
+tr2552:
{
rdata_tail += s->dname_tmp_length;
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st887;
-tr2484:
+ goto st929;
+tr2553:
{
rdata_tail += s->dname_tmp_length;
}
{
s->line_counter++;
}
- goto st887;
-st887:
+ goto st929;
+st929:
if ( ++p == pe )
- goto _test_eof887;
-case 887:
+ goto _test_eof929;
+case 929:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66800,82 +68642,82 @@ case 887:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st887;
- case 32: goto st887;
- case 40: goto tr2487;
- case 41: goto tr2488;
- case 42: goto tr2489;
- case 92: goto tr2489;
- case 95: goto tr2489;
- case 2058: goto tr2490;
- case 2107: goto tr2491;
+ case 9: goto st929;
+ case 32: goto st929;
+ case 40: goto tr2556;
+ case 41: goto tr2557;
+ case 42: goto tr2558;
+ case 92: goto tr2558;
+ case 95: goto tr2558;
+ case 2058: goto tr2559;
+ case 2107: goto tr2560;
}
if ( _widec < 64 ) {
if ( 45 <= _widec && _widec <= 57 )
- goto tr2489;
+ goto tr2558;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr2489;
+ goto tr2558;
} else
- goto tr2489;
- goto tr75;
-tr2489:
+ goto tr2558;
+ goto tr77;
+tr2558:
{
s->dname = rdata_tail;
}
- { p--; {stack[top++] = 888;goto st309;} }
- goto st888;
-st888:
+ { p--; {stack[top++] = 930;goto st318;} }
+ goto st930;
+st930:
if ( ++p == pe )
- goto _test_eof888;
-case 888:
+ goto _test_eof930;
+case 930:
switch( (*p) ) {
- case 32: goto tr2492;
- case 59: goto tr2492;
+ case 32: goto tr2561;
+ case 59: goto tr2561;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2492;
+ goto tr2561;
} else if ( (*p) >= 9 )
- goto tr2492;
- goto tr75;
-tr2492:
+ goto tr2561;
+ goto tr77;
+tr2561:
{
rdata_tail += s->dname_tmp_length;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1439;
-st1439:
+ goto st1487;
+st1487:
if ( ++p == pe )
- goto _test_eof1439;
-case 1439:
+ goto _test_eof1487;
+case 1487:
goto st0;
-tr2491:
+tr2560:
{
s->buffer_length = 0;
}
- goto st889;
-tr2493:
+ goto st931;
+tr2562:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st889;
-tr2485:
+ goto st931;
+tr2554:
{
rdata_tail += s->dname_tmp_length;
}
{
s->buffer_length = 0;
}
- goto st889;
-st889:
+ goto st931;
+st931:
if ( ++p == pe )
- goto _test_eof889;
-case 889:
+ goto _test_eof931;
+case 931:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -66895,18 +68737,18 @@ case 889:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2494;
+ goto tr2563;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2493;
- goto tr75;
-st890:
+ goto tr2562;
+ goto tr77;
+st932:
if ( ++p == pe )
- goto _test_eof890;
-case 890:
+ goto _test_eof932;
+case 932:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2495;
- goto tr2327;
-tr2495:
+ goto tr2564;
+ goto tr2396;
+tr2564:
{
s->number64 = 0;
}
@@ -66921,11 +68763,11 @@ tr2495:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st891;
-tr2499:
+ goto st933;
+tr2568:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -66937,14 +68779,14 @@ tr2499:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st891;
-st891:
+ goto st933;
+st933:
if ( ++p == pe )
- goto _test_eof891;
-case 891:
+ goto _test_eof933;
+case 933:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -66958,40 +68800,40 @@ case 891:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2496;
- case 32: goto tr2496;
- case 40: goto tr2497;
- case 41: goto tr2498;
- case 2058: goto tr2500;
- case 2107: goto tr2501;
+ case 9: goto tr2565;
+ case 32: goto tr2565;
+ case 40: goto tr2566;
+ case 41: goto tr2567;
+ case 2058: goto tr2569;
+ case 2107: goto tr2570;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2499;
- goto tr2327;
-tr2503:
+ goto tr2568;
+ goto tr2396;
+tr2572:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st892;
-tr2504:
+ goto st934;
+tr2573:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st892;
-tr2506:
+ goto st934;
+tr2575:
{
s->line_counter++;
}
- goto st892;
-tr2510:
+ goto st934;
+tr2579:
{
s->buffer[s->buffer_length++] = 0;
@@ -67001,15 +68843,15 @@ tr2510:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 892; goto _out;}
+ {p++; cs = 934; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st892;
-tr2496:
+ goto st934;
+tr2565:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -67017,11 +68859,11 @@ tr2496:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st892;
-tr2497:
+ goto st934;
+tr2566:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -67029,18 +68871,18 @@ tr2497:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st892;
-tr2498:
+ goto st934;
+tr2567:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -67048,18 +68890,18 @@ tr2498:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st892;
-tr2500:
+ goto st934;
+tr2569:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -67067,17 +68909,17 @@ tr2500:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st892;
-st892:
+ goto st934;
+st934:
if ( ++p == pe )
- goto _test_eof892;
-case 892:
+ goto _test_eof934;
+case 934:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -67091,71 +68933,71 @@ case 892:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st892;
- case 32: goto st892;
- case 40: goto tr2503;
- case 41: goto tr2504;
- case 42: goto tr2505;
- case 92: goto tr2505;
- case 95: goto tr2505;
- case 2058: goto tr2506;
- case 2107: goto tr2507;
+ case 9: goto st934;
+ case 32: goto st934;
+ case 40: goto tr2572;
+ case 41: goto tr2573;
+ case 42: goto tr2574;
+ case 92: goto tr2574;
+ case 95: goto tr2574;
+ case 2058: goto tr2575;
+ case 2107: goto tr2576;
}
if ( _widec < 64 ) {
if ( 45 <= _widec && _widec <= 57 )
- goto tr2505;
+ goto tr2574;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr2505;
+ goto tr2574;
} else
- goto tr2505;
- goto tr75;
-tr2505:
+ goto tr2574;
+ goto tr77;
+tr2574:
{
s->dname = rdata_tail;
}
- { p--; {stack[top++] = 893;goto st309;} }
- goto st893;
-st893:
+ { p--; {stack[top++] = 935;goto st318;} }
+ goto st935;
+st935:
if ( ++p == pe )
- goto _test_eof893;
-case 893:
+ goto _test_eof935;
+case 935:
switch( (*p) ) {
- case 32: goto tr2508;
- case 59: goto tr2508;
+ case 32: goto tr2577;
+ case 59: goto tr2577;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2508;
+ goto tr2577;
} else if ( (*p) >= 9 )
- goto tr2508;
- goto tr75;
-tr2508:
+ goto tr2577;
+ goto tr77;
+tr2577:
{
rdata_tail += s->dname_tmp_length;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1440;
-st1440:
+ goto st1488;
+st1488:
if ( ++p == pe )
- goto _test_eof1440;
-case 1440:
+ goto _test_eof1488;
+case 1488:
goto st0;
-tr2507:
+tr2576:
{
s->buffer_length = 0;
}
- goto st894;
-tr2509:
+ goto st936;
+tr2578:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st894;
-tr2501:
+ goto st936;
+tr2570:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -67163,17 +69005,17 @@ tr2501:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st894;
-st894:
+ goto st936;
+st936:
if ( ++p == pe )
- goto _test_eof894;
-case 894:
+ goto _test_eof936;
+case 936:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -67193,36 +69035,36 @@ case 894:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2510;
+ goto tr2579;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2509;
- goto tr75;
-st895:
+ goto tr2578;
+ goto tr77;
+st937:
if ( ++p == pe )
- goto _test_eof895;
-case 895:
+ goto _test_eof937;
+case 937:
switch( (*p) ) {
- case 32: goto tr2512;
- case 59: goto tr2512;
+ case 32: goto tr2581;
+ case 59: goto tr2581;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2512;
+ goto tr2581;
} else if ( (*p) >= 9 )
- goto tr2512;
- goto tr2511;
-tr2521:
+ goto tr2581;
+ goto tr2580;
+tr2590:
{
if (rdata_tail <= rdata_stop) {
s->item_length_location = rdata_tail++;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- { p--; {stack[top++] = 896;goto st318;} }
- goto st896;
-tr2511:
+ { p--; {stack[top++] = 938;goto st327;} }
+ goto st938;
+tr2580:
{
s->long_string = true;
}
@@ -67231,15 +69073,15 @@ tr2511:
s->item_length_location = rdata_tail++;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- { p--; {stack[top++] = 896;goto st318;} }
- goto st896;
-st896:
+ { p--; {stack[top++] = 938;goto st327;} }
+ goto st938;
+st938:
if ( ++p == pe )
- goto _test_eof896;
-case 896:
+ goto _test_eof938;
+case 938:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -67257,42 +69099,42 @@ case 896:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2513;
- case 32: goto tr2513;
- case 40: goto tr2514;
- case 41: goto tr2515;
- case 3082: goto tr2516;
- case 3131: goto tr2517;
- case 3338: goto tr2518;
- case 3387: goto tr2518;
- case 3594: goto tr2519;
- case 3643: goto tr2520;
+ case 9: goto tr2582;
+ case 32: goto tr2582;
+ case 40: goto tr2583;
+ case 41: goto tr2584;
+ case 3082: goto tr2585;
+ case 3131: goto tr2586;
+ case 3338: goto tr2587;
+ case 3387: goto tr2587;
+ case 3594: goto tr2588;
+ case 3643: goto tr2589;
}
- goto tr2512;
-tr2523:
+ goto tr2581;
+tr2592:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st897;
-tr2524:
+ goto st939;
+tr2593:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st897;
-tr2525:
+ goto st939;
+tr2594:
{
s->line_counter++;
}
- goto st897;
-tr2531:
+ goto st939;
+tr2600:
{
s->buffer[s->buffer_length++] = 0;
@@ -67302,95 +69144,95 @@ tr2531:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 897; goto _out;}
+ {p++; cs = 939; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st897;
-tr2513:
+ goto st939;
+tr2582:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st897;
-tr2514:
+ goto st939;
+tr2583:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st897;
-tr2515:
+ goto st939;
+tr2584:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st897;
-tr2516:
+ goto st939;
+tr2585:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st897;
-st897:
+ goto st939;
+st939:
if ( ++p == pe )
- goto _test_eof897;
-case 897:
+ goto _test_eof939;
+case 939:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -67408,60 +69250,60 @@ case 897:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st897;
- case 32: goto st897;
- case 40: goto tr2523;
- case 41: goto tr2524;
- case 3082: goto tr2525;
- case 3131: goto tr2526;
- case 3338: goto tr2527;
- case 3387: goto tr2527;
- case 3594: goto tr2528;
- case 3643: goto tr2529;
+ case 9: goto st939;
+ case 32: goto st939;
+ case 40: goto tr2592;
+ case 41: goto tr2593;
+ case 3082: goto tr2594;
+ case 3131: goto tr2595;
+ case 3338: goto tr2596;
+ case 3387: goto tr2596;
+ case 3594: goto tr2597;
+ case 3643: goto tr2598;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr2521;
+ goto tr2590;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr2521;
+ goto tr2590;
} else
- goto tr2521;
- goto tr2512;
-tr2526:
+ goto tr2590;
+ goto tr2581;
+tr2595:
{
s->buffer_length = 0;
}
- goto st898;
-tr2530:
+ goto st940;
+tr2599:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st898;
-tr2517:
+ goto st940;
+tr2586:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st898;
-st898:
+ goto st940;
+st940:
if ( ++p == pe )
- goto _test_eof898;
-case 898:
+ goto _test_eof940;
+case 940:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -67481,22 +69323,22 @@ case 898:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2531;
+ goto tr2600;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2530;
- goto tr2512;
-tr2518:
+ goto tr2599;
+ goto tr2581;
+tr2587:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -67505,32 +69347,32 @@ tr2518:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1441;
-tr2527:
+ goto st1489;
+tr2596:
{
s->long_string = false;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1441;
-st1441:
+ goto st1489;
+st1489:
if ( ++p == pe )
- goto _test_eof1441;
-case 1441:
+ goto _test_eof1489;
+case 1489:
goto st0;
-tr2519:
+tr2588:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -67542,8 +69384,8 @@ tr2519:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1442;
-tr2528:
+ goto st1490;
+tr2597:
{
s->line_counter++;
}
@@ -67553,11 +69395,11 @@ tr2528:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1442;
-st1442:
+ goto st1490;
+st1490:
if ( ++p == pe )
- goto _test_eof1442;
-case 1442:
+ goto _test_eof1490;
+case 1490:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -67575,38 +69417,38 @@ case 1442:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st897;
- case 32: goto st897;
- case 40: goto tr2523;
- case 41: goto tr2524;
- case 3082: goto tr2525;
- case 3131: goto tr2526;
- case 3338: goto tr2527;
- case 3387: goto tr2527;
- case 3594: goto tr2528;
- case 3643: goto tr2529;
+ case 9: goto st939;
+ case 32: goto st939;
+ case 40: goto tr2592;
+ case 41: goto tr2593;
+ case 3082: goto tr2594;
+ case 3131: goto tr2595;
+ case 3338: goto tr2596;
+ case 3387: goto tr2596;
+ case 3594: goto tr2597;
+ case 3643: goto tr2598;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr2521;
+ goto tr2590;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr2521;
+ goto tr2590;
} else
- goto tr2521;
- goto tr2512;
-tr2520:
+ goto tr2590;
+ goto tr2581;
+tr2589:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -67618,8 +69460,8 @@ tr2520:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1443;
-tr2529:
+ goto st1491;
+tr2598:
{
s->buffer_length = 0;
}
@@ -67629,11 +69471,11 @@ tr2529:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1443;
-st1443:
+ goto st1491;
+st1491:
if ( ++p == pe )
- goto _test_eof1443;
-case 1443:
+ goto _test_eof1491;
+case 1491:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -67653,36 +69495,36 @@ case 1443:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2531;
+ goto tr2600;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2530;
- goto tr2512;
-st899:
+ goto tr2599;
+ goto tr2581;
+st941:
if ( ++p == pe )
- goto _test_eof899;
-case 899:
+ goto _test_eof941;
+case 941:
if ( (*p) == 46 )
- goto tr2532;
+ goto tr2601;
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 58 )
- goto tr2532;
+ goto tr2601;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr2532;
+ goto tr2601;
} else
- goto tr2532;
- goto tr2304;
-tr2534:
+ goto tr2601;
+ goto tr2373;
+tr2603:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st900;
-tr2532:
+ goto st942;
+tr2601:
{
s->buffer_length = 0;
}
@@ -67691,47 +69533,47 @@ tr2532:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st900;
-st900:
+ goto st942;
+st942:
if ( ++p == pe )
- goto _test_eof900;
-case 900:
+ goto _test_eof942;
+case 942:
switch( (*p) ) {
- case 32: goto tr2533;
- case 46: goto tr2534;
- case 59: goto tr2533;
+ case 32: goto tr2602;
+ case 46: goto tr2603;
+ case 59: goto tr2602;
}
if ( (*p) < 48 ) {
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2533;
+ goto tr2602;
} else if ( (*p) >= 9 )
- goto tr2533;
+ goto tr2602;
} else if ( (*p) > 58 ) {
if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr2534;
+ goto tr2603;
} else if ( (*p) >= 65 )
- goto tr2534;
+ goto tr2603;
} else
- goto tr2534;
- goto tr2304;
-tr2533:
+ goto tr2603;
+ goto tr2373;
+tr2602:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -67739,20 +69581,20 @@ tr2533:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1444;
-st1444:
+ goto st1492;
+st1492:
if ( ++p == pe )
- goto _test_eof1444;
-case 1444:
+ goto _test_eof1492;
+case 1492:
goto st0;
-st901:
+st943:
if ( ++p == pe )
- goto _test_eof901;
-case 901:
+ goto _test_eof943;
+case 943:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2536;
- goto tr2535;
-tr2540:
+ goto tr2605;
+ goto tr2604;
+tr2609:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -67764,11 +69606,11 @@ tr2540:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st902;
-tr2536:
+ goto st944;
+tr2605:
{
memset(&(s->loc), 0, sizeof(s->loc));
// Defaults.
@@ -67793,14 +69635,14 @@ tr2536:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st902;
-st902:
+ goto st944;
+st944:
if ( ++p == pe )
- goto _test_eof902;
-case 902:
+ goto _test_eof944;
+case 944:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -67814,40 +69656,40 @@ case 902:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2537;
- case 32: goto tr2537;
- case 40: goto tr2538;
- case 41: goto tr2539;
- case 2058: goto tr2541;
- case 2107: goto tr2542;
+ case 9: goto tr2606;
+ case 32: goto tr2606;
+ case 40: goto tr2607;
+ case 41: goto tr2608;
+ case 2058: goto tr2610;
+ case 2107: goto tr2611;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2540;
- goto tr2535;
-tr2544:
+ goto tr2609;
+ goto tr2604;
+tr2613:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st903;
-tr2545:
+ goto st945;
+tr2614:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st903;
-tr2549:
+ goto st945;
+tr2618:
{
s->line_counter++;
}
- goto st903;
-tr2792:
+ goto st945;
+tr2861:
{
s->buffer[s->buffer_length++] = 0;
@@ -67857,75 +69699,75 @@ tr2792:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 903; goto _out;}
+ {p++; cs = 945; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st903;
-tr2537:
+ goto st945;
+tr2606:
{
if (s->number64 <= 90) {
s->loc.d1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st903;
-tr2538:
+ goto st945;
+tr2607:
{
if (s->number64 <= 90) {
s->loc.d1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st903;
-tr2539:
+ goto st945;
+tr2608:
{
if (s->number64 <= 90) {
s->loc.d1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st903;
-tr2541:
+ goto st945;
+tr2610:
{
if (s->number64 <= 90) {
s->loc.d1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st903;
-st903:
+ goto st945;
+st945:
if ( ++p == pe )
- goto _test_eof903;
-case 903:
+ goto _test_eof945;
+case 945:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -67939,19 +69781,19 @@ case 903:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st903;
- case 32: goto st903;
- case 40: goto tr2544;
- case 41: goto tr2545;
- case 78: goto st908;
- case 83: goto st950;
- case 2058: goto tr2549;
- case 2107: goto tr2550;
+ case 9: goto st945;
+ case 32: goto st945;
+ case 40: goto tr2613;
+ case 41: goto tr2614;
+ case 78: goto st950;
+ case 83: goto st992;
+ case 2058: goto tr2618;
+ case 2107: goto tr2619;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2546;
- goto tr2535;
-tr2546:
+ goto tr2615;
+ goto tr2604;
+tr2615:
{
s->number64 = 0;
}
@@ -67966,11 +69808,11 @@ tr2546:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st904;
-tr2554:
+ goto st946;
+tr2623:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -67982,14 +69824,14 @@ tr2554:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st904;
-st904:
+ goto st946;
+st946:
if ( ++p == pe )
- goto _test_eof904;
-case 904:
+ goto _test_eof946;
+case 946:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68003,40 +69845,40 @@ case 904:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2551;
- case 32: goto tr2551;
- case 40: goto tr2552;
- case 41: goto tr2553;
- case 2058: goto tr2555;
- case 2107: goto tr2556;
+ case 9: goto tr2620;
+ case 32: goto tr2620;
+ case 40: goto tr2621;
+ case 41: goto tr2622;
+ case 2058: goto tr2624;
+ case 2107: goto tr2625;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2554;
- goto tr2535;
-tr2558:
+ goto tr2623;
+ goto tr2604;
+tr2627:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st905;
-tr2559:
+ goto st947;
+tr2628:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st905;
-tr2561:
+ goto st947;
+tr2630:
{
s->line_counter++;
}
- goto st905;
-tr2790:
+ goto st947;
+tr2859:
{
s->buffer[s->buffer_length++] = 0;
@@ -68046,75 +69888,75 @@ tr2790:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 905; goto _out;}
+ {p++; cs = 947; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st905;
-tr2551:
+ goto st947;
+tr2620:
{
if (s->number64 <= 59) {
s->loc.m1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st905;
-tr2552:
+ goto st947;
+tr2621:
{
if (s->number64 <= 59) {
s->loc.m1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st905;
-tr2553:
+ goto st947;
+tr2622:
{
if (s->number64 <= 59) {
s->loc.m1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st905;
-tr2555:
+ goto st947;
+tr2624:
{
if (s->number64 <= 59) {
s->loc.m1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st905;
-st905:
+ goto st947;
+st947:
if ( ++p == pe )
- goto _test_eof905;
-case 905:
+ goto _test_eof947;
+case 947:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68128,19 +69970,19 @@ case 905:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st905;
- case 32: goto st905;
- case 40: goto tr2558;
- case 41: goto tr2559;
- case 78: goto st908;
- case 83: goto st950;
- case 2058: goto tr2561;
- case 2107: goto tr2562;
+ case 9: goto st947;
+ case 32: goto st947;
+ case 40: goto tr2627;
+ case 41: goto tr2628;
+ case 78: goto st950;
+ case 83: goto st992;
+ case 2058: goto tr2630;
+ case 2107: goto tr2631;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2560;
- goto tr2535;
-tr2567:
+ goto tr2629;
+ goto tr2604;
+tr2636:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -68152,11 +69994,11 @@ tr2567:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st906;
-tr2560:
+ goto st948;
+tr2629:
{
s->decimals = 3;
}
@@ -68177,14 +70019,14 @@ tr2560:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st906;
-st906:
+ goto st948;
+st948:
if ( ++p == pe )
- goto _test_eof906;
-case 906:
+ goto _test_eof948;
+case 948:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68198,41 +70040,41 @@ case 906:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2563;
- case 32: goto tr2563;
- case 40: goto tr2564;
- case 41: goto tr2565;
- case 46: goto st952;
- case 2058: goto tr2568;
- case 2107: goto tr2569;
+ case 9: goto tr2632;
+ case 32: goto tr2632;
+ case 40: goto tr2633;
+ case 41: goto tr2634;
+ case 46: goto st994;
+ case 2058: goto tr2637;
+ case 2107: goto tr2638;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2567;
- goto tr2535;
-tr2571:
+ goto tr2636;
+ goto tr2604;
+tr2640:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st907;
-tr2572:
+ goto st949;
+tr2641:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st907;
-tr2573:
+ goto st949;
+tr2642:
{
s->line_counter++;
}
- goto st907;
-tr2781:
+ goto st949;
+tr2850:
{
s->buffer[s->buffer_length++] = 0;
@@ -68242,15 +70084,15 @@ tr2781:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 907; goto _out;}
+ {p++; cs = 949; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st907;
-tr2563:
+ goto st949;
+tr2632:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -68260,7 +70102,7 @@ tr2563:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -68268,11 +70110,11 @@ tr2563:
s->loc.s1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st907;
-tr2564:
+ goto st949;
+tr2633:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -68282,7 +70124,7 @@ tr2564:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -68290,18 +70132,18 @@ tr2564:
s->loc.s1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st907;
-tr2565:
+ goto st949;
+tr2634:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -68311,7 +70153,7 @@ tr2565:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -68319,18 +70161,18 @@ tr2565:
s->loc.s1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st907;
-tr2568:
+ goto st949;
+tr2637:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -68340,7 +70182,7 @@ tr2568:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -68348,14 +70190,14 @@ tr2568:
s->loc.s1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st907;
-tr2782:
+ goto st949;
+tr2851:
{
s->number64_tmp = s->number64;
}
@@ -68368,7 +70210,7 @@ tr2782:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -68376,11 +70218,11 @@ tr2782:
s->loc.s1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st907;
-tr2783:
+ goto st949;
+tr2852:
{
s->number64_tmp = s->number64;
}
@@ -68393,7 +70235,7 @@ tr2783:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -68401,18 +70243,18 @@ tr2783:
s->loc.s1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st907;
-tr2784:
+ goto st949;
+tr2853:
{
s->number64_tmp = s->number64;
}
@@ -68425,7 +70267,7 @@ tr2784:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -68433,18 +70275,18 @@ tr2784:
s->loc.s1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st907;
-tr2786:
+ goto st949;
+tr2855:
{
s->number64_tmp = s->number64;
}
@@ -68457,7 +70299,7 @@ tr2786:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -68465,17 +70307,17 @@ tr2786:
s->loc.s1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st907;
-st907:
+ goto st949;
+st949:
if ( ++p == pe )
- goto _test_eof907;
-case 907:
+ goto _test_eof949;
+case 949:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68489,20 +70331,20 @@ case 907:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st907;
- case 32: goto st907;
- case 40: goto tr2571;
- case 41: goto tr2572;
- case 78: goto st908;
- case 83: goto st950;
- case 2058: goto tr2573;
- case 2107: goto tr2574;
+ case 9: goto st949;
+ case 32: goto st949;
+ case 40: goto tr2640;
+ case 41: goto tr2641;
+ case 78: goto st950;
+ case 83: goto st992;
+ case 2058: goto tr2642;
+ case 2107: goto tr2643;
}
- goto tr2535;
-st908:
+ goto tr2604;
+st950:
if ( ++p == pe )
- goto _test_eof908;
-case 908:
+ goto _test_eof950;
+case 950:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68516,38 +70358,38 @@ case 908:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st909;
- case 32: goto st909;
- case 40: goto tr2576;
- case 41: goto tr2577;
- case 2058: goto tr2578;
- case 2107: goto tr2579;
+ case 9: goto st951;
+ case 32: goto st951;
+ case 40: goto tr2645;
+ case 41: goto tr2646;
+ case 2058: goto tr2647;
+ case 2107: goto tr2648;
}
- goto tr2535;
-tr2576:
+ goto tr2604;
+tr2645:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st909;
-tr2577:
+ goto st951;
+tr2646:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st909;
-tr2578:
+ goto st951;
+tr2647:
{
s->line_counter++;
}
- goto st909;
-tr2774:
+ goto st951;
+tr2843:
{
s->buffer[s->buffer_length++] = 0;
@@ -68557,55 +70399,55 @@ tr2774:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 909; goto _out;}
+ {p++; cs = 951; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st909;
-tr2775:
+ goto st951;
+tr2844:
{
s->loc.lat_sign = -1;
}
- goto st909;
-tr2776:
+ goto st951;
+tr2845:
{
s->loc.lat_sign = -1;
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st909;
-tr2777:
+ goto st951;
+tr2846:
{
s->loc.lat_sign = -1;
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st909;
-tr2778:
+ goto st951;
+tr2847:
{
s->loc.lat_sign = -1;
}
{
s->line_counter++;
}
- goto st909;
-st909:
+ goto st951;
+st951:
if ( ++p == pe )
- goto _test_eof909;
-case 909:
+ goto _test_eof951;
+case 951:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68619,17 +70461,17 @@ case 909:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st909;
- case 32: goto st909;
- case 40: goto tr2576;
- case 41: goto tr2577;
- case 2058: goto tr2578;
- case 2107: goto tr2579;
+ case 9: goto st951;
+ case 32: goto st951;
+ case 40: goto tr2645;
+ case 41: goto tr2646;
+ case 2058: goto tr2647;
+ case 2107: goto tr2648;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2580;
- goto tr2535;
-tr2580:
+ goto tr2649;
+ goto tr2604;
+tr2649:
{
s->number64 = 0;
}
@@ -68644,11 +70486,11 @@ tr2580:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st910;
-tr2584:
+ goto st952;
+tr2653:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -68660,14 +70502,14 @@ tr2584:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st910;
-st910:
+ goto st952;
+st952:
if ( ++p == pe )
- goto _test_eof910;
-case 910:
+ goto _test_eof952;
+case 952:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68681,40 +70523,40 @@ case 910:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2581;
- case 32: goto tr2581;
- case 40: goto tr2582;
- case 41: goto tr2583;
- case 2058: goto tr2585;
- case 2107: goto tr2586;
+ case 9: goto tr2650;
+ case 32: goto tr2650;
+ case 40: goto tr2651;
+ case 41: goto tr2652;
+ case 2058: goto tr2654;
+ case 2107: goto tr2655;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2584;
- goto tr2535;
-tr2588:
+ goto tr2653;
+ goto tr2604;
+tr2657:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st911;
-tr2589:
+ goto st953;
+tr2658:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st911;
-tr2593:
+ goto st953;
+tr2662:
{
s->line_counter++;
}
- goto st911;
-tr2772:
+ goto st953;
+tr2841:
{
s->buffer[s->buffer_length++] = 0;
@@ -68724,75 +70566,75 @@ tr2772:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 911; goto _out;}
+ {p++; cs = 953; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st911;
-tr2581:
+ goto st953;
+tr2650:
{
if (s->number64 <= 180) {
s->loc.d2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st911;
-tr2582:
+ goto st953;
+tr2651:
{
if (s->number64 <= 180) {
s->loc.d2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st911;
-tr2583:
+ goto st953;
+tr2652:
{
if (s->number64 <= 180) {
s->loc.d2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st911;
-tr2585:
+ goto st953;
+tr2654:
{
if (s->number64 <= 180) {
s->loc.d2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st911;
-st911:
+ goto st953;
+st953:
if ( ++p == pe )
- goto _test_eof911;
-case 911:
+ goto _test_eof953;
+case 953:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68806,19 +70648,19 @@ case 911:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st911;
- case 32: goto st911;
- case 40: goto tr2588;
- case 41: goto tr2589;
- case 69: goto st916;
- case 87: goto st943;
- case 2058: goto tr2593;
- case 2107: goto tr2594;
+ case 9: goto st953;
+ case 32: goto st953;
+ case 40: goto tr2657;
+ case 41: goto tr2658;
+ case 69: goto st958;
+ case 87: goto st985;
+ case 2058: goto tr2662;
+ case 2107: goto tr2663;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2590;
- goto tr2535;
-tr2590:
+ goto tr2659;
+ goto tr2604;
+tr2659:
{
s->number64 = 0;
}
@@ -68833,11 +70675,11 @@ tr2590:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st912;
-tr2598:
+ goto st954;
+tr2667:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -68849,14 +70691,14 @@ tr2598:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st912;
-st912:
+ goto st954;
+st954:
if ( ++p == pe )
- goto _test_eof912;
-case 912:
+ goto _test_eof954;
+case 954:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68870,40 +70712,40 @@ case 912:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2595;
- case 32: goto tr2595;
- case 40: goto tr2596;
- case 41: goto tr2597;
- case 2058: goto tr2599;
- case 2107: goto tr2600;
+ case 9: goto tr2664;
+ case 32: goto tr2664;
+ case 40: goto tr2665;
+ case 41: goto tr2666;
+ case 2058: goto tr2668;
+ case 2107: goto tr2669;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2598;
- goto tr2535;
-tr2602:
+ goto tr2667;
+ goto tr2604;
+tr2671:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st913;
-tr2603:
+ goto st955;
+tr2672:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st913;
-tr2605:
+ goto st955;
+tr2674:
{
s->line_counter++;
}
- goto st913;
-tr2770:
+ goto st955;
+tr2839:
{
s->buffer[s->buffer_length++] = 0;
@@ -68913,75 +70755,75 @@ tr2770:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 913; goto _out;}
+ {p++; cs = 955; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st913;
-tr2595:
+ goto st955;
+tr2664:
{
if (s->number64 <= 59) {
s->loc.m2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st913;
-tr2596:
+ goto st955;
+tr2665:
{
if (s->number64 <= 59) {
s->loc.m2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st913;
-tr2597:
+ goto st955;
+tr2666:
{
if (s->number64 <= 59) {
s->loc.m2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st913;
-tr2599:
+ goto st955;
+tr2668:
{
if (s->number64 <= 59) {
s->loc.m2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st913;
-st913:
+ goto st955;
+st955:
if ( ++p == pe )
- goto _test_eof913;
-case 913:
+ goto _test_eof955;
+case 955:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -68995,19 +70837,19 @@ case 913:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st913;
- case 32: goto st913;
- case 40: goto tr2602;
- case 41: goto tr2603;
- case 69: goto st916;
- case 87: goto st943;
- case 2058: goto tr2605;
- case 2107: goto tr2606;
+ case 9: goto st955;
+ case 32: goto st955;
+ case 40: goto tr2671;
+ case 41: goto tr2672;
+ case 69: goto st958;
+ case 87: goto st985;
+ case 2058: goto tr2674;
+ case 2107: goto tr2675;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2604;
- goto tr2535;
-tr2611:
+ goto tr2673;
+ goto tr2604;
+tr2680:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -69019,11 +70861,11 @@ tr2611:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st914;
-tr2604:
+ goto st956;
+tr2673:
{
s->decimals = 3;
}
@@ -69044,14 +70886,14 @@ tr2604:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st914;
-st914:
+ goto st956;
+st956:
if ( ++p == pe )
- goto _test_eof914;
-case 914:
+ goto _test_eof956;
+case 956:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -69065,41 +70907,41 @@ case 914:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2607;
- case 32: goto tr2607;
- case 40: goto tr2608;
- case 41: goto tr2609;
- case 46: goto st945;
- case 2058: goto tr2612;
- case 2107: goto tr2613;
+ case 9: goto tr2676;
+ case 32: goto tr2676;
+ case 40: goto tr2677;
+ case 41: goto tr2678;
+ case 46: goto st987;
+ case 2058: goto tr2681;
+ case 2107: goto tr2682;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2611;
- goto tr2535;
-tr2615:
+ goto tr2680;
+ goto tr2604;
+tr2684:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st915;
-tr2616:
+ goto st957;
+tr2685:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st915;
-tr2617:
+ goto st957;
+tr2686:
{
s->line_counter++;
}
- goto st915;
-tr2761:
+ goto st957;
+tr2830:
{
s->buffer[s->buffer_length++] = 0;
@@ -69109,15 +70951,15 @@ tr2761:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 915; goto _out;}
+ {p++; cs = 957; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st915;
-tr2607:
+ goto st957;
+tr2676:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -69127,7 +70969,7 @@ tr2607:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -69135,11 +70977,11 @@ tr2607:
s->loc.s2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st915;
-tr2608:
+ goto st957;
+tr2677:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -69149,7 +70991,7 @@ tr2608:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -69157,18 +70999,18 @@ tr2608:
s->loc.s2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st915;
-tr2609:
+ goto st957;
+tr2678:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -69178,7 +71020,7 @@ tr2609:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -69186,18 +71028,18 @@ tr2609:
s->loc.s2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st915;
-tr2612:
+ goto st957;
+tr2681:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -69207,7 +71049,7 @@ tr2612:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -69215,14 +71057,14 @@ tr2612:
s->loc.s2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st915;
-tr2762:
+ goto st957;
+tr2831:
{
s->number64_tmp = s->number64;
}
@@ -69235,7 +71077,7 @@ tr2762:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -69243,11 +71085,11 @@ tr2762:
s->loc.s2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st915;
-tr2763:
+ goto st957;
+tr2832:
{
s->number64_tmp = s->number64;
}
@@ -69260,7 +71102,7 @@ tr2763:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -69268,18 +71110,18 @@ tr2763:
s->loc.s2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st915;
-tr2764:
+ goto st957;
+tr2833:
{
s->number64_tmp = s->number64;
}
@@ -69292,7 +71134,7 @@ tr2764:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -69300,18 +71142,18 @@ tr2764:
s->loc.s2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st915;
-tr2766:
+ goto st957;
+tr2835:
{
s->number64_tmp = s->number64;
}
@@ -69324,7 +71166,7 @@ tr2766:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -69332,17 +71174,17 @@ tr2766:
s->loc.s2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st915;
-st915:
+ goto st957;
+st957:
if ( ++p == pe )
- goto _test_eof915;
-case 915:
+ goto _test_eof957;
+case 957:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -69356,20 +71198,20 @@ case 915:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st915;
- case 32: goto st915;
- case 40: goto tr2615;
- case 41: goto tr2616;
- case 69: goto st916;
- case 87: goto st943;
- case 2058: goto tr2617;
- case 2107: goto tr2618;
+ case 9: goto st957;
+ case 32: goto st957;
+ case 40: goto tr2684;
+ case 41: goto tr2685;
+ case 69: goto st958;
+ case 87: goto st985;
+ case 2058: goto tr2686;
+ case 2107: goto tr2687;
}
- goto tr2535;
-st916:
+ goto tr2604;
+st958:
if ( ++p == pe )
- goto _test_eof916;
-case 916:
+ goto _test_eof958;
+case 958:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -69383,38 +71225,38 @@ case 916:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st917;
- case 32: goto st917;
- case 40: goto tr2620;
- case 41: goto tr2621;
- case 2058: goto tr2622;
- case 2107: goto tr2623;
+ case 9: goto st959;
+ case 32: goto st959;
+ case 40: goto tr2689;
+ case 41: goto tr2690;
+ case 2058: goto tr2691;
+ case 2107: goto tr2692;
}
- goto tr2535;
-tr2620:
+ goto tr2604;
+tr2689:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st917;
-tr2621:
+ goto st959;
+tr2690:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st917;
-tr2622:
+ goto st959;
+tr2691:
{
s->line_counter++;
}
- goto st917;
-tr2754:
+ goto st959;
+tr2823:
{
s->buffer[s->buffer_length++] = 0;
@@ -69424,55 +71266,55 @@ tr2754:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 917; goto _out;}
+ {p++; cs = 959; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st917;
-tr2755:
+ goto st959;
+tr2824:
{
s->loc.long_sign = -1;
}
- goto st917;
-tr2756:
+ goto st959;
+tr2825:
{
s->loc.long_sign = -1;
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st917;
-tr2757:
+ goto st959;
+tr2826:
{
s->loc.long_sign = -1;
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st917;
-tr2758:
+ goto st959;
+tr2827:
{
s->loc.long_sign = -1;
}
{
s->line_counter++;
}
- goto st917;
-st917:
+ goto st959;
+st959:
if ( ++p == pe )
- goto _test_eof917;
-case 917:
+ goto _test_eof959;
+case 959:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -69486,25 +71328,25 @@ case 917:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st917;
- case 32: goto st917;
- case 40: goto tr2620;
- case 41: goto tr2621;
- case 45: goto st918;
- case 2058: goto tr2622;
- case 2107: goto tr2623;
+ case 9: goto st959;
+ case 32: goto st959;
+ case 40: goto tr2689;
+ case 41: goto tr2690;
+ case 45: goto st960;
+ case 2058: goto tr2691;
+ case 2107: goto tr2692;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2625;
- goto tr2535;
-st918:
+ goto tr2694;
+ goto tr2604;
+st960:
if ( ++p == pe )
- goto _test_eof918;
-case 918:
+ goto _test_eof960;
+case 960:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2626;
- goto tr2535;
-tr2631:
+ goto tr2695;
+ goto tr2604;
+tr2700:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -69516,11 +71358,11 @@ tr2631:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st919;
-tr2625:
+ goto st961;
+tr2694:
{
s->decimals = 2;
}
@@ -69541,11 +71383,11 @@ tr2625:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st919;
-tr2626:
+ goto st961;
+tr2695:
{
s->loc.alt_sign = -1;
}
@@ -69569,14 +71411,14 @@ tr2626:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st919;
-st919:
+ goto st961;
+st961:
if ( ++p == pe )
- goto _test_eof919;
-case 919:
+ goto _test_eof961;
+case 961:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -69594,46 +71436,46 @@ case 919:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2627;
- case 32: goto tr2627;
- case 40: goto tr2628;
- case 41: goto tr2629;
- case 46: goto st939;
- case 109: goto tr2632;
- case 3082: goto tr2633;
- case 3131: goto tr2634;
- case 3338: goto tr2635;
- case 3387: goto tr2635;
- case 3594: goto tr2636;
- case 3643: goto tr2637;
+ case 9: goto tr2696;
+ case 32: goto tr2696;
+ case 40: goto tr2697;
+ case 41: goto tr2698;
+ case 46: goto st981;
+ case 109: goto tr2701;
+ case 3082: goto tr2702;
+ case 3131: goto tr2703;
+ case 3338: goto tr2704;
+ case 3387: goto tr2704;
+ case 3594: goto tr2705;
+ case 3643: goto tr2706;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2631;
- goto tr2535;
-tr2639:
+ goto tr2700;
+ goto tr2604;
+tr2708:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st920;
-tr2640:
+ goto st962;
+tr2709:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st920;
-tr2642:
+ goto st962;
+tr2711:
{
s->line_counter++;
}
- goto st920;
-tr2741:
+ goto st962;
+tr2810:
{
s->buffer[s->buffer_length++] = 0;
@@ -69643,15 +71485,15 @@ tr2741:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 920; goto _out;}
+ {p++; cs = 962; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st920;
-tr2627:
+ goto st962;
+tr2696:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -69661,7 +71503,7 @@ tr2627:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -69671,11 +71513,11 @@ tr2627:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st920;
-tr2628:
+ goto st962;
+tr2697:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -69685,7 +71527,7 @@ tr2628:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -69695,18 +71537,18 @@ tr2628:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st920;
-tr2629:
+ goto st962;
+tr2698:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -69716,7 +71558,7 @@ tr2629:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -69726,18 +71568,18 @@ tr2629:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st920;
-tr2633:
+ goto st962;
+tr2702:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -69747,7 +71589,7 @@ tr2633:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -69757,14 +71599,14 @@ tr2633:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st920;
-tr2742:
+ goto st962;
+tr2811:
{
s->number64_tmp = s->number64;
}
@@ -69777,7 +71619,7 @@ tr2742:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -69787,11 +71629,11 @@ tr2742:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st920;
-tr2743:
+ goto st962;
+tr2812:
{
s->number64_tmp = s->number64;
}
@@ -69804,7 +71646,7 @@ tr2743:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -69814,18 +71656,18 @@ tr2743:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st920;
-tr2744:
+ goto st962;
+tr2813:
{
s->number64_tmp = s->number64;
}
@@ -69838,7 +71680,7 @@ tr2744:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -69848,18 +71690,18 @@ tr2744:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st920;
-tr2747:
+ goto st962;
+tr2816:
{
s->number64_tmp = s->number64;
}
@@ -69872,7 +71714,7 @@ tr2747:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -69882,17 +71724,17 @@ tr2747:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st920;
-st920:
+ goto st962;
+st962:
if ( ++p == pe )
- goto _test_eof920;
-case 920:
+ goto _test_eof962;
+case 962:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -69910,21 +71752,21 @@ case 920:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st920;
- case 32: goto st920;
- case 40: goto tr2639;
- case 41: goto tr2640;
- case 3082: goto tr2642;
- case 3131: goto tr2643;
- case 3338: goto tr2644;
- case 3387: goto tr2644;
- case 3594: goto tr2645;
- case 3643: goto tr2646;
+ case 9: goto st962;
+ case 32: goto st962;
+ case 40: goto tr2708;
+ case 41: goto tr2709;
+ case 3082: goto tr2711;
+ case 3131: goto tr2712;
+ case 3338: goto tr2713;
+ case 3387: goto tr2713;
+ case 3594: goto tr2714;
+ case 3643: goto tr2715;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2641;
- goto tr2535;
-tr2651:
+ goto tr2710;
+ goto tr2604;
+tr2720:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -69936,11 +71778,11 @@ tr2651:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st921;
-tr2641:
+ goto st963;
+tr2710:
{
s->decimals = 2;
}
@@ -69961,14 +71803,14 @@ tr2641:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st921;
-st921:
+ goto st963;
+st963:
if ( ++p == pe )
- goto _test_eof921;
-case 921:
+ goto _test_eof963;
+case 963:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -69986,46 +71828,46 @@ case 921:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2647;
- case 32: goto tr2647;
- case 40: goto tr2648;
- case 41: goto tr2649;
- case 46: goto st935;
- case 109: goto tr2652;
- case 3082: goto tr2653;
- case 3131: goto tr2654;
- case 3338: goto tr2655;
- case 3387: goto tr2655;
- case 3594: goto tr2656;
- case 3643: goto tr2657;
+ case 9: goto tr2716;
+ case 32: goto tr2716;
+ case 40: goto tr2717;
+ case 41: goto tr2718;
+ case 46: goto st977;
+ case 109: goto tr2721;
+ case 3082: goto tr2722;
+ case 3131: goto tr2723;
+ case 3338: goto tr2724;
+ case 3387: goto tr2724;
+ case 3594: goto tr2725;
+ case 3643: goto tr2726;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2651;
- goto tr2535;
-tr2659:
+ goto tr2720;
+ goto tr2604;
+tr2728:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st922;
-tr2660:
+ goto st964;
+tr2729:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st922;
-tr2662:
+ goto st964;
+tr2731:
{
s->line_counter++;
}
- goto st922;
-tr2728:
+ goto st964;
+tr2797:
{
s->buffer[s->buffer_length++] = 0;
@@ -70035,15 +71877,15 @@ tr2728:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 922; goto _out;}
+ {p++; cs = 964; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st922;
-tr2647:
+ goto st964;
+tr2716:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -70053,7 +71895,7 @@ tr2647:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70061,11 +71903,11 @@ tr2647:
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st922;
-tr2648:
+ goto st964;
+tr2717:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -70075,7 +71917,7 @@ tr2648:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70083,18 +71925,18 @@ tr2648:
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st922;
-tr2649:
+ goto st964;
+tr2718:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -70104,7 +71946,7 @@ tr2649:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70112,18 +71954,18 @@ tr2649:
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st922;
-tr2653:
+ goto st964;
+tr2722:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -70133,7 +71975,7 @@ tr2653:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70141,14 +71983,14 @@ tr2653:
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st922;
-tr2729:
+ goto st964;
+tr2798:
{
s->number64_tmp = s->number64;
}
@@ -70161,7 +72003,7 @@ tr2729:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70169,11 +72011,11 @@ tr2729:
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st922;
-tr2730:
+ goto st964;
+tr2799:
{
s->number64_tmp = s->number64;
}
@@ -70186,7 +72028,7 @@ tr2730:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70194,18 +72036,18 @@ tr2730:
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st922;
-tr2731:
+ goto st964;
+tr2800:
{
s->number64_tmp = s->number64;
}
@@ -70218,7 +72060,7 @@ tr2731:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70226,18 +72068,18 @@ tr2731:
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st922;
-tr2734:
+ goto st964;
+tr2803:
{
s->number64_tmp = s->number64;
}
@@ -70250,7 +72092,7 @@ tr2734:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70258,17 +72100,17 @@ tr2734:
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st922;
-st922:
+ goto st964;
+st964:
if ( ++p == pe )
- goto _test_eof922;
-case 922:
+ goto _test_eof964;
+case 964:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -70286,21 +72128,21 @@ case 922:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st922;
- case 32: goto st922;
- case 40: goto tr2659;
- case 41: goto tr2660;
- case 3082: goto tr2662;
- case 3131: goto tr2663;
- case 3338: goto tr2644;
- case 3387: goto tr2644;
- case 3594: goto tr2664;
- case 3643: goto tr2665;
+ case 9: goto st964;
+ case 32: goto st964;
+ case 40: goto tr2728;
+ case 41: goto tr2729;
+ case 3082: goto tr2731;
+ case 3131: goto tr2732;
+ case 3338: goto tr2713;
+ case 3387: goto tr2713;
+ case 3594: goto tr2733;
+ case 3643: goto tr2734;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2661;
- goto tr2535;
-tr2670:
+ goto tr2730;
+ goto tr2604;
+tr2739:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -70312,11 +72154,11 @@ tr2670:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st923;
-tr2661:
+ goto st965;
+tr2730:
{
s->decimals = 2;
}
@@ -70337,14 +72179,14 @@ tr2661:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st923;
-st923:
+ goto st965;
+st965:
if ( ++p == pe )
- goto _test_eof923;
-case 923:
+ goto _test_eof965;
+case 965:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -70362,46 +72204,46 @@ case 923:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2666;
- case 32: goto tr2666;
- case 40: goto tr2667;
- case 41: goto tr2668;
- case 46: goto st931;
- case 109: goto tr2671;
- case 3082: goto tr2672;
- case 3131: goto tr2673;
- case 3338: goto tr2674;
- case 3387: goto tr2674;
- case 3594: goto tr2675;
- case 3643: goto tr2676;
+ case 9: goto tr2735;
+ case 32: goto tr2735;
+ case 40: goto tr2736;
+ case 41: goto tr2737;
+ case 46: goto st973;
+ case 109: goto tr2740;
+ case 3082: goto tr2741;
+ case 3131: goto tr2742;
+ case 3338: goto tr2743;
+ case 3387: goto tr2743;
+ case 3594: goto tr2744;
+ case 3643: goto tr2745;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2670;
- goto tr2535;
-tr2678:
+ goto tr2739;
+ goto tr2604;
+tr2747:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st924;
-tr2679:
+ goto st966;
+tr2748:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st924;
-tr2681:
+ goto st966;
+tr2750:
{
s->line_counter++;
}
- goto st924;
-tr2715:
+ goto st966;
+tr2784:
{
s->buffer[s->buffer_length++] = 0;
@@ -70411,15 +72253,15 @@ tr2715:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 924; goto _out;}
+ {p++; cs = 966; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st924;
-tr2666:
+ goto st966;
+tr2735:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -70429,7 +72271,7 @@ tr2666:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70437,11 +72279,11 @@ tr2666:
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st924;
-tr2667:
+ goto st966;
+tr2736:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -70451,7 +72293,7 @@ tr2667:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70459,18 +72301,18 @@ tr2667:
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st924;
-tr2668:
+ goto st966;
+tr2737:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -70480,7 +72322,7 @@ tr2668:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70488,18 +72330,18 @@ tr2668:
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st924;
-tr2672:
+ goto st966;
+tr2741:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -70509,7 +72351,7 @@ tr2672:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70517,14 +72359,14 @@ tr2672:
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st924;
-tr2716:
+ goto st966;
+tr2785:
{
s->number64_tmp = s->number64;
}
@@ -70537,7 +72379,7 @@ tr2716:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70545,11 +72387,11 @@ tr2716:
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st924;
-tr2717:
+ goto st966;
+tr2786:
{
s->number64_tmp = s->number64;
}
@@ -70562,7 +72404,7 @@ tr2717:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70570,18 +72412,18 @@ tr2717:
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st924;
-tr2718:
+ goto st966;
+tr2787:
{
s->number64_tmp = s->number64;
}
@@ -70594,7 +72436,7 @@ tr2718:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70602,18 +72444,18 @@ tr2718:
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st924;
-tr2721:
+ goto st966;
+tr2790:
{
s->number64_tmp = s->number64;
}
@@ -70626,7 +72468,7 @@ tr2721:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70634,17 +72476,17 @@ tr2721:
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st924;
-st924:
+ goto st966;
+st966:
if ( ++p == pe )
- goto _test_eof924;
-case 924:
+ goto _test_eof966;
+case 966:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -70662,21 +72504,21 @@ case 924:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st924;
- case 32: goto st924;
- case 40: goto tr2678;
- case 41: goto tr2679;
- case 3082: goto tr2681;
- case 3131: goto tr2682;
- case 3338: goto tr2644;
- case 3387: goto tr2644;
- case 3594: goto tr2683;
- case 3643: goto tr2684;
+ case 9: goto st966;
+ case 32: goto st966;
+ case 40: goto tr2747;
+ case 41: goto tr2748;
+ case 3082: goto tr2750;
+ case 3131: goto tr2751;
+ case 3338: goto tr2713;
+ case 3387: goto tr2713;
+ case 3594: goto tr2752;
+ case 3643: goto tr2753;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2680;
- goto tr2535;
-tr2689:
+ goto tr2749;
+ goto tr2604;
+tr2758:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -70688,11 +72530,11 @@ tr2689:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st925;
-tr2680:
+ goto st967;
+tr2749:
{
s->decimals = 2;
}
@@ -70713,14 +72555,14 @@ tr2680:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st925;
-st925:
+ goto st967;
+st967:
if ( ++p == pe )
- goto _test_eof925;
-case 925:
+ goto _test_eof967;
+case 967:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -70738,46 +72580,46 @@ case 925:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2685;
- case 32: goto tr2685;
- case 40: goto tr2686;
- case 41: goto tr2687;
- case 46: goto st928;
- case 109: goto tr2685;
- case 3082: goto tr2690;
- case 3131: goto tr2691;
- case 3338: goto tr2692;
- case 3387: goto tr2692;
- case 3594: goto tr2693;
- case 3643: goto tr2694;
+ case 9: goto tr2754;
+ case 32: goto tr2754;
+ case 40: goto tr2755;
+ case 41: goto tr2756;
+ case 46: goto st970;
+ case 109: goto tr2754;
+ case 3082: goto tr2759;
+ case 3131: goto tr2760;
+ case 3338: goto tr2761;
+ case 3387: goto tr2761;
+ case 3594: goto tr2762;
+ case 3643: goto tr2763;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2689;
- goto tr2535;
-tr2696:
+ goto tr2758;
+ goto tr2604;
+tr2765:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st926;
-tr2697:
+ goto st968;
+tr2766:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st926;
-tr2698:
+ goto st968;
+tr2767:
{
s->line_counter++;
}
- goto st926;
-tr2703:
+ goto st968;
+tr2772:
{
s->buffer[s->buffer_length++] = 0;
@@ -70787,15 +72629,15 @@ tr2703:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 926; goto _out;}
+ {p++; cs = 968; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st926;
-tr2685:
+ goto st968;
+tr2754:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -70805,7 +72647,7 @@ tr2685:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70813,11 +72655,11 @@ tr2685:
s->loc.vp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st926;
-tr2686:
+ goto st968;
+tr2755:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -70827,7 +72669,7 @@ tr2686:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70835,18 +72677,18 @@ tr2686:
s->loc.vp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st926;
-tr2687:
+ goto st968;
+tr2756:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -70856,7 +72698,7 @@ tr2687:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70864,18 +72706,18 @@ tr2687:
s->loc.vp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st926;
-tr2690:
+ goto st968;
+tr2759:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -70885,7 +72727,7 @@ tr2690:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70893,14 +72735,14 @@ tr2690:
s->loc.vp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st926;
-tr2704:
+ goto st968;
+tr2773:
{
s->number64_tmp = s->number64;
}
@@ -70913,7 +72755,7 @@ tr2704:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70921,11 +72763,11 @@ tr2704:
s->loc.vp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st926;
-tr2705:
+ goto st968;
+tr2774:
{
s->number64_tmp = s->number64;
}
@@ -70938,7 +72780,7 @@ tr2705:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70946,18 +72788,18 @@ tr2705:
s->loc.vp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st926;
-tr2706:
+ goto st968;
+tr2775:
{
s->number64_tmp = s->number64;
}
@@ -70970,7 +72812,7 @@ tr2706:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -70978,18 +72820,18 @@ tr2706:
s->loc.vp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st926;
-tr2708:
+ goto st968;
+tr2777:
{
s->number64_tmp = s->number64;
}
@@ -71002,7 +72844,7 @@ tr2708:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71010,17 +72852,17 @@ tr2708:
s->loc.vp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st926;
-st926:
+ goto st968;
+st968:
if ( ++p == pe )
- goto _test_eof926;
-case 926:
+ goto _test_eof968;
+case 968:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -71038,31 +72880,31 @@ case 926:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st926;
- case 32: goto st926;
- case 40: goto tr2696;
- case 41: goto tr2697;
- case 3082: goto tr2698;
- case 3131: goto tr2699;
- case 3338: goto tr2644;
- case 3387: goto tr2644;
- case 3594: goto tr2700;
- case 3643: goto tr2701;
+ case 9: goto st968;
+ case 32: goto st968;
+ case 40: goto tr2765;
+ case 41: goto tr2766;
+ case 3082: goto tr2767;
+ case 3131: goto tr2768;
+ case 3338: goto tr2713;
+ case 3387: goto tr2713;
+ case 3594: goto tr2769;
+ case 3643: goto tr2770;
}
- goto tr2535;
-tr2699:
+ goto tr2604;
+tr2768:
{
s->buffer_length = 0;
}
- goto st927;
-tr2702:
+ goto st969;
+tr2771:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st927;
-tr2691:
+ goto st969;
+tr2760:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -71072,7 +72914,7 @@ tr2691:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71080,14 +72922,14 @@ tr2691:
s->loc.vp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st927;
-tr2709:
+ goto st969;
+tr2778:
{
s->number64_tmp = s->number64;
}
@@ -71100,7 +72942,7 @@ tr2709:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71108,17 +72950,17 @@ tr2709:
s->loc.vp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st927;
-st927:
+ goto st969;
+st969:
if ( ++p == pe )
- goto _test_eof927;
-case 927:
+ goto _test_eof969;
+case 969:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -71138,11 +72980,11 @@ case 927:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2703;
+ goto tr2772;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2702;
- goto tr2535;
-tr2635:
+ goto tr2771;
+ goto tr2604;
+tr2704:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -71152,7 +72994,7 @@ tr2635:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71162,7 +73004,7 @@ tr2635:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71194,8 +73036,8 @@ tr2635:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1445;
-tr2644:
+ goto st1493;
+tr2713:
{
// Write version.
*(rdata_tail) = 0;
@@ -71225,8 +73067,8 @@ tr2644:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1445;
-tr2655:
+ goto st1493;
+tr2724:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -71236,7 +73078,7 @@ tr2655:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71244,7 +73086,7 @@ tr2655:
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71276,8 +73118,8 @@ tr2655:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1445;
-tr2674:
+ goto st1493;
+tr2743:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -71287,7 +73129,7 @@ tr2674:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71295,7 +73137,7 @@ tr2674:
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71327,8 +73169,8 @@ tr2674:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1445;
-tr2692:
+ goto st1493;
+tr2761:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -71338,7 +73180,7 @@ tr2692:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71346,7 +73188,7 @@ tr2692:
s->loc.vp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71378,8 +73220,8 @@ tr2692:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1445;
-tr2710:
+ goto st1493;
+tr2779:
{
s->number64_tmp = s->number64;
}
@@ -71392,7 +73234,7 @@ tr2710:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71400,7 +73242,7 @@ tr2710:
s->loc.vp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71432,8 +73274,8 @@ tr2710:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1445;
-tr2723:
+ goto st1493;
+tr2792:
{
s->number64_tmp = s->number64;
}
@@ -71446,7 +73288,7 @@ tr2723:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71454,7 +73296,7 @@ tr2723:
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71486,8 +73328,8 @@ tr2723:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1445;
-tr2736:
+ goto st1493;
+tr2805:
{
s->number64_tmp = s->number64;
}
@@ -71500,7 +73342,7 @@ tr2736:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71508,7 +73350,7 @@ tr2736:
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71540,8 +73382,8 @@ tr2736:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1445;
-tr2749:
+ goto st1493;
+tr2818:
{
s->number64_tmp = s->number64;
}
@@ -71554,7 +73396,7 @@ tr2749:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71564,7 +73406,7 @@ tr2749:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71596,13 +73438,13 @@ tr2749:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1445;
-st1445:
+ goto st1493;
+st1493:
if ( ++p == pe )
- goto _test_eof1445;
-case 1445:
+ goto _test_eof1493;
+case 1493:
goto st0;
-tr2700:
+tr2769:
{
s->line_counter++;
}
@@ -71635,8 +73477,8 @@ tr2700:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1446;
-tr2693:
+ goto st1494;
+tr2762:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -71646,7 +73488,7 @@ tr2693:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71654,7 +73496,7 @@ tr2693:
s->loc.vp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71689,8 +73531,8 @@ tr2693:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1446;
-tr2711:
+ goto st1494;
+tr2780:
{
s->number64_tmp = s->number64;
}
@@ -71703,7 +73545,7 @@ tr2711:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71711,7 +73553,7 @@ tr2711:
s->loc.vp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71746,11 +73588,11 @@ tr2711:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1446;
-st1446:
+ goto st1494;
+st1494:
if ( ++p == pe )
- goto _test_eof1446;
-case 1446:
+ goto _test_eof1494;
+case 1494:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -71768,19 +73610,19 @@ case 1446:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st926;
- case 32: goto st926;
- case 40: goto tr2696;
- case 41: goto tr2697;
- case 3082: goto tr2698;
- case 3131: goto tr2699;
- case 3338: goto tr2644;
- case 3387: goto tr2644;
- case 3594: goto tr2700;
- case 3643: goto tr2701;
+ case 9: goto st968;
+ case 32: goto st968;
+ case 40: goto tr2765;
+ case 41: goto tr2766;
+ case 3082: goto tr2767;
+ case 3131: goto tr2768;
+ case 3338: goto tr2713;
+ case 3387: goto tr2713;
+ case 3594: goto tr2769;
+ case 3643: goto tr2770;
}
- goto tr2535;
-tr2701:
+ goto tr2604;
+tr2770:
{
s->buffer_length = 0;
}
@@ -71813,8 +73655,8 @@ tr2701:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1447;
-tr2694:
+ goto st1495;
+tr2763:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -71824,7 +73666,7 @@ tr2694:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71832,7 +73674,7 @@ tr2694:
s->loc.vp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71867,8 +73709,8 @@ tr2694:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1447;
-tr2712:
+ goto st1495;
+tr2781:
{
s->number64_tmp = s->number64;
}
@@ -71881,7 +73723,7 @@ tr2712:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71889,7 +73731,7 @@ tr2712:
s->loc.vp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -71924,11 +73766,11 @@ tr2712:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1447;
-st1447:
+ goto st1495;
+st1495:
if ( ++p == pe )
- goto _test_eof1447;
-case 1447:
+ goto _test_eof1495;
+case 1495:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -71948,14 +73790,14 @@ case 1447:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2703;
+ goto tr2772;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2702;
- goto tr2535;
-st928:
+ goto tr2771;
+ goto tr2604;
+st970:
if ( ++p == pe )
- goto _test_eof928;
-case 928:
+ goto _test_eof970;
+case 970:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -71973,22 +73815,22 @@ case 928:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2704;
- case 32: goto tr2704;
- case 40: goto tr2705;
- case 41: goto tr2706;
- case 109: goto tr2704;
- case 3082: goto tr2708;
- case 3131: goto tr2709;
- case 3338: goto tr2710;
- case 3387: goto tr2710;
- case 3594: goto tr2711;
- case 3643: goto tr2712;
+ case 9: goto tr2773;
+ case 32: goto tr2773;
+ case 40: goto tr2774;
+ case 41: goto tr2775;
+ case 109: goto tr2773;
+ case 3082: goto tr2777;
+ case 3131: goto tr2778;
+ case 3338: goto tr2779;
+ case 3387: goto tr2779;
+ case 3594: goto tr2780;
+ case 3643: goto tr2781;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2707;
- goto tr2535;
-tr2707:
+ goto tr2776;
+ goto tr2604;
+tr2776:
{
s->number64_tmp = s->number64;
}
@@ -72006,14 +73848,14 @@ tr2707:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->decimal_counter++;
}
- goto st929;
-tr2713:
+ goto st971;
+tr2782:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -72025,17 +73867,17 @@ tr2713:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->decimal_counter++;
}
- goto st929;
-st929:
+ goto st971;
+st971:
if ( ++p == pe )
- goto _test_eof929;
-case 929:
+ goto _test_eof971;
+case 971:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -72053,34 +73895,34 @@ case 929:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2685;
- case 32: goto tr2685;
- case 40: goto tr2686;
- case 41: goto tr2687;
- case 109: goto tr2685;
- case 3082: goto tr2690;
- case 3131: goto tr2691;
- case 3338: goto tr2692;
- case 3387: goto tr2692;
- case 3594: goto tr2693;
- case 3643: goto tr2694;
+ case 9: goto tr2754;
+ case 32: goto tr2754;
+ case 40: goto tr2755;
+ case 41: goto tr2756;
+ case 109: goto tr2754;
+ case 3082: goto tr2759;
+ case 3131: goto tr2760;
+ case 3338: goto tr2761;
+ case 3387: goto tr2761;
+ case 3594: goto tr2762;
+ case 3643: goto tr2763;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2713;
- goto tr2535;
-tr2682:
+ goto tr2782;
+ goto tr2604;
+tr2751:
{
s->buffer_length = 0;
}
- goto st930;
-tr2714:
+ goto st972;
+tr2783:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st930;
-tr2673:
+ goto st972;
+tr2742:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -72090,7 +73932,7 @@ tr2673:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -72098,14 +73940,14 @@ tr2673:
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st930;
-tr2722:
+ goto st972;
+tr2791:
{
s->number64_tmp = s->number64;
}
@@ -72118,7 +73960,7 @@ tr2722:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -72126,17 +73968,17 @@ tr2722:
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st930;
-st930:
+ goto st972;
+st972:
if ( ++p == pe )
- goto _test_eof930;
-case 930:
+ goto _test_eof972;
+case 972:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -72156,11 +73998,11 @@ case 930:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2715;
+ goto tr2784;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2714;
- goto tr2535;
-tr2683:
+ goto tr2783;
+ goto tr2604;
+tr2752:
{
s->line_counter++;
}
@@ -72193,8 +74035,8 @@ tr2683:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1448;
-tr2675:
+ goto st1496;
+tr2744:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -72204,7 +74046,7 @@ tr2675:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -72212,7 +74054,7 @@ tr2675:
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -72247,8 +74089,8 @@ tr2675:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1448;
-tr2724:
+ goto st1496;
+tr2793:
{
s->number64_tmp = s->number64;
}
@@ -72261,7 +74103,7 @@ tr2724:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -72269,7 +74111,7 @@ tr2724:
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -72304,11 +74146,11 @@ tr2724:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1448;
-st1448:
+ goto st1496;
+st1496:
if ( ++p == pe )
- goto _test_eof1448;
-case 1448:
+ goto _test_eof1496;
+case 1496:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -72326,21 +74168,21 @@ case 1448:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st924;
- case 32: goto st924;
- case 40: goto tr2678;
- case 41: goto tr2679;
- case 3082: goto tr2681;
- case 3131: goto tr2682;
- case 3338: goto tr2644;
- case 3387: goto tr2644;
- case 3594: goto tr2683;
- case 3643: goto tr2684;
+ case 9: goto st966;
+ case 32: goto st966;
+ case 40: goto tr2747;
+ case 41: goto tr2748;
+ case 3082: goto tr2750;
+ case 3131: goto tr2751;
+ case 3338: goto tr2713;
+ case 3387: goto tr2713;
+ case 3594: goto tr2752;
+ case 3643: goto tr2753;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2680;
- goto tr2535;
-tr2684:
+ goto tr2749;
+ goto tr2604;
+tr2753:
{
s->buffer_length = 0;
}
@@ -72373,8 +74215,8 @@ tr2684:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1449;
-tr2676:
+ goto st1497;
+tr2745:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -72384,7 +74226,7 @@ tr2676:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -72392,7 +74234,7 @@ tr2676:
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -72427,8 +74269,8 @@ tr2676:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1449;
-tr2725:
+ goto st1497;
+tr2794:
{
s->number64_tmp = s->number64;
}
@@ -72441,7 +74283,7 @@ tr2725:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -72449,7 +74291,7 @@ tr2725:
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -72484,11 +74326,11 @@ tr2725:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1449;
-st1449:
+ goto st1497;
+st1497:
if ( ++p == pe )
- goto _test_eof1449;
-case 1449:
+ goto _test_eof1497;
+case 1497:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -72508,14 +74350,14 @@ case 1449:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2715;
+ goto tr2784;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2714;
- goto tr2535;
-st931:
+ goto tr2783;
+ goto tr2604;
+st973:
if ( ++p == pe )
- goto _test_eof931;
-case 931:
+ goto _test_eof973;
+case 973:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -72533,22 +74375,22 @@ case 931:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2716;
- case 32: goto tr2716;
- case 40: goto tr2717;
- case 41: goto tr2718;
- case 109: goto tr2720;
- case 3082: goto tr2721;
- case 3131: goto tr2722;
- case 3338: goto tr2723;
- case 3387: goto tr2723;
- case 3594: goto tr2724;
- case 3643: goto tr2725;
+ case 9: goto tr2785;
+ case 32: goto tr2785;
+ case 40: goto tr2786;
+ case 41: goto tr2787;
+ case 109: goto tr2789;
+ case 3082: goto tr2790;
+ case 3131: goto tr2791;
+ case 3338: goto tr2792;
+ case 3387: goto tr2792;
+ case 3594: goto tr2793;
+ case 3643: goto tr2794;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2719;
- goto tr2535;
-tr2719:
+ goto tr2788;
+ goto tr2604;
+tr2788:
{
s->number64_tmp = s->number64;
}
@@ -72566,14 +74408,14 @@ tr2719:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->decimal_counter++;
}
- goto st932;
-tr2726:
+ goto st974;
+tr2795:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -72585,17 +74427,17 @@ tr2726:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->decimal_counter++;
}
- goto st932;
-st932:
+ goto st974;
+st974:
if ( ++p == pe )
- goto _test_eof932;
-case 932:
+ goto _test_eof974;
+case 974:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -72613,22 +74455,22 @@ case 932:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2666;
- case 32: goto tr2666;
- case 40: goto tr2667;
- case 41: goto tr2668;
- case 109: goto tr2671;
- case 3082: goto tr2672;
- case 3131: goto tr2673;
- case 3338: goto tr2674;
- case 3387: goto tr2674;
- case 3594: goto tr2675;
- case 3643: goto tr2676;
+ case 9: goto tr2735;
+ case 32: goto tr2735;
+ case 40: goto tr2736;
+ case 41: goto tr2737;
+ case 109: goto tr2740;
+ case 3082: goto tr2741;
+ case 3131: goto tr2742;
+ case 3338: goto tr2743;
+ case 3387: goto tr2743;
+ case 3594: goto tr2744;
+ case 3643: goto tr2745;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2726;
- goto tr2535;
-tr2671:
+ goto tr2795;
+ goto tr2604;
+tr2740:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -72638,7 +74480,7 @@ tr2671:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -72646,11 +74488,11 @@ tr2671:
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st933;
-tr2720:
+ goto st975;
+tr2789:
{
s->number64_tmp = s->number64;
}
@@ -72663,7 +74505,7 @@ tr2720:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -72671,14 +74513,14 @@ tr2720:
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st933;
-st933:
+ goto st975;
+st975:
if ( ++p == pe )
- goto _test_eof933;
-case 933:
+ goto _test_eof975;
+case 975:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -72696,31 +74538,31 @@ case 933:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st924;
- case 32: goto st924;
- case 40: goto tr2678;
- case 41: goto tr2679;
- case 3082: goto tr2681;
- case 3131: goto tr2682;
- case 3338: goto tr2644;
- case 3387: goto tr2644;
- case 3594: goto tr2683;
- case 3643: goto tr2684;
- }
- goto tr2535;
-tr2663:
+ case 9: goto st966;
+ case 32: goto st966;
+ case 40: goto tr2747;
+ case 41: goto tr2748;
+ case 3082: goto tr2750;
+ case 3131: goto tr2751;
+ case 3338: goto tr2713;
+ case 3387: goto tr2713;
+ case 3594: goto tr2752;
+ case 3643: goto tr2753;
+ }
+ goto tr2604;
+tr2732:
{
s->buffer_length = 0;
}
- goto st934;
-tr2727:
+ goto st976;
+tr2796:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st934;
-tr2654:
+ goto st976;
+tr2723:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -72730,7 +74572,7 @@ tr2654:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -72738,14 +74580,14 @@ tr2654:
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st934;
-tr2735:
+ goto st976;
+tr2804:
{
s->number64_tmp = s->number64;
}
@@ -72758,7 +74600,7 @@ tr2735:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -72766,17 +74608,17 @@ tr2735:
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st934;
-st934:
+ goto st976;
+st976:
if ( ++p == pe )
- goto _test_eof934;
-case 934:
+ goto _test_eof976;
+case 976:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -72796,11 +74638,11 @@ case 934:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2728;
+ goto tr2797;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2727;
- goto tr2535;
-tr2664:
+ goto tr2796;
+ goto tr2604;
+tr2733:
{
s->line_counter++;
}
@@ -72833,8 +74675,8 @@ tr2664:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1450;
-tr2656:
+ goto st1498;
+tr2725:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -72844,7 +74686,7 @@ tr2656:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -72852,7 +74694,7 @@ tr2656:
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -72887,8 +74729,8 @@ tr2656:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1450;
-tr2737:
+ goto st1498;
+tr2806:
{
s->number64_tmp = s->number64;
}
@@ -72901,7 +74743,7 @@ tr2737:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -72909,7 +74751,7 @@ tr2737:
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -72944,11 +74786,11 @@ tr2737:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1450;
-st1450:
+ goto st1498;
+st1498:
if ( ++p == pe )
- goto _test_eof1450;
-case 1450:
+ goto _test_eof1498;
+case 1498:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -72966,21 +74808,21 @@ case 1450:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st922;
- case 32: goto st922;
- case 40: goto tr2659;
- case 41: goto tr2660;
- case 3082: goto tr2662;
- case 3131: goto tr2663;
- case 3338: goto tr2644;
- case 3387: goto tr2644;
- case 3594: goto tr2664;
- case 3643: goto tr2665;
+ case 9: goto st964;
+ case 32: goto st964;
+ case 40: goto tr2728;
+ case 41: goto tr2729;
+ case 3082: goto tr2731;
+ case 3131: goto tr2732;
+ case 3338: goto tr2713;
+ case 3387: goto tr2713;
+ case 3594: goto tr2733;
+ case 3643: goto tr2734;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2661;
- goto tr2535;
-tr2665:
+ goto tr2730;
+ goto tr2604;
+tr2734:
{
s->buffer_length = 0;
}
@@ -73013,8 +74855,8 @@ tr2665:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1451;
-tr2657:
+ goto st1499;
+tr2726:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -73024,7 +74866,7 @@ tr2657:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -73032,7 +74874,7 @@ tr2657:
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -73067,8 +74909,8 @@ tr2657:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1451;
-tr2738:
+ goto st1499;
+tr2807:
{
s->number64_tmp = s->number64;
}
@@ -73081,7 +74923,7 @@ tr2738:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -73089,7 +74931,7 @@ tr2738:
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -73124,11 +74966,11 @@ tr2738:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1451;
-st1451:
+ goto st1499;
+st1499:
if ( ++p == pe )
- goto _test_eof1451;
-case 1451:
+ goto _test_eof1499;
+case 1499:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -73148,14 +74990,14 @@ case 1451:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2728;
+ goto tr2797;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2727;
- goto tr2535;
-st935:
+ goto tr2796;
+ goto tr2604;
+st977:
if ( ++p == pe )
- goto _test_eof935;
-case 935:
+ goto _test_eof977;
+case 977:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -73173,22 +75015,22 @@ case 935:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2729;
- case 32: goto tr2729;
- case 40: goto tr2730;
- case 41: goto tr2731;
- case 109: goto tr2733;
- case 3082: goto tr2734;
- case 3131: goto tr2735;
- case 3338: goto tr2736;
- case 3387: goto tr2736;
- case 3594: goto tr2737;
- case 3643: goto tr2738;
+ case 9: goto tr2798;
+ case 32: goto tr2798;
+ case 40: goto tr2799;
+ case 41: goto tr2800;
+ case 109: goto tr2802;
+ case 3082: goto tr2803;
+ case 3131: goto tr2804;
+ case 3338: goto tr2805;
+ case 3387: goto tr2805;
+ case 3594: goto tr2806;
+ case 3643: goto tr2807;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2732;
- goto tr2535;
-tr2732:
+ goto tr2801;
+ goto tr2604;
+tr2801:
{
s->number64_tmp = s->number64;
}
@@ -73206,14 +75048,14 @@ tr2732:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->decimal_counter++;
}
- goto st936;
-tr2739:
+ goto st978;
+tr2808:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -73225,17 +75067,17 @@ tr2739:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->decimal_counter++;
}
- goto st936;
-st936:
+ goto st978;
+st978:
if ( ++p == pe )
- goto _test_eof936;
-case 936:
+ goto _test_eof978;
+case 978:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -73253,22 +75095,22 @@ case 936:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2647;
- case 32: goto tr2647;
- case 40: goto tr2648;
- case 41: goto tr2649;
- case 109: goto tr2652;
- case 3082: goto tr2653;
- case 3131: goto tr2654;
- case 3338: goto tr2655;
- case 3387: goto tr2655;
- case 3594: goto tr2656;
- case 3643: goto tr2657;
+ case 9: goto tr2716;
+ case 32: goto tr2716;
+ case 40: goto tr2717;
+ case 41: goto tr2718;
+ case 109: goto tr2721;
+ case 3082: goto tr2722;
+ case 3131: goto tr2723;
+ case 3338: goto tr2724;
+ case 3387: goto tr2724;
+ case 3594: goto tr2725;
+ case 3643: goto tr2726;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2739;
- goto tr2535;
-tr2652:
+ goto tr2808;
+ goto tr2604;
+tr2721:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -73278,7 +75120,7 @@ tr2652:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -73286,11 +75128,11 @@ tr2652:
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st937;
-tr2733:
+ goto st979;
+tr2802:
{
s->number64_tmp = s->number64;
}
@@ -73303,7 +75145,7 @@ tr2733:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -73311,14 +75153,14 @@ tr2733:
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st937;
-st937:
+ goto st979;
+st979:
if ( ++p == pe )
- goto _test_eof937;
-case 937:
+ goto _test_eof979;
+case 979:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -73336,31 +75178,31 @@ case 937:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st922;
- case 32: goto st922;
- case 40: goto tr2659;
- case 41: goto tr2660;
- case 3082: goto tr2662;
- case 3131: goto tr2663;
- case 3338: goto tr2644;
- case 3387: goto tr2644;
- case 3594: goto tr2664;
- case 3643: goto tr2665;
+ case 9: goto st964;
+ case 32: goto st964;
+ case 40: goto tr2728;
+ case 41: goto tr2729;
+ case 3082: goto tr2731;
+ case 3131: goto tr2732;
+ case 3338: goto tr2713;
+ case 3387: goto tr2713;
+ case 3594: goto tr2733;
+ case 3643: goto tr2734;
}
- goto tr2535;
-tr2643:
+ goto tr2604;
+tr2712:
{
s->buffer_length = 0;
}
- goto st938;
-tr2740:
+ goto st980;
+tr2809:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st938;
-tr2634:
+ goto st980;
+tr2703:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -73370,7 +75212,7 @@ tr2634:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -73380,14 +75222,14 @@ tr2634:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st938;
-tr2748:
+ goto st980;
+tr2817:
{
s->number64_tmp = s->number64;
}
@@ -73400,7 +75242,7 @@ tr2748:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -73410,17 +75252,17 @@ tr2748:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st938;
-st938:
+ goto st980;
+st980:
if ( ++p == pe )
- goto _test_eof938;
-case 938:
+ goto _test_eof980;
+case 980:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -73440,11 +75282,11 @@ case 938:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2741;
+ goto tr2810;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2740;
- goto tr2535;
-tr2636:
+ goto tr2809;
+ goto tr2604;
+tr2705:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -73454,7 +75296,7 @@ tr2636:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -73464,7 +75306,7 @@ tr2636:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -73499,8 +75341,8 @@ tr2636:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1452;
-tr2645:
+ goto st1500;
+tr2714:
{
s->line_counter++;
}
@@ -73533,8 +75375,8 @@ tr2645:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1452;
-tr2750:
+ goto st1500;
+tr2819:
{
s->number64_tmp = s->number64;
}
@@ -73547,7 +75389,7 @@ tr2750:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -73557,7 +75399,7 @@ tr2750:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -73592,11 +75434,11 @@ tr2750:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1452;
-st1452:
+ goto st1500;
+st1500:
if ( ++p == pe )
- goto _test_eof1452;
-case 1452:
+ goto _test_eof1500;
+case 1500:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -73614,21 +75456,21 @@ case 1452:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st920;
- case 32: goto st920;
- case 40: goto tr2639;
- case 41: goto tr2640;
- case 3082: goto tr2642;
- case 3131: goto tr2643;
- case 3338: goto tr2644;
- case 3387: goto tr2644;
- case 3594: goto tr2645;
- case 3643: goto tr2646;
+ case 9: goto st962;
+ case 32: goto st962;
+ case 40: goto tr2708;
+ case 41: goto tr2709;
+ case 3082: goto tr2711;
+ case 3131: goto tr2712;
+ case 3338: goto tr2713;
+ case 3387: goto tr2713;
+ case 3594: goto tr2714;
+ case 3643: goto tr2715;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2641;
- goto tr2535;
-tr2637:
+ goto tr2710;
+ goto tr2604;
+tr2706:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -73638,7 +75480,7 @@ tr2637:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -73648,7 +75490,7 @@ tr2637:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -73683,8 +75525,8 @@ tr2637:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1453;
-tr2646:
+ goto st1501;
+tr2715:
{
s->buffer_length = 0;
}
@@ -73717,8 +75559,8 @@ tr2646:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1453;
-tr2751:
+ goto st1501;
+tr2820:
{
s->number64_tmp = s->number64;
}
@@ -73731,7 +75573,7 @@ tr2751:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -73741,7 +75583,7 @@ tr2751:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -73776,11 +75618,11 @@ tr2751:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1453;
-st1453:
+ goto st1501;
+st1501:
if ( ++p == pe )
- goto _test_eof1453;
-case 1453:
+ goto _test_eof1501;
+case 1501:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -73800,14 +75642,14 @@ case 1453:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2741;
+ goto tr2810;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2740;
- goto tr2535;
-st939:
+ goto tr2809;
+ goto tr2604;
+st981:
if ( ++p == pe )
- goto _test_eof939;
-case 939:
+ goto _test_eof981;
+case 981:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -73825,22 +75667,22 @@ case 939:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2742;
- case 32: goto tr2742;
- case 40: goto tr2743;
- case 41: goto tr2744;
- case 109: goto tr2746;
- case 3082: goto tr2747;
- case 3131: goto tr2748;
- case 3338: goto tr2749;
- case 3387: goto tr2749;
- case 3594: goto tr2750;
- case 3643: goto tr2751;
+ case 9: goto tr2811;
+ case 32: goto tr2811;
+ case 40: goto tr2812;
+ case 41: goto tr2813;
+ case 109: goto tr2815;
+ case 3082: goto tr2816;
+ case 3131: goto tr2817;
+ case 3338: goto tr2818;
+ case 3387: goto tr2818;
+ case 3594: goto tr2819;
+ case 3643: goto tr2820;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2745;
- goto tr2535;
-tr2745:
+ goto tr2814;
+ goto tr2604;
+tr2814:
{
s->number64_tmp = s->number64;
}
@@ -73858,14 +75700,14 @@ tr2745:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->decimal_counter++;
}
- goto st940;
-tr2752:
+ goto st982;
+tr2821:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -73877,17 +75719,17 @@ tr2752:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->decimal_counter++;
}
- goto st940;
-st940:
+ goto st982;
+st982:
if ( ++p == pe )
- goto _test_eof940;
-case 940:
+ goto _test_eof982;
+case 982:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -73905,22 +75747,22 @@ case 940:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2627;
- case 32: goto tr2627;
- case 40: goto tr2628;
- case 41: goto tr2629;
- case 109: goto tr2632;
- case 3082: goto tr2633;
- case 3131: goto tr2634;
- case 3338: goto tr2635;
- case 3387: goto tr2635;
- case 3594: goto tr2636;
- case 3643: goto tr2637;
+ case 9: goto tr2696;
+ case 32: goto tr2696;
+ case 40: goto tr2697;
+ case 41: goto tr2698;
+ case 109: goto tr2701;
+ case 3082: goto tr2702;
+ case 3131: goto tr2703;
+ case 3338: goto tr2704;
+ case 3387: goto tr2704;
+ case 3594: goto tr2705;
+ case 3643: goto tr2706;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2752;
- goto tr2535;
-tr2632:
+ goto tr2821;
+ goto tr2604;
+tr2701:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -73930,7 +75772,7 @@ tr2632:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -73940,11 +75782,11 @@ tr2632:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st941;
-tr2746:
+ goto st983;
+tr2815:
{
s->number64_tmp = s->number64;
}
@@ -73957,7 +75799,7 @@ tr2746:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -73967,14 +75809,14 @@ tr2746:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st941;
-st941:
+ goto st983;
+st983:
if ( ++p == pe )
- goto _test_eof941;
-case 941:
+ goto _test_eof983;
+case 983:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -73992,42 +75834,42 @@ case 941:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st920;
- case 32: goto st920;
- case 40: goto tr2639;
- case 41: goto tr2640;
- case 3082: goto tr2642;
- case 3131: goto tr2643;
- case 3338: goto tr2644;
- case 3387: goto tr2644;
- case 3594: goto tr2645;
- case 3643: goto tr2646;
- }
- goto tr2535;
-tr2623:
+ case 9: goto st962;
+ case 32: goto st962;
+ case 40: goto tr2708;
+ case 41: goto tr2709;
+ case 3082: goto tr2711;
+ case 3131: goto tr2712;
+ case 3338: goto tr2713;
+ case 3387: goto tr2713;
+ case 3594: goto tr2714;
+ case 3643: goto tr2715;
+ }
+ goto tr2604;
+tr2692:
{
s->buffer_length = 0;
}
- goto st942;
-tr2753:
+ goto st984;
+tr2822:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st942;
-tr2759:
+ goto st984;
+tr2828:
{
s->loc.long_sign = -1;
}
{
s->buffer_length = 0;
}
- goto st942;
-st942:
+ goto st984;
+st984:
if ( ++p == pe )
- goto _test_eof942;
-case 942:
+ goto _test_eof984;
+case 984:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -74047,14 +75889,14 @@ case 942:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2754;
+ goto tr2823;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2753;
- goto tr2535;
-st943:
+ goto tr2822;
+ goto tr2604;
+st985:
if ( ++p == pe )
- goto _test_eof943;
-case 943:
+ goto _test_eof985;
+case 985:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -74068,27 +75910,27 @@ case 943:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2755;
- case 32: goto tr2755;
- case 40: goto tr2756;
- case 41: goto tr2757;
- case 2058: goto tr2758;
- case 2107: goto tr2759;
+ case 9: goto tr2824;
+ case 32: goto tr2824;
+ case 40: goto tr2825;
+ case 41: goto tr2826;
+ case 2058: goto tr2827;
+ case 2107: goto tr2828;
}
- goto tr2535;
-tr2618:
+ goto tr2604;
+tr2687:
{
s->buffer_length = 0;
}
- goto st944;
-tr2760:
+ goto st986;
+tr2829:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st944;
-tr2613:
+ goto st986;
+tr2682:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -74098,7 +75940,7 @@ tr2613:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -74106,14 +75948,14 @@ tr2613:
s->loc.s2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st944;
-tr2767:
+ goto st986;
+tr2836:
{
s->number64_tmp = s->number64;
}
@@ -74126,7 +75968,7 @@ tr2767:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -74134,17 +75976,17 @@ tr2767:
s->loc.s2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st944;
-st944:
+ goto st986;
+st986:
if ( ++p == pe )
- goto _test_eof944;
-case 944:
+ goto _test_eof986;
+case 986:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -74164,14 +76006,14 @@ case 944:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2761;
+ goto tr2830;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2760;
- goto tr2535;
-st945:
+ goto tr2829;
+ goto tr2604;
+st987:
if ( ++p == pe )
- goto _test_eof945;
-case 945:
+ goto _test_eof987;
+case 987:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -74185,17 +76027,17 @@ case 945:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2762;
- case 32: goto tr2762;
- case 40: goto tr2763;
- case 41: goto tr2764;
- case 2058: goto tr2766;
- case 2107: goto tr2767;
+ case 9: goto tr2831;
+ case 32: goto tr2831;
+ case 40: goto tr2832;
+ case 41: goto tr2833;
+ case 2058: goto tr2835;
+ case 2107: goto tr2836;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2765;
- goto tr2535;
-tr2765:
+ goto tr2834;
+ goto tr2604;
+tr2834:
{
s->number64_tmp = s->number64;
}
@@ -74213,14 +76055,14 @@ tr2765:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->decimal_counter++;
}
- goto st946;
-tr2768:
+ goto st988;
+tr2837:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -74232,17 +76074,17 @@ tr2768:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->decimal_counter++;
}
- goto st946;
-st946:
+ goto st988;
+st988:
if ( ++p == pe )
- goto _test_eof946;
-case 946:
+ goto _test_eof988;
+case 988:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -74256,45 +76098,45 @@ case 946:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2607;
- case 32: goto tr2607;
- case 40: goto tr2608;
- case 41: goto tr2609;
- case 2058: goto tr2612;
- case 2107: goto tr2613;
+ case 9: goto tr2676;
+ case 32: goto tr2676;
+ case 40: goto tr2677;
+ case 41: goto tr2678;
+ case 2058: goto tr2681;
+ case 2107: goto tr2682;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2768;
- goto tr2535;
-tr2606:
+ goto tr2837;
+ goto tr2604;
+tr2675:
{
s->buffer_length = 0;
}
- goto st947;
-tr2769:
+ goto st989;
+tr2838:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st947;
-tr2600:
+ goto st989;
+tr2669:
{
if (s->number64 <= 59) {
s->loc.m2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st947;
-st947:
+ goto st989;
+st989:
if ( ++p == pe )
- goto _test_eof947;
-case 947:
+ goto _test_eof989;
+case 989:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -74314,39 +76156,39 @@ case 947:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2770;
+ goto tr2839;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2769;
- goto tr2535;
-tr2594:
+ goto tr2838;
+ goto tr2604;
+tr2663:
{
s->buffer_length = 0;
}
- goto st948;
-tr2771:
+ goto st990;
+tr2840:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st948;
-tr2586:
+ goto st990;
+tr2655:
{
if (s->number64 <= 180) {
s->loc.d2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st948;
-st948:
+ goto st990;
+st990:
if ( ++p == pe )
- goto _test_eof948;
-case 948:
+ goto _test_eof990;
+case 990:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -74366,34 +76208,34 @@ case 948:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2772;
+ goto tr2841;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2771;
- goto tr2535;
-tr2579:
+ goto tr2840;
+ goto tr2604;
+tr2648:
{
s->buffer_length = 0;
}
- goto st949;
-tr2773:
+ goto st991;
+tr2842:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st949;
-tr2779:
+ goto st991;
+tr2848:
{
s->loc.lat_sign = -1;
}
{
s->buffer_length = 0;
}
- goto st949;
-st949:
+ goto st991;
+st991:
if ( ++p == pe )
- goto _test_eof949;
-case 949:
+ goto _test_eof991;
+case 991:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -74413,14 +76255,14 @@ case 949:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2774;
+ goto tr2843;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2773;
- goto tr2535;
-st950:
+ goto tr2842;
+ goto tr2604;
+st992:
if ( ++p == pe )
- goto _test_eof950;
-case 950:
+ goto _test_eof992;
+case 992:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -74434,27 +76276,27 @@ case 950:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2775;
- case 32: goto tr2775;
- case 40: goto tr2776;
- case 41: goto tr2777;
- case 2058: goto tr2778;
- case 2107: goto tr2779;
+ case 9: goto tr2844;
+ case 32: goto tr2844;
+ case 40: goto tr2845;
+ case 41: goto tr2846;
+ case 2058: goto tr2847;
+ case 2107: goto tr2848;
}
- goto tr2535;
-tr2574:
+ goto tr2604;
+tr2643:
{
s->buffer_length = 0;
}
- goto st951;
-tr2780:
+ goto st993;
+tr2849:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st951;
-tr2569:
+ goto st993;
+tr2638:
{
if (s->decimal_counter == 0 && s->number64 < UINT32_MAX) {
s->number64 *= pow(10, s->decimals);
@@ -74464,7 +76306,7 @@ tr2569:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -74472,14 +76314,14 @@ tr2569:
s->loc.s1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st951;
-tr2787:
+ goto st993;
+tr2856:
{
s->number64_tmp = s->number64;
}
@@ -74492,7 +76334,7 @@ tr2787:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -74500,17 +76342,17 @@ tr2787:
s->loc.s1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st951;
-st951:
+ goto st993;
+st993:
if ( ++p == pe )
- goto _test_eof951;
-case 951:
+ goto _test_eof993;
+case 993:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -74530,14 +76372,14 @@ case 951:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2781;
+ goto tr2850;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2780;
- goto tr2535;
-st952:
+ goto tr2849;
+ goto tr2604;
+st994:
if ( ++p == pe )
- goto _test_eof952;
-case 952:
+ goto _test_eof994;
+case 994:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -74551,17 +76393,17 @@ case 952:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2782;
- case 32: goto tr2782;
- case 40: goto tr2783;
- case 41: goto tr2784;
- case 2058: goto tr2786;
- case 2107: goto tr2787;
+ case 9: goto tr2851;
+ case 32: goto tr2851;
+ case 40: goto tr2852;
+ case 41: goto tr2853;
+ case 2058: goto tr2855;
+ case 2107: goto tr2856;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2785;
- goto tr2535;
-tr2785:
+ goto tr2854;
+ goto tr2604;
+tr2854:
{
s->number64_tmp = s->number64;
}
@@ -74579,14 +76421,14 @@ tr2785:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->decimal_counter++;
}
- goto st953;
-tr2788:
+ goto st995;
+tr2857:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -74598,17 +76440,17 @@ tr2788:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->decimal_counter++;
}
- goto st953;
-st953:
+ goto st995;
+st995:
if ( ++p == pe )
- goto _test_eof953;
-case 953:
+ goto _test_eof995;
+case 995:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -74622,45 +76464,45 @@ case 953:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2563;
- case 32: goto tr2563;
- case 40: goto tr2564;
- case 41: goto tr2565;
- case 2058: goto tr2568;
- case 2107: goto tr2569;
+ case 9: goto tr2632;
+ case 32: goto tr2632;
+ case 40: goto tr2633;
+ case 41: goto tr2634;
+ case 2058: goto tr2637;
+ case 2107: goto tr2638;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2788;
- goto tr2535;
-tr2562:
+ goto tr2857;
+ goto tr2604;
+tr2631:
{
s->buffer_length = 0;
}
- goto st954;
-tr2789:
+ goto st996;
+tr2858:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st954;
-tr2556:
+ goto st996;
+tr2625:
{
if (s->number64 <= 59) {
s->loc.m1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st954;
-st954:
+ goto st996;
+st996:
if ( ++p == pe )
- goto _test_eof954;
-case 954:
+ goto _test_eof996;
+case 996:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -74680,39 +76522,39 @@ case 954:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2790;
+ goto tr2859;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2789;
- goto tr2535;
-tr2550:
+ goto tr2858;
+ goto tr2604;
+tr2619:
{
s->buffer_length = 0;
}
- goto st955;
-tr2791:
+ goto st997;
+tr2860:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st955;
-tr2542:
+ goto st997;
+tr2611:
{
if (s->number64 <= 90) {
s->loc.d1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st955;
-st955:
+ goto st997;
+st997:
if ( ++p == pe )
- goto _test_eof955;
-case 955:
+ goto _test_eof997;
+case 997:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -74732,18 +76574,18 @@ case 955:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2792;
+ goto tr2861;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2791;
- goto tr2535;
-st956:
+ goto tr2860;
+ goto tr2604;
+st998:
if ( ++p == pe )
- goto _test_eof956;
-case 956:
+ goto _test_eof998;
+case 998:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2793;
- goto tr2327;
-tr2793:
+ goto tr2862;
+ goto tr2396;
+tr2862:
{
s->number64 = 0;
}
@@ -74758,11 +76600,11 @@ tr2793:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st957;
-tr2797:
+ goto st999;
+tr2866:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -74774,14 +76616,14 @@ tr2797:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st957;
-st957:
+ goto st999;
+st999:
if ( ++p == pe )
- goto _test_eof957;
-case 957:
+ goto _test_eof999;
+case 999:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -74795,40 +76637,40 @@ case 957:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2794;
- case 32: goto tr2794;
- case 40: goto tr2795;
- case 41: goto tr2796;
- case 2058: goto tr2798;
- case 2107: goto tr2799;
+ case 9: goto tr2863;
+ case 32: goto tr2863;
+ case 40: goto tr2864;
+ case 41: goto tr2865;
+ case 2058: goto tr2867;
+ case 2107: goto tr2868;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2797;
- goto tr2327;
-tr2801:
+ goto tr2866;
+ goto tr2396;
+tr2870:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st958;
-tr2802:
+ goto st1000;
+tr2871:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st958;
-tr2804:
+ goto st1000;
+tr2873:
{
s->line_counter++;
}
- goto st958;
-tr2836:
+ goto st1000;
+tr2905:
{
s->buffer[s->buffer_length++] = 0;
@@ -74838,15 +76680,15 @@ tr2836:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 958; goto _out;}
+ {p++; cs = 1000; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st958;
-tr2794:
+ goto st1000;
+tr2863:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -74854,11 +76696,11 @@ tr2794:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st958;
-tr2795:
+ goto st1000;
+tr2864:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -74866,18 +76708,18 @@ tr2795:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st958;
-tr2796:
+ goto st1000;
+tr2865:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -74885,18 +76727,18 @@ tr2796:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st958;
-tr2798:
+ goto st1000;
+tr2867:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -74904,17 +76746,17 @@ tr2798:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st958;
-st958:
+ goto st1000;
+st1000:
if ( ++p == pe )
- goto _test_eof958;
-case 958:
+ goto _test_eof1000;
+case 1000:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -74928,17 +76770,17 @@ case 958:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st958;
- case 32: goto st958;
- case 40: goto tr2801;
- case 41: goto tr2802;
- case 2058: goto tr2804;
- case 2107: goto tr2805;
+ case 9: goto st1000;
+ case 32: goto st1000;
+ case 40: goto tr2870;
+ case 41: goto tr2871;
+ case 2058: goto tr2873;
+ case 2107: goto tr2874;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2803;
- goto tr2327;
-tr2803:
+ goto tr2872;
+ goto tr2396;
+tr2872:
{
s->number64 = 0;
}
@@ -74953,11 +76795,11 @@ tr2803:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st959;
-tr2809:
+ goto st1001;
+tr2878:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -74969,14 +76811,14 @@ tr2809:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st959;
-st959:
+ goto st1001;
+st1001:
if ( ++p == pe )
- goto _test_eof959;
-case 959:
+ goto _test_eof1001;
+case 1001:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -74990,40 +76832,40 @@ case 959:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2806;
- case 32: goto tr2806;
- case 40: goto tr2807;
- case 41: goto tr2808;
- case 2058: goto tr2810;
- case 2107: goto tr2811;
+ case 9: goto tr2875;
+ case 32: goto tr2875;
+ case 40: goto tr2876;
+ case 41: goto tr2877;
+ case 2058: goto tr2879;
+ case 2107: goto tr2880;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2809;
- goto tr2327;
-tr2813:
+ goto tr2878;
+ goto tr2396;
+tr2882:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st960;
-tr2814:
+ goto st1002;
+tr2883:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st960;
-tr2816:
+ goto st1002;
+tr2885:
{
s->line_counter++;
}
- goto st960;
-tr2834:
+ goto st1002;
+tr2903:
{
s->buffer[s->buffer_length++] = 0;
@@ -75033,15 +76875,15 @@ tr2834:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 960; goto _out;}
+ {p++; cs = 1002; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st960;
-tr2806:
+ goto st1002;
+tr2875:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75049,11 +76891,11 @@ tr2806:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st960;
-tr2807:
+ goto st1002;
+tr2876:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75061,18 +76903,18 @@ tr2807:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st960;
-tr2808:
+ goto st1002;
+tr2877:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75080,18 +76922,18 @@ tr2808:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st960;
-tr2810:
+ goto st1002;
+tr2879:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75099,17 +76941,17 @@ tr2810:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st960;
-st960:
+ goto st1002;
+st1002:
if ( ++p == pe )
- goto _test_eof960;
-case 960:
+ goto _test_eof1002;
+case 1002:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -75123,17 +76965,17 @@ case 960:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st960;
- case 32: goto st960;
- case 40: goto tr2813;
- case 41: goto tr2814;
- case 2058: goto tr2816;
- case 2107: goto tr2817;
+ case 9: goto st1002;
+ case 32: goto st1002;
+ case 40: goto tr2882;
+ case 41: goto tr2883;
+ case 2058: goto tr2885;
+ case 2107: goto tr2886;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2815;
- goto tr2327;
-tr2815:
+ goto tr2884;
+ goto tr2396;
+tr2884:
{
s->number64 = 0;
}
@@ -75148,11 +76990,11 @@ tr2815:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st961;
-tr2821:
+ goto st1003;
+tr2890:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -75164,14 +77006,14 @@ tr2821:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st961;
-st961:
+ goto st1003;
+st1003:
if ( ++p == pe )
- goto _test_eof961;
-case 961:
+ goto _test_eof1003;
+case 1003:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -75185,40 +77027,40 @@ case 961:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2818;
- case 32: goto tr2818;
- case 40: goto tr2819;
- case 41: goto tr2820;
- case 2058: goto tr2822;
- case 2107: goto tr2823;
+ case 9: goto tr2887;
+ case 32: goto tr2887;
+ case 40: goto tr2888;
+ case 41: goto tr2889;
+ case 2058: goto tr2891;
+ case 2107: goto tr2892;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2821;
- goto tr2327;
-tr2825:
+ goto tr2890;
+ goto tr2396;
+tr2894:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st962;
-tr2826:
+ goto st1004;
+tr2895:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st962;
-tr2828:
+ goto st1004;
+tr2897:
{
s->line_counter++;
}
- goto st962;
-tr2832:
+ goto st1004;
+tr2901:
{
s->buffer[s->buffer_length++] = 0;
@@ -75228,15 +77070,15 @@ tr2832:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 962; goto _out;}
+ {p++; cs = 1004; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st962;
-tr2818:
+ goto st1004;
+tr2887:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75244,11 +77086,11 @@ tr2818:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st962;
-tr2819:
+ goto st1004;
+tr2888:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75256,18 +77098,18 @@ tr2819:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st962;
-tr2820:
+ goto st1004;
+tr2889:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75275,18 +77117,18 @@ tr2820:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st962;
-tr2822:
+ goto st1004;
+tr2891:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75294,17 +77136,17 @@ tr2822:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st962;
-st962:
+ goto st1004;
+st1004:
if ( ++p == pe )
- goto _test_eof962;
-case 962:
+ goto _test_eof1004;
+case 1004:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -75318,71 +77160,71 @@ case 962:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st962;
- case 32: goto st962;
- case 40: goto tr2825;
- case 41: goto tr2826;
- case 42: goto tr2827;
- case 92: goto tr2827;
- case 95: goto tr2827;
- case 2058: goto tr2828;
- case 2107: goto tr2829;
+ case 9: goto st1004;
+ case 32: goto st1004;
+ case 40: goto tr2894;
+ case 41: goto tr2895;
+ case 42: goto tr2896;
+ case 92: goto tr2896;
+ case 95: goto tr2896;
+ case 2058: goto tr2897;
+ case 2107: goto tr2898;
}
if ( _widec < 64 ) {
if ( 45 <= _widec && _widec <= 57 )
- goto tr2827;
+ goto tr2896;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr2827;
+ goto tr2896;
} else
- goto tr2827;
- goto tr75;
-tr2827:
+ goto tr2896;
+ goto tr77;
+tr2896:
{
s->dname = rdata_tail;
}
- { p--; {stack[top++] = 963;goto st309;} }
- goto st963;
-st963:
+ { p--; {stack[top++] = 1005;goto st318;} }
+ goto st1005;
+st1005:
if ( ++p == pe )
- goto _test_eof963;
-case 963:
+ goto _test_eof1005;
+case 1005:
switch( (*p) ) {
- case 32: goto tr2830;
- case 59: goto tr2830;
+ case 32: goto tr2899;
+ case 59: goto tr2899;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2830;
+ goto tr2899;
} else if ( (*p) >= 9 )
- goto tr2830;
- goto tr75;
-tr2830:
+ goto tr2899;
+ goto tr77;
+tr2899:
{
rdata_tail += s->dname_tmp_length;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1454;
-st1454:
+ goto st1502;
+st1502:
if ( ++p == pe )
- goto _test_eof1454;
-case 1454:
+ goto _test_eof1502;
+case 1502:
goto st0;
-tr2829:
+tr2898:
{
s->buffer_length = 0;
}
- goto st964;
-tr2831:
+ goto st1006;
+tr2900:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st964;
-tr2823:
+ goto st1006;
+tr2892:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75390,17 +77232,17 @@ tr2823:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st964;
-st964:
+ goto st1006;
+st1006:
if ( ++p == pe )
- goto _test_eof964;
-case 964:
+ goto _test_eof1006;
+case 1006:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -75420,23 +77262,23 @@ case 964:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2832;
+ goto tr2901;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2831;
- goto tr75;
-tr2817:
+ goto tr2900;
+ goto tr77;
+tr2886:
{
s->buffer_length = 0;
}
- goto st965;
-tr2833:
+ goto st1007;
+tr2902:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st965;
-tr2811:
+ goto st1007;
+tr2880:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75444,17 +77286,17 @@ tr2811:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st965;
-st965:
+ goto st1007;
+st1007:
if ( ++p == pe )
- goto _test_eof965;
-case 965:
+ goto _test_eof1007;
+case 1007:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -75474,23 +77316,23 @@ case 965:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2834;
+ goto tr2903;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2833;
- goto tr75;
-tr2805:
+ goto tr2902;
+ goto tr77;
+tr2874:
{
s->buffer_length = 0;
}
- goto st966;
-tr2835:
+ goto st1008;
+tr2904:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st966;
-tr2799:
+ goto st1008;
+tr2868:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75498,17 +77340,17 @@ tr2799:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st966;
-st966:
+ goto st1008;
+st1008:
if ( ++p == pe )
- goto _test_eof966;
-case 966:
+ goto _test_eof1008;
+case 1008:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -75528,18 +77370,18 @@ case 966:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2836;
+ goto tr2905;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2835;
- goto tr75;
-st967:
+ goto tr2904;
+ goto tr77;
+st1009:
if ( ++p == pe )
- goto _test_eof967;
-case 967:
+ goto _test_eof1009;
+case 1009:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2837;
- goto tr2327;
-tr2837:
+ goto tr2906;
+ goto tr2396;
+tr2906:
{
s->number64 = 0;
}
@@ -75554,11 +77396,11 @@ tr2837:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st968;
-tr2841:
+ goto st1010;
+tr2910:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -75570,14 +77412,14 @@ tr2841:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st968;
-st968:
+ goto st1010;
+st1010:
if ( ++p == pe )
- goto _test_eof968;
-case 968:
+ goto _test_eof1010;
+case 1010:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -75591,40 +77433,40 @@ case 968:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2838;
- case 32: goto tr2838;
- case 40: goto tr2839;
- case 41: goto tr2840;
- case 2058: goto tr2842;
- case 2107: goto tr2843;
+ case 9: goto tr2907;
+ case 32: goto tr2907;
+ case 40: goto tr2908;
+ case 41: goto tr2909;
+ case 2058: goto tr2911;
+ case 2107: goto tr2912;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2841;
- goto tr2327;
-tr2845:
+ goto tr2910;
+ goto tr2396;
+tr2914:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st969;
-tr2846:
+ goto st1011;
+tr2915:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st969;
-tr2848:
+ goto st1011;
+tr2917:
{
s->line_counter++;
}
- goto st969;
-tr2905:
+ goto st1011;
+tr2974:
{
s->buffer[s->buffer_length++] = 0;
@@ -75634,15 +77476,15 @@ tr2905:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 969; goto _out;}
+ {p++; cs = 1011; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st969;
-tr2838:
+ goto st1011;
+tr2907:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75650,11 +77492,11 @@ tr2838:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st969;
-tr2839:
+ goto st1011;
+tr2908:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75662,18 +77504,18 @@ tr2839:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st969;
-tr2840:
+ goto st1011;
+tr2909:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75681,18 +77523,18 @@ tr2840:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st969;
-tr2842:
+ goto st1011;
+tr2911:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75700,17 +77542,17 @@ tr2842:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st969;
-st969:
+ goto st1011;
+st1011:
if ( ++p == pe )
- goto _test_eof969;
-case 969:
+ goto _test_eof1011;
+case 1011:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -75724,17 +77566,17 @@ case 969:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st969;
- case 32: goto st969;
- case 40: goto tr2845;
- case 41: goto tr2846;
- case 2058: goto tr2848;
- case 2107: goto tr2849;
+ case 9: goto st1011;
+ case 32: goto st1011;
+ case 40: goto tr2914;
+ case 41: goto tr2915;
+ case 2058: goto tr2917;
+ case 2107: goto tr2918;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2847;
- goto tr2327;
-tr2847:
+ goto tr2916;
+ goto tr2396;
+tr2916:
{
s->number64 = 0;
}
@@ -75749,11 +77591,11 @@ tr2847:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st970;
-tr2853:
+ goto st1012;
+tr2922:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -75765,14 +77607,14 @@ tr2853:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st970;
-st970:
+ goto st1012;
+st1012:
if ( ++p == pe )
- goto _test_eof970;
-case 970:
+ goto _test_eof1012;
+case 1012:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -75786,40 +77628,40 @@ case 970:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2850;
- case 32: goto tr2850;
- case 40: goto tr2851;
- case 41: goto tr2852;
- case 2058: goto tr2854;
- case 2107: goto tr2855;
+ case 9: goto tr2919;
+ case 32: goto tr2919;
+ case 40: goto tr2920;
+ case 41: goto tr2921;
+ case 2058: goto tr2923;
+ case 2107: goto tr2924;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2853;
- goto tr2327;
-tr2858:
+ goto tr2922;
+ goto tr2396;
+tr2927:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st971;
-tr2859:
+ goto st1013;
+tr2928:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st971;
-tr2860:
+ goto st1013;
+tr2929:
{
s->line_counter++;
}
- goto st971;
-tr2903:
+ goto st1013;
+tr2972:
{
s->buffer[s->buffer_length++] = 0;
@@ -75829,15 +77671,15 @@ tr2903:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 971; goto _out;}
+ {p++; cs = 1013; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st971;
-tr2850:
+ goto st1013;
+tr2919:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75845,11 +77687,11 @@ tr2850:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st971;
-tr2851:
+ goto st1013;
+tr2920:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75857,18 +77699,18 @@ tr2851:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st971;
-tr2852:
+ goto st1013;
+tr2921:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75876,18 +77718,18 @@ tr2852:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st971;
-tr2854:
+ goto st1013;
+tr2923:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -75895,17 +77737,17 @@ tr2854:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st971;
-st971:
+ goto st1013;
+st1013:
if ( ++p == pe )
- goto _test_eof971;
-case 971:
+ goto _test_eof1013;
+case 1013:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -75919,37 +77761,37 @@ case 971:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st971;
- case 32: goto st971;
- case 40: goto tr2858;
- case 41: goto tr2859;
- case 2058: goto tr2860;
- case 2107: goto tr2861;
+ case 9: goto st1013;
+ case 32: goto st1013;
+ case 40: goto tr2927;
+ case 41: goto tr2928;
+ case 2058: goto tr2929;
+ case 2107: goto tr2930;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr2856;
+ goto tr2925;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr2856;
+ goto tr2925;
} else
- goto tr2856;
- goto tr75;
-tr2856:
+ goto tr2925;
+ goto tr77;
+tr2925:
{
if (rdata_tail <= rdata_stop) {
s->item_length_location = rdata_tail++;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- { p--; {stack[top++] = 972;goto st318;} }
- goto st972;
-st972:
+ { p--; {stack[top++] = 1014;goto st327;} }
+ goto st1014;
+st1014:
if ( ++p == pe )
- goto _test_eof972;
-case 972:
+ goto _test_eof1014;
+case 1014:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -75963,38 +77805,38 @@ case 972:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2862;
- case 32: goto tr2862;
- case 40: goto tr2863;
- case 41: goto tr2864;
- case 2058: goto tr2865;
- case 2107: goto tr2866;
+ case 9: goto tr2931;
+ case 32: goto tr2931;
+ case 40: goto tr2932;
+ case 41: goto tr2933;
+ case 2058: goto tr2934;
+ case 2107: goto tr2935;
}
- goto tr75;
-tr2869:
+ goto tr77;
+tr2938:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st973;
-tr2870:
+ goto st1015;
+tr2939:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st973;
-tr2871:
+ goto st1015;
+tr2940:
{
s->line_counter++;
}
- goto st973;
-tr2901:
+ goto st1015;
+tr2970:
{
s->buffer[s->buffer_length++] = 0;
@@ -76004,95 +77846,95 @@ tr2901:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 973; goto _out;}
+ {p++; cs = 1015; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st973;
-tr2862:
+ goto st1015;
+tr2931:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st973;
-tr2863:
+ goto st1015;
+tr2932:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st973;
-tr2864:
+ goto st1015;
+tr2933:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st973;
-tr2865:
+ goto st1015;
+tr2934:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st973;
-st973:
+ goto st1015;
+st1015:
if ( ++p == pe )
- goto _test_eof973;
-case 973:
+ goto _test_eof1015;
+case 1015:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -76106,37 +77948,37 @@ case 973:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st973;
- case 32: goto st973;
- case 40: goto tr2869;
- case 41: goto tr2870;
- case 2058: goto tr2871;
- case 2107: goto tr2872;
+ case 9: goto st1015;
+ case 32: goto st1015;
+ case 40: goto tr2938;
+ case 41: goto tr2939;
+ case 2058: goto tr2940;
+ case 2107: goto tr2941;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr2867;
+ goto tr2936;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr2867;
+ goto tr2936;
} else
- goto tr2867;
- goto tr75;
-tr2867:
+ goto tr2936;
+ goto tr77;
+tr2936:
{
if (rdata_tail <= rdata_stop) {
s->item_length_location = rdata_tail++;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- { p--; {stack[top++] = 974;goto st318;} }
- goto st974;
-st974:
+ { p--; {stack[top++] = 1016;goto st327;} }
+ goto st1016;
+st1016:
if ( ++p == pe )
- goto _test_eof974;
-case 974:
+ goto _test_eof1016;
+case 1016:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -76150,38 +77992,38 @@ case 974:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2873;
- case 32: goto tr2873;
- case 40: goto tr2874;
- case 41: goto tr2875;
- case 2058: goto tr2876;
- case 2107: goto tr2877;
+ case 9: goto tr2942;
+ case 32: goto tr2942;
+ case 40: goto tr2943;
+ case 41: goto tr2944;
+ case 2058: goto tr2945;
+ case 2107: goto tr2946;
}
- goto tr75;
-tr2880:
+ goto tr77;
+tr2949:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st975;
-tr2881:
+ goto st1017;
+tr2950:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st975;
-tr2882:
+ goto st1017;
+tr2951:
{
s->line_counter++;
}
- goto st975;
-tr2899:
+ goto st1017;
+tr2968:
{
s->buffer[s->buffer_length++] = 0;
@@ -76191,95 +78033,95 @@ tr2899:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 975; goto _out;}
+ {p++; cs = 1017; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st975;
-tr2873:
+ goto st1017;
+tr2942:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st975;
-tr2874:
+ goto st1017;
+tr2943:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st975;
-tr2875:
+ goto st1017;
+tr2944:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st975;
-tr2876:
+ goto st1017;
+tr2945:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st975;
-st975:
+ goto st1017;
+st1017:
if ( ++p == pe )
- goto _test_eof975;
-case 975:
+ goto _test_eof1017;
+case 1017:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -76293,37 +78135,37 @@ case 975:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st975;
- case 32: goto st975;
- case 40: goto tr2880;
- case 41: goto tr2881;
- case 2058: goto tr2882;
- case 2107: goto tr2883;
+ case 9: goto st1017;
+ case 32: goto st1017;
+ case 40: goto tr2949;
+ case 41: goto tr2950;
+ case 2058: goto tr2951;
+ case 2107: goto tr2952;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr2878;
+ goto tr2947;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr2878;
+ goto tr2947;
} else
- goto tr2878;
- goto tr75;
-tr2878:
+ goto tr2947;
+ goto tr77;
+tr2947:
{
if (rdata_tail <= rdata_stop) {
s->item_length_location = rdata_tail++;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- { p--; {stack[top++] = 976;goto st318;} }
- goto st976;
-st976:
+ { p--; {stack[top++] = 1018;goto st327;} }
+ goto st1018;
+st1018:
if ( ++p == pe )
- goto _test_eof976;
-case 976:
+ goto _test_eof1018;
+case 1018:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -76337,38 +78179,38 @@ case 976:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2884;
- case 32: goto tr2884;
- case 40: goto tr2885;
- case 41: goto tr2886;
- case 2058: goto tr2887;
- case 2107: goto tr2888;
+ case 9: goto tr2953;
+ case 32: goto tr2953;
+ case 40: goto tr2954;
+ case 41: goto tr2955;
+ case 2058: goto tr2956;
+ case 2107: goto tr2957;
}
- goto tr75;
-tr2890:
+ goto tr77;
+tr2959:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st977;
-tr2891:
+ goto st1019;
+tr2960:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st977;
-tr2893:
+ goto st1019;
+tr2962:
{
s->line_counter++;
}
- goto st977;
-tr2897:
+ goto st1019;
+tr2966:
{
s->buffer[s->buffer_length++] = 0;
@@ -76378,95 +78220,95 @@ tr2897:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 977; goto _out;}
+ {p++; cs = 1019; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st977;
-tr2884:
+ goto st1019;
+tr2953:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st977;
-tr2885:
+ goto st1019;
+tr2954:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st977;
-tr2886:
+ goto st1019;
+tr2955:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st977;
-tr2887:
+ goto st1019;
+tr2956:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st977;
-st977:
+ goto st1019;
+st1019:
if ( ++p == pe )
- goto _test_eof977;
-case 977:
+ goto _test_eof1019;
+case 1019:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -76480,92 +78322,92 @@ case 977:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st977;
- case 32: goto st977;
- case 40: goto tr2890;
- case 41: goto tr2891;
- case 42: goto tr2892;
- case 92: goto tr2892;
- case 95: goto tr2892;
- case 2058: goto tr2893;
- case 2107: goto tr2894;
+ case 9: goto st1019;
+ case 32: goto st1019;
+ case 40: goto tr2959;
+ case 41: goto tr2960;
+ case 42: goto tr2961;
+ case 92: goto tr2961;
+ case 95: goto tr2961;
+ case 2058: goto tr2962;
+ case 2107: goto tr2963;
}
if ( _widec < 64 ) {
if ( 45 <= _widec && _widec <= 57 )
- goto tr2892;
+ goto tr2961;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr2892;
+ goto tr2961;
} else
- goto tr2892;
- goto tr75;
-tr2892:
+ goto tr2961;
+ goto tr77;
+tr2961:
{
s->dname = rdata_tail;
}
- { p--; {stack[top++] = 978;goto st309;} }
- goto st978;
-st978:
+ { p--; {stack[top++] = 1020;goto st318;} }
+ goto st1020;
+st1020:
if ( ++p == pe )
- goto _test_eof978;
-case 978:
+ goto _test_eof1020;
+case 1020:
switch( (*p) ) {
- case 32: goto tr2895;
- case 59: goto tr2895;
+ case 32: goto tr2964;
+ case 59: goto tr2964;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr2895;
+ goto tr2964;
} else if ( (*p) >= 9 )
- goto tr2895;
- goto tr75;
-tr2895:
+ goto tr2964;
+ goto tr77;
+tr2964:
{
rdata_tail += s->dname_tmp_length;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1455;
-st1455:
+ goto st1503;
+st1503:
if ( ++p == pe )
- goto _test_eof1455;
-case 1455:
+ goto _test_eof1503;
+case 1503:
goto st0;
-tr2894:
+tr2963:
{
s->buffer_length = 0;
}
- goto st979;
-tr2896:
+ goto st1021;
+tr2965:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st979;
-tr2888:
+ goto st1021;
+tr2957:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st979;
-st979:
+ goto st1021;
+st1021:
if ( ++p == pe )
- goto _test_eof979;
-case 979:
+ goto _test_eof1021;
+case 1021:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -76585,44 +78427,44 @@ case 979:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2897;
+ goto tr2966;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2896;
- goto tr75;
-tr2883:
+ goto tr2965;
+ goto tr77;
+tr2952:
{
s->buffer_length = 0;
}
- goto st980;
-tr2898:
+ goto st1022;
+tr2967:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st980;
-tr2877:
+ goto st1022;
+tr2946:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st980;
-st980:
+ goto st1022;
+st1022:
if ( ++p == pe )
- goto _test_eof980;
-case 980:
+ goto _test_eof1022;
+case 1022:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -76642,44 +78484,44 @@ case 980:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2899;
+ goto tr2968;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2898;
- goto tr75;
-tr2872:
+ goto tr2967;
+ goto tr77;
+tr2941:
{
s->buffer_length = 0;
}
- goto st981;
-tr2900:
+ goto st1023;
+tr2969:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st981;
-tr2866:
+ goto st1023;
+tr2935:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st981;
-st981:
+ goto st1023;
+st1023:
if ( ++p == pe )
- goto _test_eof981;
-case 981:
+ goto _test_eof1023;
+case 1023:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -76699,23 +78541,23 @@ case 981:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2901;
+ goto tr2970;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2900;
- goto tr75;
-tr2861:
+ goto tr2969;
+ goto tr77;
+tr2930:
{
s->buffer_length = 0;
}
- goto st982;
-tr2902:
+ goto st1024;
+tr2971:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st982;
-tr2855:
+ goto st1024;
+tr2924:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -76723,17 +78565,17 @@ tr2855:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st982;
-st982:
+ goto st1024;
+st1024:
if ( ++p == pe )
- goto _test_eof982;
-case 982:
+ goto _test_eof1024;
+case 1024:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -76753,23 +78595,23 @@ case 982:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2903;
+ goto tr2972;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2902;
- goto tr75;
-tr2849:
+ goto tr2971;
+ goto tr77;
+tr2918:
{
s->buffer_length = 0;
}
- goto st983;
-tr2904:
+ goto st1025;
+tr2973:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st983;
-tr2843:
+ goto st1025;
+tr2912:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -76777,17 +78619,17 @@ tr2843:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st983;
-st983:
+ goto st1025;
+st1025:
if ( ++p == pe )
- goto _test_eof983;
-case 983:
+ goto _test_eof1025;
+case 1025:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -76807,30 +78649,30 @@ case 983:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2905;
+ goto tr2974;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2904;
- goto tr75;
-st984:
+ goto tr2973;
+ goto tr77;
+st1026:
if ( ++p == pe )
- goto _test_eof984;
-case 984:
+ goto _test_eof1026;
+case 1026:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2906;
+ goto tr2975;
} else if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr2906;
+ goto tr2975;
} else
- goto tr2906;
- goto tr75;
-tr2906:
- { p--; {stack[top++] = 985;goto st803;} }
- goto st985;
-st985:
+ goto tr2975;
+ goto tr77;
+tr2975:
+ { p--; {stack[top++] = 1027;goto st845;} }
+ goto st1027;
+st1027:
if ( ++p == pe )
- goto _test_eof985;
-case 985:
+ goto _test_eof1027;
+case 1027:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -76844,38 +78686,38 @@ case 985:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st986;
- case 32: goto st986;
- case 40: goto tr2908;
- case 41: goto tr2909;
- case 2058: goto tr2910;
- case 2107: goto tr2911;
+ case 9: goto st1028;
+ case 32: goto st1028;
+ case 40: goto tr2977;
+ case 41: goto tr2978;
+ case 2058: goto tr2979;
+ case 2107: goto tr2980;
}
- goto tr75;
-tr2908:
+ goto tr77;
+tr2977:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st986;
-tr2909:
+ goto st1028;
+tr2978:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st986;
-tr2910:
+ goto st1028;
+tr2979:
{
s->line_counter++;
}
- goto st986;
-tr2937:
+ goto st1028;
+tr3006:
{
s->buffer[s->buffer_length++] = 0;
@@ -76885,18 +78727,18 @@ tr2937:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 986; goto _out;}
+ {p++; cs = 1028; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st986;
-st986:
+ goto st1028;
+st1028:
if ( ++p == pe )
- goto _test_eof986;
-case 986:
+ goto _test_eof1028;
+case 1028:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -76910,17 +78752,17 @@ case 986:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st986;
- case 32: goto st986;
- case 40: goto tr2908;
- case 41: goto tr2909;
- case 2058: goto tr2910;
- case 2107: goto tr2911;
+ case 9: goto st1028;
+ case 32: goto st1028;
+ case 40: goto tr2977;
+ case 41: goto tr2978;
+ case 2058: goto tr2979;
+ case 2107: goto tr2980;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2912;
- goto tr2327;
-tr2912:
+ goto tr2981;
+ goto tr2396;
+tr2981:
{
s->number64 = 0;
}
@@ -76935,11 +78777,11 @@ tr2912:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st987;
-tr2916:
+ goto st1029;
+tr2985:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -76951,14 +78793,14 @@ tr2916:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st987;
-st987:
+ goto st1029;
+st1029:
if ( ++p == pe )
- goto _test_eof987;
-case 987:
+ goto _test_eof1029;
+case 1029:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -76972,40 +78814,40 @@ case 987:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2913;
- case 32: goto tr2913;
- case 40: goto tr2914;
- case 41: goto tr2915;
- case 2058: goto tr2917;
- case 2107: goto tr2918;
+ case 9: goto tr2982;
+ case 32: goto tr2982;
+ case 40: goto tr2983;
+ case 41: goto tr2984;
+ case 2058: goto tr2986;
+ case 2107: goto tr2987;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2916;
- goto tr2327;
-tr2920:
+ goto tr2985;
+ goto tr2396;
+tr2989:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st988;
-tr2921:
+ goto st1030;
+tr2990:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st988;
-tr2923:
+ goto st1030;
+tr2992:
{
s->line_counter++;
}
- goto st988;
-tr2935:
+ goto st1030;
+tr3004:
{
s->buffer[s->buffer_length++] = 0;
@@ -77015,15 +78857,15 @@ tr2935:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 988; goto _out;}
+ {p++; cs = 1030; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st988;
-tr2913:
+ goto st1030;
+tr2982:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -77031,11 +78873,11 @@ tr2913:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st988;
-tr2914:
+ goto st1030;
+tr2983:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -77043,18 +78885,18 @@ tr2914:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st988;
-tr2915:
+ goto st1030;
+tr2984:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -77062,18 +78904,18 @@ tr2915:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st988;
-tr2917:
+ goto st1030;
+tr2986:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -77081,17 +78923,17 @@ tr2917:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st988;
-st988:
+ goto st1030;
+st1030:
if ( ++p == pe )
- goto _test_eof988;
-case 988:
+ goto _test_eof1030;
+case 1030:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -77105,29 +78947,29 @@ case 988:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st988;
- case 32: goto st988;
- case 40: goto tr2920;
- case 41: goto tr2921;
- case 2058: goto tr2923;
- case 2107: goto tr2924;
+ case 9: goto st1030;
+ case 32: goto st1030;
+ case 40: goto tr2989;
+ case 41: goto tr2990;
+ case 2058: goto tr2992;
+ case 2107: goto tr2993;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr2922;
+ goto tr2991;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr2922;
+ goto tr2991;
} else
- goto tr2922;
- goto tr75;
-tr2922:
- { p--; {stack[top++] = 989;goto st699;} }
- goto st989;
-st989:
+ goto tr2991;
+ goto tr77;
+tr2991:
+ { p--; {stack[top++] = 1031;goto st741;} }
+ goto st1031;
+st1031:
if ( ++p == pe )
- goto _test_eof989;
-case 989:
+ goto _test_eof1031;
+case 1031:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -77141,38 +78983,38 @@ case 989:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st990;
- case 32: goto st990;
- case 40: goto tr2926;
- case 41: goto tr2927;
- case 2058: goto tr2928;
- case 2107: goto tr2929;
+ case 9: goto st1032;
+ case 32: goto st1032;
+ case 40: goto tr2995;
+ case 41: goto tr2996;
+ case 2058: goto tr2997;
+ case 2107: goto tr2998;
}
- goto tr75;
-tr2926:
+ goto tr77;
+tr2995:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st990;
-tr2927:
+ goto st1032;
+tr2996:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st990;
-tr2928:
+ goto st1032;
+tr2997:
{
s->line_counter++;
}
- goto st990;
-tr2933:
+ goto st1032;
+tr3002:
{
s->buffer[s->buffer_length++] = 0;
@@ -77182,18 +79024,18 @@ tr2933:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 990; goto _out;}
+ {p++; cs = 1032; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st990;
-st990:
+ goto st1032;
+st1032:
if ( ++p == pe )
- goto _test_eof990;
-case 990:
+ goto _test_eof1032;
+case 1032:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -77207,30 +79049,30 @@ case 990:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st990;
- case 32: goto st990;
- case 40: goto tr2926;
- case 41: goto tr2927;
- case 43: goto tr2930;
- case 2058: goto tr2928;
- case 2107: goto tr2929;
+ case 9: goto st1032;
+ case 32: goto st1032;
+ case 40: goto tr2995;
+ case 41: goto tr2996;
+ case 43: goto tr2999;
+ case 2058: goto tr2997;
+ case 2107: goto tr2998;
}
if ( _widec < 65 ) {
if ( 47 <= _widec && _widec <= 57 )
- goto tr2930;
+ goto tr2999;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr2930;
+ goto tr2999;
} else
- goto tr2930;
- goto tr75;
-tr2930:
- { p--; {stack[top++] = 991;goto st369;} }
- goto st991;
-st991:
+ goto tr2999;
+ goto tr77;
+tr2999:
+ { p--; {stack[top++] = 1033;goto st378;} }
+ goto st1033;
+st1033:
if ( ++p == pe )
- goto _test_eof991;
-case 991:
+ goto _test_eof1033;
+case 1033:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -77244,36 +79086,36 @@ case 991:
!s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 2570: goto tr2931;
- case 2619: goto tr2931;
+ case 2570: goto tr3000;
+ case 2619: goto tr3000;
}
- goto tr75;
-tr2931:
+ goto tr77;
+tr3000:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1456;
-st1456:
+ goto st1504;
+st1504:
if ( ++p == pe )
- goto _test_eof1456;
-case 1456:
+ goto _test_eof1504;
+case 1504:
goto st0;
-tr2929:
+tr2998:
{
s->buffer_length = 0;
}
- goto st992;
-tr2932:
+ goto st1034;
+tr3001:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st992;
-st992:
+ goto st1034;
+st1034:
if ( ++p == pe )
- goto _test_eof992;
-case 992:
+ goto _test_eof1034;
+case 1034:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -77293,23 +79135,23 @@ case 992:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2933;
+ goto tr3002;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2932;
- goto tr75;
-tr2924:
+ goto tr3001;
+ goto tr77;
+tr2993:
{
s->buffer_length = 0;
}
- goto st993;
-tr2934:
+ goto st1035;
+tr3003:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st993;
-tr2918:
+ goto st1035;
+tr2987:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -77317,17 +79159,17 @@ tr2918:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st993;
-st993:
+ goto st1035;
+st1035:
if ( ++p == pe )
- goto _test_eof993;
-case 993:
+ goto _test_eof1035;
+case 1035:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -77347,26 +79189,26 @@ case 993:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2935;
+ goto tr3004;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2934;
- goto tr75;
-tr2911:
+ goto tr3003;
+ goto tr77;
+tr2980:
{
s->buffer_length = 0;
}
- goto st994;
-tr2936:
+ goto st1036;
+tr3005:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st994;
-st994:
+ goto st1036;
+st1036:
if ( ++p == pe )
- goto _test_eof994;
-case 994:
+ goto _test_eof1036;
+case 1036:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -77386,34 +79228,34 @@ case 994:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2937;
+ goto tr3006;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2936;
- goto tr75;
-tr2941:
+ goto tr3005;
+ goto tr77;
+tr3010:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st995;
-tr2942:
+ goto st1037;
+tr3011:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st995;
-tr2945:
+ goto st1037;
+tr3014:
{
s->line_counter++;
}
- goto st995;
-tr2968:
+ goto st1037;
+tr3037:
{
s->buffer[s->buffer_length++] = 0;
@@ -77423,22 +79265,22 @@ tr2968:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 995; goto _out;}
+ {p++; cs = 1037; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st995;
-tr2958:
+ goto st1037;
+tr3027:
{
if ((s->apl.addr_family == 1 && s->number64 <= 32) ||
(s->apl.addr_family == 2 && s->number64 <= 128)) {
s->apl.prefix_length = (uint8_t)(s->number64);
} else {
WARN(ZS_BAD_APL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -77455,7 +79297,7 @@ tr2958:
break;
default:
WARN(ZS_BAD_APL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Find prefix without trailing zeroes.
while (len > 0) {
@@ -77467,7 +79309,7 @@ tr2958:
// Check for rdata overflow.
if (rdata_tail + 4 + len > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Write address family.
uint16_t af = htons(s->apl.addr_family);
@@ -77483,15 +79325,15 @@ tr2958:
memcpy(rdata_tail, s->buffer, len);
rdata_tail += len;
}
- goto st995;
-tr2959:
+ goto st1037;
+tr3028:
{
if ((s->apl.addr_family == 1 && s->number64 <= 32) ||
(s->apl.addr_family == 2 && s->number64 <= 128)) {
s->apl.prefix_length = (uint8_t)(s->number64);
} else {
WARN(ZS_BAD_APL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -77508,7 +79350,7 @@ tr2959:
break;
default:
WARN(ZS_BAD_APL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Find prefix without trailing zeroes.
while (len > 0) {
@@ -77520,7 +79362,7 @@ tr2959:
// Check for rdata overflow.
if (rdata_tail + 4 + len > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Write address family.
uint16_t af = htons(s->apl.addr_family);
@@ -77539,19 +79381,19 @@ tr2959:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st995;
-tr2960:
+ goto st1037;
+tr3029:
{
if ((s->apl.addr_family == 1 && s->number64 <= 32) ||
(s->apl.addr_family == 2 && s->number64 <= 128)) {
s->apl.prefix_length = (uint8_t)(s->number64);
} else {
WARN(ZS_BAD_APL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -77568,7 +79410,7 @@ tr2960:
break;
default:
WARN(ZS_BAD_APL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Find prefix without trailing zeroes.
while (len > 0) {
@@ -77580,7 +79422,7 @@ tr2960:
// Check for rdata overflow.
if (rdata_tail + 4 + len > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Write address family.
uint16_t af = htons(s->apl.addr_family);
@@ -77599,19 +79441,19 @@ tr2960:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st995;
-tr2962:
+ goto st1037;
+tr3031:
{
if ((s->apl.addr_family == 1 && s->number64 <= 32) ||
(s->apl.addr_family == 2 && s->number64 <= 128)) {
s->apl.prefix_length = (uint8_t)(s->number64);
} else {
WARN(ZS_BAD_APL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -77628,7 +79470,7 @@ tr2962:
break;
default:
WARN(ZS_BAD_APL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Find prefix without trailing zeroes.
while (len > 0) {
@@ -77640,7 +79482,7 @@ tr2962:
// Check for rdata overflow.
if (rdata_tail + 4 + len > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Write address family.
uint16_t af = htons(s->apl.addr_family);
@@ -77659,11 +79501,11 @@ tr2962:
{
s->line_counter++;
}
- goto st995;
-st995:
+ goto st1037;
+st1037:
if ( ++p == pe )
- goto _test_eof995;
-case 995:
+ goto _test_eof1037;
+case 1037:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -77681,78 +79523,78 @@ case 995:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st995;
- case 32: goto st995;
- case 33: goto tr2940;
- case 40: goto tr2941;
- case 41: goto tr2942;
- case 49: goto tr2943;
- case 50: goto tr2944;
- case 3082: goto tr2945;
- case 3131: goto tr2946;
- case 3338: goto tr2947;
- case 3387: goto tr2947;
- case 3594: goto tr2948;
- case 3643: goto tr2949;
- }
- goto tr2938;
-tr2940:
+ case 9: goto st1037;
+ case 32: goto st1037;
+ case 33: goto tr3009;
+ case 40: goto tr3010;
+ case 41: goto tr3011;
+ case 49: goto tr3012;
+ case 50: goto tr3013;
+ case 3082: goto tr3014;
+ case 3131: goto tr3015;
+ case 3338: goto tr3016;
+ case 3387: goto tr3016;
+ case 3594: goto tr3017;
+ case 3643: goto tr3018;
+ }
+ goto tr3007;
+tr3009:
{
memset(&(s->apl), 0, sizeof(s->apl));
}
{
s->apl.excl_flag = 128; // dec 128 = bin 10000000.
}
- goto st996;
-st996:
+ goto st1038;
+st1038:
if ( ++p == pe )
- goto _test_eof996;
-case 996:
+ goto _test_eof1038;
+case 1038:
switch( (*p) ) {
- case 49: goto tr2950;
- case 50: goto tr2951;
+ case 49: goto tr3019;
+ case 50: goto tr3020;
}
- goto tr2938;
-tr2943:
+ goto tr3007;
+tr3012:
{
memset(&(s->apl), 0, sizeof(s->apl));
}
{
s->apl.addr_family = 1;
}
- goto st997;
-tr2950:
+ goto st1039;
+tr3019:
{
s->apl.addr_family = 1;
}
- goto st997;
-st997:
+ goto st1039;
+st1039:
if ( ++p == pe )
- goto _test_eof997;
-case 997:
+ goto _test_eof1039;
+case 1039:
if ( (*p) == 58 )
- goto st998;
- goto tr2938;
-st998:
+ goto st1040;
+ goto tr3007;
+st1040:
if ( ++p == pe )
- goto _test_eof998;
-case 998:
+ goto _test_eof1040;
+case 1040:
if ( (*p) == 46 )
- goto tr2954;
+ goto tr3023;
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2954;
- goto tr2953;
-tr2955:
+ goto tr3023;
+ goto tr3022;
+tr3024:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st999;
-tr2954:
+ goto st1041;
+tr3023:
{
s->buffer_length = 0;
}
@@ -77761,47 +79603,47 @@ tr2954:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st999;
-st999:
+ goto st1041;
+st1041:
if ( ++p == pe )
- goto _test_eof999;
-case 999:
+ goto _test_eof1041;
+case 1041:
if ( (*p) == 47 )
- goto tr2956;
+ goto tr3025;
if ( 46 <= (*p) && (*p) <= 57 )
- goto tr2955;
- goto tr2953;
-tr2956:
+ goto tr3024;
+ goto tr3022;
+tr3025:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1000;
-tr2972:
+ goto st1042;
+tr3041:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1000;
-st1000:
+ goto st1042;
+st1042:
if ( ++p == pe )
- goto _test_eof1000;
-case 1000:
+ goto _test_eof1042;
+case 1042:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2957;
- goto tr2938;
-tr2957:
+ goto tr3026;
+ goto tr3007;
+tr3026:
{
s->number64 = 0;
}
@@ -77816,11 +79658,11 @@ tr2957:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1001;
-tr2961:
+ goto st1043;
+tr3030:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -77832,14 +79674,14 @@ tr2961:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1001;
-st1001:
+ goto st1043;
+st1043:
if ( ++p == pe )
- goto _test_eof1001;
-case 1001:
+ goto _test_eof1043;
+case 1043:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -77857,40 +79699,40 @@ case 1001:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto tr2958;
- case 32: goto tr2958;
- case 40: goto tr2959;
- case 41: goto tr2960;
- case 3082: goto tr2962;
- case 3131: goto tr2963;
- case 3338: goto tr2964;
- case 3387: goto tr2964;
- case 3594: goto tr2965;
- case 3643: goto tr2966;
+ case 9: goto tr3027;
+ case 32: goto tr3027;
+ case 40: goto tr3028;
+ case 41: goto tr3029;
+ case 3082: goto tr3031;
+ case 3131: goto tr3032;
+ case 3338: goto tr3033;
+ case 3387: goto tr3033;
+ case 3594: goto tr3034;
+ case 3643: goto tr3035;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2961;
- goto tr2938;
-tr2946:
+ goto tr3030;
+ goto tr3007;
+tr3015:
{
s->buffer_length = 0;
}
- goto st1002;
-tr2967:
+ goto st1044;
+tr3036:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1002;
-tr2963:
+ goto st1044;
+tr3032:
{
if ((s->apl.addr_family == 1 && s->number64 <= 32) ||
(s->apl.addr_family == 2 && s->number64 <= 128)) {
s->apl.prefix_length = (uint8_t)(s->number64);
} else {
WARN(ZS_BAD_APL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -77907,7 +79749,7 @@ tr2963:
break;
default:
WARN(ZS_BAD_APL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Find prefix without trailing zeroes.
while (len > 0) {
@@ -77919,7 +79761,7 @@ tr2963:
// Check for rdata overflow.
if (rdata_tail + 4 + len > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Write address family.
uint16_t af = htons(s->apl.addr_family);
@@ -77938,11 +79780,11 @@ tr2963:
{
s->buffer_length = 0;
}
- goto st1002;
-st1002:
+ goto st1044;
+st1044:
if ( ++p == pe )
- goto _test_eof1002;
-case 1002:
+ goto _test_eof1044;
+case 1044:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -77962,23 +79804,23 @@ case 1002:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2968;
+ goto tr3037;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2967;
- goto tr75;
-tr2947:
+ goto tr3036;
+ goto tr77;
+tr3016:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1457;
-tr2964:
+ goto st1505;
+tr3033:
{
if ((s->apl.addr_family == 1 && s->number64 <= 32) ||
(s->apl.addr_family == 2 && s->number64 <= 128)) {
s->apl.prefix_length = (uint8_t)(s->number64);
} else {
WARN(ZS_BAD_APL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -77995,7 +79837,7 @@ tr2964:
break;
default:
WARN(ZS_BAD_APL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Find prefix without trailing zeroes.
while (len > 0) {
@@ -78007,7 +79849,7 @@ tr2964:
// Check for rdata overflow.
if (rdata_tail + 4 + len > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Write address family.
uint16_t af = htons(s->apl.addr_family);
@@ -78026,28 +79868,28 @@ tr2964:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1457;
-st1457:
+ goto st1505;
+st1505:
if ( ++p == pe )
- goto _test_eof1457;
-case 1457:
+ goto _test_eof1505;
+case 1505:
goto st0;
-tr2948:
+tr3017:
{
s->line_counter++;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1458;
-tr2965:
+ goto st1506;
+tr3034:
{
if ((s->apl.addr_family == 1 && s->number64 <= 32) ||
(s->apl.addr_family == 2 && s->number64 <= 128)) {
s->apl.prefix_length = (uint8_t)(s->number64);
} else {
WARN(ZS_BAD_APL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -78064,7 +79906,7 @@ tr2965:
break;
default:
WARN(ZS_BAD_APL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Find prefix without trailing zeroes.
while (len > 0) {
@@ -78076,7 +79918,7 @@ tr2965:
// Check for rdata overflow.
if (rdata_tail + 4 + len > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Write address family.
uint16_t af = htons(s->apl.addr_family);
@@ -78098,11 +79940,11 @@ tr2965:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1458;
-st1458:
+ goto st1506;
+st1506:
if ( ++p == pe )
- goto _test_eof1458;
-case 1458:
+ goto _test_eof1506;
+case 1506:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -78120,67 +79962,67 @@ case 1458:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st995;
- case 32: goto st995;
- case 33: goto tr2940;
- case 40: goto tr2941;
- case 41: goto tr2942;
- case 49: goto tr2943;
- case 50: goto tr2944;
- case 3082: goto tr2945;
- case 3131: goto tr2946;
- case 3338: goto tr2947;
- case 3387: goto tr2947;
- case 3594: goto tr2948;
- case 3643: goto tr2949;
- }
- goto tr2938;
-tr2944:
+ case 9: goto st1037;
+ case 32: goto st1037;
+ case 33: goto tr3009;
+ case 40: goto tr3010;
+ case 41: goto tr3011;
+ case 49: goto tr3012;
+ case 50: goto tr3013;
+ case 3082: goto tr3014;
+ case 3131: goto tr3015;
+ case 3338: goto tr3016;
+ case 3387: goto tr3016;
+ case 3594: goto tr3017;
+ case 3643: goto tr3018;
+ }
+ goto tr3007;
+tr3013:
{
memset(&(s->apl), 0, sizeof(s->apl));
}
{
s->apl.addr_family = 2;
}
- goto st1003;
-tr2951:
+ goto st1045;
+tr3020:
{
s->apl.addr_family = 2;
}
- goto st1003;
-st1003:
+ goto st1045;
+st1045:
if ( ++p == pe )
- goto _test_eof1003;
-case 1003:
+ goto _test_eof1045;
+case 1045:
if ( (*p) == 58 )
- goto st1004;
- goto tr2938;
-st1004:
+ goto st1046;
+ goto tr3007;
+st1046:
if ( ++p == pe )
- goto _test_eof1004;
-case 1004:
+ goto _test_eof1046;
+case 1046:
if ( (*p) == 46 )
- goto tr2970;
+ goto tr3039;
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 58 )
- goto tr2970;
+ goto tr3039;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr2970;
+ goto tr3039;
} else
- goto tr2970;
- goto tr2953;
-tr2971:
+ goto tr3039;
+ goto tr3022;
+tr3040:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1005;
-tr2970:
+ goto st1047;
+tr3039:
{
s->buffer_length = 0;
}
@@ -78189,41 +80031,41 @@ tr2970:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1005;
-st1005:
+ goto st1047;
+st1047:
if ( ++p == pe )
- goto _test_eof1005;
-case 1005:
+ goto _test_eof1047;
+case 1047:
if ( (*p) == 47 )
- goto tr2972;
+ goto tr3041;
if ( (*p) < 65 ) {
if ( 46 <= (*p) && (*p) <= 58 )
- goto tr2971;
+ goto tr3040;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr2971;
+ goto tr3040;
} else
- goto tr2971;
- goto tr2953;
-tr2949:
+ goto tr3040;
+ goto tr3022;
+tr3018:
{
s->buffer_length = 0;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1459;
-tr2966:
+ goto st1507;
+tr3035:
{
if ((s->apl.addr_family == 1 && s->number64 <= 32) ||
(s->apl.addr_family == 2 && s->number64 <= 128)) {
s->apl.prefix_length = (uint8_t)(s->number64);
} else {
WARN(ZS_BAD_APL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -78240,7 +80082,7 @@ tr2966:
break;
default:
WARN(ZS_BAD_APL);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Find prefix without trailing zeroes.
while (len > 0) {
@@ -78252,7 +80094,7 @@ tr2966:
// Check for rdata overflow.
if (rdata_tail + 4 + len > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
// Write address family.
uint16_t af = htons(s->apl.addr_family);
@@ -78274,11 +80116,11 @@ tr2966:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1459;
-st1459:
+ goto st1507;
+st1507:
if ( ++p == pe )
- goto _test_eof1459;
-case 1459:
+ goto _test_eof1507;
+case 1507:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -78298,18 +80140,18 @@ case 1459:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr2968;
+ goto tr3037;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr2967;
- goto tr75;
-st1006:
+ goto tr3036;
+ goto tr77;
+st1048:
if ( ++p == pe )
- goto _test_eof1006;
-case 1006:
+ goto _test_eof1048;
+case 1048:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr2973;
- goto tr2327;
-tr2973:
+ goto tr3042;
+ goto tr2396;
+tr3042:
{
s->number64 = 0;
}
@@ -78324,11 +80166,11 @@ tr2973:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1007;
-tr2977:
+ goto st1049;
+tr3046:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -78340,14 +80182,14 @@ tr2977:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1007;
-st1007:
+ goto st1049;
+st1049:
if ( ++p == pe )
- goto _test_eof1007;
-case 1007:
+ goto _test_eof1049;
+case 1049:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -78361,40 +80203,40 @@ case 1007:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2974;
- case 32: goto tr2974;
- case 40: goto tr2975;
- case 41: goto tr2976;
- case 2058: goto tr2978;
- case 2107: goto tr2979;
+ case 9: goto tr3043;
+ case 32: goto tr3043;
+ case 40: goto tr3044;
+ case 41: goto tr3045;
+ case 2058: goto tr3047;
+ case 2107: goto tr3048;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2977;
- goto tr2327;
-tr2981:
+ goto tr3046;
+ goto tr2396;
+tr3050:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1008;
-tr2982:
+ goto st1050;
+tr3051:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1008;
-tr2984:
+ goto st1050;
+tr3053:
{
s->line_counter++;
}
- goto st1008;
-tr3021:
+ goto st1050;
+tr3090:
{
s->buffer[s->buffer_length++] = 0;
@@ -78404,15 +80246,15 @@ tr3021:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1008; goto _out;}
+ {p++; cs = 1050; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1008;
-tr2974:
+ goto st1050;
+tr3043:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -78420,11 +80262,11 @@ tr2974:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1008;
-tr2975:
+ goto st1050;
+tr3044:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -78432,18 +80274,18 @@ tr2975:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1008;
-tr2976:
+ goto st1050;
+tr3045:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -78451,18 +80293,18 @@ tr2976:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1008;
-tr2978:
+ goto st1050;
+tr3047:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -78470,17 +80312,17 @@ tr2978:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1008;
-st1008:
+ goto st1050;
+st1050:
if ( ++p == pe )
- goto _test_eof1008;
-case 1008:
+ goto _test_eof1050;
+case 1050:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -78494,29 +80336,29 @@ case 1008:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1008;
- case 32: goto st1008;
- case 40: goto tr2981;
- case 41: goto tr2982;
- case 2058: goto tr2984;
- case 2107: goto tr2985;
+ case 9: goto st1050;
+ case 32: goto st1050;
+ case 40: goto tr3050;
+ case 41: goto tr3051;
+ case 2058: goto tr3053;
+ case 2107: goto tr3054;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr2983;
+ goto tr3052;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr2983;
+ goto tr3052;
} else
- goto tr2983;
- goto tr75;
-tr2983:
- { p--; {stack[top++] = 1009;goto st699;} }
- goto st1009;
-st1009:
+ goto tr3052;
+ goto tr77;
+tr3052:
+ { p--; {stack[top++] = 1051;goto st741;} }
+ goto st1051;
+st1051:
if ( ++p == pe )
- goto _test_eof1009;
-case 1009:
+ goto _test_eof1051;
+case 1051:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -78530,38 +80372,38 @@ case 1009:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1010;
- case 32: goto st1010;
- case 40: goto tr2987;
- case 41: goto tr2988;
- case 2058: goto tr2989;
- case 2107: goto tr2990;
+ case 9: goto st1052;
+ case 32: goto st1052;
+ case 40: goto tr3056;
+ case 41: goto tr3057;
+ case 2058: goto tr3058;
+ case 2107: goto tr3059;
}
- goto tr75;
-tr2987:
+ goto tr77;
+tr3056:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1010;
-tr2988:
+ goto st1052;
+tr3057:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1010;
-tr2989:
+ goto st1052;
+tr3058:
{
s->line_counter++;
}
- goto st1010;
-tr3019:
+ goto st1052;
+tr3088:
{
s->buffer[s->buffer_length++] = 0;
@@ -78571,18 +80413,18 @@ tr3019:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1010; goto _out;}
+ {p++; cs = 1052; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1010;
-st1010:
+ goto st1052;
+st1052:
if ( ++p == pe )
- goto _test_eof1010;
-case 1010:
+ goto _test_eof1052;
+case 1052:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -78596,17 +80438,17 @@ case 1010:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1010;
- case 32: goto st1010;
- case 40: goto tr2987;
- case 41: goto tr2988;
- case 2058: goto tr2989;
- case 2107: goto tr2990;
+ case 9: goto st1052;
+ case 32: goto st1052;
+ case 40: goto tr3056;
+ case 41: goto tr3057;
+ case 2058: goto tr3058;
+ case 2107: goto tr3059;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2991;
- goto tr2327;
-tr2991:
+ goto tr3060;
+ goto tr2396;
+tr3060:
{
s->number64 = 0;
}
@@ -78621,11 +80463,11 @@ tr2991:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1011;
-tr2995:
+ goto st1053;
+tr3064:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -78637,14 +80479,14 @@ tr2995:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1011;
-st1011:
+ goto st1053;
+st1053:
if ( ++p == pe )
- goto _test_eof1011;
-case 1011:
+ goto _test_eof1053;
+case 1053:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -78658,40 +80500,40 @@ case 1011:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr2992;
- case 32: goto tr2992;
- case 40: goto tr2993;
- case 41: goto tr2994;
- case 2058: goto tr2996;
- case 2107: goto tr2997;
+ case 9: goto tr3061;
+ case 32: goto tr3061;
+ case 40: goto tr3062;
+ case 41: goto tr3063;
+ case 2058: goto tr3065;
+ case 2107: goto tr3066;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr2995;
- goto tr2327;
-tr3000:
+ goto tr3064;
+ goto tr2396;
+tr3069:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1012;
-tr3001:
+ goto st1054;
+tr3070:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1012;
-tr3003:
+ goto st1054;
+tr3072:
{
s->line_counter++;
}
- goto st1012;
-tr3017:
+ goto st1054;
+tr3086:
{
s->buffer[s->buffer_length++] = 0;
@@ -78701,79 +80543,79 @@ tr3017:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1012; goto _out;}
+ {p++; cs = 1054; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1012;
-tr2992:
+ goto st1054;
+tr3061:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1012;
-tr2993:
+ goto st1054;
+tr3062:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1012;
-tr2994:
+ goto st1054;
+tr3063:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1012;
-tr2996:
+ goto st1054;
+tr3065:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1012;
-st1012:
+ goto st1054;
+st1054:
if ( ++p == pe )
- goto _test_eof1012;
-case 1012:
+ goto _test_eof1054;
+case 1054:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -78787,69 +80629,69 @@ case 1012:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1012;
- case 32: goto st1012;
- case 40: goto tr3000;
- case 41: goto tr3001;
- case 2058: goto tr3003;
- case 2107: goto tr3004;
+ case 9: goto st1054;
+ case 32: goto st1054;
+ case 40: goto tr3069;
+ case 41: goto tr3070;
+ case 2058: goto tr3072;
+ case 2107: goto tr3073;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr3002;
+ goto tr3071;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr3002;
+ goto tr3071;
} else
- goto tr3002;
- goto tr2998;
-tr3002:
+ goto tr3071;
+ goto tr3067;
+tr3071:
{
if (rdata_tail <= rdata_stop) {
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1013;
-st1013:
+ goto st1055;
+st1055:
if ( ++p == pe )
- goto _test_eof1013;
-case 1013:
+ goto _test_eof1055;
+case 1055:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3005;
+ goto tr3074;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr3005;
+ goto tr3074;
} else
- goto tr3005;
- goto tr2998;
-tr3007:
+ goto tr3074;
+ goto tr3067;
+tr3076:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1014;
-tr3008:
+ goto st1056;
+tr3077:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1014;
-tr3009:
+ goto st1056;
+tr3078:
{
s->line_counter++;
}
- goto st1014;
-tr3015:
+ goto st1056;
+tr3084:
{
s->buffer[s->buffer_length++] = 0;
@@ -78859,24 +80701,24 @@ tr3015:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1014; goto _out;}
+ {p++; cs = 1056; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1014;
-tr3005:
+ goto st1056;
+tr3074:
{
*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
rdata_tail++;
}
- goto st1014;
-st1014:
+ goto st1056;
+st1056:
if ( ++p == pe )
- goto _test_eof1014;
-case 1014:
+ goto _test_eof1056;
+case 1056:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -78894,42 +80736,42 @@ case 1014:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st1014;
- case 32: goto st1014;
- case 40: goto tr3007;
- case 41: goto tr3008;
- case 3082: goto tr3009;
- case 3131: goto tr3010;
- case 3338: goto tr3011;
- case 3387: goto tr3011;
- case 3594: goto tr3012;
- case 3643: goto tr3013;
+ case 9: goto st1056;
+ case 32: goto st1056;
+ case 40: goto tr3076;
+ case 41: goto tr3077;
+ case 3082: goto tr3078;
+ case 3131: goto tr3079;
+ case 3338: goto tr3080;
+ case 3387: goto tr3080;
+ case 3594: goto tr3081;
+ case 3643: goto tr3082;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr3002;
+ goto tr3071;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr3002;
+ goto tr3071;
} else
- goto tr3002;
- goto tr2998;
-tr3010:
+ goto tr3071;
+ goto tr3067;
+tr3079:
{
s->buffer_length = 0;
}
- goto st1015;
-tr3014:
+ goto st1057;
+tr3083:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1015;
-st1015:
+ goto st1057;
+st1057:
if ( ++p == pe )
- goto _test_eof1015;
-case 1015:
+ goto _test_eof1057;
+case 1057:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -78949,32 +80791,32 @@ case 1015:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3015;
+ goto tr3084;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3014;
- goto tr2998;
-tr3011:
+ goto tr3083;
+ goto tr3067;
+tr3080:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1460;
-st1460:
+ goto st1508;
+st1508:
if ( ++p == pe )
- goto _test_eof1460;
-case 1460:
+ goto _test_eof1508;
+case 1508:
goto st0;
-tr3012:
+tr3081:
{
s->line_counter++;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1461;
-st1461:
+ goto st1509;
+st1509:
if ( ++p == pe )
- goto _test_eof1461;
-case 1461:
+ goto _test_eof1509;
+case 1509:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -78992,38 +80834,38 @@ case 1461:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st1014;
- case 32: goto st1014;
- case 40: goto tr3007;
- case 41: goto tr3008;
- case 3082: goto tr3009;
- case 3131: goto tr3010;
- case 3338: goto tr3011;
- case 3387: goto tr3011;
- case 3594: goto tr3012;
- case 3643: goto tr3013;
+ case 9: goto st1056;
+ case 32: goto st1056;
+ case 40: goto tr3076;
+ case 41: goto tr3077;
+ case 3082: goto tr3078;
+ case 3131: goto tr3079;
+ case 3338: goto tr3080;
+ case 3387: goto tr3080;
+ case 3594: goto tr3081;
+ case 3643: goto tr3082;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr3002;
+ goto tr3071;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr3002;
+ goto tr3071;
} else
- goto tr3002;
- goto tr2998;
-tr3013:
+ goto tr3071;
+ goto tr3067;
+tr3082:
{
s->buffer_length = 0;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1462;
-st1462:
+ goto st1510;
+st1510:
if ( ++p == pe )
- goto _test_eof1462;
-case 1462:
+ goto _test_eof1510;
+case 1510:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -79043,40 +80885,40 @@ case 1462:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3015;
+ goto tr3084;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3014;
- goto tr2998;
-tr3004:
+ goto tr3083;
+ goto tr3067;
+tr3073:
{
s->buffer_length = 0;
}
- goto st1016;
-tr3016:
+ goto st1058;
+tr3085:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1016;
-tr2997:
+ goto st1058;
+tr3066:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1016;
-st1016:
+ goto st1058;
+st1058:
if ( ++p == pe )
- goto _test_eof1016;
-case 1016:
+ goto _test_eof1058;
+case 1058:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -79096,26 +80938,26 @@ case 1016:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3017;
+ goto tr3086;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3016;
- goto tr75;
-tr2990:
+ goto tr3085;
+ goto tr77;
+tr3059:
{
s->buffer_length = 0;
}
- goto st1017;
-tr3018:
+ goto st1059;
+tr3087:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1017;
-st1017:
+ goto st1059;
+st1059:
if ( ++p == pe )
- goto _test_eof1017;
-case 1017:
+ goto _test_eof1059;
+case 1059:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -79135,23 +80977,23 @@ case 1017:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3019;
+ goto tr3088;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3018;
- goto tr75;
-tr2985:
+ goto tr3087;
+ goto tr77;
+tr3054:
{
s->buffer_length = 0;
}
- goto st1018;
-tr3020:
+ goto st1060;
+tr3089:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1018;
-tr2979:
+ goto st1060;
+tr3048:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -79159,17 +81001,17 @@ tr2979:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1018;
-st1018:
+ goto st1060;
+st1060:
if ( ++p == pe )
- goto _test_eof1018;
-case 1018:
+ goto _test_eof1060;
+case 1060:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -79189,18 +81031,18 @@ case 1018:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3021;
+ goto tr3090;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3020;
- goto tr75;
-st1019:
+ goto tr3089;
+ goto tr77;
+st1061:
if ( ++p == pe )
- goto _test_eof1019;
-case 1019:
+ goto _test_eof1061;
+case 1061:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3022;
- goto tr2327;
-tr3022:
+ goto tr3091;
+ goto tr2396;
+tr3091:
{
s->number64 = 0;
}
@@ -79215,11 +81057,11 @@ tr3022:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1020;
-tr3026:
+ goto st1062;
+tr3095:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -79231,14 +81073,14 @@ tr3026:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1020;
-st1020:
+ goto st1062;
+st1062:
if ( ++p == pe )
- goto _test_eof1020;
-case 1020:
+ goto _test_eof1062;
+case 1062:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -79252,40 +81094,40 @@ case 1020:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3023;
- case 32: goto tr3023;
- case 40: goto tr3024;
- case 41: goto tr3025;
- case 2058: goto tr3027;
- case 2107: goto tr3028;
+ case 9: goto tr3092;
+ case 32: goto tr3092;
+ case 40: goto tr3093;
+ case 41: goto tr3094;
+ case 2058: goto tr3096;
+ case 2107: goto tr3097;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3026;
- goto tr2327;
-tr3030:
+ goto tr3095;
+ goto tr2396;
+tr3099:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1021;
-tr3031:
+ goto st1063;
+tr3100:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1021;
-tr3033:
+ goto st1063;
+tr3102:
{
s->line_counter++;
}
- goto st1021;
-tr3061:
+ goto st1063;
+tr3130:
{
s->buffer[s->buffer_length++] = 0;
@@ -79295,79 +81137,79 @@ tr3061:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1021; goto _out;}
+ {p++; cs = 1063; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1021;
-tr3023:
+ goto st1063;
+tr3092:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1021;
-tr3024:
+ goto st1063;
+tr3093:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1021;
-tr3025:
+ goto st1063;
+tr3094:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1021;
-tr3027:
+ goto st1063;
+tr3096:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1021;
-st1021:
+ goto st1063;
+st1063:
if ( ++p == pe )
- goto _test_eof1021;
-case 1021:
+ goto _test_eof1063;
+case 1063:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -79381,17 +81223,17 @@ case 1021:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1021;
- case 32: goto st1021;
- case 40: goto tr3030;
- case 41: goto tr3031;
- case 2058: goto tr3033;
- case 2107: goto tr3034;
+ case 9: goto st1063;
+ case 32: goto st1063;
+ case 40: goto tr3099;
+ case 41: goto tr3100;
+ case 2058: goto tr3102;
+ case 2107: goto tr3103;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3032;
- goto tr2327;
-tr3032:
+ goto tr3101;
+ goto tr2396;
+tr3101:
{
s->number64 = 0;
}
@@ -79406,11 +81248,11 @@ tr3032:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1022;
-tr3038:
+ goto st1064;
+tr3107:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -79422,14 +81264,14 @@ tr3038:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1022;
-st1022:
+ goto st1064;
+st1064:
if ( ++p == pe )
- goto _test_eof1022;
-case 1022:
+ goto _test_eof1064;
+case 1064:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -79443,40 +81285,40 @@ case 1022:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3035;
- case 32: goto tr3035;
- case 40: goto tr3036;
- case 41: goto tr3037;
- case 2058: goto tr3039;
- case 2107: goto tr3040;
+ case 9: goto tr3104;
+ case 32: goto tr3104;
+ case 40: goto tr3105;
+ case 41: goto tr3106;
+ case 2058: goto tr3108;
+ case 2107: goto tr3109;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3038;
- goto tr2327;
-tr3042:
+ goto tr3107;
+ goto tr2396;
+tr3111:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1023;
-tr3043:
+ goto st1065;
+tr3112:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1023;
-tr3045:
+ goto st1065;
+tr3114:
{
s->line_counter++;
}
- goto st1023;
-tr3059:
+ goto st1065;
+tr3128:
{
s->buffer[s->buffer_length++] = 0;
@@ -79486,79 +81328,79 @@ tr3059:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1023; goto _out;}
+ {p++; cs = 1065; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1023;
-tr3035:
+ goto st1065;
+tr3104:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1023;
-tr3036:
+ goto st1065;
+tr3105:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1023;
-tr3037:
+ goto st1065;
+tr3106:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1023;
-tr3039:
+ goto st1065;
+tr3108:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1023;
-st1023:
+ goto st1065;
+st1065:
if ( ++p == pe )
- goto _test_eof1023;
-case 1023:
+ goto _test_eof1065;
+case 1065:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -79572,69 +81414,69 @@ case 1023:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1023;
- case 32: goto st1023;
- case 40: goto tr3042;
- case 41: goto tr3043;
- case 2058: goto tr3045;
- case 2107: goto tr3046;
+ case 9: goto st1065;
+ case 32: goto st1065;
+ case 40: goto tr3111;
+ case 41: goto tr3112;
+ case 2058: goto tr3114;
+ case 2107: goto tr3115;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr3044;
+ goto tr3113;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr3044;
+ goto tr3113;
} else
- goto tr3044;
- goto tr2998;
-tr3044:
+ goto tr3113;
+ goto tr3067;
+tr3113:
{
if (rdata_tail <= rdata_stop) {
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1024;
-st1024:
+ goto st1066;
+st1066:
if ( ++p == pe )
- goto _test_eof1024;
-case 1024:
+ goto _test_eof1066;
+case 1066:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3047;
+ goto tr3116;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr3047;
+ goto tr3116;
} else
- goto tr3047;
- goto tr2998;
-tr3049:
+ goto tr3116;
+ goto tr3067;
+tr3118:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1025;
-tr3050:
+ goto st1067;
+tr3119:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1025;
-tr3051:
+ goto st1067;
+tr3120:
{
s->line_counter++;
}
- goto st1025;
-tr3057:
+ goto st1067;
+tr3126:
{
s->buffer[s->buffer_length++] = 0;
@@ -79644,24 +81486,24 @@ tr3057:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1025; goto _out;}
+ {p++; cs = 1067; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1025;
-tr3047:
+ goto st1067;
+tr3116:
{
*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
rdata_tail++;
}
- goto st1025;
-st1025:
+ goto st1067;
+st1067:
if ( ++p == pe )
- goto _test_eof1025;
-case 1025:
+ goto _test_eof1067;
+case 1067:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -79679,42 +81521,42 @@ case 1025:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st1025;
- case 32: goto st1025;
- case 40: goto tr3049;
- case 41: goto tr3050;
- case 3082: goto tr3051;
- case 3131: goto tr3052;
- case 3338: goto tr3053;
- case 3387: goto tr3053;
- case 3594: goto tr3054;
- case 3643: goto tr3055;
+ case 9: goto st1067;
+ case 32: goto st1067;
+ case 40: goto tr3118;
+ case 41: goto tr3119;
+ case 3082: goto tr3120;
+ case 3131: goto tr3121;
+ case 3338: goto tr3122;
+ case 3387: goto tr3122;
+ case 3594: goto tr3123;
+ case 3643: goto tr3124;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr3044;
+ goto tr3113;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr3044;
+ goto tr3113;
} else
- goto tr3044;
- goto tr2998;
-tr3052:
+ goto tr3113;
+ goto tr3067;
+tr3121:
{
s->buffer_length = 0;
}
- goto st1026;
-tr3056:
+ goto st1068;
+tr3125:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1026;
-st1026:
+ goto st1068;
+st1068:
if ( ++p == pe )
- goto _test_eof1026;
-case 1026:
+ goto _test_eof1068;
+case 1068:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -79734,32 +81576,32 @@ case 1026:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3057;
+ goto tr3126;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3056;
- goto tr2998;
-tr3053:
+ goto tr3125;
+ goto tr3067;
+tr3122:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1463;
-st1463:
+ goto st1511;
+st1511:
if ( ++p == pe )
- goto _test_eof1463;
-case 1463:
+ goto _test_eof1511;
+case 1511:
goto st0;
-tr3054:
+tr3123:
{
s->line_counter++;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1464;
-st1464:
+ goto st1512;
+st1512:
if ( ++p == pe )
- goto _test_eof1464;
-case 1464:
+ goto _test_eof1512;
+case 1512:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -79777,38 +81619,38 @@ case 1464:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st1025;
- case 32: goto st1025;
- case 40: goto tr3049;
- case 41: goto tr3050;
- case 3082: goto tr3051;
- case 3131: goto tr3052;
- case 3338: goto tr3053;
- case 3387: goto tr3053;
- case 3594: goto tr3054;
- case 3643: goto tr3055;
+ case 9: goto st1067;
+ case 32: goto st1067;
+ case 40: goto tr3118;
+ case 41: goto tr3119;
+ case 3082: goto tr3120;
+ case 3131: goto tr3121;
+ case 3338: goto tr3122;
+ case 3387: goto tr3122;
+ case 3594: goto tr3123;
+ case 3643: goto tr3124;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr3044;
+ goto tr3113;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr3044;
+ goto tr3113;
} else
- goto tr3044;
- goto tr2998;
-tr3055:
+ goto tr3113;
+ goto tr3067;
+tr3124:
{
s->buffer_length = 0;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1465;
-st1465:
+ goto st1513;
+st1513:
if ( ++p == pe )
- goto _test_eof1465;
-case 1465:
+ goto _test_eof1513;
+case 1513:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -79828,40 +81670,40 @@ case 1465:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3057;
+ goto tr3126;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3056;
- goto tr2998;
-tr3046:
+ goto tr3125;
+ goto tr3067;
+tr3115:
{
s->buffer_length = 0;
}
- goto st1027;
-tr3058:
+ goto st1069;
+tr3127:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1027;
-tr3040:
+ goto st1069;
+tr3109:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1027;
-st1027:
+ goto st1069;
+st1069:
if ( ++p == pe )
- goto _test_eof1027;
-case 1027:
+ goto _test_eof1069;
+case 1069:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -79881,40 +81723,40 @@ case 1027:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3059;
+ goto tr3128;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3058;
- goto tr75;
-tr3034:
+ goto tr3127;
+ goto tr77;
+tr3103:
{
s->buffer_length = 0;
}
- goto st1028;
-tr3060:
+ goto st1070;
+tr3129:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1028;
-tr3028:
+ goto st1070;
+tr3097:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1028;
-st1028:
+ goto st1070;
+st1070:
if ( ++p == pe )
- goto _test_eof1028;
-case 1028:
+ goto _test_eof1070;
+case 1070:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -79934,18 +81776,18 @@ case 1028:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3061;
+ goto tr3130;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3060;
- goto tr75;
-st1029:
+ goto tr3129;
+ goto tr77;
+st1071:
if ( ++p == pe )
- goto _test_eof1029;
-case 1029:
+ goto _test_eof1071;
+case 1071:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3062;
- goto tr2327;
-tr3062:
+ goto tr3131;
+ goto tr2396;
+tr3131:
{
s->number64 = 0;
}
@@ -79960,11 +81802,11 @@ tr3062:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1030;
-tr3066:
+ goto st1072;
+tr3135:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -79976,14 +81818,14 @@ tr3066:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1030;
-st1030:
+ goto st1072;
+st1072:
if ( ++p == pe )
- goto _test_eof1030;
-case 1030:
+ goto _test_eof1072;
+case 1072:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -79997,40 +81839,40 @@ case 1030:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3063;
- case 32: goto tr3063;
- case 40: goto tr3064;
- case 41: goto tr3065;
- case 2058: goto tr3067;
- case 2107: goto tr3068;
+ case 9: goto tr3132;
+ case 32: goto tr3132;
+ case 40: goto tr3133;
+ case 41: goto tr3134;
+ case 2058: goto tr3136;
+ case 2107: goto tr3137;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3066;
- goto tr2327;
-tr3071:
+ goto tr3135;
+ goto tr2396;
+tr3140:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1031;
-tr3072:
+ goto st1073;
+tr3141:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1031;
-tr3077:
+ goto st1073;
+tr3146:
{
s->line_counter++;
}
- goto st1031;
-tr3270:
+ goto st1073;
+tr3339:
{
s->buffer[s->buffer_length++] = 0;
@@ -80040,79 +81882,79 @@ tr3270:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1031; goto _out;}
+ {p++; cs = 1073; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1031;
-tr3063:
+ goto st1073;
+tr3132:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1031;
-tr3064:
+ goto st1073;
+tr3133:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1031;
-tr3065:
+ goto st1073;
+tr3134:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1031;
-tr3067:
+ goto st1073;
+tr3136:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1031;
-st1031:
+ goto st1073;
+st1073:
if ( ++p == pe )
- goto _test_eof1031;
-case 1031:
+ goto _test_eof1073;
+case 1073:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -80126,27 +81968,27 @@ case 1031:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1031;
- case 32: goto st1031;
- case 40: goto tr3071;
- case 41: goto tr3072;
- case 48: goto tr3073;
- case 49: goto tr3074;
- case 50: goto tr3075;
- case 51: goto tr3076;
- case 2058: goto tr3077;
- case 2107: goto tr3078;
- }
- goto tr3069;
-tr3073:
+ case 9: goto st1073;
+ case 32: goto st1073;
+ case 40: goto tr3140;
+ case 41: goto tr3141;
+ case 48: goto tr3142;
+ case 49: goto tr3143;
+ case 50: goto tr3144;
+ case 51: goto tr3145;
+ case 2058: goto tr3146;
+ case 2107: goto tr3147;
+ }
+ goto tr3138;
+tr3142:
{
*(rdata_tail++) = 0;
}
- goto st1032;
-st1032:
+ goto st1074;
+st1074:
if ( ++p == pe )
- goto _test_eof1032;
-case 1032:
+ goto _test_eof1074;
+case 1074:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -80160,38 +82002,38 @@ case 1032:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1033;
- case 32: goto st1033;
- case 40: goto tr3080;
- case 41: goto tr3081;
- case 2058: goto tr3082;
- case 2107: goto tr3083;
+ case 9: goto st1075;
+ case 32: goto st1075;
+ case 40: goto tr3149;
+ case 41: goto tr3150;
+ case 2058: goto tr3151;
+ case 2107: goto tr3152;
}
- goto tr3069;
-tr3080:
+ goto tr3138;
+tr3149:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1033;
-tr3081:
+ goto st1075;
+tr3150:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1033;
-tr3082:
+ goto st1075;
+tr3151:
{
s->line_counter++;
}
- goto st1033;
-tr3132:
+ goto st1075;
+tr3201:
{
s->buffer[s->buffer_length++] = 0;
@@ -80201,18 +82043,18 @@ tr3132:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1033; goto _out;}
+ {p++; cs = 1075; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1033;
-st1033:
+ goto st1075;
+st1075:
if ( ++p == pe )
- goto _test_eof1033;
-case 1033:
+ goto _test_eof1075;
+case 1075:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -80226,17 +82068,17 @@ case 1033:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1033;
- case 32: goto st1033;
- case 40: goto tr3080;
- case 41: goto tr3081;
- case 2058: goto tr3082;
- case 2107: goto tr3083;
+ case 9: goto st1075;
+ case 32: goto st1075;
+ case 40: goto tr3149;
+ case 41: goto tr3150;
+ case 2058: goto tr3151;
+ case 2107: goto tr3152;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3085;
- goto tr3084;
-tr3085:
+ goto tr3154;
+ goto tr3153;
+tr3154:
{
s->number64 = 0;
}
@@ -80251,11 +82093,11 @@ tr3085:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1034;
-tr3089:
+ goto st1076;
+tr3158:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -80267,14 +82109,14 @@ tr3089:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1034;
-st1034:
+ goto st1076;
+st1076:
if ( ++p == pe )
- goto _test_eof1034;
-case 1034:
+ goto _test_eof1076;
+case 1076:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -80288,40 +82130,40 @@ case 1034:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3086;
- case 32: goto tr3086;
- case 40: goto tr3087;
- case 41: goto tr3088;
- case 2058: goto tr3090;
- case 2107: goto tr3091;
+ case 9: goto tr3155;
+ case 32: goto tr3155;
+ case 40: goto tr3156;
+ case 41: goto tr3157;
+ case 2058: goto tr3159;
+ case 2107: goto tr3160;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3089;
- goto tr3084;
-tr3093:
+ goto tr3158;
+ goto tr3153;
+tr3162:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1035;
-tr3094:
+ goto st1077;
+tr3163:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1035;
-tr3096:
+ goto st1077;
+tr3165:
{
s->line_counter++;
}
- goto st1035;
-tr3130:
+ goto st1077;
+tr3199:
{
s->buffer[s->buffer_length++] = 0;
@@ -80331,79 +82173,79 @@ tr3130:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1035; goto _out;}
+ {p++; cs = 1077; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1035;
-tr3086:
+ goto st1077;
+tr3155:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1035;
-tr3087:
+ goto st1077;
+tr3156:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1035;
-tr3088:
+ goto st1077;
+tr3157:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1035;
-tr3090:
+ goto st1077;
+tr3159:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1035;
-st1035:
+ goto st1077;
+st1077:
if ( ++p == pe )
- goto _test_eof1035;
-case 1035:
+ goto _test_eof1077;
+case 1077:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -80417,19 +82259,19 @@ case 1035:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1035;
- case 32: goto st1035;
- case 40: goto tr3093;
- case 41: goto tr3094;
- case 46: goto st1036;
- case 2058: goto tr3096;
- case 2107: goto tr3097;
+ case 9: goto st1077;
+ case 32: goto st1077;
+ case 40: goto tr3162;
+ case 41: goto tr3163;
+ case 46: goto st1078;
+ case 2058: goto tr3165;
+ case 2107: goto tr3166;
}
- goto tr3069;
-st1036:
+ goto tr3138;
+st1078:
if ( ++p == pe )
- goto _test_eof1036;
-case 1036:
+ goto _test_eof1078;
+case 1078:
_widec = (*p);
if ( (*p) < 32 ) {
if ( (*p) > 9 ) {
@@ -80487,66 +82329,66 @@ case 1036:
s->number64 == 0 ) _widec += 512;
}
switch( _widec ) {
- case 7177: goto st1037;
- case 7200: goto st1037;
- case 7208: goto tr3100;
- case 7209: goto tr3101;
- case 7433: goto st1040;
- case 7456: goto st1040;
- case 7464: goto tr3103;
- case 7465: goto tr3104;
- case 7689: goto st1042;
- case 7712: goto st1042;
- case 7720: goto tr3106;
- case 7721: goto tr3107;
- case 10506: goto tr3108;
- case 10555: goto tr3108;
- case 10762: goto tr3108;
- case 10811: goto tr3108;
- case 11274: goto tr3109;
- case 11323: goto tr3110;
- case 11530: goto tr3108;
- case 11579: goto tr3108;
- case 11786: goto tr3111;
- case 11835: goto tr3112;
- case 12298: goto tr3113;
- case 12347: goto tr3114;
- case 12554: goto tr3108;
- case 12603: goto tr3108;
- case 12810: goto tr3115;
- case 12859: goto tr3116;
- case 13322: goto tr3117;
- case 13371: goto tr3118;
- case 13578: goto tr3108;
- case 13627: goto tr3108;
- case 13834: goto tr3119;
- case 13883: goto tr3120;
- }
- goto tr3098;
-tr3100:
+ case 7177: goto st1079;
+ case 7200: goto st1079;
+ case 7208: goto tr3169;
+ case 7209: goto tr3170;
+ case 7433: goto st1082;
+ case 7456: goto st1082;
+ case 7464: goto tr3172;
+ case 7465: goto tr3173;
+ case 7689: goto st1084;
+ case 7712: goto st1084;
+ case 7720: goto tr3175;
+ case 7721: goto tr3176;
+ case 10506: goto tr3177;
+ case 10555: goto tr3177;
+ case 10762: goto tr3177;
+ case 10811: goto tr3177;
+ case 11274: goto tr3178;
+ case 11323: goto tr3179;
+ case 11530: goto tr3177;
+ case 11579: goto tr3177;
+ case 11786: goto tr3180;
+ case 11835: goto tr3181;
+ case 12298: goto tr3182;
+ case 12347: goto tr3183;
+ case 12554: goto tr3177;
+ case 12603: goto tr3177;
+ case 12810: goto tr3184;
+ case 12859: goto tr3185;
+ case 13322: goto tr3186;
+ case 13371: goto tr3187;
+ case 13578: goto tr3177;
+ case 13627: goto tr3177;
+ case 13834: goto tr3188;
+ case 13883: goto tr3189;
+ }
+ goto tr3167;
+tr3169:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1037;
-tr3101:
+ goto st1079;
+tr3170:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1037;
-tr3109:
+ goto st1079;
+tr3178:
{
s->line_counter++;
}
- goto st1037;
-tr3124:
+ goto st1079;
+tr3193:
{
s->buffer[s->buffer_length++] = 0;
@@ -80556,100 +82398,100 @@ tr3124:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1037; goto _out;}
+ {p++; cs = 1079; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1037;
-tr3154:
+ goto st1079;
+tr3223:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
}
- goto st1037;
-tr3199:
+ goto st1079;
+tr3268:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
}
- goto st1037;
-tr3243:
+ goto st1079;
+tr3312:
{
rdata_tail += s->dname_tmp_length;
}
- goto st1037;
-tr3244:
+ goto st1079;
+tr3313:
{
rdata_tail += s->dname_tmp_length;
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1037;
-tr3245:
+ goto st1079;
+tr3314:
{
rdata_tail += s->dname_tmp_length;
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1037;
-tr3253:
+ goto st1079;
+tr3322:
{
rdata_tail += s->dname_tmp_length;
}
{
s->line_counter++;
}
- goto st1037;
-tr3155:
+ goto st1079;
+tr3224:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -80657,24 +82499,24 @@ tr3155:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1037;
-tr3156:
+ goto st1079;
+tr3225:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -80682,24 +82524,24 @@ tr3156:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1037;
-tr3164:
+ goto st1079;
+tr3233:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -80707,20 +82549,20 @@ tr3164:
{
s->line_counter++;
}
- goto st1037;
-tr3200:
+ goto st1079;
+tr3269:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -80728,24 +82570,24 @@ tr3200:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1037;
-tr3201:
+ goto st1079;
+tr3270:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -80753,24 +82595,24 @@ tr3201:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1037;
-tr3209:
+ goto st1079;
+tr3278:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -80778,11 +82620,11 @@ tr3209:
{
s->line_counter++;
}
- goto st1037;
-st1037:
+ goto st1079;
+st1079:
if ( ++p == pe )
- goto _test_eof1037;
-case 1037:
+ goto _test_eof1079;
+case 1079:
_widec = (*p);
if ( (*p) < 43 ) {
if ( (*p) < 32 ) {
@@ -80854,30 +82696,30 @@ case 1037:
s->number64 != 0 ) _widec += 256;
}
switch( _widec ) {
- case 4105: goto st1037;
- case 4128: goto st1037;
- case 4136: goto tr3100;
- case 4137: goto tr3101;
- case 4139: goto tr3122;
- case 5130: goto tr3109;
- case 5179: goto tr3110;
+ case 4105: goto st1079;
+ case 4128: goto st1079;
+ case 4136: goto tr3169;
+ case 4137: goto tr3170;
+ case 4139: goto tr3191;
+ case 5130: goto tr3178;
+ case 5179: goto tr3179;
}
if ( _widec < 4161 ) {
if ( 4143 <= _widec && _widec <= 4153 )
- goto tr3122;
+ goto tr3191;
} else if ( _widec > 4186 ) {
if ( 4193 <= _widec && _widec <= 4218 )
- goto tr3122;
+ goto tr3191;
} else
- goto tr3122;
- goto tr3121;
-tr3122:
- { p--; {stack[top++] = 1038;goto st369;} }
- goto st1038;
-st1038:
+ goto tr3191;
+ goto tr3190;
+tr3191:
+ { p--; {stack[top++] = 1080;goto st378;} }
+ goto st1080;
+st1080:
if ( ++p == pe )
- goto _test_eof1038;
-case 1038:
+ goto _test_eof1080;
+case 1080:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -80891,28 +82733,28 @@ case 1038:
!s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 2570: goto tr3108;
- case 2619: goto tr3108;
+ case 2570: goto tr3177;
+ case 2619: goto tr3177;
}
- goto tr3121;
-tr3108:
+ goto tr3190;
+tr3177:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1466;
-tr3163:
+ goto st1514;
+tr3232:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -80920,28 +82762,28 @@ tr3163:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1466;
-tr3252:
+ goto st1514;
+tr3321:
{
rdata_tail += s->dname_tmp_length;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1466;
-tr3208:
+ goto st1514;
+tr3277:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -80949,45 +82791,45 @@ tr3208:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1466;
-st1466:
+ goto st1514;
+st1514:
if ( ++p == pe )
- goto _test_eof1466;
-case 1466:
+ goto _test_eof1514;
+case 1514:
goto st0;
-tr3110:
+tr3179:
{
s->buffer_length = 0;
}
- goto st1039;
-tr3123:
+ goto st1081;
+tr3192:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1039;
-tr3254:
+ goto st1081;
+tr3323:
{
rdata_tail += s->dname_tmp_length;
}
{
s->buffer_length = 0;
}
- goto st1039;
-tr3165:
+ goto st1081;
+tr3234:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -80995,20 +82837,20 @@ tr3165:
{
s->buffer_length = 0;
}
- goto st1039;
-tr3210:
+ goto st1081;
+tr3279:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -81016,11 +82858,11 @@ tr3210:
{
s->buffer_length = 0;
}
- goto st1039;
-st1039:
+ goto st1081;
+st1081:
if ( ++p == pe )
- goto _test_eof1039;
-case 1039:
+ goto _test_eof1081;
+case 1081:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -81046,34 +82888,34 @@ case 1039:
s->number64 != 0 ) _widec += 512;
}
if ( _widec == 5130 )
- goto tr3124;
+ goto tr3193;
if ( 4992 <= _widec && _widec <= 5247 )
- goto tr3123;
- goto tr3121;
-tr3103:
+ goto tr3192;
+ goto tr3190;
+tr3172:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1040;
-tr3104:
+ goto st1082;
+tr3173:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1040;
-tr3113:
+ goto st1082;
+tr3182:
{
s->line_counter++;
}
- goto st1040;
-tr3126:
+ goto st1082;
+tr3195:
{
s->buffer[s->buffer_length++] = 0;
@@ -81083,100 +82925,100 @@ tr3126:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1040; goto _out;}
+ {p++; cs = 1082; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1040;
-tr3157:
+ goto st1082;
+tr3226:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
}
- goto st1040;
-tr3202:
+ goto st1082;
+tr3271:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
}
- goto st1040;
-tr3246:
+ goto st1082;
+tr3315:
{
rdata_tail += s->dname_tmp_length;
}
- goto st1040;
-tr3247:
+ goto st1082;
+tr3316:
{
rdata_tail += s->dname_tmp_length;
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1040;
-tr3248:
+ goto st1082;
+tr3317:
{
rdata_tail += s->dname_tmp_length;
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1040;
-tr3257:
+ goto st1082;
+tr3326:
{
rdata_tail += s->dname_tmp_length;
}
{
s->line_counter++;
}
- goto st1040;
-tr3158:
+ goto st1082;
+tr3227:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -81184,24 +83026,24 @@ tr3158:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1040;
-tr3159:
+ goto st1082;
+tr3228:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -81209,24 +83051,24 @@ tr3159:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1040;
-tr3168:
+ goto st1082;
+tr3237:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -81234,20 +83076,20 @@ tr3168:
{
s->line_counter++;
}
- goto st1040;
-tr3203:
+ goto st1082;
+tr3272:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -81255,24 +83097,24 @@ tr3203:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1040;
-tr3204:
+ goto st1082;
+tr3273:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -81280,24 +83122,24 @@ tr3204:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1040;
-tr3213:
+ goto st1082;
+tr3282:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -81305,11 +83147,11 @@ tr3213:
{
s->line_counter++;
}
- goto st1040;
-st1040:
+ goto st1082;
+st1082:
if ( ++p == pe )
- goto _test_eof1040;
-case 1040:
+ goto _test_eof1082;
+case 1082:
_widec = (*p);
if ( (*p) < 32 ) {
if ( (*p) > 9 ) {
@@ -81355,55 +83197,55 @@ case 1040:
s->number64 == 0 ) _widec += 256;
}
switch( _widec ) {
- case 5641: goto st1040;
- case 5664: goto st1040;
- case 5672: goto tr3103;
- case 5673: goto tr3104;
- case 14602: goto tr3108;
- case 14651: goto tr3108;
- case 14858: goto tr3108;
- case 14907: goto tr3108;
- case 15370: goto tr3113;
- case 15419: goto tr3114;
- case 15626: goto tr3108;
- case 15675: goto tr3108;
- case 15882: goto tr3115;
- case 15931: goto tr3116;
- }
- goto tr3121;
-tr3114:
+ case 5641: goto st1082;
+ case 5664: goto st1082;
+ case 5672: goto tr3172;
+ case 5673: goto tr3173;
+ case 14602: goto tr3177;
+ case 14651: goto tr3177;
+ case 14858: goto tr3177;
+ case 14907: goto tr3177;
+ case 15370: goto tr3182;
+ case 15419: goto tr3183;
+ case 15626: goto tr3177;
+ case 15675: goto tr3177;
+ case 15882: goto tr3184;
+ case 15931: goto tr3185;
+ }
+ goto tr3190;
+tr3183:
{
s->buffer_length = 0;
}
- goto st1041;
-tr3125:
+ goto st1083;
+tr3194:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1041;
-tr3258:
+ goto st1083;
+tr3327:
{
rdata_tail += s->dname_tmp_length;
}
{
s->buffer_length = 0;
}
- goto st1041;
-tr3169:
+ goto st1083;
+tr3238:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -81411,20 +83253,20 @@ tr3169:
{
s->buffer_length = 0;
}
- goto st1041;
-tr3214:
+ goto st1083;
+tr3283:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -81432,11 +83274,11 @@ tr3214:
{
s->buffer_length = 0;
}
- goto st1041;
-st1041:
+ goto st1083;
+st1083:
if ( ++p == pe )
- goto _test_eof1041;
-case 1041:
+ goto _test_eof1083;
+case 1083:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -81462,31 +83304,31 @@ case 1041:
s->number64 == 0 ) _widec += 512;
}
if ( _widec == 6666 )
- goto tr3126;
+ goto tr3195;
if ( 6528 <= _widec && _widec <= 6783 )
- goto tr3125;
- goto tr3121;
-tr3115:
+ goto tr3194;
+ goto tr3190;
+tr3184:
{
s->line_counter++;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1467;
-tr3170:
+ goto st1515;
+tr3239:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -81497,20 +83339,20 @@ tr3170:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1467;
-tr3215:
+ goto st1515;
+tr3284:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -81521,8 +83363,8 @@ tr3215:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1467;
-tr3259:
+ goto st1515;
+tr3328:
{
rdata_tail += s->dname_tmp_length;
}
@@ -81532,11 +83374,11 @@ tr3259:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1467;
-st1467:
+ goto st1515;
+st1515:
if ( ++p == pe )
- goto _test_eof1467;
-case 1467:
+ goto _test_eof1515;
+case 1515:
_widec = (*p);
if ( (*p) < 32 ) {
if ( (*p) > 9 ) {
@@ -81582,43 +83424,43 @@ case 1467:
s->number64 == 0 ) _widec += 256;
}
switch( _widec ) {
- case 5641: goto st1040;
- case 5664: goto st1040;
- case 5672: goto tr3103;
- case 5673: goto tr3104;
- case 14602: goto tr3108;
- case 14651: goto tr3108;
- case 14858: goto tr3108;
- case 14907: goto tr3108;
- case 15370: goto tr3113;
- case 15419: goto tr3114;
- case 15626: goto tr3108;
- case 15675: goto tr3108;
- case 15882: goto tr3115;
- case 15931: goto tr3116;
- }
- goto tr3121;
-tr3116:
+ case 5641: goto st1082;
+ case 5664: goto st1082;
+ case 5672: goto tr3172;
+ case 5673: goto tr3173;
+ case 14602: goto tr3177;
+ case 14651: goto tr3177;
+ case 14858: goto tr3177;
+ case 14907: goto tr3177;
+ case 15370: goto tr3182;
+ case 15419: goto tr3183;
+ case 15626: goto tr3177;
+ case 15675: goto tr3177;
+ case 15882: goto tr3184;
+ case 15931: goto tr3185;
+ }
+ goto tr3190;
+tr3185:
{
s->buffer_length = 0;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1468;
-tr3171:
+ goto st1516;
+tr3240:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -81629,20 +83471,20 @@ tr3171:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1468;
-tr3216:
+ goto st1516;
+tr3285:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -81653,8 +83495,8 @@ tr3216:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1468;
-tr3260:
+ goto st1516;
+tr3329:
{
rdata_tail += s->dname_tmp_length;
}
@@ -81664,11 +83506,11 @@ tr3260:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1468;
-st1468:
+ goto st1516;
+st1516:
if ( ++p == pe )
- goto _test_eof1468;
-case 1468:
+ goto _test_eof1516;
+case 1516:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -81694,34 +83536,34 @@ case 1468:
s->number64 == 0 ) _widec += 512;
}
if ( _widec == 6666 )
- goto tr3126;
+ goto tr3195;
if ( 6528 <= _widec && _widec <= 6783 )
- goto tr3125;
- goto tr3121;
-tr3106:
+ goto tr3194;
+ goto tr3190;
+tr3175:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1042;
-tr3107:
+ goto st1084;
+tr3176:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1042;
-tr3117:
+ goto st1084;
+tr3186:
{
s->line_counter++;
}
- goto st1042;
-tr3128:
+ goto st1084;
+tr3197:
{
s->buffer[s->buffer_length++] = 0;
@@ -81731,100 +83573,100 @@ tr3128:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1042; goto _out;}
+ {p++; cs = 1084; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1042;
-tr3160:
+ goto st1084;
+tr3229:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
}
- goto st1042;
-tr3205:
+ goto st1084;
+tr3274:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
}
- goto st1042;
-tr3249:
+ goto st1084;
+tr3318:
{
rdata_tail += s->dname_tmp_length;
}
- goto st1042;
-tr3250:
+ goto st1084;
+tr3319:
{
rdata_tail += s->dname_tmp_length;
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1042;
-tr3251:
+ goto st1084;
+tr3320:
{
rdata_tail += s->dname_tmp_length;
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1042;
-tr3261:
+ goto st1084;
+tr3330:
{
rdata_tail += s->dname_tmp_length;
}
{
s->line_counter++;
}
- goto st1042;
-tr3161:
+ goto st1084;
+tr3230:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -81832,24 +83674,24 @@ tr3161:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1042;
-tr3162:
+ goto st1084;
+tr3231:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -81857,24 +83699,24 @@ tr3162:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1042;
-tr3172:
+ goto st1084;
+tr3241:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -81882,20 +83724,20 @@ tr3172:
{
s->line_counter++;
}
- goto st1042;
-tr3206:
+ goto st1084;
+tr3275:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -81903,24 +83745,24 @@ tr3206:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1042;
-tr3207:
+ goto st1084;
+tr3276:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -81928,24 +83770,24 @@ tr3207:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1042;
-tr3217:
+ goto st1084;
+tr3286:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -81953,11 +83795,11 @@ tr3217:
{
s->line_counter++;
}
- goto st1042;
-st1042:
+ goto st1084;
+st1084:
if ( ++p == pe )
- goto _test_eof1042;
-case 1042:
+ goto _test_eof1084;
+case 1084:
_widec = (*p);
if ( (*p) < 43 ) {
if ( (*p) < 32 ) {
@@ -82045,72 +83887,72 @@ case 1042:
s->number64 != 0 ) _widec += 256;
}
switch( _widec ) {
- case 4139: goto tr3122;
- case 7177: goto st1037;
- case 7200: goto st1037;
- case 7208: goto tr3100;
- case 7209: goto tr3101;
- case 7433: goto st1040;
- case 7456: goto st1040;
- case 7464: goto tr3103;
- case 7465: goto tr3104;
- case 7689: goto st1042;
- case 7712: goto st1042;
- case 7720: goto tr3106;
- case 7721: goto tr3107;
- case 10506: goto tr3108;
- case 10555: goto tr3108;
- case 10762: goto tr3108;
- case 10811: goto tr3108;
- case 11274: goto tr3109;
- case 11323: goto tr3110;
- case 11530: goto tr3108;
- case 11579: goto tr3108;
- case 11786: goto tr3111;
- case 11835: goto tr3112;
- case 12298: goto tr3113;
- case 12347: goto tr3114;
- case 12554: goto tr3108;
- case 12603: goto tr3108;
- case 12810: goto tr3115;
- case 12859: goto tr3116;
- case 13322: goto tr3117;
- case 13371: goto tr3118;
- case 13578: goto tr3108;
- case 13627: goto tr3108;
- case 13834: goto tr3119;
- case 13883: goto tr3120;
+ case 4139: goto tr3191;
+ case 7177: goto st1079;
+ case 7200: goto st1079;
+ case 7208: goto tr3169;
+ case 7209: goto tr3170;
+ case 7433: goto st1082;
+ case 7456: goto st1082;
+ case 7464: goto tr3172;
+ case 7465: goto tr3173;
+ case 7689: goto st1084;
+ case 7712: goto st1084;
+ case 7720: goto tr3175;
+ case 7721: goto tr3176;
+ case 10506: goto tr3177;
+ case 10555: goto tr3177;
+ case 10762: goto tr3177;
+ case 10811: goto tr3177;
+ case 11274: goto tr3178;
+ case 11323: goto tr3179;
+ case 11530: goto tr3177;
+ case 11579: goto tr3177;
+ case 11786: goto tr3180;
+ case 11835: goto tr3181;
+ case 12298: goto tr3182;
+ case 12347: goto tr3183;
+ case 12554: goto tr3177;
+ case 12603: goto tr3177;
+ case 12810: goto tr3184;
+ case 12859: goto tr3185;
+ case 13322: goto tr3186;
+ case 13371: goto tr3187;
+ case 13578: goto tr3177;
+ case 13627: goto tr3177;
+ case 13834: goto tr3188;
+ case 13883: goto tr3189;
}
if ( _widec < 4161 ) {
if ( 4143 <= _widec && _widec <= 4153 )
- goto tr3122;
+ goto tr3191;
} else if ( _widec > 4186 ) {
if ( 4193 <= _widec && _widec <= 4218 )
- goto tr3122;
+ goto tr3191;
} else
- goto tr3122;
- goto tr3121;
-tr3111:
+ goto tr3191;
+ goto tr3190;
+tr3180:
{
s->line_counter++;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1469;
-tr3166:
+ goto st1517;
+tr3235:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -82121,20 +83963,20 @@ tr3166:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1469;
-tr3211:
+ goto st1517;
+tr3280:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -82145,8 +83987,8 @@ tr3211:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1469;
-tr3255:
+ goto st1517;
+tr3324:
{
rdata_tail += s->dname_tmp_length;
}
@@ -82156,11 +83998,11 @@ tr3255:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1469;
-st1469:
+ goto st1517;
+st1517:
if ( ++p == pe )
- goto _test_eof1469;
-case 1469:
+ goto _test_eof1517;
+case 1517:
_widec = (*p);
if ( (*p) < 43 ) {
if ( (*p) < 32 ) {
@@ -82232,44 +84074,44 @@ case 1469:
s->number64 != 0 ) _widec += 256;
}
switch( _widec ) {
- case 4105: goto st1037;
- case 4128: goto st1037;
- case 4136: goto tr3100;
- case 4137: goto tr3101;
- case 4139: goto tr3122;
- case 5130: goto tr3109;
- case 5179: goto tr3110;
+ case 4105: goto st1079;
+ case 4128: goto st1079;
+ case 4136: goto tr3169;
+ case 4137: goto tr3170;
+ case 4139: goto tr3191;
+ case 5130: goto tr3178;
+ case 5179: goto tr3179;
}
if ( _widec < 4161 ) {
if ( 4143 <= _widec && _widec <= 4153 )
- goto tr3122;
+ goto tr3191;
} else if ( _widec > 4186 ) {
if ( 4193 <= _widec && _widec <= 4218 )
- goto tr3122;
+ goto tr3191;
} else
- goto tr3122;
- goto tr3121;
-tr3112:
+ goto tr3191;
+ goto tr3190;
+tr3181:
{
s->buffer_length = 0;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1470;
-tr3167:
+ goto st1518;
+tr3236:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -82280,20 +84122,20 @@ tr3167:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1470;
-tr3212:
+ goto st1518;
+tr3281:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -82304,8 +84146,8 @@ tr3212:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1470;
-tr3256:
+ goto st1518;
+tr3325:
{
rdata_tail += s->dname_tmp_length;
}
@@ -82315,11 +84157,11 @@ tr3256:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1470;
-st1470:
+ goto st1518;
+st1518:
if ( ++p == pe )
- goto _test_eof1470;
-case 1470:
+ goto _test_eof1518;
+case 1518:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -82345,43 +84187,43 @@ case 1470:
s->number64 != 0 ) _widec += 512;
}
if ( _widec == 5130 )
- goto tr3124;
+ goto tr3193;
if ( 4992 <= _widec && _widec <= 5247 )
- goto tr3123;
- goto tr3121;
-tr3118:
+ goto tr3192;
+ goto tr3190;
+tr3187:
{
s->buffer_length = 0;
}
- goto st1043;
-tr3127:
+ goto st1085;
+tr3196:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1043;
-tr3262:
+ goto st1085;
+tr3331:
{
rdata_tail += s->dname_tmp_length;
}
{
s->buffer_length = 0;
}
- goto st1043;
-tr3173:
+ goto st1085;
+tr3242:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -82389,20 +84231,20 @@ tr3173:
{
s->buffer_length = 0;
}
- goto st1043;
-tr3218:
+ goto st1085;
+tr3287:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -82410,11 +84252,11 @@ tr3218:
{
s->buffer_length = 0;
}
- goto st1043;
-st1043:
+ goto st1085;
+st1085:
if ( ++p == pe )
- goto _test_eof1043;
-case 1043:
+ goto _test_eof1085;
+case 1085:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -82446,40 +84288,40 @@ case 1043:
s->number64 == 0 ) _widec += 1024;
}
switch( _widec ) {
- case 8714: goto tr3124;
- case 9226: goto tr3126;
- case 9738: goto tr3128;
+ case 8714: goto tr3193;
+ case 9226: goto tr3195;
+ case 9738: goto tr3197;
}
if ( _widec < 9088 ) {
if ( 8576 <= _widec && _widec <= 8831 )
- goto tr3123;
+ goto tr3192;
} else if ( _widec > 9343 ) {
if ( 9600 <= _widec && _widec <= 9855 )
- goto tr3127;
+ goto tr3196;
} else
- goto tr3125;
- goto tr3121;
-tr3119:
+ goto tr3194;
+ goto tr3190;
+tr3188:
{
s->line_counter++;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1471;
-tr3174:
+ goto st1519;
+tr3243:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -82490,20 +84332,20 @@ tr3174:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1471;
-tr3219:
+ goto st1519;
+tr3288:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -82514,8 +84356,8 @@ tr3219:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1471;
-tr3263:
+ goto st1519;
+tr3332:
{
rdata_tail += s->dname_tmp_length;
}
@@ -82525,11 +84367,11 @@ tr3263:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1471;
-st1471:
+ goto st1519;
+st1519:
if ( ++p == pe )
- goto _test_eof1471;
-case 1471:
+ goto _test_eof1519;
+case 1519:
_widec = (*p);
if ( (*p) < 43 ) {
if ( (*p) < 32 ) {
@@ -82617,72 +84459,72 @@ case 1471:
s->number64 != 0 ) _widec += 256;
}
switch( _widec ) {
- case 4139: goto tr3122;
- case 7177: goto st1037;
- case 7200: goto st1037;
- case 7208: goto tr3100;
- case 7209: goto tr3101;
- case 7433: goto st1040;
- case 7456: goto st1040;
- case 7464: goto tr3103;
- case 7465: goto tr3104;
- case 7689: goto st1042;
- case 7712: goto st1042;
- case 7720: goto tr3106;
- case 7721: goto tr3107;
- case 10506: goto tr3108;
- case 10555: goto tr3108;
- case 10762: goto tr3108;
- case 10811: goto tr3108;
- case 11274: goto tr3109;
- case 11323: goto tr3110;
- case 11530: goto tr3108;
- case 11579: goto tr3108;
- case 11786: goto tr3111;
- case 11835: goto tr3112;
- case 12298: goto tr3113;
- case 12347: goto tr3114;
- case 12554: goto tr3108;
- case 12603: goto tr3108;
- case 12810: goto tr3115;
- case 12859: goto tr3116;
- case 13322: goto tr3117;
- case 13371: goto tr3118;
- case 13578: goto tr3108;
- case 13627: goto tr3108;
- case 13834: goto tr3119;
- case 13883: goto tr3120;
+ case 4139: goto tr3191;
+ case 7177: goto st1079;
+ case 7200: goto st1079;
+ case 7208: goto tr3169;
+ case 7209: goto tr3170;
+ case 7433: goto st1082;
+ case 7456: goto st1082;
+ case 7464: goto tr3172;
+ case 7465: goto tr3173;
+ case 7689: goto st1084;
+ case 7712: goto st1084;
+ case 7720: goto tr3175;
+ case 7721: goto tr3176;
+ case 10506: goto tr3177;
+ case 10555: goto tr3177;
+ case 10762: goto tr3177;
+ case 10811: goto tr3177;
+ case 11274: goto tr3178;
+ case 11323: goto tr3179;
+ case 11530: goto tr3177;
+ case 11579: goto tr3177;
+ case 11786: goto tr3180;
+ case 11835: goto tr3181;
+ case 12298: goto tr3182;
+ case 12347: goto tr3183;
+ case 12554: goto tr3177;
+ case 12603: goto tr3177;
+ case 12810: goto tr3184;
+ case 12859: goto tr3185;
+ case 13322: goto tr3186;
+ case 13371: goto tr3187;
+ case 13578: goto tr3177;
+ case 13627: goto tr3177;
+ case 13834: goto tr3188;
+ case 13883: goto tr3189;
}
if ( _widec < 4161 ) {
if ( 4143 <= _widec && _widec <= 4153 )
- goto tr3122;
+ goto tr3191;
} else if ( _widec > 4186 ) {
if ( 4193 <= _widec && _widec <= 4218 )
- goto tr3122;
+ goto tr3191;
} else
- goto tr3122;
- goto tr3121;
-tr3120:
+ goto tr3191;
+ goto tr3190;
+tr3189:
{
s->buffer_length = 0;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1472;
-tr3175:
+ goto st1520;
+tr3244:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -82693,20 +84535,20 @@ tr3175:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1472;
-tr3220:
+ goto st1520;
+tr3289:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -82717,8 +84559,8 @@ tr3220:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1472;
-tr3264:
+ goto st1520;
+tr3333:
{
rdata_tail += s->dname_tmp_length;
}
@@ -82728,11 +84570,11 @@ tr3264:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1472;
-st1472:
+ goto st1520;
+st1520:
if ( ++p == pe )
- goto _test_eof1472;
-case 1472:
+ goto _test_eof1520;
+case 1520:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -82764,49 +84606,49 @@ case 1472:
s->number64 == 0 ) _widec += 1024;
}
switch( _widec ) {
- case 8714: goto tr3124;
- case 9226: goto tr3126;
- case 9738: goto tr3128;
+ case 8714: goto tr3193;
+ case 9226: goto tr3195;
+ case 9738: goto tr3197;
}
if ( _widec < 9088 ) {
if ( 8576 <= _widec && _widec <= 8831 )
- goto tr3123;
+ goto tr3192;
} else if ( _widec > 9343 ) {
if ( 9600 <= _widec && _widec <= 9855 )
- goto tr3127;
+ goto tr3196;
} else
- goto tr3125;
- goto tr3121;
-tr3097:
+ goto tr3194;
+ goto tr3190;
+tr3166:
{
s->buffer_length = 0;
}
- goto st1044;
-tr3129:
+ goto st1086;
+tr3198:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1044;
-tr3091:
+ goto st1086;
+tr3160:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1044;
-st1044:
+ goto st1086;
+st1086:
if ( ++p == pe )
- goto _test_eof1044;
-case 1044:
+ goto _test_eof1086;
+case 1086:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -82826,26 +84668,26 @@ case 1044:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3130;
+ goto tr3199;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3129;
- goto tr3069;
-tr3083:
+ goto tr3198;
+ goto tr3138;
+tr3152:
{
s->buffer_length = 0;
}
- goto st1045;
-tr3131:
+ goto st1087;
+tr3200:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1045;
-st1045:
+ goto st1087;
+st1087:
if ( ++p == pe )
- goto _test_eof1045;
-case 1045:
+ goto _test_eof1087;
+case 1087:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -82865,19 +84707,19 @@ case 1045:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3132;
+ goto tr3201;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3131;
- goto tr3069;
-tr3074:
+ goto tr3200;
+ goto tr3138;
+tr3143:
{
*(rdata_tail++) = 1;
}
- goto st1046;
-st1046:
+ goto st1088;
+st1088:
if ( ++p == pe )
- goto _test_eof1046;
-case 1046:
+ goto _test_eof1088;
+case 1088:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -82891,38 +84733,38 @@ case 1046:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1047;
- case 32: goto st1047;
- case 40: goto tr3134;
- case 41: goto tr3135;
- case 2058: goto tr3136;
- case 2107: goto tr3137;
+ case 9: goto st1089;
+ case 32: goto st1089;
+ case 40: goto tr3203;
+ case 41: goto tr3204;
+ case 2058: goto tr3205;
+ case 2107: goto tr3206;
}
- goto tr3069;
-tr3134:
+ goto tr3138;
+tr3203:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1047;
-tr3135:
+ goto st1089;
+tr3204:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1047;
-tr3136:
+ goto st1089;
+tr3205:
{
s->line_counter++;
}
- goto st1047;
-tr3179:
+ goto st1089;
+tr3248:
{
s->buffer[s->buffer_length++] = 0;
@@ -82932,18 +84774,18 @@ tr3179:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1047; goto _out;}
+ {p++; cs = 1089; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1047;
-st1047:
+ goto st1089;
+st1089:
if ( ++p == pe )
- goto _test_eof1047;
-case 1047:
+ goto _test_eof1089;
+case 1089:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -82957,17 +84799,17 @@ case 1047:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1047;
- case 32: goto st1047;
- case 40: goto tr3134;
- case 41: goto tr3135;
- case 2058: goto tr3136;
- case 2107: goto tr3137;
+ case 9: goto st1089;
+ case 32: goto st1089;
+ case 40: goto tr3203;
+ case 41: goto tr3204;
+ case 2058: goto tr3205;
+ case 2107: goto tr3206;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3138;
- goto tr3084;
-tr3138:
+ goto tr3207;
+ goto tr3153;
+tr3207:
{
s->number64 = 0;
}
@@ -82982,11 +84824,11 @@ tr3138:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1048;
-tr3142:
+ goto st1090;
+tr3211:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -82998,14 +84840,14 @@ tr3142:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1048;
-st1048:
+ goto st1090;
+st1090:
if ( ++p == pe )
- goto _test_eof1048;
-case 1048:
+ goto _test_eof1090;
+case 1090:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -83019,40 +84861,40 @@ case 1048:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3139;
- case 32: goto tr3139;
- case 40: goto tr3140;
- case 41: goto tr3141;
- case 2058: goto tr3143;
- case 2107: goto tr3144;
+ case 9: goto tr3208;
+ case 32: goto tr3208;
+ case 40: goto tr3209;
+ case 41: goto tr3210;
+ case 2058: goto tr3212;
+ case 2107: goto tr3213;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3142;
- goto tr3084;
-tr3147:
+ goto tr3211;
+ goto tr3153;
+tr3216:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1049;
-tr3148:
+ goto st1091;
+tr3217:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1049;
-tr3150:
+ goto st1091;
+tr3219:
{
s->line_counter++;
}
- goto st1049;
-tr3177:
+ goto st1091;
+tr3246:
{
s->buffer[s->buffer_length++] = 0;
@@ -83062,79 +84904,79 @@ tr3177:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1049; goto _out;}
+ {p++; cs = 1091; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1049;
-tr3139:
+ goto st1091;
+tr3208:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1049;
-tr3140:
+ goto st1091;
+tr3209:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1049;
-tr3141:
+ goto st1091;
+tr3210:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1049;
-tr3143:
+ goto st1091;
+tr3212:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1049;
-st1049:
+ goto st1091;
+st1091:
if ( ++p == pe )
- goto _test_eof1049;
-case 1049:
+ goto _test_eof1091;
+case 1091:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -83148,28 +84990,28 @@ case 1049:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1049;
- case 32: goto st1049;
- case 40: goto tr3147;
- case 41: goto tr3148;
- case 46: goto tr3149;
- case 2058: goto tr3150;
- case 2107: goto tr3151;
+ case 9: goto st1091;
+ case 32: goto st1091;
+ case 40: goto tr3216;
+ case 41: goto tr3217;
+ case 46: goto tr3218;
+ case 2058: goto tr3219;
+ case 2107: goto tr3220;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3149;
- goto tr3145;
-tr3153:
+ goto tr3218;
+ goto tr3214;
+tr3222:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1050;
-tr3149:
+ goto st1092;
+tr3218:
{
s->buffer_length = 0;
}
@@ -83178,14 +85020,14 @@ tr3149:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1050;
-st1050:
+ goto st1092;
+st1092:
if ( ++p == pe )
- goto _test_eof1050;
-case 1050:
+ goto _test_eof1092;
+case 1092:
_widec = (*p);
if ( (*p) < 32 ) {
if ( (*p) > 9 ) {
@@ -83243,75 +85085,75 @@ case 1050:
s->number64 == 0 ) _widec += 512;
}
switch( _widec ) {
- case 46: goto tr3153;
- case 7177: goto tr3154;
- case 7200: goto tr3154;
- case 7208: goto tr3155;
- case 7209: goto tr3156;
- case 7433: goto tr3157;
- case 7456: goto tr3157;
- case 7464: goto tr3158;
- case 7465: goto tr3159;
- case 7689: goto tr3160;
- case 7712: goto tr3160;
- case 7720: goto tr3161;
- case 7721: goto tr3162;
- case 10506: goto tr3163;
- case 10555: goto tr3163;
- case 10762: goto tr3163;
- case 10811: goto tr3163;
- case 11274: goto tr3164;
- case 11323: goto tr3165;
- case 11530: goto tr3163;
- case 11579: goto tr3163;
- case 11786: goto tr3166;
- case 11835: goto tr3167;
- case 12298: goto tr3168;
- case 12347: goto tr3169;
- case 12554: goto tr3163;
- case 12603: goto tr3163;
- case 12810: goto tr3170;
- case 12859: goto tr3171;
- case 13322: goto tr3172;
- case 13371: goto tr3173;
- case 13578: goto tr3163;
- case 13627: goto tr3163;
- case 13834: goto tr3174;
- case 13883: goto tr3175;
+ case 46: goto tr3222;
+ case 7177: goto tr3223;
+ case 7200: goto tr3223;
+ case 7208: goto tr3224;
+ case 7209: goto tr3225;
+ case 7433: goto tr3226;
+ case 7456: goto tr3226;
+ case 7464: goto tr3227;
+ case 7465: goto tr3228;
+ case 7689: goto tr3229;
+ case 7712: goto tr3229;
+ case 7720: goto tr3230;
+ case 7721: goto tr3231;
+ case 10506: goto tr3232;
+ case 10555: goto tr3232;
+ case 10762: goto tr3232;
+ case 10811: goto tr3232;
+ case 11274: goto tr3233;
+ case 11323: goto tr3234;
+ case 11530: goto tr3232;
+ case 11579: goto tr3232;
+ case 11786: goto tr3235;
+ case 11835: goto tr3236;
+ case 12298: goto tr3237;
+ case 12347: goto tr3238;
+ case 12554: goto tr3232;
+ case 12603: goto tr3232;
+ case 12810: goto tr3239;
+ case 12859: goto tr3240;
+ case 13322: goto tr3241;
+ case 13371: goto tr3242;
+ case 13578: goto tr3232;
+ case 13627: goto tr3232;
+ case 13834: goto tr3243;
+ case 13883: goto tr3244;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3153;
- goto tr3152;
-tr3151:
+ goto tr3222;
+ goto tr3221;
+tr3220:
{
s->buffer_length = 0;
}
- goto st1051;
-tr3176:
+ goto st1093;
+tr3245:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1051;
-tr3144:
+ goto st1093;
+tr3213:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1051;
-st1051:
+ goto st1093;
+st1093:
if ( ++p == pe )
- goto _test_eof1051;
-case 1051:
+ goto _test_eof1093;
+case 1093:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -83331,26 +85173,26 @@ case 1051:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3177;
+ goto tr3246;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3176;
- goto tr3069;
-tr3137:
+ goto tr3245;
+ goto tr3138;
+tr3206:
{
s->buffer_length = 0;
}
- goto st1052;
-tr3178:
+ goto st1094;
+tr3247:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1052;
-st1052:
+ goto st1094;
+st1094:
if ( ++p == pe )
- goto _test_eof1052;
-case 1052:
+ goto _test_eof1094;
+case 1094:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -83370,19 +85212,19 @@ case 1052:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3179;
+ goto tr3248;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3178;
- goto tr3069;
-tr3075:
+ goto tr3247;
+ goto tr3138;
+tr3144:
{
*(rdata_tail++) = 2;
}
- goto st1053;
-st1053:
+ goto st1095;
+st1095:
if ( ++p == pe )
- goto _test_eof1053;
-case 1053:
+ goto _test_eof1095;
+case 1095:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -83396,38 +85238,38 @@ case 1053:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1054;
- case 32: goto st1054;
- case 40: goto tr3181;
- case 41: goto tr3182;
- case 2058: goto tr3183;
- case 2107: goto tr3184;
+ case 9: goto st1096;
+ case 32: goto st1096;
+ case 40: goto tr3250;
+ case 41: goto tr3251;
+ case 2058: goto tr3252;
+ case 2107: goto tr3253;
}
- goto tr3069;
-tr3181:
+ goto tr3138;
+tr3250:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1054;
-tr3182:
+ goto st1096;
+tr3251:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1054;
-tr3183:
+ goto st1096;
+tr3252:
{
s->line_counter++;
}
- goto st1054;
-tr3224:
+ goto st1096;
+tr3293:
{
s->buffer[s->buffer_length++] = 0;
@@ -83437,18 +85279,18 @@ tr3224:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1054; goto _out;}
+ {p++; cs = 1096; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1054;
-st1054:
+ goto st1096;
+st1096:
if ( ++p == pe )
- goto _test_eof1054;
-case 1054:
+ goto _test_eof1096;
+case 1096:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -83462,17 +85304,17 @@ case 1054:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1054;
- case 32: goto st1054;
- case 40: goto tr3181;
- case 41: goto tr3182;
- case 2058: goto tr3183;
- case 2107: goto tr3184;
+ case 9: goto st1096;
+ case 32: goto st1096;
+ case 40: goto tr3250;
+ case 41: goto tr3251;
+ case 2058: goto tr3252;
+ case 2107: goto tr3253;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3185;
- goto tr3084;
-tr3185:
+ goto tr3254;
+ goto tr3153;
+tr3254:
{
s->number64 = 0;
}
@@ -83487,11 +85329,11 @@ tr3185:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1055;
-tr3189:
+ goto st1097;
+tr3258:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -83503,14 +85345,14 @@ tr3189:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1055;
-st1055:
+ goto st1097;
+st1097:
if ( ++p == pe )
- goto _test_eof1055;
-case 1055:
+ goto _test_eof1097;
+case 1097:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -83524,40 +85366,40 @@ case 1055:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3186;
- case 32: goto tr3186;
- case 40: goto tr3187;
- case 41: goto tr3188;
- case 2058: goto tr3190;
- case 2107: goto tr3191;
+ case 9: goto tr3255;
+ case 32: goto tr3255;
+ case 40: goto tr3256;
+ case 41: goto tr3257;
+ case 2058: goto tr3259;
+ case 2107: goto tr3260;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3189;
- goto tr3084;
-tr3193:
+ goto tr3258;
+ goto tr3153;
+tr3262:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1056;
-tr3194:
+ goto st1098;
+tr3263:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1056;
-tr3196:
+ goto st1098;
+tr3265:
{
s->line_counter++;
}
- goto st1056;
-tr3222:
+ goto st1098;
+tr3291:
{
s->buffer[s->buffer_length++] = 0;
@@ -83567,79 +85409,79 @@ tr3222:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1056; goto _out;}
+ {p++; cs = 1098; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1056;
-tr3186:
+ goto st1098;
+tr3255:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1056;
-tr3187:
+ goto st1098;
+tr3256:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1056;
-tr3188:
+ goto st1098;
+tr3257:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1056;
-tr3190:
+ goto st1098;
+tr3259:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1056;
-st1056:
+ goto st1098;
+st1098:
if ( ++p == pe )
- goto _test_eof1056;
-case 1056:
+ goto _test_eof1098;
+case 1098:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -83653,34 +85495,34 @@ case 1056:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1056;
- case 32: goto st1056;
- case 40: goto tr3193;
- case 41: goto tr3194;
- case 46: goto tr3195;
- case 2058: goto tr3196;
- case 2107: goto tr3197;
+ case 9: goto st1098;
+ case 32: goto st1098;
+ case 40: goto tr3262;
+ case 41: goto tr3263;
+ case 46: goto tr3264;
+ case 2058: goto tr3265;
+ case 2107: goto tr3266;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 58 )
- goto tr3195;
+ goto tr3264;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr3195;
+ goto tr3264;
} else
- goto tr3195;
- goto tr3145;
-tr3198:
+ goto tr3264;
+ goto tr3214;
+tr3267:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1057;
-tr3195:
+ goto st1099;
+tr3264:
{
s->buffer_length = 0;
}
@@ -83689,14 +85531,14 @@ tr3195:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1057;
-st1057:
+ goto st1099;
+st1099:
if ( ++p == pe )
- goto _test_eof1057;
-case 1057:
+ goto _test_eof1099;
+case 1099:
_widec = (*p);
if ( (*p) < 32 ) {
if ( (*p) > 9 ) {
@@ -83754,81 +85596,81 @@ case 1057:
s->number64 == 0 ) _widec += 512;
}
switch( _widec ) {
- case 46: goto tr3198;
- case 7177: goto tr3199;
- case 7200: goto tr3199;
- case 7208: goto tr3200;
- case 7209: goto tr3201;
- case 7433: goto tr3202;
- case 7456: goto tr3202;
- case 7464: goto tr3203;
- case 7465: goto tr3204;
- case 7689: goto tr3205;
- case 7712: goto tr3205;
- case 7720: goto tr3206;
- case 7721: goto tr3207;
- case 10506: goto tr3208;
- case 10555: goto tr3208;
- case 10762: goto tr3208;
- case 10811: goto tr3208;
- case 11274: goto tr3209;
- case 11323: goto tr3210;
- case 11530: goto tr3208;
- case 11579: goto tr3208;
- case 11786: goto tr3211;
- case 11835: goto tr3212;
- case 12298: goto tr3213;
- case 12347: goto tr3214;
- case 12554: goto tr3208;
- case 12603: goto tr3208;
- case 12810: goto tr3215;
- case 12859: goto tr3216;
- case 13322: goto tr3217;
- case 13371: goto tr3218;
- case 13578: goto tr3208;
- case 13627: goto tr3208;
- case 13834: goto tr3219;
- case 13883: goto tr3220;
+ case 46: goto tr3267;
+ case 7177: goto tr3268;
+ case 7200: goto tr3268;
+ case 7208: goto tr3269;
+ case 7209: goto tr3270;
+ case 7433: goto tr3271;
+ case 7456: goto tr3271;
+ case 7464: goto tr3272;
+ case 7465: goto tr3273;
+ case 7689: goto tr3274;
+ case 7712: goto tr3274;
+ case 7720: goto tr3275;
+ case 7721: goto tr3276;
+ case 10506: goto tr3277;
+ case 10555: goto tr3277;
+ case 10762: goto tr3277;
+ case 10811: goto tr3277;
+ case 11274: goto tr3278;
+ case 11323: goto tr3279;
+ case 11530: goto tr3277;
+ case 11579: goto tr3277;
+ case 11786: goto tr3280;
+ case 11835: goto tr3281;
+ case 12298: goto tr3282;
+ case 12347: goto tr3283;
+ case 12554: goto tr3277;
+ case 12603: goto tr3277;
+ case 12810: goto tr3284;
+ case 12859: goto tr3285;
+ case 13322: goto tr3286;
+ case 13371: goto tr3287;
+ case 13578: goto tr3277;
+ case 13627: goto tr3277;
+ case 13834: goto tr3288;
+ case 13883: goto tr3289;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 58 )
- goto tr3198;
+ goto tr3267;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr3198;
+ goto tr3267;
} else
- goto tr3198;
- goto tr3152;
-tr3197:
+ goto tr3267;
+ goto tr3221;
+tr3266:
{
s->buffer_length = 0;
}
- goto st1058;
-tr3221:
+ goto st1100;
+tr3290:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1058;
-tr3191:
+ goto st1100;
+tr3260:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1058;
-st1058:
+ goto st1100;
+st1100:
if ( ++p == pe )
- goto _test_eof1058;
-case 1058:
+ goto _test_eof1100;
+case 1100:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -83848,26 +85690,26 @@ case 1058:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3222;
+ goto tr3291;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3221;
- goto tr3069;
-tr3184:
+ goto tr3290;
+ goto tr3138;
+tr3253:
{
s->buffer_length = 0;
}
- goto st1059;
-tr3223:
+ goto st1101;
+tr3292:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1059;
-st1059:
+ goto st1101;
+st1101:
if ( ++p == pe )
- goto _test_eof1059;
-case 1059:
+ goto _test_eof1101;
+case 1101:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -83887,19 +85729,19 @@ case 1059:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3224;
+ goto tr3293;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3223;
- goto tr3069;
-tr3076:
+ goto tr3292;
+ goto tr3138;
+tr3145:
{
*(rdata_tail++) = 3;
}
- goto st1060;
-st1060:
+ goto st1102;
+st1102:
if ( ++p == pe )
- goto _test_eof1060;
-case 1060:
+ goto _test_eof1102;
+case 1102:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -83913,38 +85755,38 @@ case 1060:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1061;
- case 32: goto st1061;
- case 40: goto tr3226;
- case 41: goto tr3227;
- case 2058: goto tr3228;
- case 2107: goto tr3229;
+ case 9: goto st1103;
+ case 32: goto st1103;
+ case 40: goto tr3295;
+ case 41: goto tr3296;
+ case 2058: goto tr3297;
+ case 2107: goto tr3298;
}
- goto tr3069;
-tr3226:
+ goto tr3138;
+tr3295:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1061;
-tr3227:
+ goto st1103;
+tr3296:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1061;
-tr3228:
+ goto st1103;
+tr3297:
{
s->line_counter++;
}
- goto st1061;
-tr3268:
+ goto st1103;
+tr3337:
{
s->buffer[s->buffer_length++] = 0;
@@ -83954,18 +85796,18 @@ tr3268:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1061; goto _out;}
+ {p++; cs = 1103; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1061;
-st1061:
+ goto st1103;
+st1103:
if ( ++p == pe )
- goto _test_eof1061;
-case 1061:
+ goto _test_eof1103;
+case 1103:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -83979,17 +85821,17 @@ case 1061:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1061;
- case 32: goto st1061;
- case 40: goto tr3226;
- case 41: goto tr3227;
- case 2058: goto tr3228;
- case 2107: goto tr3229;
+ case 9: goto st1103;
+ case 32: goto st1103;
+ case 40: goto tr3295;
+ case 41: goto tr3296;
+ case 2058: goto tr3297;
+ case 2107: goto tr3298;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3230;
- goto tr3084;
-tr3230:
+ goto tr3299;
+ goto tr3153;
+tr3299:
{
s->number64 = 0;
}
@@ -84004,11 +85846,11 @@ tr3230:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1062;
-tr3234:
+ goto st1104;
+tr3303:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -84020,14 +85862,14 @@ tr3234:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1062;
-st1062:
+ goto st1104;
+st1104:
if ( ++p == pe )
- goto _test_eof1062;
-case 1062:
+ goto _test_eof1104;
+case 1104:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -84041,40 +85883,40 @@ case 1062:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3231;
- case 32: goto tr3231;
- case 40: goto tr3232;
- case 41: goto tr3233;
- case 2058: goto tr3235;
- case 2107: goto tr3236;
+ case 9: goto tr3300;
+ case 32: goto tr3300;
+ case 40: goto tr3301;
+ case 41: goto tr3302;
+ case 2058: goto tr3304;
+ case 2107: goto tr3305;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3234;
- goto tr3084;
-tr3238:
+ goto tr3303;
+ goto tr3153;
+tr3307:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1063;
-tr3239:
+ goto st1105;
+tr3308:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1063;
-tr3241:
+ goto st1105;
+tr3310:
{
s->line_counter++;
}
- goto st1063;
-tr3266:
+ goto st1105;
+tr3335:
{
s->buffer[s->buffer_length++] = 0;
@@ -84084,79 +85926,79 @@ tr3266:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1063; goto _out;}
+ {p++; cs = 1105; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1063;
-tr3231:
+ goto st1105;
+tr3300:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1063;
-tr3232:
+ goto st1105;
+tr3301:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1063;
-tr3233:
+ goto st1105;
+tr3302:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1063;
-tr3235:
+ goto st1105;
+tr3304:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1063;
-st1063:
+ goto st1105;
+st1105:
if ( ++p == pe )
- goto _test_eof1063;
-case 1063:
+ goto _test_eof1105;
+case 1105:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -84170,35 +86012,35 @@ case 1063:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1063;
- case 32: goto st1063;
- case 40: goto tr3238;
- case 41: goto tr3239;
- case 42: goto tr3240;
- case 92: goto tr3240;
- case 95: goto tr3240;
- case 2058: goto tr3241;
- case 2107: goto tr3242;
+ case 9: goto st1105;
+ case 32: goto st1105;
+ case 40: goto tr3307;
+ case 41: goto tr3308;
+ case 42: goto tr3309;
+ case 92: goto tr3309;
+ case 95: goto tr3309;
+ case 2058: goto tr3310;
+ case 2107: goto tr3311;
}
if ( _widec < 64 ) {
if ( 45 <= _widec && _widec <= 57 )
- goto tr3240;
+ goto tr3309;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr3240;
+ goto tr3309;
} else
- goto tr3240;
- goto tr3069;
-tr3240:
+ goto tr3309;
+ goto tr3138;
+tr3309:
{
s->dname = rdata_tail;
}
- { p--; {stack[top++] = 1064;goto st309;} }
- goto st1064;
-st1064:
+ { p--; {stack[top++] = 1106;goto st318;} }
+ goto st1106;
+st1106:
if ( ++p == pe )
- goto _test_eof1064;
-case 1064:
+ goto _test_eof1106;
+case 1106:
_widec = (*p);
if ( (*p) < 32 ) {
if ( (*p) > 9 ) {
@@ -84256,72 +86098,72 @@ case 1064:
s->number64 == 0 ) _widec += 512;
}
switch( _widec ) {
- case 7177: goto tr3243;
- case 7200: goto tr3243;
- case 7208: goto tr3244;
- case 7209: goto tr3245;
- case 7433: goto tr3246;
- case 7456: goto tr3246;
- case 7464: goto tr3247;
- case 7465: goto tr3248;
- case 7689: goto tr3249;
- case 7712: goto tr3249;
- case 7720: goto tr3250;
- case 7721: goto tr3251;
- case 10506: goto tr3252;
- case 10555: goto tr3252;
- case 10762: goto tr3252;
- case 10811: goto tr3252;
- case 11274: goto tr3253;
- case 11323: goto tr3254;
- case 11530: goto tr3252;
- case 11579: goto tr3252;
- case 11786: goto tr3255;
- case 11835: goto tr3256;
- case 12298: goto tr3257;
- case 12347: goto tr3258;
- case 12554: goto tr3252;
- case 12603: goto tr3252;
- case 12810: goto tr3259;
- case 12859: goto tr3260;
- case 13322: goto tr3261;
- case 13371: goto tr3262;
- case 13578: goto tr3252;
- case 13627: goto tr3252;
- case 13834: goto tr3263;
- case 13883: goto tr3264;
- }
- goto tr3098;
-tr3242:
+ case 7177: goto tr3312;
+ case 7200: goto tr3312;
+ case 7208: goto tr3313;
+ case 7209: goto tr3314;
+ case 7433: goto tr3315;
+ case 7456: goto tr3315;
+ case 7464: goto tr3316;
+ case 7465: goto tr3317;
+ case 7689: goto tr3318;
+ case 7712: goto tr3318;
+ case 7720: goto tr3319;
+ case 7721: goto tr3320;
+ case 10506: goto tr3321;
+ case 10555: goto tr3321;
+ case 10762: goto tr3321;
+ case 10811: goto tr3321;
+ case 11274: goto tr3322;
+ case 11323: goto tr3323;
+ case 11530: goto tr3321;
+ case 11579: goto tr3321;
+ case 11786: goto tr3324;
+ case 11835: goto tr3325;
+ case 12298: goto tr3326;
+ case 12347: goto tr3327;
+ case 12554: goto tr3321;
+ case 12603: goto tr3321;
+ case 12810: goto tr3328;
+ case 12859: goto tr3329;
+ case 13322: goto tr3330;
+ case 13371: goto tr3331;
+ case 13578: goto tr3321;
+ case 13627: goto tr3321;
+ case 13834: goto tr3332;
+ case 13883: goto tr3333;
+ }
+ goto tr3167;
+tr3311:
{
s->buffer_length = 0;
}
- goto st1065;
-tr3265:
+ goto st1107;
+tr3334:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1065;
-tr3236:
+ goto st1107;
+tr3305:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1065;
-st1065:
+ goto st1107;
+st1107:
if ( ++p == pe )
- goto _test_eof1065;
-case 1065:
+ goto _test_eof1107;
+case 1107:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -84341,26 +86183,26 @@ case 1065:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3266;
+ goto tr3335;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3265;
- goto tr3069;
-tr3229:
+ goto tr3334;
+ goto tr3138;
+tr3298:
{
s->buffer_length = 0;
}
- goto st1066;
-tr3267:
+ goto st1108;
+tr3336:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1066;
-st1066:
+ goto st1108;
+st1108:
if ( ++p == pe )
- goto _test_eof1066;
-case 1066:
+ goto _test_eof1108;
+case 1108:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -84380,40 +86222,40 @@ case 1066:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3268;
+ goto tr3337;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3267;
- goto tr3069;
-tr3078:
+ goto tr3336;
+ goto tr3138;
+tr3147:
{
s->buffer_length = 0;
}
- goto st1067;
-tr3269:
+ goto st1109;
+tr3338:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1067;
-tr3068:
+ goto st1109;
+tr3137:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1067;
-st1067:
+ goto st1109;
+st1109:
if ( ++p == pe )
- goto _test_eof1067;
-case 1067:
+ goto _test_eof1109;
+case 1109:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -84433,55 +86275,57 @@ case 1067:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3270;
+ goto tr3339;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3269;
- goto tr75;
-st1068:
+ goto tr3338;
+ goto tr77;
+st1110:
if ( ++p == pe )
- goto _test_eof1068;
-case 1068:
+ goto _test_eof1110;
+case 1110:
switch( (*p) ) {
- case 65: goto st1069;
- case 67: goto st1103;
- case 68: goto st1124;
- case 69: goto st1138;
- case 72: goto st1145;
- case 73: goto st1154;
- case 75: goto st1162;
- case 76: goto st1166;
- case 77: goto st1174;
- case 78: goto st1180;
- case 79: goto st1196;
- case 80: goto st1206;
- case 82: goto st1209;
- case 83: goto st1216;
- case 84: goto st1235;
- case 85: goto st1245;
- case 90: goto st1248;
- case 97: goto st1069;
- case 99: goto st1103;
- case 100: goto st1124;
- case 101: goto st1138;
- case 104: goto st1145;
- case 105: goto st1154;
- case 107: goto st1162;
- case 108: goto st1166;
- case 109: goto st1174;
- case 110: goto st1180;
- case 111: goto st1196;
- case 112: goto st1206;
- case 114: goto st1209;
- case 115: goto st1216;
- case 116: goto st1235;
- case 117: goto st1245;
- case 122: goto st1248;
- }
- goto tr3271;
-st1069:
+ case 65: goto st1111;
+ case 67: goto st1145;
+ case 68: goto st1166;
+ case 69: goto st1180;
+ case 72: goto st1187;
+ case 73: goto st1196;
+ case 75: goto st1204;
+ case 76: goto st1208;
+ case 77: goto st1216;
+ case 78: goto st1222;
+ case 79: goto st1238;
+ case 80: goto st1248;
+ case 82: goto st1251;
+ case 83: goto st1258;
+ case 84: goto st1277;
+ case 85: goto st1287;
+ case 87: goto st1290;
+ case 90: goto st1296;
+ case 97: goto st1111;
+ case 99: goto st1145;
+ case 100: goto st1166;
+ case 101: goto st1180;
+ case 104: goto st1187;
+ case 105: goto st1196;
+ case 107: goto st1204;
+ case 108: goto st1208;
+ case 109: goto st1216;
+ case 110: goto st1222;
+ case 111: goto st1238;
+ case 112: goto st1248;
+ case 114: goto st1251;
+ case 115: goto st1258;
+ case 116: goto st1277;
+ case 117: goto st1287;
+ case 119: goto st1290;
+ case 122: goto st1296;
+ }
+ goto tr3340;
+st1111:
if ( ++p == pe )
- goto _test_eof1069;
-case 1069:
+ goto _test_eof1111;
+case 1111:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -84495,44 +86339,44 @@ case 1069:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3289;
- case 32: goto tr3289;
- case 40: goto tr3290;
- case 41: goto tr3291;
- case 65: goto st1094;
- case 70: goto st1097;
- case 80: goto st1101;
- case 97: goto st1094;
- case 102: goto st1097;
- case 112: goto st1101;
- case 2058: goto tr3295;
- case 2107: goto tr3296;
+ case 9: goto tr3359;
+ case 32: goto tr3359;
+ case 40: goto tr3360;
+ case 41: goto tr3361;
+ case 65: goto st1136;
+ case 70: goto st1139;
+ case 80: goto st1143;
+ case 97: goto st1136;
+ case 102: goto st1139;
+ case 112: goto st1143;
+ case 2058: goto tr3365;
+ case 2107: goto tr3366;
}
- goto tr3271;
-tr3298:
+ goto tr3340;
+tr3368:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3299:
+ goto st1112;
+tr3369:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3301:
+ goto st1112;
+tr3371:
{
s->line_counter++;
}
- goto st1070;
-tr3397:
+ goto st1112;
+tr3467:
{
s->buffer[s->buffer_length++] = 0;
@@ -84542,15 +86386,15 @@ tr3397:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1070; goto _out;}
+ {p++; cs = 1112; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1070;
-tr3758:
+ goto st1112;
+tr3828:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -84558,11 +86402,11 @@ tr3758:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1070;
-tr3759:
+ goto st1112;
+tr3829:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -84570,18 +86414,18 @@ tr3759:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3760:
+ goto st1112;
+tr3830:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -84589,18 +86433,18 @@ tr3760:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3762:
+ goto st1112;
+tr3832:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -84608,1409 +86452,1438 @@ tr3762:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1070;
-tr3289:
+ goto st1112;
+tr3359:
{ type_num(KNOT_RRTYPE_A, &rdata_tail); }
- goto st1070;
-tr3290:
+ goto st1112;
+tr3360:
{ type_num(KNOT_RRTYPE_A, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3291:
+ goto st1112;
+tr3361:
{ type_num(KNOT_RRTYPE_A, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3295:
+ goto st1112;
+tr3365:
{ type_num(KNOT_RRTYPE_A, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3400:
+ goto st1112;
+tr3470:
{ type_num(KNOT_RRTYPE_AAAA, &rdata_tail); }
- goto st1070;
-tr3401:
+ goto st1112;
+tr3471:
{ type_num(KNOT_RRTYPE_AAAA, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3402:
+ goto st1112;
+tr3472:
{ type_num(KNOT_RRTYPE_AAAA, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3403:
+ goto st1112;
+tr3473:
{ type_num(KNOT_RRTYPE_AAAA, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3408:
+ goto st1112;
+tr3478:
{ type_num(KNOT_RRTYPE_AFSDB, &rdata_tail); }
- goto st1070;
-tr3409:
+ goto st1112;
+tr3479:
{ type_num(KNOT_RRTYPE_AFSDB, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3410:
+ goto st1112;
+tr3480:
{ type_num(KNOT_RRTYPE_AFSDB, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3411:
+ goto st1112;
+tr3481:
{ type_num(KNOT_RRTYPE_AFSDB, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3414:
+ goto st1112;
+tr3484:
{ type_num(KNOT_RRTYPE_APL, &rdata_tail); }
- goto st1070;
-tr3415:
+ goto st1112;
+tr3485:
{ type_num(KNOT_RRTYPE_APL, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3416:
+ goto st1112;
+tr3486:
{ type_num(KNOT_RRTYPE_APL, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3417:
+ goto st1112;
+tr3487:
{ type_num(KNOT_RRTYPE_APL, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3425:
+ goto st1112;
+tr3495:
{ type_num(KNOT_RRTYPE_CAA, &rdata_tail); }
- goto st1070;
-tr3426:
+ goto st1112;
+tr3496:
{ type_num(KNOT_RRTYPE_CAA, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3427:
+ goto st1112;
+tr3497:
{ type_num(KNOT_RRTYPE_CAA, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3428:
+ goto st1112;
+tr3498:
{ type_num(KNOT_RRTYPE_CAA, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3436:
+ goto st1112;
+tr3506:
{ type_num(KNOT_RRTYPE_CDNSKEY, &rdata_tail); }
- goto st1070;
-tr3437:
+ goto st1112;
+tr3507:
{ type_num(KNOT_RRTYPE_CDNSKEY, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3438:
+ goto st1112;
+tr3508:
{ type_num(KNOT_RRTYPE_CDNSKEY, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3439:
+ goto st1112;
+tr3509:
{ type_num(KNOT_RRTYPE_CDNSKEY, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3441:
+ goto st1112;
+tr3511:
{ type_num(KNOT_RRTYPE_CDS, &rdata_tail); }
- goto st1070;
-tr3442:
+ goto st1112;
+tr3512:
{ type_num(KNOT_RRTYPE_CDS, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3443:
+ goto st1112;
+tr3513:
{ type_num(KNOT_RRTYPE_CDS, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3444:
+ goto st1112;
+tr3514:
{ type_num(KNOT_RRTYPE_CDS, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3448:
+ goto st1112;
+tr3518:
{ type_num(KNOT_RRTYPE_CERT, &rdata_tail); }
- goto st1070;
-tr3449:
+ goto st1112;
+tr3519:
{ type_num(KNOT_RRTYPE_CERT, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3450:
+ goto st1112;
+tr3520:
{ type_num(KNOT_RRTYPE_CERT, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3451:
+ goto st1112;
+tr3521:
{ type_num(KNOT_RRTYPE_CERT, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3456:
+ goto st1112;
+tr3526:
{ type_num(KNOT_RRTYPE_CNAME, &rdata_tail); }
- goto st1070;
-tr3457:
+ goto st1112;
+tr3527:
{ type_num(KNOT_RRTYPE_CNAME, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3458:
+ goto st1112;
+tr3528:
{ type_num(KNOT_RRTYPE_CNAME, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3459:
+ goto st1112;
+tr3529:
{ type_num(KNOT_RRTYPE_CNAME, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3464:
+ goto st1112;
+tr3534:
{ type_num(KNOT_RRTYPE_CSYNC, &rdata_tail); }
- goto st1070;
-tr3465:
+ goto st1112;
+tr3535:
{ type_num(KNOT_RRTYPE_CSYNC, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3466:
+ goto st1112;
+tr3536:
{ type_num(KNOT_RRTYPE_CSYNC, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3467:
+ goto st1112;
+tr3537:
{ type_num(KNOT_RRTYPE_CSYNC, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3475:
+ goto st1112;
+tr3545:
{ type_num(KNOT_RRTYPE_DHCID, &rdata_tail); }
- goto st1070;
-tr3476:
+ goto st1112;
+tr3546:
{ type_num(KNOT_RRTYPE_DHCID, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3477:
+ goto st1112;
+tr3547:
{ type_num(KNOT_RRTYPE_DHCID, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3478:
+ goto st1112;
+tr3548:
{ type_num(KNOT_RRTYPE_DHCID, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3484:
+ goto st1112;
+tr3554:
{ type_num(KNOT_RRTYPE_DNAME, &rdata_tail); }
- goto st1070;
-tr3485:
+ goto st1112;
+tr3555:
{ type_num(KNOT_RRTYPE_DNAME, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3486:
+ goto st1112;
+tr3556:
{ type_num(KNOT_RRTYPE_DNAME, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3487:
+ goto st1112;
+tr3557:
{ type_num(KNOT_RRTYPE_DNAME, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3492:
+ goto st1112;
+tr3562:
{ type_num(KNOT_RRTYPE_DNSKEY, &rdata_tail); }
- goto st1070;
-tr3493:
+ goto st1112;
+tr3563:
{ type_num(KNOT_RRTYPE_DNSKEY, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3494:
+ goto st1112;
+tr3564:
{ type_num(KNOT_RRTYPE_DNSKEY, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3495:
+ goto st1112;
+tr3565:
{ type_num(KNOT_RRTYPE_DNSKEY, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3497:
+ goto st1112;
+tr3567:
{ type_num(KNOT_RRTYPE_DS, &rdata_tail); }
- goto st1070;
-tr3498:
+ goto st1112;
+tr3568:
{ type_num(KNOT_RRTYPE_DS, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3499:
+ goto st1112;
+tr3569:
{ type_num(KNOT_RRTYPE_DS, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3500:
+ goto st1112;
+tr3570:
{ type_num(KNOT_RRTYPE_DS, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3507:
+ goto st1112;
+tr3577:
{ type_num(KNOT_RRTYPE_EUI48, &rdata_tail); }
- goto st1070;
-tr3508:
+ goto st1112;
+tr3578:
{ type_num(KNOT_RRTYPE_EUI48, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3509:
+ goto st1112;
+tr3579:
{ type_num(KNOT_RRTYPE_EUI48, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3510:
+ goto st1112;
+tr3580:
{ type_num(KNOT_RRTYPE_EUI48, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3513:
+ goto st1112;
+tr3583:
{ type_num(KNOT_RRTYPE_EUI64, &rdata_tail); }
- goto st1070;
-tr3514:
+ goto st1112;
+tr3584:
{ type_num(KNOT_RRTYPE_EUI64, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3515:
+ goto st1112;
+tr3585:
{ type_num(KNOT_RRTYPE_EUI64, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3516:
+ goto st1112;
+tr3586:
{ type_num(KNOT_RRTYPE_EUI64, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3523:
+ goto st1112;
+tr3593:
{ type_num(KNOT_RRTYPE_HINFO, &rdata_tail); }
- goto st1070;
-tr3524:
+ goto st1112;
+tr3594:
{ type_num(KNOT_RRTYPE_HINFO, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3525:
+ goto st1112;
+tr3595:
{ type_num(KNOT_RRTYPE_HINFO, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3526:
+ goto st1112;
+tr3596:
{ type_num(KNOT_RRTYPE_HINFO, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3531:
+ goto st1112;
+tr3601:
{ type_num(KNOT_RRTYPE_HTTPS, &rdata_tail); }
- goto st1070;
-tr3532:
+ goto st1112;
+tr3602:
{ type_num(KNOT_RRTYPE_HTTPS, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3533:
+ goto st1112;
+tr3603:
{ type_num(KNOT_RRTYPE_HTTPS, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3534:
+ goto st1112;
+tr3604:
{ type_num(KNOT_RRTYPE_HTTPS, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3543:
+ goto st1112;
+tr3613:
{ type_num(KNOT_RRTYPE_IPSECKEY, &rdata_tail); }
- goto st1070;
-tr3544:
+ goto st1112;
+tr3614:
{ type_num(KNOT_RRTYPE_IPSECKEY, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3545:
+ goto st1112;
+tr3615:
{ type_num(KNOT_RRTYPE_IPSECKEY, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3546:
+ goto st1112;
+tr3616:
{ type_num(KNOT_RRTYPE_IPSECKEY, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3551:
+ goto st1112;
+tr3621:
{ type_num(KNOT_RRTYPE_KEY, &rdata_tail); }
- goto st1070;
-tr3552:
+ goto st1112;
+tr3622:
{ type_num(KNOT_RRTYPE_KEY, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3553:
+ goto st1112;
+tr3623:
{ type_num(KNOT_RRTYPE_KEY, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3554:
+ goto st1112;
+tr3624:
{ type_num(KNOT_RRTYPE_KEY, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3556:
+ goto st1112;
+tr3626:
{ type_num(KNOT_RRTYPE_KX, &rdata_tail); }
- goto st1070;
-tr3557:
+ goto st1112;
+tr3627:
{ type_num(KNOT_RRTYPE_KX, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3558:
+ goto st1112;
+tr3628:
{ type_num(KNOT_RRTYPE_KX, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3559:
+ goto st1112;
+tr3629:
{ type_num(KNOT_RRTYPE_KX, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3566:
+ goto st1112;
+tr3636:
{ type_num(KNOT_RRTYPE_L32, &rdata_tail); }
- goto st1070;
-tr3567:
+ goto st1112;
+tr3637:
{ type_num(KNOT_RRTYPE_L32, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3568:
+ goto st1112;
+tr3638:
{ type_num(KNOT_RRTYPE_L32, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3569:
+ goto st1112;
+tr3639:
{ type_num(KNOT_RRTYPE_L32, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3572:
+ goto st1112;
+tr3642:
{ type_num(KNOT_RRTYPE_L64, &rdata_tail); }
- goto st1070;
-tr3573:
+ goto st1112;
+tr3643:
{ type_num(KNOT_RRTYPE_L64, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3574:
+ goto st1112;
+tr3644:
{ type_num(KNOT_RRTYPE_L64, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3575:
+ goto st1112;
+tr3645:
{ type_num(KNOT_RRTYPE_L64, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3578:
+ goto st1112;
+tr3648:
{ type_num(KNOT_RRTYPE_LOC, &rdata_tail); }
- goto st1070;
-tr3579:
+ goto st1112;
+tr3649:
{ type_num(KNOT_RRTYPE_LOC, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3580:
+ goto st1112;
+tr3650:
{ type_num(KNOT_RRTYPE_LOC, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3581:
+ goto st1112;
+tr3651:
{ type_num(KNOT_RRTYPE_LOC, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3583:
+ goto st1112;
+tr3653:
{ type_num(KNOT_RRTYPE_LP, &rdata_tail); }
- goto st1070;
-tr3584:
+ goto st1112;
+tr3654:
{ type_num(KNOT_RRTYPE_LP, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3585:
+ goto st1112;
+tr3655:
{ type_num(KNOT_RRTYPE_LP, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3586:
+ goto st1112;
+tr3656:
{ type_num(KNOT_RRTYPE_LP, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3593:
+ goto st1112;
+tr3663:
{ type_num(KNOT_RRTYPE_MINFO, &rdata_tail); }
- goto st1070;
-tr3594:
+ goto st1112;
+tr3664:
{ type_num(KNOT_RRTYPE_MINFO, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3595:
+ goto st1112;
+tr3665:
{ type_num(KNOT_RRTYPE_MINFO, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3596:
+ goto st1112;
+tr3666:
{ type_num(KNOT_RRTYPE_MINFO, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3598:
+ goto st1112;
+tr3668:
{ type_num(KNOT_RRTYPE_MX, &rdata_tail); }
- goto st1070;
-tr3599:
+ goto st1112;
+tr3669:
{ type_num(KNOT_RRTYPE_MX, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3600:
+ goto st1112;
+tr3670:
{ type_num(KNOT_RRTYPE_MX, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3601:
+ goto st1112;
+tr3671:
{ type_num(KNOT_RRTYPE_MX, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3609:
+ goto st1112;
+tr3679:
{ type_num(KNOT_RRTYPE_NAPTR, &rdata_tail); }
- goto st1070;
-tr3610:
+ goto st1112;
+tr3680:
{ type_num(KNOT_RRTYPE_NAPTR, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3611:
+ goto st1112;
+tr3681:
{ type_num(KNOT_RRTYPE_NAPTR, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3612:
+ goto st1112;
+tr3682:
{ type_num(KNOT_RRTYPE_NAPTR, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3615:
+ goto st1112;
+tr3685:
{ type_num(KNOT_RRTYPE_NID, &rdata_tail); }
- goto st1070;
-tr3616:
+ goto st1112;
+tr3686:
{ type_num(KNOT_RRTYPE_NID, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3617:
+ goto st1112;
+tr3687:
{ type_num(KNOT_RRTYPE_NID, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3618:
+ goto st1112;
+tr3688:
{ type_num(KNOT_RRTYPE_NID, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3620:
+ goto st1112;
+tr3690:
{ type_num(KNOT_RRTYPE_NS, &rdata_tail); }
- goto st1070;
-tr3621:
+ goto st1112;
+tr3691:
{ type_num(KNOT_RRTYPE_NS, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3622:
+ goto st1112;
+tr3692:
{ type_num(KNOT_RRTYPE_NS, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3624:
+ goto st1112;
+tr3694:
{ type_num(KNOT_RRTYPE_NS, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3627:
+ goto st1112;
+tr3697:
{ type_num(KNOT_RRTYPE_NSEC, &rdata_tail); }
- goto st1070;
-tr3628:
+ goto st1112;
+tr3698:
{ type_num(KNOT_RRTYPE_NSEC, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3629:
+ goto st1112;
+tr3699:
{ type_num(KNOT_RRTYPE_NSEC, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3631:
+ goto st1112;
+tr3701:
{ type_num(KNOT_RRTYPE_NSEC, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3633:
+ goto st1112;
+tr3703:
{ type_num(KNOT_RRTYPE_NSEC3, &rdata_tail); }
- goto st1070;
-tr3634:
+ goto st1112;
+tr3704:
{ type_num(KNOT_RRTYPE_NSEC3, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3635:
+ goto st1112;
+tr3705:
{ type_num(KNOT_RRTYPE_NSEC3, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3637:
+ goto st1112;
+tr3707:
{ type_num(KNOT_RRTYPE_NSEC3, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3643:
+ goto st1112;
+tr3713:
{ type_num(KNOT_RRTYPE_NSEC3PARAM, &rdata_tail); }
- goto st1070;
-tr3644:
+ goto st1112;
+tr3714:
{ type_num(KNOT_RRTYPE_NSEC3PARAM, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3645:
+ goto st1112;
+tr3715:
{ type_num(KNOT_RRTYPE_NSEC3PARAM, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3646:
+ goto st1112;
+tr3716:
{ type_num(KNOT_RRTYPE_NSEC3PARAM, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3657:
+ goto st1112;
+tr3727:
{ type_num(KNOT_RRTYPE_OPENPGPKEY, &rdata_tail); }
- goto st1070;
-tr3658:
+ goto st1112;
+tr3728:
{ type_num(KNOT_RRTYPE_OPENPGPKEY, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3659:
+ goto st1112;
+tr3729:
{ type_num(KNOT_RRTYPE_OPENPGPKEY, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3660:
+ goto st1112;
+tr3730:
{ type_num(KNOT_RRTYPE_OPENPGPKEY, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3664:
+ goto st1112;
+tr3734:
{ type_num(KNOT_RRTYPE_PTR, &rdata_tail); }
- goto st1070;
-tr3665:
+ goto st1112;
+tr3735:
{ type_num(KNOT_RRTYPE_PTR, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3666:
+ goto st1112;
+tr3736:
{ type_num(KNOT_RRTYPE_PTR, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3667:
+ goto st1112;
+tr3737:
{ type_num(KNOT_RRTYPE_PTR, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3672:
+ goto st1112;
+tr3742:
{ type_num(KNOT_RRTYPE_RP, &rdata_tail); }
- goto st1070;
-tr3673:
+ goto st1112;
+tr3743:
{ type_num(KNOT_RRTYPE_RP, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3674:
+ goto st1112;
+tr3744:
{ type_num(KNOT_RRTYPE_RP, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3675:
+ goto st1112;
+tr3745:
{ type_num(KNOT_RRTYPE_RP, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3680:
+ goto st1112;
+tr3750:
{ type_num(KNOT_RRTYPE_RRSIG, &rdata_tail); }
- goto st1070;
-tr3681:
+ goto st1112;
+tr3751:
{ type_num(KNOT_RRTYPE_RRSIG, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3682:
+ goto st1112;
+tr3752:
{ type_num(KNOT_RRTYPE_RRSIG, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3683:
+ goto st1112;
+tr3753:
{ type_num(KNOT_RRTYPE_RRSIG, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3685:
+ goto st1112;
+tr3755:
{ type_num(KNOT_RRTYPE_RT, &rdata_tail); }
- goto st1070;
-tr3686:
+ goto st1112;
+tr3756:
{ type_num(KNOT_RRTYPE_RT, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3687:
+ goto st1112;
+tr3757:
{ type_num(KNOT_RRTYPE_RT, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3688:
+ goto st1112;
+tr3758:
{ type_num(KNOT_RRTYPE_RT, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3700:
+ goto st1112;
+tr3770:
{ type_num(KNOT_RRTYPE_SMIMEA, &rdata_tail); }
- goto st1070;
-tr3701:
+ goto st1112;
+tr3771:
{ type_num(KNOT_RRTYPE_SMIMEA, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3702:
+ goto st1112;
+tr3772:
{ type_num(KNOT_RRTYPE_SMIMEA, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3703:
+ goto st1112;
+tr3773:
{ type_num(KNOT_RRTYPE_SMIMEA, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3706:
+ goto st1112;
+tr3776:
{ type_num(KNOT_RRTYPE_SOA, &rdata_tail); }
- goto st1070;
-tr3707:
+ goto st1112;
+tr3777:
{ type_num(KNOT_RRTYPE_SOA, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3708:
+ goto st1112;
+tr3778:
{ type_num(KNOT_RRTYPE_SOA, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3709:
+ goto st1112;
+tr3779:
{ type_num(KNOT_RRTYPE_SOA, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3712:
+ goto st1112;
+tr3782:
{ type_num(KNOT_RRTYPE_SPF, &rdata_tail); }
- goto st1070;
-tr3713:
+ goto st1112;
+tr3783:
{ type_num(KNOT_RRTYPE_SPF, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3714:
+ goto st1112;
+tr3784:
{ type_num(KNOT_RRTYPE_SPF, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3715:
+ goto st1112;
+tr3785:
{ type_num(KNOT_RRTYPE_SPF, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3718:
+ goto st1112;
+tr3788:
{ type_num(KNOT_RRTYPE_SRV, &rdata_tail); }
- goto st1070;
-tr3719:
+ goto st1112;
+tr3789:
{ type_num(KNOT_RRTYPE_SRV, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3720:
+ goto st1112;
+tr3790:
{ type_num(KNOT_RRTYPE_SRV, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3721:
+ goto st1112;
+tr3791:
{ type_num(KNOT_RRTYPE_SRV, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3726:
+ goto st1112;
+tr3796:
{ type_num(KNOT_RRTYPE_SSHFP, &rdata_tail); }
- goto st1070;
-tr3727:
+ goto st1112;
+tr3797:
{ type_num(KNOT_RRTYPE_SSHFP, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3728:
+ goto st1112;
+tr3798:
{ type_num(KNOT_RRTYPE_SSHFP, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3729:
+ goto st1112;
+tr3799:
{ type_num(KNOT_RRTYPE_SSHFP, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3733:
+ goto st1112;
+tr3803:
{ type_num(KNOT_RRTYPE_SVCB, &rdata_tail); }
- goto st1070;
-tr3734:
+ goto st1112;
+tr3804:
{ type_num(KNOT_RRTYPE_SVCB, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3735:
+ goto st1112;
+tr3805:
{ type_num(KNOT_RRTYPE_SVCB, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3736:
+ goto st1112;
+tr3806:
{ type_num(KNOT_RRTYPE_SVCB, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3743:
+ goto st1112;
+tr3813:
{ type_num(KNOT_RRTYPE_TLSA, &rdata_tail); }
- goto st1070;
-tr3744:
+ goto st1112;
+tr3814:
{ type_num(KNOT_RRTYPE_TLSA, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3745:
+ goto st1112;
+tr3815:
{ type_num(KNOT_RRTYPE_TLSA, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3746:
+ goto st1112;
+tr3816:
{ type_num(KNOT_RRTYPE_TLSA, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3749:
+ goto st1112;
+tr3819:
{ type_num(KNOT_RRTYPE_TXT, &rdata_tail); }
- goto st1070;
-tr3750:
+ goto st1112;
+tr3820:
{ type_num(KNOT_RRTYPE_TXT, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3751:
+ goto st1112;
+tr3821:
{ type_num(KNOT_RRTYPE_TXT, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3752:
+ goto st1112;
+tr3822:
{ type_num(KNOT_RRTYPE_TXT, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3766:
+ goto st1112;
+tr3836:
{ type_num(KNOT_RRTYPE_URI, &rdata_tail); }
- goto st1070;
-tr3767:
+ goto st1112;
+tr3837:
{ type_num(KNOT_RRTYPE_URI, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3768:
+ goto st1112;
+tr3838:
{ type_num(KNOT_RRTYPE_URI, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3769:
+ goto st1112;
+tr3839:
{ type_num(KNOT_RRTYPE_URI, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-tr3776:
+ goto st1112;
+tr3846:
+ { type_num(KNOT_RRTYPE_WALLET, &rdata_tail); }
+ goto st1112;
+tr3847:
+ { type_num(KNOT_RRTYPE_WALLET, &rdata_tail); }
+ {
+ if (s->multiline == true) {
+ ERR(ZS_LEFT_PARENTHESIS);
+ p--; {goto st316;}
+ }
+ s->multiline = true;
+ }
+ goto st1112;
+tr3848:
+ { type_num(KNOT_RRTYPE_WALLET, &rdata_tail); }
+ {
+ if (s->multiline == false) {
+ ERR(ZS_RIGHT_PARENTHESIS);
+ p--; {goto st316;}
+ }
+ s->multiline = false;
+ }
+ goto st1112;
+tr3849:
+ { type_num(KNOT_RRTYPE_WALLET, &rdata_tail); }
+ {
+ s->line_counter++;
+ }
+ goto st1112;
+tr3856:
{ type_num(KNOT_RRTYPE_ZONEMD, &rdata_tail); }
- goto st1070;
-tr3777:
+ goto st1112;
+tr3857:
{ type_num(KNOT_RRTYPE_ZONEMD, &rdata_tail); }
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1070;
-tr3778:
+ goto st1112;
+tr3858:
{ type_num(KNOT_RRTYPE_ZONEMD, &rdata_tail); }
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1070;
-tr3779:
+ goto st1112;
+tr3859:
{ type_num(KNOT_RRTYPE_ZONEMD, &rdata_tail); }
{
s->line_counter++;
}
- goto st1070;
-st1070:
+ goto st1112;
+st1112:
if ( ++p == pe )
- goto _test_eof1070;
-case 1070:
+ goto _test_eof1112;
+case 1112:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -86024,29 +87897,29 @@ case 1070:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1070;
- case 32: goto st1070;
- case 40: goto tr3298;
- case 41: goto tr3299;
- case 2058: goto tr3301;
- case 2107: goto tr3302;
+ case 9: goto st1112;
+ case 32: goto st1112;
+ case 40: goto tr3368;
+ case 41: goto tr3369;
+ case 2058: goto tr3371;
+ case 2107: goto tr3372;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr3300;
+ goto tr3370;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr3300;
+ goto tr3370;
} else
- goto tr3300;
- goto tr75;
-tr3300:
- { p--; {stack[top++] = 1071;goto st699;} }
- goto st1071;
-st1071:
+ goto tr3370;
+ goto tr77;
+tr3370:
+ { p--; {stack[top++] = 1113;goto st741;} }
+ goto st1113;
+st1113:
if ( ++p == pe )
- goto _test_eof1071;
-case 1071:
+ goto _test_eof1113;
+case 1113:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -86060,38 +87933,38 @@ case 1071:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1072;
- case 32: goto st1072;
- case 40: goto tr3304;
- case 41: goto tr3305;
- case 2058: goto tr3306;
- case 2107: goto tr3307;
+ case 9: goto st1114;
+ case 32: goto st1114;
+ case 40: goto tr3374;
+ case 41: goto tr3375;
+ case 2058: goto tr3376;
+ case 2107: goto tr3377;
}
- goto tr75;
-tr3304:
+ goto tr77;
+tr3374:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1072;
-tr3305:
+ goto st1114;
+tr3375:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1072;
-tr3306:
+ goto st1114;
+tr3376:
{
s->line_counter++;
}
- goto st1072;
-tr3395:
+ goto st1114;
+tr3465:
{
s->buffer[s->buffer_length++] = 0;
@@ -86101,18 +87974,18 @@ tr3395:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1072; goto _out;}
+ {p++; cs = 1114; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1072;
-st1072:
+ goto st1114;
+st1114:
if ( ++p == pe )
- goto _test_eof1072;
-case 1072:
+ goto _test_eof1114;
+case 1114:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -86126,17 +87999,17 @@ case 1072:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1072;
- case 32: goto st1072;
- case 40: goto tr3304;
- case 41: goto tr3305;
- case 2058: goto tr3306;
- case 2107: goto tr3307;
+ case 9: goto st1114;
+ case 32: goto st1114;
+ case 40: goto tr3374;
+ case 41: goto tr3375;
+ case 2058: goto tr3376;
+ case 2107: goto tr3377;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3308;
- goto tr2327;
-tr3308:
+ goto tr3378;
+ goto tr2396;
+tr3378:
{
s->number64 = 0;
}
@@ -86151,11 +88024,11 @@ tr3308:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1073;
-tr3312:
+ goto st1115;
+tr3382:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -86167,14 +88040,14 @@ tr3312:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1073;
-st1073:
+ goto st1115;
+st1115:
if ( ++p == pe )
- goto _test_eof1073;
-case 1073:
+ goto _test_eof1115;
+case 1115:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -86188,40 +88061,40 @@ case 1073:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3309;
- case 32: goto tr3309;
- case 40: goto tr3310;
- case 41: goto tr3311;
- case 2058: goto tr3313;
- case 2107: goto tr3314;
+ case 9: goto tr3379;
+ case 32: goto tr3379;
+ case 40: goto tr3380;
+ case 41: goto tr3381;
+ case 2058: goto tr3383;
+ case 2107: goto tr3384;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3312;
- goto tr2327;
-tr3316:
+ goto tr3382;
+ goto tr2396;
+tr3386:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1074;
-tr3317:
+ goto st1116;
+tr3387:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1074;
-tr3319:
+ goto st1116;
+tr3389:
{
s->line_counter++;
}
- goto st1074;
-tr3393:
+ goto st1116;
+tr3463:
{
s->buffer[s->buffer_length++] = 0;
@@ -86231,79 +88104,79 @@ tr3393:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1074; goto _out;}
+ {p++; cs = 1116; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1074;
-tr3309:
+ goto st1116;
+tr3379:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1074;
-tr3310:
+ goto st1116;
+tr3380:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1074;
-tr3311:
+ goto st1116;
+tr3381:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1074;
-tr3313:
+ goto st1116;
+tr3383:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1074;
-st1074:
+ goto st1116;
+st1116:
if ( ++p == pe )
- goto _test_eof1074;
-case 1074:
+ goto _test_eof1116;
+case 1116:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -86317,17 +88190,17 @@ case 1074:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1074;
- case 32: goto st1074;
- case 40: goto tr3316;
- case 41: goto tr3317;
- case 2058: goto tr3319;
- case 2107: goto tr3320;
+ case 9: goto st1116;
+ case 32: goto st1116;
+ case 40: goto tr3386;
+ case 41: goto tr3387;
+ case 2058: goto tr3389;
+ case 2107: goto tr3390;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3318;
- goto tr2327;
-tr3318:
+ goto tr3388;
+ goto tr2396;
+tr3388:
{
s->number64 = 0;
}
@@ -86342,11 +88215,11 @@ tr3318:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1075;
-tr3324:
+ goto st1117;
+tr3394:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -86358,14 +88231,14 @@ tr3324:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1075;
-st1075:
+ goto st1117;
+st1117:
if ( ++p == pe )
- goto _test_eof1075;
-case 1075:
+ goto _test_eof1117;
+case 1117:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -86379,40 +88252,40 @@ case 1075:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3321;
- case 32: goto tr3321;
- case 40: goto tr3322;
- case 41: goto tr3323;
- case 2058: goto tr3325;
- case 2107: goto tr3326;
+ case 9: goto tr3391;
+ case 32: goto tr3391;
+ case 40: goto tr3392;
+ case 41: goto tr3393;
+ case 2058: goto tr3395;
+ case 2107: goto tr3396;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3324;
- goto tr2327;
-tr3329:
+ goto tr3394;
+ goto tr2396;
+tr3399:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1076;
-tr3330:
+ goto st1118;
+tr3400:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1076;
-tr3332:
+ goto st1118;
+tr3402:
{
s->line_counter++;
}
- goto st1076;
-tr3391:
+ goto st1118;
+tr3461:
{
s->buffer[s->buffer_length++] = 0;
@@ -86422,15 +88295,15 @@ tr3391:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1076; goto _out;}
+ {p++; cs = 1118; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1076;
-tr3321:
+ goto st1118;
+tr3391:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -86438,11 +88311,11 @@ tr3321:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1076;
-tr3322:
+ goto st1118;
+tr3392:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -86450,18 +88323,18 @@ tr3322:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1076;
-tr3323:
+ goto st1118;
+tr3393:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -86469,18 +88342,18 @@ tr3323:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1076;
-tr3325:
+ goto st1118;
+tr3395:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -86488,17 +88361,17 @@ tr3325:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1076;
-st1076:
+ goto st1118;
+st1118:
if ( ++p == pe )
- goto _test_eof1076;
-case 1076:
+ goto _test_eof1118;
+case 1118:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -86512,17 +88385,17 @@ case 1076:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1076;
- case 32: goto st1076;
- case 40: goto tr3329;
- case 41: goto tr3330;
- case 2058: goto tr3332;
- case 2107: goto tr3333;
+ case 9: goto st1118;
+ case 32: goto st1118;
+ case 40: goto tr3399;
+ case 41: goto tr3400;
+ case 2058: goto tr3402;
+ case 2107: goto tr3403;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3331;
- goto tr3327;
-tr3331:
+ goto tr3401;
+ goto tr3397;
+tr3401:
{
s->buffer_length = 0;
}
@@ -86531,24 +88404,24 @@ tr3331:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1077;
-tr3337:
+ goto st1119;
+tr3407:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1077;
-st1077:
+ goto st1119;
+st1119:
if ( ++p == pe )
- goto _test_eof1077;
-case 1077:
+ goto _test_eof1119;
+case 1119:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -86562,40 +88435,40 @@ case 1077:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3334;
- case 32: goto tr3334;
- case 40: goto tr3335;
- case 41: goto tr3336;
- case 2058: goto tr3338;
- case 2107: goto tr3339;
+ case 9: goto tr3404;
+ case 32: goto tr3404;
+ case 40: goto tr3405;
+ case 41: goto tr3406;
+ case 2058: goto tr3408;
+ case 2107: goto tr3409;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3337;
- goto tr3327;
-tr3341:
+ goto tr3407;
+ goto tr3397;
+tr3411:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1078;
-tr3342:
+ goto st1120;
+tr3412:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1078;
-tr3344:
+ goto st1120;
+tr3414:
{
s->line_counter++;
}
- goto st1078;
-tr3389:
+ goto st1120;
+tr3459:
{
s->buffer[s->buffer_length++] = 0;
@@ -86605,15 +88478,15 @@ tr3389:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1078; goto _out;}
+ {p++; cs = 1120; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1078;
-tr3334:
+ goto st1120;
+tr3404:
{
s->buffer[s->buffer_length] = 0;
@@ -86626,7 +88499,7 @@ tr3334:
rdata_tail += 4;
} else {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else if (s->buffer_length <= 10) { // Timestamp format.
char *end;
@@ -86635,7 +88508,7 @@ tr3334:
if (end == (char *)(s->buffer) || *end != '\0') {
WARN(ZS_BAD_TIMESTAMP);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->number64 <= UINT32_MAX) {
@@ -86643,15 +88516,15 @@ tr3334:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else {
WARN(ZS_BAD_TIMESTAMP_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1078;
-tr3335:
+ goto st1120;
+tr3405:
{
s->buffer[s->buffer_length] = 0;
@@ -86664,7 +88537,7 @@ tr3335:
rdata_tail += 4;
} else {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else if (s->buffer_length <= 10) { // Timestamp format.
char *end;
@@ -86673,7 +88546,7 @@ tr3335:
if (end == (char *)(s->buffer) || *end != '\0') {
WARN(ZS_BAD_TIMESTAMP);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->number64 <= UINT32_MAX) {
@@ -86681,22 +88554,22 @@ tr3335:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else {
WARN(ZS_BAD_TIMESTAMP_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1078;
-tr3336:
+ goto st1120;
+tr3406:
{
s->buffer[s->buffer_length] = 0;
@@ -86709,7 +88582,7 @@ tr3336:
rdata_tail += 4;
} else {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else if (s->buffer_length <= 10) { // Timestamp format.
char *end;
@@ -86718,7 +88591,7 @@ tr3336:
if (end == (char *)(s->buffer) || *end != '\0') {
WARN(ZS_BAD_TIMESTAMP);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->number64 <= UINT32_MAX) {
@@ -86726,22 +88599,22 @@ tr3336:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else {
WARN(ZS_BAD_TIMESTAMP_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1078;
-tr3338:
+ goto st1120;
+tr3408:
{
s->buffer[s->buffer_length] = 0;
@@ -86754,7 +88627,7 @@ tr3338:
rdata_tail += 4;
} else {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else if (s->buffer_length <= 10) { // Timestamp format.
char *end;
@@ -86763,7 +88636,7 @@ tr3338:
if (end == (char *)(s->buffer) || *end != '\0') {
WARN(ZS_BAD_TIMESTAMP);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->number64 <= UINT32_MAX) {
@@ -86771,21 +88644,21 @@ tr3338:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else {
WARN(ZS_BAD_TIMESTAMP_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1078;
-st1078:
+ goto st1120;
+st1120:
if ( ++p == pe )
- goto _test_eof1078;
-case 1078:
+ goto _test_eof1120;
+case 1120:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -86799,17 +88672,17 @@ case 1078:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1078;
- case 32: goto st1078;
- case 40: goto tr3341;
- case 41: goto tr3342;
- case 2058: goto tr3344;
- case 2107: goto tr3345;
+ case 9: goto st1120;
+ case 32: goto st1120;
+ case 40: goto tr3411;
+ case 41: goto tr3412;
+ case 2058: goto tr3414;
+ case 2107: goto tr3415;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3343;
- goto tr3327;
-tr3343:
+ goto tr3413;
+ goto tr3397;
+tr3413:
{
s->buffer_length = 0;
}
@@ -86818,24 +88691,24 @@ tr3343:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1079;
-tr3349:
+ goto st1121;
+tr3419:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1079;
-st1079:
+ goto st1121;
+st1121:
if ( ++p == pe )
- goto _test_eof1079;
-case 1079:
+ goto _test_eof1121;
+case 1121:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -86849,40 +88722,40 @@ case 1079:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3346;
- case 32: goto tr3346;
- case 40: goto tr3347;
- case 41: goto tr3348;
- case 2058: goto tr3350;
- case 2107: goto tr3351;
+ case 9: goto tr3416;
+ case 32: goto tr3416;
+ case 40: goto tr3417;
+ case 41: goto tr3418;
+ case 2058: goto tr3420;
+ case 2107: goto tr3421;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3349;
- goto tr3327;
-tr3353:
+ goto tr3419;
+ goto tr3397;
+tr3423:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1080;
-tr3354:
+ goto st1122;
+tr3424:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1080;
-tr3356:
+ goto st1122;
+tr3426:
{
s->line_counter++;
}
- goto st1080;
-tr3387:
+ goto st1122;
+tr3457:
{
s->buffer[s->buffer_length++] = 0;
@@ -86892,15 +88765,15 @@ tr3387:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1080; goto _out;}
+ {p++; cs = 1122; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1080;
-tr3346:
+ goto st1122;
+tr3416:
{
s->buffer[s->buffer_length] = 0;
@@ -86913,7 +88786,7 @@ tr3346:
rdata_tail += 4;
} else {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else if (s->buffer_length <= 10) { // Timestamp format.
char *end;
@@ -86922,7 +88795,7 @@ tr3346:
if (end == (char *)(s->buffer) || *end != '\0') {
WARN(ZS_BAD_TIMESTAMP);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->number64 <= UINT32_MAX) {
@@ -86930,15 +88803,15 @@ tr3346:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else {
WARN(ZS_BAD_TIMESTAMP_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1080;
-tr3347:
+ goto st1122;
+tr3417:
{
s->buffer[s->buffer_length] = 0;
@@ -86951,7 +88824,7 @@ tr3347:
rdata_tail += 4;
} else {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else if (s->buffer_length <= 10) { // Timestamp format.
char *end;
@@ -86960,7 +88833,7 @@ tr3347:
if (end == (char *)(s->buffer) || *end != '\0') {
WARN(ZS_BAD_TIMESTAMP);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->number64 <= UINT32_MAX) {
@@ -86968,22 +88841,22 @@ tr3347:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else {
WARN(ZS_BAD_TIMESTAMP_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1080;
-tr3348:
+ goto st1122;
+tr3418:
{
s->buffer[s->buffer_length] = 0;
@@ -86996,7 +88869,7 @@ tr3348:
rdata_tail += 4;
} else {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else if (s->buffer_length <= 10) { // Timestamp format.
char *end;
@@ -87005,7 +88878,7 @@ tr3348:
if (end == (char *)(s->buffer) || *end != '\0') {
WARN(ZS_BAD_TIMESTAMP);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->number64 <= UINT32_MAX) {
@@ -87013,22 +88886,22 @@ tr3348:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else {
WARN(ZS_BAD_TIMESTAMP_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1080;
-tr3350:
+ goto st1122;
+tr3420:
{
s->buffer[s->buffer_length] = 0;
@@ -87041,7 +88914,7 @@ tr3350:
rdata_tail += 4;
} else {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else if (s->buffer_length <= 10) { // Timestamp format.
char *end;
@@ -87050,7 +88923,7 @@ tr3350:
if (end == (char *)(s->buffer) || *end != '\0') {
WARN(ZS_BAD_TIMESTAMP);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->number64 <= UINT32_MAX) {
@@ -87058,21 +88931,21 @@ tr3350:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else {
WARN(ZS_BAD_TIMESTAMP_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1080;
-st1080:
+ goto st1122;
+st1122:
if ( ++p == pe )
- goto _test_eof1080;
-case 1080:
+ goto _test_eof1122;
+case 1122:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -87086,17 +88959,17 @@ case 1080:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1080;
- case 32: goto st1080;
- case 40: goto tr3353;
- case 41: goto tr3354;
- case 2058: goto tr3356;
- case 2107: goto tr3357;
+ case 9: goto st1122;
+ case 32: goto st1122;
+ case 40: goto tr3423;
+ case 41: goto tr3424;
+ case 2058: goto tr3426;
+ case 2107: goto tr3427;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3355;
- goto tr2327;
-tr3355:
+ goto tr3425;
+ goto tr2396;
+tr3425:
{
s->number64 = 0;
}
@@ -87111,11 +88984,11 @@ tr3355:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1081;
-tr3361:
+ goto st1123;
+tr3431:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -87127,14 +89000,14 @@ tr3361:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1081;
-st1081:
+ goto st1123;
+st1123:
if ( ++p == pe )
- goto _test_eof1081;
-case 1081:
+ goto _test_eof1123;
+case 1123:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -87148,40 +89021,40 @@ case 1081:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3358;
- case 32: goto tr3358;
- case 40: goto tr3359;
- case 41: goto tr3360;
- case 2058: goto tr3362;
- case 2107: goto tr3363;
+ case 9: goto tr3428;
+ case 32: goto tr3428;
+ case 40: goto tr3429;
+ case 41: goto tr3430;
+ case 2058: goto tr3432;
+ case 2107: goto tr3433;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3361;
- goto tr2327;
-tr3365:
+ goto tr3431;
+ goto tr2396;
+tr3435:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1082;
-tr3366:
+ goto st1124;
+tr3436:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1082;
-tr3368:
+ goto st1124;
+tr3438:
{
s->line_counter++;
}
- goto st1082;
-tr3385:
+ goto st1124;
+tr3455:
{
s->buffer[s->buffer_length++] = 0;
@@ -87191,15 +89064,15 @@ tr3385:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1082; goto _out;}
+ {p++; cs = 1124; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1082;
-tr3358:
+ goto st1124;
+tr3428:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -87207,11 +89080,11 @@ tr3358:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1082;
-tr3359:
+ goto st1124;
+tr3429:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -87219,18 +89092,18 @@ tr3359:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1082;
-tr3360:
+ goto st1124;
+tr3430:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -87238,18 +89111,18 @@ tr3360:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1082;
-tr3362:
+ goto st1124;
+tr3432:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -87257,17 +89130,17 @@ tr3362:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1082;
-st1082:
+ goto st1124;
+st1124:
if ( ++p == pe )
- goto _test_eof1082;
-case 1082:
+ goto _test_eof1124;
+case 1124:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -87281,35 +89154,35 @@ case 1082:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1082;
- case 32: goto st1082;
- case 40: goto tr3365;
- case 41: goto tr3366;
- case 42: goto tr3367;
- case 92: goto tr3367;
- case 95: goto tr3367;
- case 2058: goto tr3368;
- case 2107: goto tr3369;
+ case 9: goto st1124;
+ case 32: goto st1124;
+ case 40: goto tr3435;
+ case 41: goto tr3436;
+ case 42: goto tr3437;
+ case 92: goto tr3437;
+ case 95: goto tr3437;
+ case 2058: goto tr3438;
+ case 2107: goto tr3439;
}
if ( _widec < 64 ) {
if ( 45 <= _widec && _widec <= 57 )
- goto tr3367;
+ goto tr3437;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr3367;
+ goto tr3437;
} else
- goto tr3367;
- goto tr75;
-tr3367:
+ goto tr3437;
+ goto tr77;
+tr3437:
{
s->dname = rdata_tail;
}
- { p--; {stack[top++] = 1083;goto st309;} }
- goto st1083;
-st1083:
+ { p--; {stack[top++] = 1125;goto st318;} }
+ goto st1125;
+st1125:
if ( ++p == pe )
- goto _test_eof1083;
-case 1083:
+ goto _test_eof1125;
+case 1125:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -87323,38 +89196,38 @@ case 1083:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3370;
- case 32: goto tr3370;
- case 40: goto tr3371;
- case 41: goto tr3372;
- case 2058: goto tr3373;
- case 2107: goto tr3374;
+ case 9: goto tr3440;
+ case 32: goto tr3440;
+ case 40: goto tr3441;
+ case 41: goto tr3442;
+ case 2058: goto tr3443;
+ case 2107: goto tr3444;
}
- goto tr75;
-tr3376:
+ goto tr77;
+tr3446:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1084;
-tr3377:
+ goto st1126;
+tr3447:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1084;
-tr3379:
+ goto st1126;
+tr3449:
{
s->line_counter++;
}
- goto st1084;
-tr3383:
+ goto st1126;
+tr3453:
{
s->buffer[s->buffer_length++] = 0;
@@ -87364,55 +89237,55 @@ tr3383:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1084; goto _out;}
+ {p++; cs = 1126; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1084;
-tr3370:
+ goto st1126;
+tr3440:
{
rdata_tail += s->dname_tmp_length;
}
- goto st1084;
-tr3371:
+ goto st1126;
+tr3441:
{
rdata_tail += s->dname_tmp_length;
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1084;
-tr3372:
+ goto st1126;
+tr3442:
{
rdata_tail += s->dname_tmp_length;
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1084;
-tr3373:
+ goto st1126;
+tr3443:
{
rdata_tail += s->dname_tmp_length;
}
{
s->line_counter++;
}
- goto st1084;
-st1084:
+ goto st1126;
+st1126:
if ( ++p == pe )
- goto _test_eof1084;
-case 1084:
+ goto _test_eof1126;
+case 1126:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -87426,30 +89299,30 @@ case 1084:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1084;
- case 32: goto st1084;
- case 40: goto tr3376;
- case 41: goto tr3377;
- case 43: goto tr3378;
- case 2058: goto tr3379;
- case 2107: goto tr3380;
+ case 9: goto st1126;
+ case 32: goto st1126;
+ case 40: goto tr3446;
+ case 41: goto tr3447;
+ case 43: goto tr3448;
+ case 2058: goto tr3449;
+ case 2107: goto tr3450;
}
if ( _widec < 65 ) {
if ( 47 <= _widec && _widec <= 57 )
- goto tr3378;
+ goto tr3448;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr3378;
+ goto tr3448;
} else
- goto tr3378;
- goto tr75;
-tr3378:
- { p--; {stack[top++] = 1085;goto st369;} }
- goto st1085;
-st1085:
+ goto tr3448;
+ goto tr77;
+tr3448:
+ { p--; {stack[top++] = 1127;goto st378;} }
+ goto st1127;
+st1127:
if ( ++p == pe )
- goto _test_eof1085;
-case 1085:
+ goto _test_eof1127;
+case 1127:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -87463,44 +89336,44 @@ case 1085:
!s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 2570: goto tr3381;
- case 2619: goto tr3381;
+ case 2570: goto tr3451;
+ case 2619: goto tr3451;
}
- goto tr75;
-tr3381:
+ goto tr77;
+tr3451:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1473;
-st1473:
+ goto st1521;
+st1521:
if ( ++p == pe )
- goto _test_eof1473;
-case 1473:
+ goto _test_eof1521;
+case 1521:
goto st0;
-tr3380:
+tr3450:
{
s->buffer_length = 0;
}
- goto st1086;
-tr3382:
+ goto st1128;
+tr3452:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1086;
-tr3374:
+ goto st1128;
+tr3444:
{
rdata_tail += s->dname_tmp_length;
}
{
s->buffer_length = 0;
}
- goto st1086;
-st1086:
+ goto st1128;
+st1128:
if ( ++p == pe )
- goto _test_eof1086;
-case 1086:
+ goto _test_eof1128;
+case 1128:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -87520,23 +89393,23 @@ case 1086:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3383;
+ goto tr3453;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3382;
- goto tr75;
-tr3369:
+ goto tr3452;
+ goto tr77;
+tr3439:
{
s->buffer_length = 0;
}
- goto st1087;
-tr3384:
+ goto st1129;
+tr3454:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1087;
-tr3363:
+ goto st1129;
+tr3433:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -87544,17 +89417,17 @@ tr3363:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1087;
-st1087:
+ goto st1129;
+st1129:
if ( ++p == pe )
- goto _test_eof1087;
-case 1087:
+ goto _test_eof1129;
+case 1129:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -87574,23 +89447,23 @@ case 1087:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3385;
+ goto tr3455;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3384;
- goto tr75;
-tr3357:
+ goto tr3454;
+ goto tr77;
+tr3427:
{
s->buffer_length = 0;
}
- goto st1088;
-tr3386:
+ goto st1130;
+tr3456:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1088;
-tr3351:
+ goto st1130;
+tr3421:
{
s->buffer[s->buffer_length] = 0;
@@ -87603,7 +89476,7 @@ tr3351:
rdata_tail += 4;
} else {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else if (s->buffer_length <= 10) { // Timestamp format.
char *end;
@@ -87612,7 +89485,7 @@ tr3351:
if (end == (char *)(s->buffer) || *end != '\0') {
WARN(ZS_BAD_TIMESTAMP);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->number64 <= UINT32_MAX) {
@@ -87620,21 +89493,21 @@ tr3351:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else {
WARN(ZS_BAD_TIMESTAMP_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1088;
-st1088:
+ goto st1130;
+st1130:
if ( ++p == pe )
- goto _test_eof1088;
-case 1088:
+ goto _test_eof1130;
+case 1130:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -87654,23 +89527,23 @@ case 1088:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3387;
+ goto tr3457;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3386;
- goto tr75;
-tr3345:
+ goto tr3456;
+ goto tr77;
+tr3415:
{
s->buffer_length = 0;
}
- goto st1089;
-tr3388:
+ goto st1131;
+tr3458:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1089;
-tr3339:
+ goto st1131;
+tr3409:
{
s->buffer[s->buffer_length] = 0;
@@ -87683,7 +89556,7 @@ tr3339:
rdata_tail += 4;
} else {
WARN(ret);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else if (s->buffer_length <= 10) { // Timestamp format.
char *end;
@@ -87692,7 +89565,7 @@ tr3339:
if (end == (char *)(s->buffer) || *end != '\0') {
WARN(ZS_BAD_TIMESTAMP);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->number64 <= UINT32_MAX) {
@@ -87700,21 +89573,21 @@ tr3339:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
} else {
WARN(ZS_BAD_TIMESTAMP_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1089;
-st1089:
+ goto st1131;
+st1131:
if ( ++p == pe )
- goto _test_eof1089;
-case 1089:
+ goto _test_eof1131;
+case 1131:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -87734,23 +89607,23 @@ case 1089:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3389;
+ goto tr3459;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3388;
- goto tr75;
-tr3333:
+ goto tr3458;
+ goto tr77;
+tr3403:
{
s->buffer_length = 0;
}
- goto st1090;
-tr3390:
+ goto st1132;
+tr3460:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1090;
-tr3326:
+ goto st1132;
+tr3396:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -87758,17 +89631,17 @@ tr3326:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1090;
-st1090:
+ goto st1132;
+st1132:
if ( ++p == pe )
- goto _test_eof1090;
-case 1090:
+ goto _test_eof1132;
+case 1132:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -87788,40 +89661,40 @@ case 1090:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3391;
+ goto tr3461;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3390;
- goto tr75;
-tr3320:
+ goto tr3460;
+ goto tr77;
+tr3390:
{
s->buffer_length = 0;
}
- goto st1091;
-tr3392:
+ goto st1133;
+tr3462:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1091;
-tr3314:
+ goto st1133;
+tr3384:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1091;
-st1091:
+ goto st1133;
+st1133:
if ( ++p == pe )
- goto _test_eof1091;
-case 1091:
+ goto _test_eof1133;
+case 1133:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -87841,26 +89714,26 @@ case 1091:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3393;
+ goto tr3463;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3392;
- goto tr75;
-tr3307:
+ goto tr3462;
+ goto tr77;
+tr3377:
{
s->buffer_length = 0;
}
- goto st1092;
-tr3394:
+ goto st1134;
+tr3464:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1092;
-st1092:
+ goto st1134;
+st1134:
if ( ++p == pe )
- goto _test_eof1092;
-case 1092:
+ goto _test_eof1134;
+case 1134:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -87880,23 +89753,23 @@ case 1092:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3395;
+ goto tr3465;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3394;
- goto tr75;
-tr3302:
+ goto tr3464;
+ goto tr77;
+tr3372:
{
s->buffer_length = 0;
}
- goto st1093;
-tr3396:
+ goto st1135;
+tr3466:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1093;
-tr3763:
+ goto st1135;
+tr3833:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -87904,305 +89777,311 @@ tr3763:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1093;
-tr3296:
+ goto st1135;
+tr3366:
{ type_num(KNOT_RRTYPE_A, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3404:
+ goto st1135;
+tr3474:
{ type_num(KNOT_RRTYPE_AAAA, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3412:
+ goto st1135;
+tr3482:
{ type_num(KNOT_RRTYPE_AFSDB, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3418:
+ goto st1135;
+tr3488:
{ type_num(KNOT_RRTYPE_APL, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3429:
+ goto st1135;
+tr3499:
{ type_num(KNOT_RRTYPE_CAA, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3440:
+ goto st1135;
+tr3510:
{ type_num(KNOT_RRTYPE_CDNSKEY, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3445:
+ goto st1135;
+tr3515:
{ type_num(KNOT_RRTYPE_CDS, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3452:
+ goto st1135;
+tr3522:
{ type_num(KNOT_RRTYPE_CERT, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3460:
+ goto st1135;
+tr3530:
{ type_num(KNOT_RRTYPE_CNAME, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3468:
+ goto st1135;
+tr3538:
{ type_num(KNOT_RRTYPE_CSYNC, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3479:
+ goto st1135;
+tr3549:
{ type_num(KNOT_RRTYPE_DHCID, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3488:
+ goto st1135;
+tr3558:
{ type_num(KNOT_RRTYPE_DNAME, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3496:
+ goto st1135;
+tr3566:
{ type_num(KNOT_RRTYPE_DNSKEY, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3501:
+ goto st1135;
+tr3571:
{ type_num(KNOT_RRTYPE_DS, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3511:
+ goto st1135;
+tr3581:
{ type_num(KNOT_RRTYPE_EUI48, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3517:
+ goto st1135;
+tr3587:
{ type_num(KNOT_RRTYPE_EUI64, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3527:
+ goto st1135;
+tr3597:
{ type_num(KNOT_RRTYPE_HINFO, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3535:
+ goto st1135;
+tr3605:
{ type_num(KNOT_RRTYPE_HTTPS, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3547:
+ goto st1135;
+tr3617:
{ type_num(KNOT_RRTYPE_IPSECKEY, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3555:
+ goto st1135;
+tr3625:
{ type_num(KNOT_RRTYPE_KEY, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3560:
+ goto st1135;
+tr3630:
{ type_num(KNOT_RRTYPE_KX, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3570:
+ goto st1135;
+tr3640:
{ type_num(KNOT_RRTYPE_L32, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3576:
+ goto st1135;
+tr3646:
{ type_num(KNOT_RRTYPE_L64, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3582:
+ goto st1135;
+tr3652:
{ type_num(KNOT_RRTYPE_LOC, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3587:
+ goto st1135;
+tr3657:
{ type_num(KNOT_RRTYPE_LP, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3597:
+ goto st1135;
+tr3667:
{ type_num(KNOT_RRTYPE_MINFO, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3602:
+ goto st1135;
+tr3672:
{ type_num(KNOT_RRTYPE_MX, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3613:
+ goto st1135;
+tr3683:
{ type_num(KNOT_RRTYPE_NAPTR, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3619:
+ goto st1135;
+tr3689:
{ type_num(KNOT_RRTYPE_NID, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3625:
+ goto st1135;
+tr3695:
{ type_num(KNOT_RRTYPE_NS, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3632:
+ goto st1135;
+tr3702:
{ type_num(KNOT_RRTYPE_NSEC, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3638:
+ goto st1135;
+tr3708:
{ type_num(KNOT_RRTYPE_NSEC3, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3647:
+ goto st1135;
+tr3717:
{ type_num(KNOT_RRTYPE_NSEC3PARAM, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3661:
+ goto st1135;
+tr3731:
{ type_num(KNOT_RRTYPE_OPENPGPKEY, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3668:
+ goto st1135;
+tr3738:
{ type_num(KNOT_RRTYPE_PTR, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3676:
+ goto st1135;
+tr3746:
{ type_num(KNOT_RRTYPE_RP, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3684:
+ goto st1135;
+tr3754:
{ type_num(KNOT_RRTYPE_RRSIG, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3689:
+ goto st1135;
+tr3759:
{ type_num(KNOT_RRTYPE_RT, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3704:
+ goto st1135;
+tr3774:
{ type_num(KNOT_RRTYPE_SMIMEA, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3710:
+ goto st1135;
+tr3780:
{ type_num(KNOT_RRTYPE_SOA, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3716:
+ goto st1135;
+tr3786:
{ type_num(KNOT_RRTYPE_SPF, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3722:
+ goto st1135;
+tr3792:
{ type_num(KNOT_RRTYPE_SRV, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3730:
+ goto st1135;
+tr3800:
{ type_num(KNOT_RRTYPE_SSHFP, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3737:
+ goto st1135;
+tr3807:
{ type_num(KNOT_RRTYPE_SVCB, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3747:
+ goto st1135;
+tr3817:
{ type_num(KNOT_RRTYPE_TLSA, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3753:
+ goto st1135;
+tr3823:
{ type_num(KNOT_RRTYPE_TXT, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3770:
+ goto st1135;
+tr3840:
{ type_num(KNOT_RRTYPE_URI, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-tr3780:
+ goto st1135;
+tr3850:
+ { type_num(KNOT_RRTYPE_WALLET, &rdata_tail); }
+ {
+ s->buffer_length = 0;
+ }
+ goto st1135;
+tr3860:
{ type_num(KNOT_RRTYPE_ZONEMD, &rdata_tail); }
{
s->buffer_length = 0;
}
- goto st1093;
-st1093:
+ goto st1135;
+st1135:
if ( ++p == pe )
- goto _test_eof1093;
-case 1093:
+ goto _test_eof1135;
+case 1135:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -88222,32 +90101,32 @@ case 1093:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3397;
+ goto tr3467;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3396;
- goto tr75;
-st1094:
+ goto tr3466;
+ goto tr77;
+st1136:
if ( ++p == pe )
- goto _test_eof1094;
-case 1094:
+ goto _test_eof1136;
+case 1136:
switch( (*p) ) {
- case 65: goto st1095;
- case 97: goto st1095;
+ case 65: goto st1137;
+ case 97: goto st1137;
}
- goto tr3271;
-st1095:
+ goto tr3340;
+st1137:
if ( ++p == pe )
- goto _test_eof1095;
-case 1095:
+ goto _test_eof1137;
+case 1137:
switch( (*p) ) {
- case 65: goto st1096;
- case 97: goto st1096;
+ case 65: goto st1138;
+ case 97: goto st1138;
}
- goto tr3271;
-st1096:
+ goto tr3340;
+st1138:
if ( ++p == pe )
- goto _test_eof1096;
-case 1096:
+ goto _test_eof1138;
+case 1138:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -88261,45 +90140,45 @@ case 1096:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3400;
- case 32: goto tr3400;
- case 40: goto tr3401;
- case 41: goto tr3402;
- case 2058: goto tr3403;
- case 2107: goto tr3404;
+ case 9: goto tr3470;
+ case 32: goto tr3470;
+ case 40: goto tr3471;
+ case 41: goto tr3472;
+ case 2058: goto tr3473;
+ case 2107: goto tr3474;
}
- goto tr3271;
-st1097:
+ goto tr3340;
+st1139:
if ( ++p == pe )
- goto _test_eof1097;
-case 1097:
+ goto _test_eof1139;
+case 1139:
switch( (*p) ) {
- case 83: goto st1098;
- case 115: goto st1098;
+ case 83: goto st1140;
+ case 115: goto st1140;
}
- goto tr3271;
-st1098:
+ goto tr3340;
+st1140:
if ( ++p == pe )
- goto _test_eof1098;
-case 1098:
+ goto _test_eof1140;
+case 1140:
switch( (*p) ) {
- case 68: goto st1099;
- case 100: goto st1099;
+ case 68: goto st1141;
+ case 100: goto st1141;
}
- goto tr3271;
-st1099:
+ goto tr3340;
+st1141:
if ( ++p == pe )
- goto _test_eof1099;
-case 1099:
+ goto _test_eof1141;
+case 1141:
switch( (*p) ) {
- case 66: goto st1100;
- case 98: goto st1100;
+ case 66: goto st1142;
+ case 98: goto st1142;
}
- goto tr3271;
-st1100:
+ goto tr3340;
+st1142:
if ( ++p == pe )
- goto _test_eof1100;
-case 1100:
+ goto _test_eof1142;
+case 1142:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -88313,27 +90192,27 @@ case 1100:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3408;
- case 32: goto tr3408;
- case 40: goto tr3409;
- case 41: goto tr3410;
- case 2058: goto tr3411;
- case 2107: goto tr3412;
+ case 9: goto tr3478;
+ case 32: goto tr3478;
+ case 40: goto tr3479;
+ case 41: goto tr3480;
+ case 2058: goto tr3481;
+ case 2107: goto tr3482;
}
- goto tr3271;
-st1101:
+ goto tr3340;
+st1143:
if ( ++p == pe )
- goto _test_eof1101;
-case 1101:
+ goto _test_eof1143;
+case 1143:
switch( (*p) ) {
- case 76: goto st1102;
- case 108: goto st1102;
+ case 76: goto st1144;
+ case 108: goto st1144;
}
- goto tr3271;
-st1102:
+ goto tr3340;
+st1144:
if ( ++p == pe )
- goto _test_eof1102;
-case 1102:
+ goto _test_eof1144;
+case 1144:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -88347,44 +90226,44 @@ case 1102:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3414;
- case 32: goto tr3414;
- case 40: goto tr3415;
- case 41: goto tr3416;
- case 2058: goto tr3417;
- case 2107: goto tr3418;
+ case 9: goto tr3484;
+ case 32: goto tr3484;
+ case 40: goto tr3485;
+ case 41: goto tr3486;
+ case 2058: goto tr3487;
+ case 2107: goto tr3488;
}
- goto tr3271;
-st1103:
+ goto tr3340;
+st1145:
if ( ++p == pe )
- goto _test_eof1103;
-case 1103:
+ goto _test_eof1145;
+case 1145:
switch( (*p) ) {
- case 65: goto st1104;
- case 68: goto st1106;
- case 69: goto st1113;
- case 78: goto st1116;
- case 83: goto st1120;
- case 97: goto st1104;
- case 100: goto st1106;
- case 101: goto st1113;
- case 110: goto st1116;
- case 115: goto st1120;
- }
- goto tr3271;
-st1104:
+ case 65: goto st1146;
+ case 68: goto st1148;
+ case 69: goto st1155;
+ case 78: goto st1158;
+ case 83: goto st1162;
+ case 97: goto st1146;
+ case 100: goto st1148;
+ case 101: goto st1155;
+ case 110: goto st1158;
+ case 115: goto st1162;
+ }
+ goto tr3340;
+st1146:
if ( ++p == pe )
- goto _test_eof1104;
-case 1104:
+ goto _test_eof1146;
+case 1146:
switch( (*p) ) {
- case 65: goto st1105;
- case 97: goto st1105;
+ case 65: goto st1147;
+ case 97: goto st1147;
}
- goto tr3271;
-st1105:
+ goto tr3340;
+st1147:
if ( ++p == pe )
- goto _test_eof1105;
-case 1105:
+ goto _test_eof1147;
+case 1147:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -88398,65 +90277,65 @@ case 1105:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3425;
- case 32: goto tr3425;
- case 40: goto tr3426;
- case 41: goto tr3427;
- case 2058: goto tr3428;
- case 2107: goto tr3429;
+ case 9: goto tr3495;
+ case 32: goto tr3495;
+ case 40: goto tr3496;
+ case 41: goto tr3497;
+ case 2058: goto tr3498;
+ case 2107: goto tr3499;
}
- goto tr3271;
-st1106:
+ goto tr3340;
+st1148:
if ( ++p == pe )
- goto _test_eof1106;
-case 1106:
+ goto _test_eof1148;
+case 1148:
switch( (*p) ) {
- case 78: goto st1107;
- case 83: goto st1112;
- case 110: goto st1107;
- case 115: goto st1112;
+ case 78: goto st1149;
+ case 83: goto st1154;
+ case 110: goto st1149;
+ case 115: goto st1154;
}
- goto tr3271;
-st1107:
+ goto tr3340;
+st1149:
if ( ++p == pe )
- goto _test_eof1107;
-case 1107:
+ goto _test_eof1149;
+case 1149:
switch( (*p) ) {
- case 83: goto st1108;
- case 115: goto st1108;
+ case 83: goto st1150;
+ case 115: goto st1150;
}
- goto tr3271;
-st1108:
+ goto tr3340;
+st1150:
if ( ++p == pe )
- goto _test_eof1108;
-case 1108:
+ goto _test_eof1150;
+case 1150:
switch( (*p) ) {
- case 75: goto st1109;
- case 107: goto st1109;
+ case 75: goto st1151;
+ case 107: goto st1151;
}
- goto tr3271;
-st1109:
+ goto tr3340;
+st1151:
if ( ++p == pe )
- goto _test_eof1109;
-case 1109:
+ goto _test_eof1151;
+case 1151:
switch( (*p) ) {
- case 69: goto st1110;
- case 101: goto st1110;
+ case 69: goto st1152;
+ case 101: goto st1152;
}
- goto tr3271;
-st1110:
+ goto tr3340;
+st1152:
if ( ++p == pe )
- goto _test_eof1110;
-case 1110:
+ goto _test_eof1152;
+case 1152:
switch( (*p) ) {
- case 89: goto st1111;
- case 121: goto st1111;
+ case 89: goto st1153;
+ case 121: goto st1153;
}
- goto tr3271;
-st1111:
+ goto tr3340;
+st1153:
if ( ++p == pe )
- goto _test_eof1111;
-case 1111:
+ goto _test_eof1153;
+case 1153:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -88470,18 +90349,18 @@ case 1111:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3436;
- case 32: goto tr3436;
- case 40: goto tr3437;
- case 41: goto tr3438;
- case 2058: goto tr3439;
- case 2107: goto tr3440;
+ case 9: goto tr3506;
+ case 32: goto tr3506;
+ case 40: goto tr3507;
+ case 41: goto tr3508;
+ case 2058: goto tr3509;
+ case 2107: goto tr3510;
}
- goto tr3271;
-st1112:
+ goto tr3340;
+st1154:
if ( ++p == pe )
- goto _test_eof1112;
-case 1112:
+ goto _test_eof1154;
+case 1154:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -88495,36 +90374,36 @@ case 1112:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3441;
- case 32: goto tr3441;
- case 40: goto tr3442;
- case 41: goto tr3443;
- case 2058: goto tr3444;
- case 2107: goto tr3445;
+ case 9: goto tr3511;
+ case 32: goto tr3511;
+ case 40: goto tr3512;
+ case 41: goto tr3513;
+ case 2058: goto tr3514;
+ case 2107: goto tr3515;
}
- goto tr3271;
-st1113:
+ goto tr3340;
+st1155:
if ( ++p == pe )
- goto _test_eof1113;
-case 1113:
+ goto _test_eof1155;
+case 1155:
switch( (*p) ) {
- case 82: goto st1114;
- case 114: goto st1114;
+ case 82: goto st1156;
+ case 114: goto st1156;
}
- goto tr3271;
-st1114:
+ goto tr3340;
+st1156:
if ( ++p == pe )
- goto _test_eof1114;
-case 1114:
+ goto _test_eof1156;
+case 1156:
switch( (*p) ) {
- case 84: goto st1115;
- case 116: goto st1115;
+ case 84: goto st1157;
+ case 116: goto st1157;
}
- goto tr3271;
-st1115:
+ goto tr3340;
+st1157:
if ( ++p == pe )
- goto _test_eof1115;
-case 1115:
+ goto _test_eof1157;
+case 1157:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -88538,45 +90417,45 @@ case 1115:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3448;
- case 32: goto tr3448;
- case 40: goto tr3449;
- case 41: goto tr3450;
- case 2058: goto tr3451;
- case 2107: goto tr3452;
+ case 9: goto tr3518;
+ case 32: goto tr3518;
+ case 40: goto tr3519;
+ case 41: goto tr3520;
+ case 2058: goto tr3521;
+ case 2107: goto tr3522;
}
- goto tr3271;
-st1116:
+ goto tr3340;
+st1158:
if ( ++p == pe )
- goto _test_eof1116;
-case 1116:
+ goto _test_eof1158;
+case 1158:
switch( (*p) ) {
- case 65: goto st1117;
- case 97: goto st1117;
+ case 65: goto st1159;
+ case 97: goto st1159;
}
- goto tr3271;
-st1117:
+ goto tr3340;
+st1159:
if ( ++p == pe )
- goto _test_eof1117;
-case 1117:
+ goto _test_eof1159;
+case 1159:
switch( (*p) ) {
- case 77: goto st1118;
- case 109: goto st1118;
+ case 77: goto st1160;
+ case 109: goto st1160;
}
- goto tr3271;
-st1118:
+ goto tr3340;
+st1160:
if ( ++p == pe )
- goto _test_eof1118;
-case 1118:
+ goto _test_eof1160;
+case 1160:
switch( (*p) ) {
- case 69: goto st1119;
- case 101: goto st1119;
+ case 69: goto st1161;
+ case 101: goto st1161;
}
- goto tr3271;
-st1119:
+ goto tr3340;
+st1161:
if ( ++p == pe )
- goto _test_eof1119;
-case 1119:
+ goto _test_eof1161;
+case 1161:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -88590,45 +90469,45 @@ case 1119:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3456;
- case 32: goto tr3456;
- case 40: goto tr3457;
- case 41: goto tr3458;
- case 2058: goto tr3459;
- case 2107: goto tr3460;
+ case 9: goto tr3526;
+ case 32: goto tr3526;
+ case 40: goto tr3527;
+ case 41: goto tr3528;
+ case 2058: goto tr3529;
+ case 2107: goto tr3530;
}
- goto tr3271;
-st1120:
+ goto tr3340;
+st1162:
if ( ++p == pe )
- goto _test_eof1120;
-case 1120:
+ goto _test_eof1162;
+case 1162:
switch( (*p) ) {
- case 89: goto st1121;
- case 121: goto st1121;
+ case 89: goto st1163;
+ case 121: goto st1163;
}
- goto tr3271;
-st1121:
+ goto tr3340;
+st1163:
if ( ++p == pe )
- goto _test_eof1121;
-case 1121:
+ goto _test_eof1163;
+case 1163:
switch( (*p) ) {
- case 78: goto st1122;
- case 110: goto st1122;
+ case 78: goto st1164;
+ case 110: goto st1164;
}
- goto tr3271;
-st1122:
+ goto tr3340;
+st1164:
if ( ++p == pe )
- goto _test_eof1122;
-case 1122:
+ goto _test_eof1164;
+case 1164:
switch( (*p) ) {
- case 67: goto st1123;
- case 99: goto st1123;
+ case 67: goto st1165;
+ case 99: goto st1165;
}
- goto tr3271;
-st1123:
+ goto tr3340;
+st1165:
if ( ++p == pe )
- goto _test_eof1123;
-case 1123:
+ goto _test_eof1165;
+case 1165:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -88642,58 +90521,58 @@ case 1123:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3464;
- case 32: goto tr3464;
- case 40: goto tr3465;
- case 41: goto tr3466;
- case 2058: goto tr3467;
- case 2107: goto tr3468;
+ case 9: goto tr3534;
+ case 32: goto tr3534;
+ case 40: goto tr3535;
+ case 41: goto tr3536;
+ case 2058: goto tr3537;
+ case 2107: goto tr3538;
}
- goto tr3271;
-st1124:
+ goto tr3340;
+st1166:
if ( ++p == pe )
- goto _test_eof1124;
-case 1124:
+ goto _test_eof1166;
+case 1166:
switch( (*p) ) {
- case 72: goto st1125;
- case 78: goto st1129;
- case 83: goto st1137;
- case 104: goto st1125;
- case 110: goto st1129;
- case 115: goto st1137;
+ case 72: goto st1167;
+ case 78: goto st1171;
+ case 83: goto st1179;
+ case 104: goto st1167;
+ case 110: goto st1171;
+ case 115: goto st1179;
}
- goto tr3271;
-st1125:
+ goto tr3340;
+st1167:
if ( ++p == pe )
- goto _test_eof1125;
-case 1125:
+ goto _test_eof1167;
+case 1167:
switch( (*p) ) {
- case 67: goto st1126;
- case 99: goto st1126;
+ case 67: goto st1168;
+ case 99: goto st1168;
}
- goto tr3271;
-st1126:
+ goto tr3340;
+st1168:
if ( ++p == pe )
- goto _test_eof1126;
-case 1126:
+ goto _test_eof1168;
+case 1168:
switch( (*p) ) {
- case 73: goto st1127;
- case 105: goto st1127;
+ case 73: goto st1169;
+ case 105: goto st1169;
}
- goto tr3271;
-st1127:
+ goto tr3340;
+st1169:
if ( ++p == pe )
- goto _test_eof1127;
-case 1127:
+ goto _test_eof1169;
+case 1169:
switch( (*p) ) {
- case 68: goto st1128;
- case 100: goto st1128;
+ case 68: goto st1170;
+ case 100: goto st1170;
}
- goto tr3271;
-st1128:
+ goto tr3340;
+st1170:
if ( ++p == pe )
- goto _test_eof1128;
-case 1128:
+ goto _test_eof1170;
+case 1170:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -88707,47 +90586,47 @@ case 1128:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3475;
- case 32: goto tr3475;
- case 40: goto tr3476;
- case 41: goto tr3477;
- case 2058: goto tr3478;
- case 2107: goto tr3479;
+ case 9: goto tr3545;
+ case 32: goto tr3545;
+ case 40: goto tr3546;
+ case 41: goto tr3547;
+ case 2058: goto tr3548;
+ case 2107: goto tr3549;
}
- goto tr3271;
-st1129:
+ goto tr3340;
+st1171:
if ( ++p == pe )
- goto _test_eof1129;
-case 1129:
+ goto _test_eof1171;
+case 1171:
switch( (*p) ) {
- case 65: goto st1130;
- case 83: goto st1133;
- case 97: goto st1130;
- case 115: goto st1133;
+ case 65: goto st1172;
+ case 83: goto st1175;
+ case 97: goto st1172;
+ case 115: goto st1175;
}
- goto tr3271;
-st1130:
+ goto tr3340;
+st1172:
if ( ++p == pe )
- goto _test_eof1130;
-case 1130:
+ goto _test_eof1172;
+case 1172:
switch( (*p) ) {
- case 77: goto st1131;
- case 109: goto st1131;
+ case 77: goto st1173;
+ case 109: goto st1173;
}
- goto tr3271;
-st1131:
+ goto tr3340;
+st1173:
if ( ++p == pe )
- goto _test_eof1131;
-case 1131:
+ goto _test_eof1173;
+case 1173:
switch( (*p) ) {
- case 69: goto st1132;
- case 101: goto st1132;
+ case 69: goto st1174;
+ case 101: goto st1174;
}
- goto tr3271;
-st1132:
+ goto tr3340;
+st1174:
if ( ++p == pe )
- goto _test_eof1132;
-case 1132:
+ goto _test_eof1174;
+case 1174:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -88761,45 +90640,45 @@ case 1132:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3484;
- case 32: goto tr3484;
- case 40: goto tr3485;
- case 41: goto tr3486;
- case 2058: goto tr3487;
- case 2107: goto tr3488;
+ case 9: goto tr3554;
+ case 32: goto tr3554;
+ case 40: goto tr3555;
+ case 41: goto tr3556;
+ case 2058: goto tr3557;
+ case 2107: goto tr3558;
}
- goto tr3271;
-st1133:
+ goto tr3340;
+st1175:
if ( ++p == pe )
- goto _test_eof1133;
-case 1133:
+ goto _test_eof1175;
+case 1175:
switch( (*p) ) {
- case 75: goto st1134;
- case 107: goto st1134;
+ case 75: goto st1176;
+ case 107: goto st1176;
}
- goto tr3271;
-st1134:
+ goto tr3340;
+st1176:
if ( ++p == pe )
- goto _test_eof1134;
-case 1134:
+ goto _test_eof1176;
+case 1176:
switch( (*p) ) {
- case 69: goto st1135;
- case 101: goto st1135;
+ case 69: goto st1177;
+ case 101: goto st1177;
}
- goto tr3271;
-st1135:
+ goto tr3340;
+st1177:
if ( ++p == pe )
- goto _test_eof1135;
-case 1135:
+ goto _test_eof1177;
+case 1177:
switch( (*p) ) {
- case 89: goto st1136;
- case 121: goto st1136;
+ case 89: goto st1178;
+ case 121: goto st1178;
}
- goto tr3271;
-st1136:
+ goto tr3340;
+st1178:
if ( ++p == pe )
- goto _test_eof1136;
-case 1136:
+ goto _test_eof1178;
+case 1178:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -88813,18 +90692,18 @@ case 1136:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3492;
- case 32: goto tr3492;
- case 40: goto tr3493;
- case 41: goto tr3494;
- case 2058: goto tr3495;
- case 2107: goto tr3496;
+ case 9: goto tr3562;
+ case 32: goto tr3562;
+ case 40: goto tr3563;
+ case 41: goto tr3564;
+ case 2058: goto tr3565;
+ case 2107: goto tr3566;
}
- goto tr3271;
-st1137:
+ goto tr3340;
+st1179:
if ( ++p == pe )
- goto _test_eof1137;
-case 1137:
+ goto _test_eof1179;
+case 1179:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -88838,52 +90717,52 @@ case 1137:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3497;
- case 32: goto tr3497;
- case 40: goto tr3498;
- case 41: goto tr3499;
- case 2058: goto tr3500;
- case 2107: goto tr3501;
+ case 9: goto tr3567;
+ case 32: goto tr3567;
+ case 40: goto tr3568;
+ case 41: goto tr3569;
+ case 2058: goto tr3570;
+ case 2107: goto tr3571;
}
- goto tr3271;
-st1138:
+ goto tr3340;
+st1180:
if ( ++p == pe )
- goto _test_eof1138;
-case 1138:
+ goto _test_eof1180;
+case 1180:
switch( (*p) ) {
- case 85: goto st1139;
- case 117: goto st1139;
+ case 85: goto st1181;
+ case 117: goto st1181;
}
- goto tr3271;
-st1139:
+ goto tr3340;
+st1181:
if ( ++p == pe )
- goto _test_eof1139;
-case 1139:
+ goto _test_eof1181;
+case 1181:
switch( (*p) ) {
- case 73: goto st1140;
- case 105: goto st1140;
+ case 73: goto st1182;
+ case 105: goto st1182;
}
- goto tr3271;
-st1140:
+ goto tr3340;
+st1182:
if ( ++p == pe )
- goto _test_eof1140;
-case 1140:
+ goto _test_eof1182;
+case 1182:
switch( (*p) ) {
- case 52: goto st1141;
- case 54: goto st1143;
+ case 52: goto st1183;
+ case 54: goto st1185;
}
- goto tr3271;
-st1141:
+ goto tr3340;
+st1183:
if ( ++p == pe )
- goto _test_eof1141;
-case 1141:
+ goto _test_eof1183;
+case 1183:
if ( (*p) == 56 )
- goto st1142;
- goto tr3271;
-st1142:
+ goto st1184;
+ goto tr3340;
+st1184:
if ( ++p == pe )
- goto _test_eof1142;
-case 1142:
+ goto _test_eof1184;
+case 1184:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -88897,25 +90776,25 @@ case 1142:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3507;
- case 32: goto tr3507;
- case 40: goto tr3508;
- case 41: goto tr3509;
- case 2058: goto tr3510;
- case 2107: goto tr3511;
+ case 9: goto tr3577;
+ case 32: goto tr3577;
+ case 40: goto tr3578;
+ case 41: goto tr3579;
+ case 2058: goto tr3580;
+ case 2107: goto tr3581;
}
- goto tr3271;
-st1143:
+ goto tr3340;
+st1185:
if ( ++p == pe )
- goto _test_eof1143;
-case 1143:
+ goto _test_eof1185;
+case 1185:
if ( (*p) == 52 )
- goto st1144;
- goto tr3271;
-st1144:
+ goto st1186;
+ goto tr3340;
+st1186:
if ( ++p == pe )
- goto _test_eof1144;
-case 1144:
+ goto _test_eof1186;
+case 1186:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -88929,56 +90808,56 @@ case 1144:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3513;
- case 32: goto tr3513;
- case 40: goto tr3514;
- case 41: goto tr3515;
- case 2058: goto tr3516;
- case 2107: goto tr3517;
+ case 9: goto tr3583;
+ case 32: goto tr3583;
+ case 40: goto tr3584;
+ case 41: goto tr3585;
+ case 2058: goto tr3586;
+ case 2107: goto tr3587;
}
- goto tr3271;
-st1145:
+ goto tr3340;
+st1187:
if ( ++p == pe )
- goto _test_eof1145;
-case 1145:
+ goto _test_eof1187;
+case 1187:
switch( (*p) ) {
- case 73: goto st1146;
- case 84: goto st1150;
- case 105: goto st1146;
- case 116: goto st1150;
+ case 73: goto st1188;
+ case 84: goto st1192;
+ case 105: goto st1188;
+ case 116: goto st1192;
}
- goto tr3271;
-st1146:
+ goto tr3340;
+st1188:
if ( ++p == pe )
- goto _test_eof1146;
-case 1146:
+ goto _test_eof1188;
+case 1188:
switch( (*p) ) {
- case 78: goto st1147;
- case 110: goto st1147;
+ case 78: goto st1189;
+ case 110: goto st1189;
}
- goto tr3271;
-st1147:
+ goto tr3340;
+st1189:
if ( ++p == pe )
- goto _test_eof1147;
-case 1147:
+ goto _test_eof1189;
+case 1189:
switch( (*p) ) {
- case 70: goto st1148;
- case 102: goto st1148;
+ case 70: goto st1190;
+ case 102: goto st1190;
}
- goto tr3271;
-st1148:
+ goto tr3340;
+st1190:
if ( ++p == pe )
- goto _test_eof1148;
-case 1148:
+ goto _test_eof1190;
+case 1190:
switch( (*p) ) {
- case 79: goto st1149;
- case 111: goto st1149;
+ case 79: goto st1191;
+ case 111: goto st1191;
}
- goto tr3271;
-st1149:
+ goto tr3340;
+st1191:
if ( ++p == pe )
- goto _test_eof1149;
-case 1149:
+ goto _test_eof1191;
+case 1191:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -88992,45 +90871,45 @@ case 1149:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3523;
- case 32: goto tr3523;
- case 40: goto tr3524;
- case 41: goto tr3525;
- case 2058: goto tr3526;
- case 2107: goto tr3527;
+ case 9: goto tr3593;
+ case 32: goto tr3593;
+ case 40: goto tr3594;
+ case 41: goto tr3595;
+ case 2058: goto tr3596;
+ case 2107: goto tr3597;
}
- goto tr3271;
-st1150:
+ goto tr3340;
+st1192:
if ( ++p == pe )
- goto _test_eof1150;
-case 1150:
+ goto _test_eof1192;
+case 1192:
switch( (*p) ) {
- case 84: goto st1151;
- case 116: goto st1151;
+ case 84: goto st1193;
+ case 116: goto st1193;
}
- goto tr3271;
-st1151:
+ goto tr3340;
+st1193:
if ( ++p == pe )
- goto _test_eof1151;
-case 1151:
+ goto _test_eof1193;
+case 1193:
switch( (*p) ) {
- case 80: goto st1152;
- case 112: goto st1152;
+ case 80: goto st1194;
+ case 112: goto st1194;
}
- goto tr3271;
-st1152:
+ goto tr3340;
+st1194:
if ( ++p == pe )
- goto _test_eof1152;
-case 1152:
+ goto _test_eof1194;
+case 1194:
switch( (*p) ) {
- case 83: goto st1153;
- case 115: goto st1153;
+ case 83: goto st1195;
+ case 115: goto st1195;
}
- goto tr3271;
-st1153:
+ goto tr3340;
+st1195:
if ( ++p == pe )
- goto _test_eof1153;
-case 1153:
+ goto _test_eof1195;
+case 1195:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89044,81 +90923,81 @@ case 1153:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3531;
- case 32: goto tr3531;
- case 40: goto tr3532;
- case 41: goto tr3533;
- case 2058: goto tr3534;
- case 2107: goto tr3535;
+ case 9: goto tr3601;
+ case 32: goto tr3601;
+ case 40: goto tr3602;
+ case 41: goto tr3603;
+ case 2058: goto tr3604;
+ case 2107: goto tr3605;
}
- goto tr3271;
-st1154:
+ goto tr3340;
+st1196:
if ( ++p == pe )
- goto _test_eof1154;
-case 1154:
+ goto _test_eof1196;
+case 1196:
switch( (*p) ) {
- case 80: goto st1155;
- case 112: goto st1155;
+ case 80: goto st1197;
+ case 112: goto st1197;
}
- goto tr3271;
-st1155:
+ goto tr3340;
+st1197:
if ( ++p == pe )
- goto _test_eof1155;
-case 1155:
+ goto _test_eof1197;
+case 1197:
switch( (*p) ) {
- case 83: goto st1156;
- case 115: goto st1156;
+ case 83: goto st1198;
+ case 115: goto st1198;
}
- goto tr3271;
-st1156:
+ goto tr3340;
+st1198:
if ( ++p == pe )
- goto _test_eof1156;
-case 1156:
+ goto _test_eof1198;
+case 1198:
switch( (*p) ) {
- case 69: goto st1157;
- case 101: goto st1157;
+ case 69: goto st1199;
+ case 101: goto st1199;
}
- goto tr3271;
-st1157:
+ goto tr3340;
+st1199:
if ( ++p == pe )
- goto _test_eof1157;
-case 1157:
+ goto _test_eof1199;
+case 1199:
switch( (*p) ) {
- case 67: goto st1158;
- case 99: goto st1158;
+ case 67: goto st1200;
+ case 99: goto st1200;
}
- goto tr3271;
-st1158:
+ goto tr3340;
+st1200:
if ( ++p == pe )
- goto _test_eof1158;
-case 1158:
+ goto _test_eof1200;
+case 1200:
switch( (*p) ) {
- case 75: goto st1159;
- case 107: goto st1159;
+ case 75: goto st1201;
+ case 107: goto st1201;
}
- goto tr3271;
-st1159:
+ goto tr3340;
+st1201:
if ( ++p == pe )
- goto _test_eof1159;
-case 1159:
+ goto _test_eof1201;
+case 1201:
switch( (*p) ) {
- case 69: goto st1160;
- case 101: goto st1160;
+ case 69: goto st1202;
+ case 101: goto st1202;
}
- goto tr3271;
-st1160:
+ goto tr3340;
+st1202:
if ( ++p == pe )
- goto _test_eof1160;
-case 1160:
+ goto _test_eof1202;
+case 1202:
switch( (*p) ) {
- case 89: goto st1161;
- case 121: goto st1161;
+ case 89: goto st1203;
+ case 121: goto st1203;
}
- goto tr3271;
-st1161:
+ goto tr3340;
+st1203:
if ( ++p == pe )
- goto _test_eof1161;
-case 1161:
+ goto _test_eof1203;
+case 1203:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89132,38 +91011,38 @@ case 1161:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3543;
- case 32: goto tr3543;
- case 40: goto tr3544;
- case 41: goto tr3545;
- case 2058: goto tr3546;
- case 2107: goto tr3547;
+ case 9: goto tr3613;
+ case 32: goto tr3613;
+ case 40: goto tr3614;
+ case 41: goto tr3615;
+ case 2058: goto tr3616;
+ case 2107: goto tr3617;
}
- goto tr3271;
-st1162:
+ goto tr3340;
+st1204:
if ( ++p == pe )
- goto _test_eof1162;
-case 1162:
+ goto _test_eof1204;
+case 1204:
switch( (*p) ) {
- case 69: goto st1163;
- case 88: goto st1165;
- case 101: goto st1163;
- case 120: goto st1165;
+ case 69: goto st1205;
+ case 88: goto st1207;
+ case 101: goto st1205;
+ case 120: goto st1207;
}
- goto tr3271;
-st1163:
+ goto tr3340;
+st1205:
if ( ++p == pe )
- goto _test_eof1163;
-case 1163:
+ goto _test_eof1205;
+case 1205:
switch( (*p) ) {
- case 89: goto st1164;
- case 121: goto st1164;
+ case 89: goto st1206;
+ case 121: goto st1206;
}
- goto tr3271;
-st1164:
+ goto tr3340;
+st1206:
if ( ++p == pe )
- goto _test_eof1164;
-case 1164:
+ goto _test_eof1206;
+case 1206:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89177,18 +91056,18 @@ case 1164:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3551;
- case 32: goto tr3551;
- case 40: goto tr3552;
- case 41: goto tr3553;
- case 2058: goto tr3554;
- case 2107: goto tr3555;
+ case 9: goto tr3621;
+ case 32: goto tr3621;
+ case 40: goto tr3622;
+ case 41: goto tr3623;
+ case 2058: goto tr3624;
+ case 2107: goto tr3625;
}
- goto tr3271;
-st1165:
+ goto tr3340;
+st1207:
if ( ++p == pe )
- goto _test_eof1165;
-case 1165:
+ goto _test_eof1207;
+case 1207:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89202,38 +91081,38 @@ case 1165:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3556;
- case 32: goto tr3556;
- case 40: goto tr3557;
- case 41: goto tr3558;
- case 2058: goto tr3559;
- case 2107: goto tr3560;
+ case 9: goto tr3626;
+ case 32: goto tr3626;
+ case 40: goto tr3627;
+ case 41: goto tr3628;
+ case 2058: goto tr3629;
+ case 2107: goto tr3630;
}
- goto tr3271;
-st1166:
+ goto tr3340;
+st1208:
if ( ++p == pe )
- goto _test_eof1166;
-case 1166:
+ goto _test_eof1208;
+case 1208:
switch( (*p) ) {
- case 51: goto st1167;
- case 54: goto st1169;
- case 79: goto st1171;
- case 80: goto st1173;
- case 111: goto st1171;
- case 112: goto st1173;
+ case 51: goto st1209;
+ case 54: goto st1211;
+ case 79: goto st1213;
+ case 80: goto st1215;
+ case 111: goto st1213;
+ case 112: goto st1215;
}
- goto tr3271;
-st1167:
+ goto tr3340;
+st1209:
if ( ++p == pe )
- goto _test_eof1167;
-case 1167:
+ goto _test_eof1209;
+case 1209:
if ( (*p) == 50 )
- goto st1168;
- goto tr3271;
-st1168:
+ goto st1210;
+ goto tr3340;
+st1210:
if ( ++p == pe )
- goto _test_eof1168;
-case 1168:
+ goto _test_eof1210;
+case 1210:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89247,25 +91126,25 @@ case 1168:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3566;
- case 32: goto tr3566;
- case 40: goto tr3567;
- case 41: goto tr3568;
- case 2058: goto tr3569;
- case 2107: goto tr3570;
+ case 9: goto tr3636;
+ case 32: goto tr3636;
+ case 40: goto tr3637;
+ case 41: goto tr3638;
+ case 2058: goto tr3639;
+ case 2107: goto tr3640;
}
- goto tr3271;
-st1169:
+ goto tr3340;
+st1211:
if ( ++p == pe )
- goto _test_eof1169;
-case 1169:
+ goto _test_eof1211;
+case 1211:
if ( (*p) == 52 )
- goto st1170;
- goto tr3271;
-st1170:
+ goto st1212;
+ goto tr3340;
+st1212:
if ( ++p == pe )
- goto _test_eof1170;
-case 1170:
+ goto _test_eof1212;
+case 1212:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89279,27 +91158,27 @@ case 1170:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3572;
- case 32: goto tr3572;
- case 40: goto tr3573;
- case 41: goto tr3574;
- case 2058: goto tr3575;
- case 2107: goto tr3576;
+ case 9: goto tr3642;
+ case 32: goto tr3642;
+ case 40: goto tr3643;
+ case 41: goto tr3644;
+ case 2058: goto tr3645;
+ case 2107: goto tr3646;
}
- goto tr3271;
-st1171:
+ goto tr3340;
+st1213:
if ( ++p == pe )
- goto _test_eof1171;
-case 1171:
+ goto _test_eof1213;
+case 1213:
switch( (*p) ) {
- case 67: goto st1172;
- case 99: goto st1172;
+ case 67: goto st1214;
+ case 99: goto st1214;
}
- goto tr3271;
-st1172:
+ goto tr3340;
+st1214:
if ( ++p == pe )
- goto _test_eof1172;
-case 1172:
+ goto _test_eof1214;
+case 1214:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89313,18 +91192,18 @@ case 1172:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3578;
- case 32: goto tr3578;
- case 40: goto tr3579;
- case 41: goto tr3580;
- case 2058: goto tr3581;
- case 2107: goto tr3582;
+ case 9: goto tr3648;
+ case 32: goto tr3648;
+ case 40: goto tr3649;
+ case 41: goto tr3650;
+ case 2058: goto tr3651;
+ case 2107: goto tr3652;
}
- goto tr3271;
-st1173:
+ goto tr3340;
+st1215:
if ( ++p == pe )
- goto _test_eof1173;
-case 1173:
+ goto _test_eof1215;
+case 1215:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89338,56 +91217,56 @@ case 1173:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3583;
- case 32: goto tr3583;
- case 40: goto tr3584;
- case 41: goto tr3585;
- case 2058: goto tr3586;
- case 2107: goto tr3587;
+ case 9: goto tr3653;
+ case 32: goto tr3653;
+ case 40: goto tr3654;
+ case 41: goto tr3655;
+ case 2058: goto tr3656;
+ case 2107: goto tr3657;
}
- goto tr3271;
-st1174:
+ goto tr3340;
+st1216:
if ( ++p == pe )
- goto _test_eof1174;
-case 1174:
+ goto _test_eof1216;
+case 1216:
switch( (*p) ) {
- case 73: goto st1175;
- case 88: goto st1179;
- case 105: goto st1175;
- case 120: goto st1179;
+ case 73: goto st1217;
+ case 88: goto st1221;
+ case 105: goto st1217;
+ case 120: goto st1221;
}
- goto tr3271;
-st1175:
+ goto tr3340;
+st1217:
if ( ++p == pe )
- goto _test_eof1175;
-case 1175:
+ goto _test_eof1217;
+case 1217:
switch( (*p) ) {
- case 78: goto st1176;
- case 110: goto st1176;
+ case 78: goto st1218;
+ case 110: goto st1218;
}
- goto tr3271;
-st1176:
+ goto tr3340;
+st1218:
if ( ++p == pe )
- goto _test_eof1176;
-case 1176:
+ goto _test_eof1218;
+case 1218:
switch( (*p) ) {
- case 70: goto st1177;
- case 102: goto st1177;
+ case 70: goto st1219;
+ case 102: goto st1219;
}
- goto tr3271;
-st1177:
+ goto tr3340;
+st1219:
if ( ++p == pe )
- goto _test_eof1177;
-case 1177:
+ goto _test_eof1219;
+case 1219:
switch( (*p) ) {
- case 79: goto st1178;
- case 111: goto st1178;
+ case 79: goto st1220;
+ case 111: goto st1220;
}
- goto tr3271;
-st1178:
+ goto tr3340;
+st1220:
if ( ++p == pe )
- goto _test_eof1178;
-case 1178:
+ goto _test_eof1220;
+case 1220:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89401,18 +91280,18 @@ case 1178:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3593;
- case 32: goto tr3593;
- case 40: goto tr3594;
- case 41: goto tr3595;
- case 2058: goto tr3596;
- case 2107: goto tr3597;
+ case 9: goto tr3663;
+ case 32: goto tr3663;
+ case 40: goto tr3664;
+ case 41: goto tr3665;
+ case 2058: goto tr3666;
+ case 2107: goto tr3667;
}
- goto tr3271;
-st1179:
+ goto tr3340;
+st1221:
if ( ++p == pe )
- goto _test_eof1179;
-case 1179:
+ goto _test_eof1221;
+case 1221:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89426,58 +91305,58 @@ case 1179:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3598;
- case 32: goto tr3598;
- case 40: goto tr3599;
- case 41: goto tr3600;
- case 2058: goto tr3601;
- case 2107: goto tr3602;
+ case 9: goto tr3668;
+ case 32: goto tr3668;
+ case 40: goto tr3669;
+ case 41: goto tr3670;
+ case 2058: goto tr3671;
+ case 2107: goto tr3672;
}
- goto tr3271;
-st1180:
+ goto tr3340;
+st1222:
if ( ++p == pe )
- goto _test_eof1180;
-case 1180:
+ goto _test_eof1222;
+case 1222:
switch( (*p) ) {
- case 65: goto st1181;
- case 73: goto st1185;
- case 83: goto st1187;
- case 97: goto st1181;
- case 105: goto st1185;
- case 115: goto st1187;
+ case 65: goto st1223;
+ case 73: goto st1227;
+ case 83: goto st1229;
+ case 97: goto st1223;
+ case 105: goto st1227;
+ case 115: goto st1229;
}
- goto tr3271;
-st1181:
+ goto tr3340;
+st1223:
if ( ++p == pe )
- goto _test_eof1181;
-case 1181:
+ goto _test_eof1223;
+case 1223:
switch( (*p) ) {
- case 80: goto st1182;
- case 112: goto st1182;
+ case 80: goto st1224;
+ case 112: goto st1224;
}
- goto tr3271;
-st1182:
+ goto tr3340;
+st1224:
if ( ++p == pe )
- goto _test_eof1182;
-case 1182:
+ goto _test_eof1224;
+case 1224:
switch( (*p) ) {
- case 84: goto st1183;
- case 116: goto st1183;
+ case 84: goto st1225;
+ case 116: goto st1225;
}
- goto tr3271;
-st1183:
+ goto tr3340;
+st1225:
if ( ++p == pe )
- goto _test_eof1183;
-case 1183:
+ goto _test_eof1225;
+case 1225:
switch( (*p) ) {
- case 82: goto st1184;
- case 114: goto st1184;
+ case 82: goto st1226;
+ case 114: goto st1226;
}
- goto tr3271;
-st1184:
+ goto tr3340;
+st1226:
if ( ++p == pe )
- goto _test_eof1184;
-case 1184:
+ goto _test_eof1226;
+case 1226:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89491,27 +91370,27 @@ case 1184:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3609;
- case 32: goto tr3609;
- case 40: goto tr3610;
- case 41: goto tr3611;
- case 2058: goto tr3612;
- case 2107: goto tr3613;
+ case 9: goto tr3679;
+ case 32: goto tr3679;
+ case 40: goto tr3680;
+ case 41: goto tr3681;
+ case 2058: goto tr3682;
+ case 2107: goto tr3683;
}
- goto tr3271;
-st1185:
+ goto tr3340;
+st1227:
if ( ++p == pe )
- goto _test_eof1185;
-case 1185:
+ goto _test_eof1227;
+case 1227:
switch( (*p) ) {
- case 68: goto st1186;
- case 100: goto st1186;
+ case 68: goto st1228;
+ case 100: goto st1228;
}
- goto tr3271;
-st1186:
+ goto tr3340;
+st1228:
if ( ++p == pe )
- goto _test_eof1186;
-case 1186:
+ goto _test_eof1228;
+case 1228:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89525,18 +91404,18 @@ case 1186:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3615;
- case 32: goto tr3615;
- case 40: goto tr3616;
- case 41: goto tr3617;
- case 2058: goto tr3618;
- case 2107: goto tr3619;
+ case 9: goto tr3685;
+ case 32: goto tr3685;
+ case 40: goto tr3686;
+ case 41: goto tr3687;
+ case 2058: goto tr3688;
+ case 2107: goto tr3689;
}
- goto tr3271;
-st1187:
+ goto tr3340;
+st1229:
if ( ++p == pe )
- goto _test_eof1187;
-case 1187:
+ goto _test_eof1229;
+case 1229:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89550,29 +91429,29 @@ case 1187:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3620;
- case 32: goto tr3620;
- case 40: goto tr3621;
- case 41: goto tr3622;
- case 69: goto st1188;
- case 101: goto st1188;
- case 2058: goto tr3624;
- case 2107: goto tr3625;
+ case 9: goto tr3690;
+ case 32: goto tr3690;
+ case 40: goto tr3691;
+ case 41: goto tr3692;
+ case 69: goto st1230;
+ case 101: goto st1230;
+ case 2058: goto tr3694;
+ case 2107: goto tr3695;
}
- goto tr3271;
-st1188:
+ goto tr3340;
+st1230:
if ( ++p == pe )
- goto _test_eof1188;
-case 1188:
+ goto _test_eof1230;
+case 1230:
switch( (*p) ) {
- case 67: goto st1189;
- case 99: goto st1189;
+ case 67: goto st1231;
+ case 99: goto st1231;
}
- goto tr3271;
-st1189:
+ goto tr3340;
+st1231:
if ( ++p == pe )
- goto _test_eof1189;
-case 1189:
+ goto _test_eof1231;
+case 1231:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89586,19 +91465,19 @@ case 1189:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3627;
- case 32: goto tr3627;
- case 40: goto tr3628;
- case 41: goto tr3629;
- case 51: goto st1190;
- case 2058: goto tr3631;
- case 2107: goto tr3632;
+ case 9: goto tr3697;
+ case 32: goto tr3697;
+ case 40: goto tr3698;
+ case 41: goto tr3699;
+ case 51: goto st1232;
+ case 2058: goto tr3701;
+ case 2107: goto tr3702;
}
- goto tr3271;
-st1190:
+ goto tr3340;
+st1232:
if ( ++p == pe )
- goto _test_eof1190;
-case 1190:
+ goto _test_eof1232;
+case 1232:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89612,56 +91491,56 @@ case 1190:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3633;
- case 32: goto tr3633;
- case 40: goto tr3634;
- case 41: goto tr3635;
- case 80: goto st1191;
- case 112: goto st1191;
- case 2058: goto tr3637;
- case 2107: goto tr3638;
+ case 9: goto tr3703;
+ case 32: goto tr3703;
+ case 40: goto tr3704;
+ case 41: goto tr3705;
+ case 80: goto st1233;
+ case 112: goto st1233;
+ case 2058: goto tr3707;
+ case 2107: goto tr3708;
}
- goto tr3271;
-st1191:
+ goto tr3340;
+st1233:
if ( ++p == pe )
- goto _test_eof1191;
-case 1191:
+ goto _test_eof1233;
+case 1233:
switch( (*p) ) {
- case 65: goto st1192;
- case 97: goto st1192;
+ case 65: goto st1234;
+ case 97: goto st1234;
}
- goto tr3271;
-st1192:
+ goto tr3340;
+st1234:
if ( ++p == pe )
- goto _test_eof1192;
-case 1192:
+ goto _test_eof1234;
+case 1234:
switch( (*p) ) {
- case 82: goto st1193;
- case 114: goto st1193;
+ case 82: goto st1235;
+ case 114: goto st1235;
}
- goto tr3271;
-st1193:
+ goto tr3340;
+st1235:
if ( ++p == pe )
- goto _test_eof1193;
-case 1193:
+ goto _test_eof1235;
+case 1235:
switch( (*p) ) {
- case 65: goto st1194;
- case 97: goto st1194;
+ case 65: goto st1236;
+ case 97: goto st1236;
}
- goto tr3271;
-st1194:
+ goto tr3340;
+st1236:
if ( ++p == pe )
- goto _test_eof1194;
-case 1194:
+ goto _test_eof1236;
+case 1236:
switch( (*p) ) {
- case 77: goto st1195;
- case 109: goto st1195;
+ case 77: goto st1237;
+ case 109: goto st1237;
}
- goto tr3271;
-st1195:
+ goto tr3340;
+st1237:
if ( ++p == pe )
- goto _test_eof1195;
-case 1195:
+ goto _test_eof1237;
+case 1237:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89675,99 +91554,99 @@ case 1195:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3643;
- case 32: goto tr3643;
- case 40: goto tr3644;
- case 41: goto tr3645;
- case 2058: goto tr3646;
- case 2107: goto tr3647;
+ case 9: goto tr3713;
+ case 32: goto tr3713;
+ case 40: goto tr3714;
+ case 41: goto tr3715;
+ case 2058: goto tr3716;
+ case 2107: goto tr3717;
}
- goto tr3271;
-st1196:
+ goto tr3340;
+st1238:
if ( ++p == pe )
- goto _test_eof1196;
-case 1196:
+ goto _test_eof1238;
+case 1238:
switch( (*p) ) {
- case 80: goto st1197;
- case 112: goto st1197;
+ case 80: goto st1239;
+ case 112: goto st1239;
}
- goto tr3271;
-st1197:
+ goto tr3340;
+st1239:
if ( ++p == pe )
- goto _test_eof1197;
-case 1197:
+ goto _test_eof1239;
+case 1239:
switch( (*p) ) {
- case 69: goto st1198;
- case 101: goto st1198;
+ case 69: goto st1240;
+ case 101: goto st1240;
}
- goto tr3271;
-st1198:
+ goto tr3340;
+st1240:
if ( ++p == pe )
- goto _test_eof1198;
-case 1198:
+ goto _test_eof1240;
+case 1240:
switch( (*p) ) {
- case 78: goto st1199;
- case 110: goto st1199;
+ case 78: goto st1241;
+ case 110: goto st1241;
}
- goto tr3271;
-st1199:
+ goto tr3340;
+st1241:
if ( ++p == pe )
- goto _test_eof1199;
-case 1199:
+ goto _test_eof1241;
+case 1241:
switch( (*p) ) {
- case 80: goto st1200;
- case 112: goto st1200;
+ case 80: goto st1242;
+ case 112: goto st1242;
}
- goto tr3271;
-st1200:
+ goto tr3340;
+st1242:
if ( ++p == pe )
- goto _test_eof1200;
-case 1200:
+ goto _test_eof1242;
+case 1242:
switch( (*p) ) {
- case 71: goto st1201;
- case 103: goto st1201;
+ case 71: goto st1243;
+ case 103: goto st1243;
}
- goto tr3271;
-st1201:
+ goto tr3340;
+st1243:
if ( ++p == pe )
- goto _test_eof1201;
-case 1201:
+ goto _test_eof1243;
+case 1243:
switch( (*p) ) {
- case 80: goto st1202;
- case 112: goto st1202;
+ case 80: goto st1244;
+ case 112: goto st1244;
}
- goto tr3271;
-st1202:
+ goto tr3340;
+st1244:
if ( ++p == pe )
- goto _test_eof1202;
-case 1202:
+ goto _test_eof1244;
+case 1244:
switch( (*p) ) {
- case 75: goto st1203;
- case 107: goto st1203;
+ case 75: goto st1245;
+ case 107: goto st1245;
}
- goto tr3271;
-st1203:
+ goto tr3340;
+st1245:
if ( ++p == pe )
- goto _test_eof1203;
-case 1203:
+ goto _test_eof1245;
+case 1245:
switch( (*p) ) {
- case 69: goto st1204;
- case 101: goto st1204;
+ case 69: goto st1246;
+ case 101: goto st1246;
}
- goto tr3271;
-st1204:
+ goto tr3340;
+st1246:
if ( ++p == pe )
- goto _test_eof1204;
-case 1204:
+ goto _test_eof1246;
+case 1246:
switch( (*p) ) {
- case 89: goto st1205;
- case 121: goto st1205;
+ case 89: goto st1247;
+ case 121: goto st1247;
}
- goto tr3271;
-st1205:
+ goto tr3340;
+st1247:
if ( ++p == pe )
- goto _test_eof1205;
-case 1205:
+ goto _test_eof1247;
+case 1247:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89781,36 +91660,36 @@ case 1205:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3657;
- case 32: goto tr3657;
- case 40: goto tr3658;
- case 41: goto tr3659;
- case 2058: goto tr3660;
- case 2107: goto tr3661;
+ case 9: goto tr3727;
+ case 32: goto tr3727;
+ case 40: goto tr3728;
+ case 41: goto tr3729;
+ case 2058: goto tr3730;
+ case 2107: goto tr3731;
}
- goto tr3271;
-st1206:
+ goto tr3340;
+st1248:
if ( ++p == pe )
- goto _test_eof1206;
-case 1206:
+ goto _test_eof1248;
+case 1248:
switch( (*p) ) {
- case 84: goto st1207;
- case 116: goto st1207;
+ case 84: goto st1249;
+ case 116: goto st1249;
}
- goto tr3271;
-st1207:
+ goto tr3340;
+st1249:
if ( ++p == pe )
- goto _test_eof1207;
-case 1207:
+ goto _test_eof1249;
+case 1249:
switch( (*p) ) {
- case 82: goto st1208;
- case 114: goto st1208;
+ case 82: goto st1250;
+ case 114: goto st1250;
}
- goto tr3271;
-st1208:
+ goto tr3340;
+st1250:
if ( ++p == pe )
- goto _test_eof1208;
-case 1208:
+ goto _test_eof1250;
+case 1250:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89824,31 +91703,31 @@ case 1208:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3664;
- case 32: goto tr3664;
- case 40: goto tr3665;
- case 41: goto tr3666;
- case 2058: goto tr3667;
- case 2107: goto tr3668;
+ case 9: goto tr3734;
+ case 32: goto tr3734;
+ case 40: goto tr3735;
+ case 41: goto tr3736;
+ case 2058: goto tr3737;
+ case 2107: goto tr3738;
}
- goto tr3271;
-st1209:
+ goto tr3340;
+st1251:
if ( ++p == pe )
- goto _test_eof1209;
-case 1209:
+ goto _test_eof1251;
+case 1251:
switch( (*p) ) {
- case 80: goto st1210;
- case 82: goto st1211;
- case 84: goto st1215;
- case 112: goto st1210;
- case 114: goto st1211;
- case 116: goto st1215;
+ case 80: goto st1252;
+ case 82: goto st1253;
+ case 84: goto st1257;
+ case 112: goto st1252;
+ case 114: goto st1253;
+ case 116: goto st1257;
}
- goto tr3271;
-st1210:
+ goto tr3340;
+st1252:
if ( ++p == pe )
- goto _test_eof1210;
-case 1210:
+ goto _test_eof1252;
+case 1252:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89862,45 +91741,45 @@ case 1210:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3672;
- case 32: goto tr3672;
- case 40: goto tr3673;
- case 41: goto tr3674;
- case 2058: goto tr3675;
- case 2107: goto tr3676;
+ case 9: goto tr3742;
+ case 32: goto tr3742;
+ case 40: goto tr3743;
+ case 41: goto tr3744;
+ case 2058: goto tr3745;
+ case 2107: goto tr3746;
}
- goto tr3271;
-st1211:
+ goto tr3340;
+st1253:
if ( ++p == pe )
- goto _test_eof1211;
-case 1211:
+ goto _test_eof1253;
+case 1253:
switch( (*p) ) {
- case 83: goto st1212;
- case 115: goto st1212;
+ case 83: goto st1254;
+ case 115: goto st1254;
}
- goto tr3271;
-st1212:
+ goto tr3340;
+st1254:
if ( ++p == pe )
- goto _test_eof1212;
-case 1212:
+ goto _test_eof1254;
+case 1254:
switch( (*p) ) {
- case 73: goto st1213;
- case 105: goto st1213;
+ case 73: goto st1255;
+ case 105: goto st1255;
}
- goto tr3271;
-st1213:
+ goto tr3340;
+st1255:
if ( ++p == pe )
- goto _test_eof1213;
-case 1213:
+ goto _test_eof1255;
+case 1255:
switch( (*p) ) {
- case 71: goto st1214;
- case 103: goto st1214;
+ case 71: goto st1256;
+ case 103: goto st1256;
}
- goto tr3271;
-st1214:
+ goto tr3340;
+st1256:
if ( ++p == pe )
- goto _test_eof1214;
-case 1214:
+ goto _test_eof1256;
+case 1256:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89914,18 +91793,18 @@ case 1214:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3680;
- case 32: goto tr3680;
- case 40: goto tr3681;
- case 41: goto tr3682;
- case 2058: goto tr3683;
- case 2107: goto tr3684;
+ case 9: goto tr3750;
+ case 32: goto tr3750;
+ case 40: goto tr3751;
+ case 41: goto tr3752;
+ case 2058: goto tr3753;
+ case 2107: goto tr3754;
}
- goto tr3271;
-st1215:
+ goto tr3340;
+st1257:
if ( ++p == pe )
- goto _test_eof1215;
-case 1215:
+ goto _test_eof1257;
+case 1257:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -89939,73 +91818,73 @@ case 1215:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3685;
- case 32: goto tr3685;
- case 40: goto tr3686;
- case 41: goto tr3687;
- case 2058: goto tr3688;
- case 2107: goto tr3689;
+ case 9: goto tr3755;
+ case 32: goto tr3755;
+ case 40: goto tr3756;
+ case 41: goto tr3757;
+ case 2058: goto tr3758;
+ case 2107: goto tr3759;
}
- goto tr3271;
-st1216:
+ goto tr3340;
+st1258:
if ( ++p == pe )
- goto _test_eof1216;
-case 1216:
+ goto _test_eof1258;
+case 1258:
switch( (*p) ) {
- case 77: goto st1217;
- case 79: goto st1222;
- case 80: goto st1224;
- case 82: goto st1226;
- case 83: goto st1228;
- case 86: goto st1232;
- case 109: goto st1217;
- case 111: goto st1222;
- case 112: goto st1224;
- case 114: goto st1226;
- case 115: goto st1228;
- case 118: goto st1232;
- }
- goto tr3271;
-st1217:
+ case 77: goto st1259;
+ case 79: goto st1264;
+ case 80: goto st1266;
+ case 82: goto st1268;
+ case 83: goto st1270;
+ case 86: goto st1274;
+ case 109: goto st1259;
+ case 111: goto st1264;
+ case 112: goto st1266;
+ case 114: goto st1268;
+ case 115: goto st1270;
+ case 118: goto st1274;
+ }
+ goto tr3340;
+st1259:
if ( ++p == pe )
- goto _test_eof1217;
-case 1217:
+ goto _test_eof1259;
+case 1259:
switch( (*p) ) {
- case 73: goto st1218;
- case 105: goto st1218;
+ case 73: goto st1260;
+ case 105: goto st1260;
}
- goto tr3271;
-st1218:
+ goto tr3340;
+st1260:
if ( ++p == pe )
- goto _test_eof1218;
-case 1218:
+ goto _test_eof1260;
+case 1260:
switch( (*p) ) {
- case 77: goto st1219;
- case 109: goto st1219;
+ case 77: goto st1261;
+ case 109: goto st1261;
}
- goto tr3271;
-st1219:
+ goto tr3340;
+st1261:
if ( ++p == pe )
- goto _test_eof1219;
-case 1219:
+ goto _test_eof1261;
+case 1261:
switch( (*p) ) {
- case 69: goto st1220;
- case 101: goto st1220;
+ case 69: goto st1262;
+ case 101: goto st1262;
}
- goto tr3271;
-st1220:
+ goto tr3340;
+st1262:
if ( ++p == pe )
- goto _test_eof1220;
-case 1220:
+ goto _test_eof1262;
+case 1262:
switch( (*p) ) {
- case 65: goto st1221;
- case 97: goto st1221;
+ case 65: goto st1263;
+ case 97: goto st1263;
}
- goto tr3271;
-st1221:
+ goto tr3340;
+st1263:
if ( ++p == pe )
- goto _test_eof1221;
-case 1221:
+ goto _test_eof1263;
+case 1263:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -90019,27 +91898,27 @@ case 1221:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3700;
- case 32: goto tr3700;
- case 40: goto tr3701;
- case 41: goto tr3702;
- case 2058: goto tr3703;
- case 2107: goto tr3704;
+ case 9: goto tr3770;
+ case 32: goto tr3770;
+ case 40: goto tr3771;
+ case 41: goto tr3772;
+ case 2058: goto tr3773;
+ case 2107: goto tr3774;
}
- goto tr3271;
-st1222:
+ goto tr3340;
+st1264:
if ( ++p == pe )
- goto _test_eof1222;
-case 1222:
+ goto _test_eof1264;
+case 1264:
switch( (*p) ) {
- case 65: goto st1223;
- case 97: goto st1223;
+ case 65: goto st1265;
+ case 97: goto st1265;
}
- goto tr3271;
-st1223:
+ goto tr3340;
+st1265:
if ( ++p == pe )
- goto _test_eof1223;
-case 1223:
+ goto _test_eof1265;
+case 1265:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -90053,27 +91932,27 @@ case 1223:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3706;
- case 32: goto tr3706;
- case 40: goto tr3707;
- case 41: goto tr3708;
- case 2058: goto tr3709;
- case 2107: goto tr3710;
+ case 9: goto tr3776;
+ case 32: goto tr3776;
+ case 40: goto tr3777;
+ case 41: goto tr3778;
+ case 2058: goto tr3779;
+ case 2107: goto tr3780;
}
- goto tr3271;
-st1224:
+ goto tr3340;
+st1266:
if ( ++p == pe )
- goto _test_eof1224;
-case 1224:
+ goto _test_eof1266;
+case 1266:
switch( (*p) ) {
- case 70: goto st1225;
- case 102: goto st1225;
+ case 70: goto st1267;
+ case 102: goto st1267;
}
- goto tr3271;
-st1225:
+ goto tr3340;
+st1267:
if ( ++p == pe )
- goto _test_eof1225;
-case 1225:
+ goto _test_eof1267;
+case 1267:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -90087,27 +91966,27 @@ case 1225:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3712;
- case 32: goto tr3712;
- case 40: goto tr3713;
- case 41: goto tr3714;
- case 2058: goto tr3715;
- case 2107: goto tr3716;
+ case 9: goto tr3782;
+ case 32: goto tr3782;
+ case 40: goto tr3783;
+ case 41: goto tr3784;
+ case 2058: goto tr3785;
+ case 2107: goto tr3786;
}
- goto tr3271;
-st1226:
+ goto tr3340;
+st1268:
if ( ++p == pe )
- goto _test_eof1226;
-case 1226:
+ goto _test_eof1268;
+case 1268:
switch( (*p) ) {
- case 86: goto st1227;
- case 118: goto st1227;
+ case 86: goto st1269;
+ case 118: goto st1269;
}
- goto tr3271;
-st1227:
+ goto tr3340;
+st1269:
if ( ++p == pe )
- goto _test_eof1227;
-case 1227:
+ goto _test_eof1269;
+case 1269:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -90121,45 +92000,45 @@ case 1227:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3718;
- case 32: goto tr3718;
- case 40: goto tr3719;
- case 41: goto tr3720;
- case 2058: goto tr3721;
- case 2107: goto tr3722;
+ case 9: goto tr3788;
+ case 32: goto tr3788;
+ case 40: goto tr3789;
+ case 41: goto tr3790;
+ case 2058: goto tr3791;
+ case 2107: goto tr3792;
}
- goto tr3271;
-st1228:
+ goto tr3340;
+st1270:
if ( ++p == pe )
- goto _test_eof1228;
-case 1228:
+ goto _test_eof1270;
+case 1270:
switch( (*p) ) {
- case 72: goto st1229;
- case 104: goto st1229;
+ case 72: goto st1271;
+ case 104: goto st1271;
}
- goto tr3271;
-st1229:
+ goto tr3340;
+st1271:
if ( ++p == pe )
- goto _test_eof1229;
-case 1229:
+ goto _test_eof1271;
+case 1271:
switch( (*p) ) {
- case 70: goto st1230;
- case 102: goto st1230;
+ case 70: goto st1272;
+ case 102: goto st1272;
}
- goto tr3271;
-st1230:
+ goto tr3340;
+st1272:
if ( ++p == pe )
- goto _test_eof1230;
-case 1230:
+ goto _test_eof1272;
+case 1272:
switch( (*p) ) {
- case 80: goto st1231;
- case 112: goto st1231;
+ case 80: goto st1273;
+ case 112: goto st1273;
}
- goto tr3271;
-st1231:
+ goto tr3340;
+st1273:
if ( ++p == pe )
- goto _test_eof1231;
-case 1231:
+ goto _test_eof1273;
+case 1273:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -90173,36 +92052,36 @@ case 1231:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3726;
- case 32: goto tr3726;
- case 40: goto tr3727;
- case 41: goto tr3728;
- case 2058: goto tr3729;
- case 2107: goto tr3730;
+ case 9: goto tr3796;
+ case 32: goto tr3796;
+ case 40: goto tr3797;
+ case 41: goto tr3798;
+ case 2058: goto tr3799;
+ case 2107: goto tr3800;
}
- goto tr3271;
-st1232:
+ goto tr3340;
+st1274:
if ( ++p == pe )
- goto _test_eof1232;
-case 1232:
+ goto _test_eof1274;
+case 1274:
switch( (*p) ) {
- case 67: goto st1233;
- case 99: goto st1233;
+ case 67: goto st1275;
+ case 99: goto st1275;
}
- goto tr3271;
-st1233:
+ goto tr3340;
+st1275:
if ( ++p == pe )
- goto _test_eof1233;
-case 1233:
+ goto _test_eof1275;
+case 1275:
switch( (*p) ) {
- case 66: goto st1234;
- case 98: goto st1234;
+ case 66: goto st1276;
+ case 98: goto st1276;
}
- goto tr3271;
-st1234:
+ goto tr3340;
+st1276:
if ( ++p == pe )
- goto _test_eof1234;
-case 1234:
+ goto _test_eof1276;
+case 1276:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -90216,49 +92095,49 @@ case 1234:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3733;
- case 32: goto tr3733;
- case 40: goto tr3734;
- case 41: goto tr3735;
- case 2058: goto tr3736;
- case 2107: goto tr3737;
+ case 9: goto tr3803;
+ case 32: goto tr3803;
+ case 40: goto tr3804;
+ case 41: goto tr3805;
+ case 2058: goto tr3806;
+ case 2107: goto tr3807;
}
- goto tr3271;
-st1235:
+ goto tr3340;
+st1277:
if ( ++p == pe )
- goto _test_eof1235;
-case 1235:
+ goto _test_eof1277;
+case 1277:
switch( (*p) ) {
- case 76: goto st1236;
- case 88: goto st1239;
- case 89: goto st1241;
- case 108: goto st1236;
- case 120: goto st1239;
- case 121: goto st1241;
+ case 76: goto st1278;
+ case 88: goto st1281;
+ case 89: goto st1283;
+ case 108: goto st1278;
+ case 120: goto st1281;
+ case 121: goto st1283;
}
- goto tr3271;
-st1236:
+ goto tr3340;
+st1278:
if ( ++p == pe )
- goto _test_eof1236;
-case 1236:
+ goto _test_eof1278;
+case 1278:
switch( (*p) ) {
- case 83: goto st1237;
- case 115: goto st1237;
+ case 83: goto st1279;
+ case 115: goto st1279;
}
- goto tr3271;
-st1237:
+ goto tr3340;
+st1279:
if ( ++p == pe )
- goto _test_eof1237;
-case 1237:
+ goto _test_eof1279;
+case 1279:
switch( (*p) ) {
- case 65: goto st1238;
- case 97: goto st1238;
+ case 65: goto st1280;
+ case 97: goto st1280;
}
- goto tr3271;
-st1238:
+ goto tr3340;
+st1280:
if ( ++p == pe )
- goto _test_eof1238;
-case 1238:
+ goto _test_eof1280;
+case 1280:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -90272,27 +92151,27 @@ case 1238:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3743;
- case 32: goto tr3743;
- case 40: goto tr3744;
- case 41: goto tr3745;
- case 2058: goto tr3746;
- case 2107: goto tr3747;
+ case 9: goto tr3813;
+ case 32: goto tr3813;
+ case 40: goto tr3814;
+ case 41: goto tr3815;
+ case 2058: goto tr3816;
+ case 2107: goto tr3817;
}
- goto tr3271;
-st1239:
+ goto tr3340;
+st1281:
if ( ++p == pe )
- goto _test_eof1239;
-case 1239:
+ goto _test_eof1281;
+case 1281:
switch( (*p) ) {
- case 84: goto st1240;
- case 116: goto st1240;
+ case 84: goto st1282;
+ case 116: goto st1282;
}
- goto tr3271;
-st1240:
+ goto tr3340;
+st1282:
if ( ++p == pe )
- goto _test_eof1240;
-case 1240:
+ goto _test_eof1282;
+case 1282:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -90306,40 +92185,40 @@ case 1240:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3749;
- case 32: goto tr3749;
- case 40: goto tr3750;
- case 41: goto tr3751;
- case 2058: goto tr3752;
- case 2107: goto tr3753;
+ case 9: goto tr3819;
+ case 32: goto tr3819;
+ case 40: goto tr3820;
+ case 41: goto tr3821;
+ case 2058: goto tr3822;
+ case 2107: goto tr3823;
}
- goto tr3271;
-st1241:
+ goto tr3340;
+st1283:
if ( ++p == pe )
- goto _test_eof1241;
-case 1241:
+ goto _test_eof1283;
+case 1283:
switch( (*p) ) {
- case 80: goto st1242;
- case 112: goto st1242;
+ case 80: goto st1284;
+ case 112: goto st1284;
}
- goto tr3271;
-st1242:
+ goto tr3340;
+st1284:
if ( ++p == pe )
- goto _test_eof1242;
-case 1242:
+ goto _test_eof1284;
+case 1284:
switch( (*p) ) {
- case 69: goto st1243;
- case 101: goto st1243;
+ case 69: goto st1285;
+ case 101: goto st1285;
}
- goto tr3271;
-st1243:
+ goto tr3340;
+st1285:
if ( ++p == pe )
- goto _test_eof1243;
-case 1243:
+ goto _test_eof1285;
+case 1285:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3757;
- goto tr3756;
-tr3757:
+ goto tr3827;
+ goto tr3826;
+tr3827:
{
s->number64 = 0;
}
@@ -90354,11 +92233,11 @@ tr3757:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1244;
-tr3761:
+ goto st1286;
+tr3831:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -90370,14 +92249,14 @@ tr3761:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1244;
-st1244:
+ goto st1286;
+st1286:
if ( ++p == pe )
- goto _test_eof1244;
-case 1244:
+ goto _test_eof1286;
+case 1286:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -90391,38 +92270,38 @@ case 1244:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3758;
- case 32: goto tr3758;
- case 40: goto tr3759;
- case 41: goto tr3760;
- case 2058: goto tr3762;
- case 2107: goto tr3763;
+ case 9: goto tr3828;
+ case 32: goto tr3828;
+ case 40: goto tr3829;
+ case 41: goto tr3830;
+ case 2058: goto tr3832;
+ case 2107: goto tr3833;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3761;
- goto tr3756;
-st1245:
+ goto tr3831;
+ goto tr3826;
+st1287:
if ( ++p == pe )
- goto _test_eof1245;
-case 1245:
+ goto _test_eof1287;
+case 1287:
switch( (*p) ) {
- case 82: goto st1246;
- case 114: goto st1246;
+ case 82: goto st1288;
+ case 114: goto st1288;
}
- goto tr3271;
-st1246:
+ goto tr3340;
+st1288:
if ( ++p == pe )
- goto _test_eof1246;
-case 1246:
+ goto _test_eof1288;
+case 1288:
switch( (*p) ) {
- case 73: goto st1247;
- case 105: goto st1247;
+ case 73: goto st1289;
+ case 105: goto st1289;
}
- goto tr3271;
-st1247:
+ goto tr3340;
+st1289:
if ( ++p == pe )
- goto _test_eof1247;
-case 1247:
+ goto _test_eof1289;
+case 1289:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -90436,63 +92315,63 @@ case 1247:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3766;
- case 32: goto tr3766;
- case 40: goto tr3767;
- case 41: goto tr3768;
- case 2058: goto tr3769;
- case 2107: goto tr3770;
+ case 9: goto tr3836;
+ case 32: goto tr3836;
+ case 40: goto tr3837;
+ case 41: goto tr3838;
+ case 2058: goto tr3839;
+ case 2107: goto tr3840;
}
- goto tr3271;
-st1248:
+ goto tr3340;
+st1290:
if ( ++p == pe )
- goto _test_eof1248;
-case 1248:
+ goto _test_eof1290;
+case 1290:
switch( (*p) ) {
- case 79: goto st1249;
- case 111: goto st1249;
+ case 65: goto st1291;
+ case 97: goto st1291;
}
- goto tr3271;
-st1249:
+ goto tr3340;
+st1291:
if ( ++p == pe )
- goto _test_eof1249;
-case 1249:
+ goto _test_eof1291;
+case 1291:
switch( (*p) ) {
- case 78: goto st1250;
- case 110: goto st1250;
+ case 76: goto st1292;
+ case 108: goto st1292;
}
- goto tr3271;
-st1250:
+ goto tr3340;
+st1292:
if ( ++p == pe )
- goto _test_eof1250;
-case 1250:
+ goto _test_eof1292;
+case 1292:
switch( (*p) ) {
- case 69: goto st1251;
- case 101: goto st1251;
+ case 76: goto st1293;
+ case 108: goto st1293;
}
- goto tr3271;
-st1251:
+ goto tr3340;
+st1293:
if ( ++p == pe )
- goto _test_eof1251;
-case 1251:
+ goto _test_eof1293;
+case 1293:
switch( (*p) ) {
- case 77: goto st1252;
- case 109: goto st1252;
+ case 69: goto st1294;
+ case 101: goto st1294;
}
- goto tr3271;
-st1252:
+ goto tr3340;
+st1294:
if ( ++p == pe )
- goto _test_eof1252;
-case 1252:
+ goto _test_eof1294;
+case 1294:
switch( (*p) ) {
- case 68: goto st1253;
- case 100: goto st1253;
+ case 84: goto st1295;
+ case 116: goto st1295;
}
- goto tr3271;
-st1253:
+ goto tr3340;
+st1295:
if ( ++p == pe )
- goto _test_eof1253;
-case 1253:
+ goto _test_eof1295;
+case 1295:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -90506,90 +92385,160 @@ case 1253:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3776;
- case 32: goto tr3776;
- case 40: goto tr3777;
- case 41: goto tr3778;
- case 2058: goto tr3779;
- case 2107: goto tr3780;
+ case 9: goto tr3846;
+ case 32: goto tr3846;
+ case 40: goto tr3847;
+ case 41: goto tr3848;
+ case 2058: goto tr3849;
+ case 2107: goto tr3850;
}
- goto tr3271;
-st1254:
+ goto tr3340;
+st1296:
if ( ++p == pe )
- goto _test_eof1254;
-case 1254:
+ goto _test_eof1296;
+case 1296:
+ switch( (*p) ) {
+ case 79: goto st1297;
+ case 111: goto st1297;
+ }
+ goto tr3340;
+st1297:
+ if ( ++p == pe )
+ goto _test_eof1297;
+case 1297:
+ switch( (*p) ) {
+ case 78: goto st1298;
+ case 110: goto st1298;
+ }
+ goto tr3340;
+st1298:
+ if ( ++p == pe )
+ goto _test_eof1298;
+case 1298:
+ switch( (*p) ) {
+ case 69: goto st1299;
+ case 101: goto st1299;
+ }
+ goto tr3340;
+st1299:
+ if ( ++p == pe )
+ goto _test_eof1299;
+case 1299:
+ switch( (*p) ) {
+ case 77: goto st1300;
+ case 109: goto st1300;
+ }
+ goto tr3340;
+st1300:
+ if ( ++p == pe )
+ goto _test_eof1300;
+case 1300:
+ switch( (*p) ) {
+ case 68: goto st1301;
+ case 100: goto st1301;
+ }
+ goto tr3340;
+st1301:
+ if ( ++p == pe )
+ goto _test_eof1301;
+case 1301:
+ _widec = (*p);
+ if ( (*p) > 10 ) {
+ if ( 59 <= (*p) && (*p) <= 59 ) {
+ _widec = (short)(1664 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ }
+ } else if ( (*p) >= 10 ) {
+ _widec = (short)(1664 + ((*p) - -128));
+ if (
+ s->multiline ) _widec += 256;
+ }
+ switch( _widec ) {
+ case 9: goto tr3856;
+ case 32: goto tr3856;
+ case 40: goto tr3857;
+ case 41: goto tr3858;
+ case 2058: goto tr3859;
+ case 2107: goto tr3860;
+ }
+ goto tr3340;
+st1302:
+ if ( ++p == pe )
+ goto _test_eof1302;
+case 1302:
switch( (*p) ) {
- case 42: goto tr3781;
- case 92: goto tr3781;
- case 95: goto tr3781;
+ case 42: goto tr3861;
+ case 92: goto tr3861;
+ case 95: goto tr3861;
}
if ( (*p) < 64 ) {
if ( 45 <= (*p) && (*p) <= 57 )
- goto tr3781;
+ goto tr3861;
} else if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr3781;
+ goto tr3861;
} else
- goto tr3781;
- goto tr75;
-tr3781:
+ goto tr3861;
+ goto tr77;
+tr3861:
{
s->dname = rdata_tail;
}
- { p--; {stack[top++] = 1255;goto st309;} }
- goto st1255;
-st1255:
+ { p--; {stack[top++] = 1303;goto st318;} }
+ goto st1303;
+st1303:
if ( ++p == pe )
- goto _test_eof1255;
-case 1255:
+ goto _test_eof1303;
+case 1303:
switch( (*p) ) {
- case 32: goto tr3782;
- case 59: goto tr3782;
+ case 32: goto tr3862;
+ case 59: goto tr3862;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr3782;
+ goto tr3862;
} else if ( (*p) >= 9 )
- goto tr3782;
- goto tr75;
-tr3782:
+ goto tr3862;
+ goto tr77;
+tr3862:
{
rdata_tail += s->dname_tmp_length;
}
- { p--; {stack[top++] = 1256;goto st376;} }
- goto st1256;
-st1256:
+ { p--; {stack[top++] = 1304;goto st385;} }
+ goto st1304;
+st1304:
if ( ++p == pe )
- goto _test_eof1256;
-case 1256:
+ goto _test_eof1304;
+case 1304:
switch( (*p) ) {
- case 32: goto tr3783;
- case 59: goto tr3783;
+ case 32: goto tr3863;
+ case 59: goto tr3863;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr3783;
+ goto tr3863;
} else if ( (*p) >= 9 )
- goto tr3783;
- goto tr75;
-tr3783:
+ goto tr3863;
+ goto tr77;
+tr3863:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1474;
-st1474:
+ goto st1522;
+st1522:
if ( ++p == pe )
- goto _test_eof1474;
-case 1474:
+ goto _test_eof1522;
+case 1522:
goto st0;
-st1257:
+st1305:
if ( ++p == pe )
- goto _test_eof1257;
-case 1257:
+ goto _test_eof1305;
+case 1305:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3784;
- goto tr2327;
-tr3784:
+ goto tr3864;
+ goto tr2396;
+tr3864:
{
s->number64 = 0;
}
@@ -90604,11 +92553,11 @@ tr3784:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1258;
-tr3788:
+ goto st1306;
+tr3868:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -90620,14 +92569,14 @@ tr3788:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1258;
-st1258:
+ goto st1306;
+st1306:
if ( ++p == pe )
- goto _test_eof1258;
-case 1258:
+ goto _test_eof1306;
+case 1306:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -90641,40 +92590,40 @@ case 1258:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3785;
- case 32: goto tr3785;
- case 40: goto tr3786;
- case 41: goto tr3787;
- case 2058: goto tr3789;
- case 2107: goto tr3790;
+ case 9: goto tr3865;
+ case 32: goto tr3865;
+ case 40: goto tr3866;
+ case 41: goto tr3867;
+ case 2058: goto tr3869;
+ case 2107: goto tr3870;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3788;
- goto tr2327;
-tr3792:
+ goto tr3868;
+ goto tr2396;
+tr3872:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1259;
-tr3793:
+ goto st1307;
+tr3873:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1259;
-tr3795:
+ goto st1307;
+tr3875:
{
s->line_counter++;
}
- goto st1259;
-tr3821:
+ goto st1307;
+tr3901:
{
s->buffer[s->buffer_length++] = 0;
@@ -90684,15 +92633,15 @@ tr3821:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1259; goto _out;}
+ {p++; cs = 1307; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1259;
-tr3785:
+ goto st1307;
+tr3865:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -90700,11 +92649,11 @@ tr3785:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1259;
-tr3786:
+ goto st1307;
+tr3866:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -90712,18 +92661,18 @@ tr3786:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1259;
-tr3787:
+ goto st1307;
+tr3867:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -90731,18 +92680,18 @@ tr3787:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1259;
-tr3789:
+ goto st1307;
+tr3869:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -90750,17 +92699,17 @@ tr3789:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1259;
-st1259:
+ goto st1307;
+st1307:
if ( ++p == pe )
- goto _test_eof1259;
-case 1259:
+ goto _test_eof1307;
+case 1307:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -90774,17 +92723,17 @@ case 1259:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1259;
- case 32: goto st1259;
- case 40: goto tr3792;
- case 41: goto tr3793;
- case 2058: goto tr3795;
- case 2107: goto tr3796;
+ case 9: goto st1307;
+ case 32: goto st1307;
+ case 40: goto tr3872;
+ case 41: goto tr3873;
+ case 2058: goto tr3875;
+ case 2107: goto tr3876;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3794;
- goto tr2327;
-tr3794:
+ goto tr3874;
+ goto tr2396;
+tr3874:
{
s->number64 = 0;
}
@@ -90799,11 +92748,11 @@ tr3794:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1260;
-tr3800:
+ goto st1308;
+tr3880:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -90815,14 +92764,14 @@ tr3800:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1260;
-st1260:
+ goto st1308;
+st1308:
if ( ++p == pe )
- goto _test_eof1260;
-case 1260:
+ goto _test_eof1308;
+case 1308:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -90836,40 +92785,40 @@ case 1260:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3797;
- case 32: goto tr3797;
- case 40: goto tr3798;
- case 41: goto tr3799;
- case 2058: goto tr3801;
- case 2107: goto tr3802;
+ case 9: goto tr3877;
+ case 32: goto tr3877;
+ case 40: goto tr3878;
+ case 41: goto tr3879;
+ case 2058: goto tr3881;
+ case 2107: goto tr3882;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3800;
- goto tr2327;
-tr3804:
+ goto tr3880;
+ goto tr2396;
+tr3884:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1261;
-tr3805:
+ goto st1309;
+tr3885:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1261;
-tr3807:
+ goto st1309;
+tr3887:
{
s->line_counter++;
}
- goto st1261;
-tr3819:
+ goto st1309;
+tr3899:
{
s->buffer[s->buffer_length++] = 0;
@@ -90879,79 +92828,79 @@ tr3819:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1261; goto _out;}
+ {p++; cs = 1309; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1261;
-tr3797:
+ goto st1309;
+tr3877:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1261;
-tr3798:
+ goto st1309;
+tr3878:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1261;
-tr3799:
+ goto st1309;
+tr3879:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1261;
-tr3801:
+ goto st1309;
+tr3881:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1261;
-st1261:
+ goto st1309;
+st1309:
if ( ++p == pe )
- goto _test_eof1261;
-case 1261:
+ goto _test_eof1309;
+case 1309:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -90965,29 +92914,29 @@ case 1261:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1261;
- case 32: goto st1261;
- case 40: goto tr3804;
- case 41: goto tr3805;
- case 2058: goto tr3807;
- case 2107: goto tr3808;
+ case 9: goto st1309;
+ case 32: goto st1309;
+ case 40: goto tr3884;
+ case 41: goto tr3885;
+ case 2058: goto tr3887;
+ case 2107: goto tr3888;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr3806;
+ goto tr3886;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr3806;
+ goto tr3886;
} else
- goto tr3806;
- goto tr75;
-tr3806:
- { p--; {stack[top++] = 1262;goto st699;} }
- goto st1262;
-st1262:
+ goto tr3886;
+ goto tr77;
+tr3886:
+ { p--; {stack[top++] = 1310;goto st741;} }
+ goto st1310;
+st1310:
if ( ++p == pe )
- goto _test_eof1262;
-case 1262:
+ goto _test_eof1310;
+case 1310:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -91001,38 +92950,38 @@ case 1262:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1263;
- case 32: goto st1263;
- case 40: goto tr3810;
- case 41: goto tr3811;
- case 2058: goto tr3812;
- case 2107: goto tr3813;
+ case 9: goto st1311;
+ case 32: goto st1311;
+ case 40: goto tr3890;
+ case 41: goto tr3891;
+ case 2058: goto tr3892;
+ case 2107: goto tr3893;
}
- goto tr75;
-tr3810:
+ goto tr77;
+tr3890:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1263;
-tr3811:
+ goto st1311;
+tr3891:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1263;
-tr3812:
+ goto st1311;
+tr3892:
{
s->line_counter++;
}
- goto st1263;
-tr3817:
+ goto st1311;
+tr3897:
{
s->buffer[s->buffer_length++] = 0;
@@ -91042,18 +92991,18 @@ tr3817:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1263; goto _out;}
+ {p++; cs = 1311; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1263;
-st1263:
+ goto st1311;
+st1311:
if ( ++p == pe )
- goto _test_eof1263;
-case 1263:
+ goto _test_eof1311;
+case 1311:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -91067,30 +93016,30 @@ case 1263:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1263;
- case 32: goto st1263;
- case 40: goto tr3810;
- case 41: goto tr3811;
- case 43: goto tr3814;
- case 2058: goto tr3812;
- case 2107: goto tr3813;
+ case 9: goto st1311;
+ case 32: goto st1311;
+ case 40: goto tr3890;
+ case 41: goto tr3891;
+ case 43: goto tr3894;
+ case 2058: goto tr3892;
+ case 2107: goto tr3893;
}
if ( _widec < 65 ) {
if ( 47 <= _widec && _widec <= 57 )
- goto tr3814;
+ goto tr3894;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr3814;
+ goto tr3894;
} else
- goto tr3814;
- goto tr75;
-tr3814:
- { p--; {stack[top++] = 1264;goto st369;} }
- goto st1264;
-st1264:
+ goto tr3894;
+ goto tr77;
+tr3894:
+ { p--; {stack[top++] = 1312;goto st378;} }
+ goto st1312;
+st1312:
if ( ++p == pe )
- goto _test_eof1264;
-case 1264:
+ goto _test_eof1312;
+case 1312:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -91104,36 +93053,36 @@ case 1264:
!s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 2570: goto tr3815;
- case 2619: goto tr3815;
+ case 2570: goto tr3895;
+ case 2619: goto tr3895;
}
- goto tr75;
-tr3815:
+ goto tr77;
+tr3895:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1475;
-st1475:
+ goto st1523;
+st1523:
if ( ++p == pe )
- goto _test_eof1475;
-case 1475:
+ goto _test_eof1523;
+case 1523:
goto st0;
-tr3813:
+tr3893:
{
s->buffer_length = 0;
}
- goto st1265;
-tr3816:
+ goto st1313;
+tr3896:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1265;
-st1265:
+ goto st1313;
+st1313:
if ( ++p == pe )
- goto _test_eof1265;
-case 1265:
+ goto _test_eof1313;
+case 1313:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -91153,40 +93102,40 @@ case 1265:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3817;
+ goto tr3897;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3816;
- goto tr75;
-tr3808:
+ goto tr3896;
+ goto tr77;
+tr3888:
{
s->buffer_length = 0;
}
- goto st1266;
-tr3818:
+ goto st1314;
+tr3898:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1266;
-tr3802:
+ goto st1314;
+tr3882:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1266;
-st1266:
+ goto st1314;
+st1314:
if ( ++p == pe )
- goto _test_eof1266;
-case 1266:
+ goto _test_eof1314;
+case 1314:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -91206,23 +93155,23 @@ case 1266:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3819;
+ goto tr3899;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3818;
- goto tr75;
-tr3796:
+ goto tr3898;
+ goto tr77;
+tr3876:
{
s->buffer_length = 0;
}
- goto st1267;
-tr3820:
+ goto st1315;
+tr3900:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1267;
-tr3790:
+ goto st1315;
+tr3870:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -91230,17 +93179,17 @@ tr3790:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1267;
-st1267:
+ goto st1315;
+st1315:
if ( ++p == pe )
- goto _test_eof1267;
-case 1267:
+ goto _test_eof1315;
+case 1315:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -91260,32 +93209,32 @@ case 1267:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3821;
+ goto tr3901;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3820;
- goto tr75;
-st1268:
+ goto tr3900;
+ goto tr77;
+st1316:
if ( ++p == pe )
- goto _test_eof1268;
-case 1268:
+ goto _test_eof1316;
+case 1316:
if ( (*p) == 43 )
- goto tr3822;
+ goto tr3902;
if ( (*p) < 65 ) {
if ( 47 <= (*p) && (*p) <= 57 )
- goto tr3822;
+ goto tr3902;
} else if ( (*p) > 90 ) {
if ( 97 <= (*p) && (*p) <= 122 )
- goto tr3822;
+ goto tr3902;
} else
- goto tr3822;
- goto tr75;
-tr3822:
- { p--; {stack[top++] = 1269;goto st369;} }
- goto st1269;
-st1269:
+ goto tr3902;
+ goto tr77;
+tr3902:
+ { p--; {stack[top++] = 1317;goto st378;} }
+ goto st1317;
+st1317:
if ( ++p == pe )
- goto _test_eof1269;
-case 1269:
+ goto _test_eof1317;
+case 1317:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -91299,28 +93248,28 @@ case 1269:
!s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 2570: goto tr3823;
- case 2619: goto tr3823;
+ case 2570: goto tr3903;
+ case 2619: goto tr3903;
}
- goto tr75;
-tr3823:
+ goto tr77;
+tr3903:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1476;
-st1476:
+ goto st1524;
+st1524:
if ( ++p == pe )
- goto _test_eof1476;
-case 1476:
+ goto _test_eof1524;
+case 1524:
goto st0;
-st1270:
+st1318:
if ( ++p == pe )
- goto _test_eof1270;
-case 1270:
+ goto _test_eof1318;
+case 1318:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3824;
- goto tr2327;
-tr3824:
+ goto tr3904;
+ goto tr2396;
+tr3904:
{
s->number64 = 0;
}
@@ -91335,11 +93284,11 @@ tr3824:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1271;
-tr3828:
+ goto st1319;
+tr3908:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -91351,14 +93300,14 @@ tr3828:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1271;
-st1271:
+ goto st1319;
+st1319:
if ( ++p == pe )
- goto _test_eof1271;
-case 1271:
+ goto _test_eof1319;
+case 1319:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -91372,40 +93321,40 @@ case 1271:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3825;
- case 32: goto tr3825;
- case 40: goto tr3826;
- case 41: goto tr3827;
- case 2058: goto tr3829;
- case 2107: goto tr3830;
+ case 9: goto tr3905;
+ case 32: goto tr3905;
+ case 40: goto tr3906;
+ case 41: goto tr3907;
+ case 2058: goto tr3909;
+ case 2107: goto tr3910;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3828;
- goto tr2327;
-tr3832:
+ goto tr3908;
+ goto tr2396;
+tr3912:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1272;
-tr3833:
+ goto st1320;
+tr3913:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1272;
-tr3835:
+ goto st1320;
+tr3915:
{
s->line_counter++;
}
- goto st1272;
-tr3899:
+ goto st1320;
+tr3979:
{
s->buffer[s->buffer_length++] = 0;
@@ -91415,79 +93364,79 @@ tr3899:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1272; goto _out;}
+ {p++; cs = 1320; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1272;
-tr3825:
+ goto st1320;
+tr3905:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1272;
-tr3826:
+ goto st1320;
+tr3906:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1272;
-tr3827:
+ goto st1320;
+tr3907:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1272;
-tr3829:
+ goto st1320;
+tr3909:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1272;
-st1272:
+ goto st1320;
+st1320:
if ( ++p == pe )
- goto _test_eof1272;
-case 1272:
+ goto _test_eof1320;
+case 1320:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -91501,17 +93450,17 @@ case 1272:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1272;
- case 32: goto st1272;
- case 40: goto tr3832;
- case 41: goto tr3833;
- case 2058: goto tr3835;
- case 2107: goto tr3836;
+ case 9: goto st1320;
+ case 32: goto st1320;
+ case 40: goto tr3912;
+ case 41: goto tr3913;
+ case 2058: goto tr3915;
+ case 2107: goto tr3916;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3834;
- goto tr2327;
-tr3834:
+ goto tr3914;
+ goto tr2396;
+tr3914:
{
s->number64 = 0;
}
@@ -91526,11 +93475,11 @@ tr3834:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1273;
-tr3840:
+ goto st1321;
+tr3920:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -91542,14 +93491,14 @@ tr3840:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1273;
-st1273:
+ goto st1321;
+st1321:
if ( ++p == pe )
- goto _test_eof1273;
-case 1273:
+ goto _test_eof1321;
+case 1321:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -91563,40 +93512,40 @@ case 1273:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3837;
- case 32: goto tr3837;
- case 40: goto tr3838;
- case 41: goto tr3839;
- case 2058: goto tr3841;
- case 2107: goto tr3842;
+ case 9: goto tr3917;
+ case 32: goto tr3917;
+ case 40: goto tr3918;
+ case 41: goto tr3919;
+ case 2058: goto tr3921;
+ case 2107: goto tr3922;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3840;
- goto tr2327;
-tr3844:
+ goto tr3920;
+ goto tr2396;
+tr3924:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1274;
-tr3845:
+ goto st1322;
+tr3925:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1274;
-tr3847:
+ goto st1322;
+tr3927:
{
s->line_counter++;
}
- goto st1274;
-tr3897:
+ goto st1322;
+tr3977:
{
s->buffer[s->buffer_length++] = 0;
@@ -91606,79 +93555,79 @@ tr3897:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1274; goto _out;}
+ {p++; cs = 1322; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1274;
-tr3837:
+ goto st1322;
+tr3917:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1274;
-tr3838:
+ goto st1322;
+tr3918:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1274;
-tr3839:
+ goto st1322;
+tr3919:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1274;
-tr3841:
+ goto st1322;
+tr3921:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1274;
-st1274:
+ goto st1322;
+st1322:
if ( ++p == pe )
- goto _test_eof1274;
-case 1274:
+ goto _test_eof1322;
+case 1322:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -91692,17 +93641,17 @@ case 1274:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1274;
- case 32: goto st1274;
- case 40: goto tr3844;
- case 41: goto tr3845;
- case 2058: goto tr3847;
- case 2107: goto tr3848;
+ case 9: goto st1322;
+ case 32: goto st1322;
+ case 40: goto tr3924;
+ case 41: goto tr3925;
+ case 2058: goto tr3927;
+ case 2107: goto tr3928;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3846;
- goto tr2327;
-tr3846:
+ goto tr3926;
+ goto tr2396;
+tr3926:
{
s->number64 = 0;
}
@@ -91717,11 +93666,11 @@ tr3846:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1275;
-tr3852:
+ goto st1323;
+tr3932:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -91733,14 +93682,14 @@ tr3852:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1275;
-st1275:
+ goto st1323;
+st1323:
if ( ++p == pe )
- goto _test_eof1275;
-case 1275:
+ goto _test_eof1323;
+case 1323:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -91754,40 +93703,40 @@ case 1275:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3849;
- case 32: goto tr3849;
- case 40: goto tr3850;
- case 41: goto tr3851;
- case 2058: goto tr3853;
- case 2107: goto tr3854;
+ case 9: goto tr3929;
+ case 32: goto tr3929;
+ case 40: goto tr3930;
+ case 41: goto tr3931;
+ case 2058: goto tr3933;
+ case 2107: goto tr3934;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3852;
- goto tr2327;
-tr3856:
+ goto tr3932;
+ goto tr2396;
+tr3936:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1276;
-tr3857:
+ goto st1324;
+tr3937:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1276;
-tr3860:
+ goto st1324;
+tr3940:
{
s->line_counter++;
}
- goto st1276;
-tr3895:
+ goto st1324;
+tr3975:
{
s->buffer[s->buffer_length++] = 0;
@@ -91797,15 +93746,15 @@ tr3895:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1276; goto _out;}
+ {p++; cs = 1324; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1276;
-tr3849:
+ goto st1324;
+tr3929:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -91813,11 +93762,11 @@ tr3849:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1276;
-tr3850:
+ goto st1324;
+tr3930:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -91825,18 +93774,18 @@ tr3850:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1276;
-tr3851:
+ goto st1324;
+tr3931:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -91844,18 +93793,18 @@ tr3851:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1276;
-tr3853:
+ goto st1324;
+tr3933:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -91863,17 +93812,17 @@ tr3853:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1276;
-st1276:
+ goto st1324;
+st1324:
if ( ++p == pe )
- goto _test_eof1276;
-case 1276:
+ goto _test_eof1324;
+case 1324:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -91887,37 +93836,37 @@ case 1276:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1276;
- case 32: goto st1276;
- case 40: goto tr3856;
- case 41: goto tr3857;
- case 45: goto tr3858;
- case 2058: goto tr3860;
- case 2107: goto tr3861;
+ case 9: goto st1324;
+ case 32: goto st1324;
+ case 40: goto tr3936;
+ case 41: goto tr3937;
+ case 45: goto tr3938;
+ case 2058: goto tr3940;
+ case 2107: goto tr3941;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr3859;
+ goto tr3939;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr3859;
+ goto tr3939;
} else
- goto tr3859;
- goto tr2998;
-tr3858:
+ goto tr3939;
+ goto tr3067;
+tr3938:
{
if (rdata_tail <= rdata_stop) {
s->item_length_location = rdata_tail++;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1277;
-st1277:
+ goto st1325;
+st1325:
if ( ++p == pe )
- goto _test_eof1277;
-case 1277:
+ goto _test_eof1325;
+case 1325:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -91931,38 +93880,38 @@ case 1277:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3862;
- case 32: goto tr3862;
- case 40: goto tr3863;
- case 41: goto tr3864;
- case 2058: goto tr3865;
- case 2107: goto tr3866;
+ case 9: goto tr3942;
+ case 32: goto tr3942;
+ case 40: goto tr3943;
+ case 41: goto tr3944;
+ case 2058: goto tr3945;
+ case 2107: goto tr3946;
}
- goto tr2998;
-tr3869:
+ goto tr3067;
+tr3949:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1278;
-tr3870:
+ goto st1326;
+tr3950:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1278;
-tr3872:
+ goto st1326;
+tr3952:
{
s->line_counter++;
}
- goto st1278;
-tr3891:
+ goto st1326;
+tr3971:
{
s->buffer[s->buffer_length++] = 0;
@@ -91972,95 +93921,95 @@ tr3891:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1278; goto _out;}
+ {p++; cs = 1326; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1278;
-tr3862:
+ goto st1326;
+tr3942:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1278;
-tr3863:
+ goto st1326;
+tr3943:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1278;
-tr3864:
+ goto st1326;
+tr3944:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1278;
-tr3865:
+ goto st1326;
+tr3945:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1278;
-st1278:
+ goto st1326;
+st1326:
if ( ++p == pe )
- goto _test_eof1278;
-case 1278:
+ goto _test_eof1326;
+case 1326:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -92074,29 +94023,29 @@ case 1278:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1278;
- case 32: goto st1278;
- case 40: goto tr3869;
- case 41: goto tr3870;
- case 2058: goto tr3872;
- case 2107: goto tr3873;
+ case 9: goto st1326;
+ case 32: goto st1326;
+ case 40: goto tr3949;
+ case 41: goto tr3950;
+ case 2058: goto tr3952;
+ case 2107: goto tr3953;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr3871;
+ goto tr3951;
} else if ( _widec > 86 ) {
if ( 97 <= _widec && _widec <= 118 )
- goto tr3871;
+ goto tr3951;
} else
- goto tr3871;
- goto tr3867;
-tr3871:
+ goto tr3951;
+ goto tr3947;
+tr3951:
{
if (rdata_tail <= rdata_stop) {
s->item_length_location = rdata_tail++;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -92104,34 +94053,34 @@ tr3871:
*rdata_tail = first_base32hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1279;
-tr3886:
+ goto st1327;
+tr3966:
{
if (rdata_tail <= rdata_stop) {
*rdata_tail = first_base32hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1279;
-st1279:
+ goto st1327;
+st1327:
if ( ++p == pe )
- goto _test_eof1279;
-case 1279:
+ goto _test_eof1327;
+case 1327:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3874;
+ goto tr3954;
} else if ( (*p) > 86 ) {
if ( 97 <= (*p) && (*p) <= 118 )
- goto tr3874;
+ goto tr3954;
} else
- goto tr3874;
- goto tr3867;
-tr3874:
+ goto tr3954;
+ goto tr3947;
+tr3954:
{
*(rdata_tail++) += second_left_base32hex_to_num[(uint8_t)(*p)];
@@ -92139,44 +94088,44 @@ tr3874:
*rdata_tail = second_right_base32hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1280;
-st1280:
+ goto st1328;
+st1328:
if ( ++p == pe )
- goto _test_eof1280;
-case 1280:
+ goto _test_eof1328;
+case 1328:
if ( (*p) == 61 )
- goto st1291;
+ goto st1339;
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3875;
+ goto tr3955;
} else if ( (*p) > 86 ) {
if ( 97 <= (*p) && (*p) <= 118 )
- goto tr3875;
+ goto tr3955;
} else
- goto tr3875;
- goto tr3867;
-tr3875:
+ goto tr3955;
+ goto tr3947;
+tr3955:
{
*rdata_tail += third_base32hex_to_num[(uint8_t)(*p)];
}
- goto st1281;
-st1281:
+ goto st1329;
+st1329:
if ( ++p == pe )
- goto _test_eof1281;
-case 1281:
+ goto _test_eof1329;
+case 1329:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3877;
+ goto tr3957;
} else if ( (*p) > 86 ) {
if ( 97 <= (*p) && (*p) <= 118 )
- goto tr3877;
+ goto tr3957;
} else
- goto tr3877;
- goto tr3867;
-tr3877:
+ goto tr3957;
+ goto tr3947;
+tr3957:
{
*(rdata_tail++) += fourth_left_base32hex_to_num[(uint8_t)(*p)];
@@ -92184,26 +94133,26 @@ tr3877:
*rdata_tail = fourth_right_base32hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1282;
-st1282:
+ goto st1330;
+st1330:
if ( ++p == pe )
- goto _test_eof1282;
-case 1282:
+ goto _test_eof1330;
+case 1330:
if ( (*p) == 61 )
- goto st1290;
+ goto st1338;
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3878;
+ goto tr3958;
} else if ( (*p) > 86 ) {
if ( 97 <= (*p) && (*p) <= 118 )
- goto tr3878;
+ goto tr3958;
} else
- goto tr3878;
- goto tr3867;
-tr3878:
+ goto tr3958;
+ goto tr3947;
+tr3958:
{
*(rdata_tail++) += fifth_left_base32hex_to_num[(uint8_t)(*p)];
@@ -92211,44 +94160,44 @@ tr3878:
*rdata_tail = fifth_right_base32hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1283;
-st1283:
+ goto st1331;
+st1331:
if ( ++p == pe )
- goto _test_eof1283;
-case 1283:
+ goto _test_eof1331;
+case 1331:
if ( (*p) == 61 )
- goto st1288;
+ goto st1336;
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3880;
+ goto tr3960;
} else if ( (*p) > 86 ) {
if ( 97 <= (*p) && (*p) <= 118 )
- goto tr3880;
+ goto tr3960;
} else
- goto tr3880;
- goto tr3867;
-tr3880:
+ goto tr3960;
+ goto tr3947;
+tr3960:
{
*rdata_tail += sixth_base32hex_to_num[(uint8_t)(*p)];
}
- goto st1284;
-st1284:
+ goto st1332;
+st1332:
if ( ++p == pe )
- goto _test_eof1284;
-case 1284:
+ goto _test_eof1332;
+case 1332:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3882;
+ goto tr3962;
} else if ( (*p) > 86 ) {
if ( 97 <= (*p) && (*p) <= 118 )
- goto tr3882;
+ goto tr3962;
} else
- goto tr3882;
- goto tr3867;
-tr3882:
+ goto tr3962;
+ goto tr3947;
+tr3962:
{
*(rdata_tail++) += seventh_left_base32hex_to_num[(uint8_t)(*p)];
@@ -92256,162 +94205,162 @@ tr3882:
*rdata_tail = seventh_right_base32hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1285;
-st1285:
+ goto st1333;
+st1333:
if ( ++p == pe )
- goto _test_eof1285;
-case 1285:
+ goto _test_eof1333;
+case 1333:
if ( (*p) == 61 )
- goto st1286;
+ goto st1334;
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3883;
+ goto tr3963;
} else if ( (*p) > 86 ) {
if ( 97 <= (*p) && (*p) <= 118 )
- goto tr3883;
+ goto tr3963;
} else
- goto tr3883;
- goto tr3867;
-tr3883:
+ goto tr3963;
+ goto tr3947;
+tr3963:
{
*(rdata_tail++) += eighth_base32hex_to_num[(uint8_t)(*p)];
}
- goto st1286;
-st1286:
+ goto st1334;
+st1334:
if ( ++p == pe )
- goto _test_eof1286;
-case 1286:
+ goto _test_eof1334;
+case 1334:
switch( (*p) ) {
- case 32: goto tr3885;
- case 59: goto tr3885;
+ case 32: goto tr3965;
+ case 59: goto tr3965;
}
if ( (*p) < 48 ) {
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr3885;
+ goto tr3965;
} else if ( (*p) >= 9 )
- goto tr3885;
+ goto tr3965;
} else if ( (*p) > 57 ) {
if ( (*p) > 86 ) {
if ( 97 <= (*p) && (*p) <= 118 )
- goto tr3886;
+ goto tr3966;
} else if ( (*p) >= 65 )
- goto tr3886;
+ goto tr3966;
} else
- goto tr3886;
- goto tr3867;
-tr3885:
+ goto tr3966;
+ goto tr3947;
+tr3965:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- { p--; {stack[top++] = 1287;goto st376;} }
- goto st1287;
-st1287:
+ { p--; {stack[top++] = 1335;goto st385;} }
+ goto st1335;
+st1335:
if ( ++p == pe )
- goto _test_eof1287;
-case 1287:
+ goto _test_eof1335;
+case 1335:
switch( (*p) ) {
- case 32: goto tr3887;
- case 59: goto tr3887;
+ case 32: goto tr3967;
+ case 59: goto tr3967;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr3887;
+ goto tr3967;
} else if ( (*p) >= 9 )
- goto tr3887;
- goto tr75;
-tr3887:
+ goto tr3967;
+ goto tr77;
+tr3967:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1477;
-st1477:
+ goto st1525;
+st1525:
if ( ++p == pe )
- goto _test_eof1477;
-case 1477:
+ goto _test_eof1525;
+case 1525:
goto st0;
-st1288:
+st1336:
if ( ++p == pe )
- goto _test_eof1288;
-case 1288:
+ goto _test_eof1336;
+case 1336:
if ( (*p) == 61 )
- goto st1289;
- goto tr3867;
-st1289:
+ goto st1337;
+ goto tr3947;
+st1337:
if ( ++p == pe )
- goto _test_eof1289;
-case 1289:
+ goto _test_eof1337;
+case 1337:
if ( (*p) == 61 )
- goto st1286;
- goto tr3867;
-st1290:
+ goto st1334;
+ goto tr3947;
+st1338:
if ( ++p == pe )
- goto _test_eof1290;
-case 1290:
+ goto _test_eof1338;
+case 1338:
if ( (*p) == 61 )
- goto st1288;
- goto tr3867;
-st1291:
+ goto st1336;
+ goto tr3947;
+st1339:
if ( ++p == pe )
- goto _test_eof1291;
-case 1291:
+ goto _test_eof1339;
+case 1339:
if ( (*p) == 61 )
- goto st1292;
- goto tr3867;
-st1292:
+ goto st1340;
+ goto tr3947;
+st1340:
if ( ++p == pe )
- goto _test_eof1292;
-case 1292:
+ goto _test_eof1340;
+case 1340:
if ( (*p) == 61 )
- goto st1290;
- goto tr3867;
-tr3873:
+ goto st1338;
+ goto tr3947;
+tr3953:
{
s->buffer_length = 0;
}
- goto st1293;
-tr3890:
+ goto st1341;
+tr3970:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1293;
-tr3866:
+ goto st1341;
+tr3946:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1293;
-st1293:
+ goto st1341;
+st1341:
if ( ++p == pe )
- goto _test_eof1293;
-case 1293:
+ goto _test_eof1341;
+case 1341:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -92431,27 +94380,27 @@ case 1293:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3891;
+ goto tr3971;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3890;
- goto tr75;
-tr3893:
+ goto tr3970;
+ goto tr77;
+tr3973:
{
if (rdata_tail <= rdata_stop) {
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1294;
-tr3859:
+ goto st1342;
+tr3939:
{
if (rdata_tail <= rdata_stop) {
s->item_length_location = rdata_tail++;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -92459,33 +94408,33 @@ tr3859:
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1294;
-st1294:
+ goto st1342;
+st1342:
if ( ++p == pe )
- goto _test_eof1294;
-case 1294:
+ goto _test_eof1342;
+case 1342:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3892;
+ goto tr3972;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr3892;
+ goto tr3972;
} else
- goto tr3892;
- goto tr2998;
-tr3892:
+ goto tr3972;
+ goto tr3067;
+tr3972:
{
*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
rdata_tail++;
}
- goto st1295;
-st1295:
+ goto st1343;
+st1343:
if ( ++p == pe )
- goto _test_eof1295;
-case 1295:
+ goto _test_eof1343;
+case 1343:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -92499,35 +94448,35 @@ case 1295:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3862;
- case 32: goto tr3862;
- case 40: goto tr3863;
- case 41: goto tr3864;
- case 2058: goto tr3865;
- case 2107: goto tr3866;
+ case 9: goto tr3942;
+ case 32: goto tr3942;
+ case 40: goto tr3943;
+ case 41: goto tr3944;
+ case 2058: goto tr3945;
+ case 2107: goto tr3946;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr3893;
+ goto tr3973;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr3893;
+ goto tr3973;
} else
- goto tr3893;
- goto tr2998;
-tr3861:
+ goto tr3973;
+ goto tr3067;
+tr3941:
{
s->buffer_length = 0;
}
- goto st1296;
-tr3894:
+ goto st1344;
+tr3974:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1296;
-tr3854:
+ goto st1344;
+tr3934:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -92535,17 +94484,17 @@ tr3854:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1296;
-st1296:
+ goto st1344;
+st1344:
if ( ++p == pe )
- goto _test_eof1296;
-case 1296:
+ goto _test_eof1344;
+case 1344:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -92565,40 +94514,40 @@ case 1296:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3895;
+ goto tr3975;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3894;
- goto tr75;
-tr3848:
+ goto tr3974;
+ goto tr77;
+tr3928:
{
s->buffer_length = 0;
}
- goto st1297;
-tr3896:
+ goto st1345;
+tr3976:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1297;
-tr3842:
+ goto st1345;
+tr3922:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1297;
-st1297:
+ goto st1345;
+st1345:
if ( ++p == pe )
- goto _test_eof1297;
-case 1297:
+ goto _test_eof1345;
+case 1345:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -92618,40 +94567,40 @@ case 1297:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3897;
+ goto tr3977;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3896;
- goto tr75;
-tr3836:
+ goto tr3976;
+ goto tr77;
+tr3916:
{
s->buffer_length = 0;
}
- goto st1298;
-tr3898:
+ goto st1346;
+tr3978:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1298;
-tr3830:
+ goto st1346;
+tr3910:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1298;
-st1298:
+ goto st1346;
+st1346:
if ( ++p == pe )
- goto _test_eof1298;
-case 1298:
+ goto _test_eof1346;
+case 1346:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -92671,18 +94620,18 @@ case 1298:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3899;
+ goto tr3979;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3898;
- goto tr75;
-st1299:
+ goto tr3978;
+ goto tr77;
+st1347:
if ( ++p == pe )
- goto _test_eof1299;
-case 1299:
+ goto _test_eof1347;
+case 1347:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3900;
- goto tr2327;
-tr3900:
+ goto tr3980;
+ goto tr2396;
+tr3980:
{
s->number64 = 0;
}
@@ -92697,11 +94646,11 @@ tr3900:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1300;
-tr3904:
+ goto st1348;
+tr3984:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -92713,14 +94662,14 @@ tr3904:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1300;
-st1300:
+ goto st1348;
+st1348:
if ( ++p == pe )
- goto _test_eof1300;
-case 1300:
+ goto _test_eof1348;
+case 1348:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -92734,40 +94683,40 @@ case 1300:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3901;
- case 32: goto tr3901;
- case 40: goto tr3902;
- case 41: goto tr3903;
- case 2058: goto tr3905;
- case 2107: goto tr3906;
+ case 9: goto tr3981;
+ case 32: goto tr3981;
+ case 40: goto tr3982;
+ case 41: goto tr3983;
+ case 2058: goto tr3985;
+ case 2107: goto tr3986;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3904;
- goto tr2327;
-tr3908:
+ goto tr3984;
+ goto tr2396;
+tr3988:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1301;
-tr3909:
+ goto st1349;
+tr3989:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1301;
-tr3911:
+ goto st1349;
+tr3991:
{
s->line_counter++;
}
- goto st1301;
-tr3946:
+ goto st1349;
+tr4026:
{
s->buffer[s->buffer_length++] = 0;
@@ -92777,79 +94726,79 @@ tr3946:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1301; goto _out;}
+ {p++; cs = 1349; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1301;
-tr3901:
+ goto st1349;
+tr3981:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1301;
-tr3902:
+ goto st1349;
+tr3982:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1301;
-tr3903:
+ goto st1349;
+tr3983:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1301;
-tr3905:
+ goto st1349;
+tr3985:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1301;
-st1301:
+ goto st1349;
+st1349:
if ( ++p == pe )
- goto _test_eof1301;
-case 1301:
+ goto _test_eof1349;
+case 1349:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -92863,17 +94812,17 @@ case 1301:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1301;
- case 32: goto st1301;
- case 40: goto tr3908;
- case 41: goto tr3909;
- case 2058: goto tr3911;
- case 2107: goto tr3912;
+ case 9: goto st1349;
+ case 32: goto st1349;
+ case 40: goto tr3988;
+ case 41: goto tr3989;
+ case 2058: goto tr3991;
+ case 2107: goto tr3992;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3910;
- goto tr2327;
-tr3910:
+ goto tr3990;
+ goto tr2396;
+tr3990:
{
s->number64 = 0;
}
@@ -92888,11 +94837,11 @@ tr3910:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1302;
-tr3916:
+ goto st1350;
+tr3996:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -92904,14 +94853,14 @@ tr3916:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1302;
-st1302:
+ goto st1350;
+st1350:
if ( ++p == pe )
- goto _test_eof1302;
-case 1302:
+ goto _test_eof1350;
+case 1350:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -92925,40 +94874,40 @@ case 1302:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3913;
- case 32: goto tr3913;
- case 40: goto tr3914;
- case 41: goto tr3915;
- case 2058: goto tr3917;
- case 2107: goto tr3918;
+ case 9: goto tr3993;
+ case 32: goto tr3993;
+ case 40: goto tr3994;
+ case 41: goto tr3995;
+ case 2058: goto tr3997;
+ case 2107: goto tr3998;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3916;
- goto tr2327;
-tr3920:
+ goto tr3996;
+ goto tr2396;
+tr4000:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1303;
-tr3921:
+ goto st1351;
+tr4001:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1303;
-tr3923:
+ goto st1351;
+tr4003:
{
s->line_counter++;
}
- goto st1303;
-tr3944:
+ goto st1351;
+tr4024:
{
s->buffer[s->buffer_length++] = 0;
@@ -92968,79 +94917,79 @@ tr3944:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1303; goto _out;}
+ {p++; cs = 1351; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1303;
-tr3913:
+ goto st1351;
+tr3993:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1303;
-tr3914:
+ goto st1351;
+tr3994:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1303;
-tr3915:
+ goto st1351;
+tr3995:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1303;
-tr3917:
+ goto st1351;
+tr3997:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1303;
-st1303:
+ goto st1351;
+st1351:
if ( ++p == pe )
- goto _test_eof1303;
-case 1303:
+ goto _test_eof1351;
+case 1351:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -93054,17 +95003,17 @@ case 1303:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1303;
- case 32: goto st1303;
- case 40: goto tr3920;
- case 41: goto tr3921;
- case 2058: goto tr3923;
- case 2107: goto tr3924;
+ case 9: goto st1351;
+ case 32: goto st1351;
+ case 40: goto tr4000;
+ case 41: goto tr4001;
+ case 2058: goto tr4003;
+ case 2107: goto tr4004;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3922;
- goto tr2327;
-tr3922:
+ goto tr4002;
+ goto tr2396;
+tr4002:
{
s->number64 = 0;
}
@@ -93079,11 +95028,11 @@ tr3922:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1304;
-tr3928:
+ goto st1352;
+tr4008:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -93095,14 +95044,14 @@ tr3928:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1304;
-st1304:
+ goto st1352;
+st1352:
if ( ++p == pe )
- goto _test_eof1304;
-case 1304:
+ goto _test_eof1352;
+case 1352:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -93116,40 +95065,40 @@ case 1304:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3925;
- case 32: goto tr3925;
- case 40: goto tr3926;
- case 41: goto tr3927;
- case 2058: goto tr3929;
- case 2107: goto tr3930;
+ case 9: goto tr4005;
+ case 32: goto tr4005;
+ case 40: goto tr4006;
+ case 41: goto tr4007;
+ case 2058: goto tr4009;
+ case 2107: goto tr4010;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3928;
- goto tr2327;
-tr3932:
+ goto tr4008;
+ goto tr2396;
+tr4012:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1305;
-tr3933:
+ goto st1353;
+tr4013:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1305;
-tr3936:
+ goto st1353;
+tr4016:
{
s->line_counter++;
}
- goto st1305;
-tr3942:
+ goto st1353;
+tr4022:
{
s->buffer[s->buffer_length++] = 0;
@@ -93159,15 +95108,15 @@ tr3942:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1305; goto _out;}
+ {p++; cs = 1353; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1305;
-tr3925:
+ goto st1353;
+tr4005:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -93175,11 +95124,11 @@ tr3925:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1305;
-tr3926:
+ goto st1353;
+tr4006:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -93187,18 +95136,18 @@ tr3926:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1305;
-tr3927:
+ goto st1353;
+tr4007:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -93206,18 +95155,18 @@ tr3927:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1305;
-tr3929:
+ goto st1353;
+tr4009:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -93225,17 +95174,17 @@ tr3929:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1305;
-st1305:
+ goto st1353;
+st1353:
if ( ++p == pe )
- goto _test_eof1305;
-case 1305:
+ goto _test_eof1353;
+case 1353:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -93249,87 +95198,87 @@ case 1305:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1305;
- case 32: goto st1305;
- case 40: goto tr3932;
- case 41: goto tr3933;
- case 45: goto tr3934;
- case 2058: goto tr3936;
- case 2107: goto tr3937;
+ case 9: goto st1353;
+ case 32: goto st1353;
+ case 40: goto tr4012;
+ case 41: goto tr4013;
+ case 45: goto tr4014;
+ case 2058: goto tr4016;
+ case 2107: goto tr4017;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr3935;
+ goto tr4015;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr3935;
+ goto tr4015;
} else
- goto tr3935;
- goto tr2998;
-tr3934:
+ goto tr4015;
+ goto tr3067;
+tr4014:
{
if (rdata_tail <= rdata_stop) {
s->item_length_location = rdata_tail++;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1306;
-st1306:
+ goto st1354;
+st1354:
if ( ++p == pe )
- goto _test_eof1306;
-case 1306:
+ goto _test_eof1354;
+case 1354:
switch( (*p) ) {
- case 32: goto tr3938;
- case 59: goto tr3938;
+ case 32: goto tr4018;
+ case 59: goto tr4018;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr3938;
+ goto tr4018;
} else if ( (*p) >= 9 )
- goto tr3938;
- goto tr2998;
-tr3938:
+ goto tr4018;
+ goto tr3067;
+tr4018:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1478;
-st1478:
+ goto st1526;
+st1526:
if ( ++p == pe )
- goto _test_eof1478;
-case 1478:
+ goto _test_eof1526;
+case 1526:
goto st0;
-tr3940:
+tr4020:
{
if (rdata_tail <= rdata_stop) {
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1307;
-tr3935:
+ goto st1355;
+tr4015:
{
if (rdata_tail <= rdata_stop) {
s->item_length_location = rdata_tail++;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
@@ -93337,65 +95286,65 @@ tr3935:
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1307;
-st1307:
+ goto st1355;
+st1355:
if ( ++p == pe )
- goto _test_eof1307;
-case 1307:
+ goto _test_eof1355;
+case 1355:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3939;
+ goto tr4019;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr3939;
+ goto tr4019;
} else
- goto tr3939;
- goto tr2998;
-tr3939:
+ goto tr4019;
+ goto tr3067;
+tr4019:
{
*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
rdata_tail++;
}
- goto st1308;
-st1308:
+ goto st1356;
+st1356:
if ( ++p == pe )
- goto _test_eof1308;
-case 1308:
+ goto _test_eof1356;
+case 1356:
switch( (*p) ) {
- case 32: goto tr3938;
- case 59: goto tr3938;
+ case 32: goto tr4018;
+ case 59: goto tr4018;
}
if ( (*p) < 48 ) {
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr3938;
+ goto tr4018;
} else if ( (*p) >= 9 )
- goto tr3938;
+ goto tr4018;
} else if ( (*p) > 57 ) {
if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr3940;
+ goto tr4020;
} else if ( (*p) >= 65 )
- goto tr3940;
+ goto tr4020;
} else
- goto tr3940;
- goto tr2998;
-tr3937:
+ goto tr4020;
+ goto tr3067;
+tr4017:
{
s->buffer_length = 0;
}
- goto st1309;
-tr3941:
+ goto st1357;
+tr4021:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1309;
-tr3930:
+ goto st1357;
+tr4010:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -93403,17 +95352,17 @@ tr3930:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1309;
-st1309:
+ goto st1357;
+st1357:
if ( ++p == pe )
- goto _test_eof1309;
-case 1309:
+ goto _test_eof1357;
+case 1357:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -93433,40 +95382,40 @@ case 1309:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3942;
+ goto tr4022;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3941;
- goto tr75;
-tr3924:
+ goto tr4021;
+ goto tr77;
+tr4004:
{
s->buffer_length = 0;
}
- goto st1310;
-tr3943:
+ goto st1358;
+tr4023:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1310;
-tr3918:
+ goto st1358;
+tr3998:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1310;
-st1310:
+ goto st1358;
+st1358:
if ( ++p == pe )
- goto _test_eof1310;
-case 1310:
+ goto _test_eof1358;
+case 1358:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -93486,40 +95435,40 @@ case 1310:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3944;
+ goto tr4024;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3943;
- goto tr75;
-tr3912:
+ goto tr4023;
+ goto tr77;
+tr3992:
{
s->buffer_length = 0;
}
- goto st1311;
-tr3945:
+ goto st1359;
+tr4025:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1311;
-tr3906:
+ goto st1359;
+tr3986:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1311;
-st1311:
+ goto st1359;
+st1359:
if ( ++p == pe )
- goto _test_eof1311;
-case 1311:
+ goto _test_eof1359;
+case 1359:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -93539,18 +95488,18 @@ case 1311:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3946;
+ goto tr4026;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3945;
- goto tr75;
-st1312:
+ goto tr4025;
+ goto tr77;
+st1360:
if ( ++p == pe )
- goto _test_eof1312;
-case 1312:
+ goto _test_eof1360;
+case 1360:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3947;
- goto tr2327;
-tr3947:
+ goto tr4027;
+ goto tr2396;
+tr4027:
{
s->number64 = 0;
}
@@ -93565,11 +95514,11 @@ tr3947:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1313;
-tr3951:
+ goto st1361;
+tr4031:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -93581,14 +95530,14 @@ tr3951:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1313;
-st1313:
+ goto st1361;
+st1361:
if ( ++p == pe )
- goto _test_eof1313;
-case 1313:
+ goto _test_eof1361;
+case 1361:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -93602,40 +95551,40 @@ case 1313:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3948;
- case 32: goto tr3948;
- case 40: goto tr3949;
- case 41: goto tr3950;
- case 2058: goto tr3952;
- case 2107: goto tr3953;
+ case 9: goto tr4028;
+ case 32: goto tr4028;
+ case 40: goto tr4029;
+ case 41: goto tr4030;
+ case 2058: goto tr4032;
+ case 2107: goto tr4033;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3951;
- goto tr2327;
-tr3955:
+ goto tr4031;
+ goto tr2396;
+tr4035:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1314;
-tr3956:
+ goto st1362;
+tr4036:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1314;
-tr3958:
+ goto st1362;
+tr4038:
{
s->line_counter++;
}
- goto st1314;
-tr4000:
+ goto st1362;
+tr4080:
{
s->buffer[s->buffer_length++] = 0;
@@ -93645,79 +95594,79 @@ tr4000:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1314; goto _out;}
+ {p++; cs = 1362; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1314;
-tr3948:
+ goto st1362;
+tr4028:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1314;
-tr3949:
+ goto st1362;
+tr4029:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1314;
-tr3950:
+ goto st1362;
+tr4030:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1314;
-tr3952:
+ goto st1362;
+tr4032:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1314;
-st1314:
+ goto st1362;
+st1362:
if ( ++p == pe )
- goto _test_eof1314;
-case 1314:
+ goto _test_eof1362;
+case 1362:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -93731,17 +95680,17 @@ case 1314:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1314;
- case 32: goto st1314;
- case 40: goto tr3955;
- case 41: goto tr3956;
- case 2058: goto tr3958;
- case 2107: goto tr3959;
+ case 9: goto st1362;
+ case 32: goto st1362;
+ case 40: goto tr4035;
+ case 41: goto tr4036;
+ case 2058: goto tr4038;
+ case 2107: goto tr4039;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3957;
- goto tr2327;
-tr3957:
+ goto tr4037;
+ goto tr2396;
+tr4037:
{
s->number64 = 0;
}
@@ -93756,11 +95705,11 @@ tr3957:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1315;
-tr3963:
+ goto st1363;
+tr4043:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -93772,14 +95721,14 @@ tr3963:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1315;
-st1315:
+ goto st1363;
+st1363:
if ( ++p == pe )
- goto _test_eof1315;
-case 1315:
+ goto _test_eof1363;
+case 1363:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -93793,40 +95742,40 @@ case 1315:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3960;
- case 32: goto tr3960;
- case 40: goto tr3961;
- case 41: goto tr3962;
- case 2058: goto tr3964;
- case 2107: goto tr3965;
+ case 9: goto tr4040;
+ case 32: goto tr4040;
+ case 40: goto tr4041;
+ case 41: goto tr4042;
+ case 2058: goto tr4044;
+ case 2107: goto tr4045;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3963;
- goto tr2327;
-tr3967:
+ goto tr4043;
+ goto tr2396;
+tr4047:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1316;
-tr3968:
+ goto st1364;
+tr4048:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1316;
-tr3970:
+ goto st1364;
+tr4050:
{
s->line_counter++;
}
- goto st1316;
-tr3998:
+ goto st1364;
+tr4078:
{
s->buffer[s->buffer_length++] = 0;
@@ -93836,79 +95785,79 @@ tr3998:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1316; goto _out;}
+ {p++; cs = 1364; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1316;
-tr3960:
+ goto st1364;
+tr4040:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1316;
-tr3961:
+ goto st1364;
+tr4041:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1316;
-tr3962:
+ goto st1364;
+tr4042:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1316;
-tr3964:
+ goto st1364;
+tr4044:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1316;
-st1316:
+ goto st1364;
+st1364:
if ( ++p == pe )
- goto _test_eof1316;
-case 1316:
+ goto _test_eof1364;
+case 1364:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -93922,17 +95871,17 @@ case 1316:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1316;
- case 32: goto st1316;
- case 40: goto tr3967;
- case 41: goto tr3968;
- case 2058: goto tr3970;
- case 2107: goto tr3971;
+ case 9: goto st1364;
+ case 32: goto st1364;
+ case 40: goto tr4047;
+ case 41: goto tr4048;
+ case 2058: goto tr4050;
+ case 2107: goto tr4051;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3969;
- goto tr2327;
-tr3969:
+ goto tr4049;
+ goto tr2396;
+tr4049:
{
s->number64 = 0;
}
@@ -93947,11 +95896,11 @@ tr3969:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1317;
-tr3975:
+ goto st1365;
+tr4055:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -93963,14 +95912,14 @@ tr3975:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1317;
-st1317:
+ goto st1365;
+st1365:
if ( ++p == pe )
- goto _test_eof1317;
-case 1317:
+ goto _test_eof1365;
+case 1365:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -93984,40 +95933,40 @@ case 1317:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr3972;
- case 32: goto tr3972;
- case 40: goto tr3973;
- case 41: goto tr3974;
- case 2058: goto tr3976;
- case 2107: goto tr3977;
+ case 9: goto tr4052;
+ case 32: goto tr4052;
+ case 40: goto tr4053;
+ case 41: goto tr4054;
+ case 2058: goto tr4056;
+ case 2107: goto tr4057;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr3975;
- goto tr2327;
-tr3979:
+ goto tr4055;
+ goto tr2396;
+tr4059:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1318;
-tr3980:
+ goto st1366;
+tr4060:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1318;
-tr3982:
+ goto st1366;
+tr4062:
{
s->line_counter++;
}
- goto st1318;
-tr3996:
+ goto st1366;
+tr4076:
{
s->buffer[s->buffer_length++] = 0;
@@ -94027,79 +95976,79 @@ tr3996:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1318; goto _out;}
+ {p++; cs = 1366; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1318;
-tr3972:
+ goto st1366;
+tr4052:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1318;
-tr3973:
+ goto st1366;
+tr4053:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1318;
-tr3974:
+ goto st1366;
+tr4054:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1318;
-tr3976:
+ goto st1366;
+tr4056:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1318;
-st1318:
+ goto st1366;
+st1366:
if ( ++p == pe )
- goto _test_eof1318;
-case 1318:
+ goto _test_eof1366;
+case 1366:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -94113,69 +96062,69 @@ case 1318:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1318;
- case 32: goto st1318;
- case 40: goto tr3979;
- case 41: goto tr3980;
- case 2058: goto tr3982;
- case 2107: goto tr3983;
+ case 9: goto st1366;
+ case 32: goto st1366;
+ case 40: goto tr4059;
+ case 41: goto tr4060;
+ case 2058: goto tr4062;
+ case 2107: goto tr4063;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr3981;
+ goto tr4061;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr3981;
+ goto tr4061;
} else
- goto tr3981;
- goto tr2998;
-tr3981:
+ goto tr4061;
+ goto tr3067;
+tr4061:
{
if (rdata_tail <= rdata_stop) {
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1319;
-st1319:
+ goto st1367;
+st1367:
if ( ++p == pe )
- goto _test_eof1319;
-case 1319:
+ goto _test_eof1367;
+case 1367:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr3984;
+ goto tr4064;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr3984;
+ goto tr4064;
} else
- goto tr3984;
- goto tr2998;
-tr3986:
+ goto tr4064;
+ goto tr3067;
+tr4066:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1320;
-tr3987:
+ goto st1368;
+tr4067:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1320;
-tr3988:
+ goto st1368;
+tr4068:
{
s->line_counter++;
}
- goto st1320;
-tr3994:
+ goto st1368;
+tr4074:
{
s->buffer[s->buffer_length++] = 0;
@@ -94185,24 +96134,24 @@ tr3994:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1320; goto _out;}
+ {p++; cs = 1368; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1320;
-tr3984:
+ goto st1368;
+tr4064:
{
*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
rdata_tail++;
}
- goto st1320;
-st1320:
+ goto st1368;
+st1368:
if ( ++p == pe )
- goto _test_eof1320;
-case 1320:
+ goto _test_eof1368;
+case 1368:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -94220,42 +96169,42 @@ case 1320:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st1320;
- case 32: goto st1320;
- case 40: goto tr3986;
- case 41: goto tr3987;
- case 3082: goto tr3988;
- case 3131: goto tr3989;
- case 3338: goto tr3990;
- case 3387: goto tr3990;
- case 3594: goto tr3991;
- case 3643: goto tr3992;
+ case 9: goto st1368;
+ case 32: goto st1368;
+ case 40: goto tr4066;
+ case 41: goto tr4067;
+ case 3082: goto tr4068;
+ case 3131: goto tr4069;
+ case 3338: goto tr4070;
+ case 3387: goto tr4070;
+ case 3594: goto tr4071;
+ case 3643: goto tr4072;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr3981;
+ goto tr4061;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr3981;
+ goto tr4061;
} else
- goto tr3981;
- goto tr2998;
-tr3989:
+ goto tr4061;
+ goto tr3067;
+tr4069:
{
s->buffer_length = 0;
}
- goto st1321;
-tr3993:
+ goto st1369;
+tr4073:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1321;
-st1321:
+ goto st1369;
+st1369:
if ( ++p == pe )
- goto _test_eof1321;
-case 1321:
+ goto _test_eof1369;
+case 1369:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -94275,32 +96224,32 @@ case 1321:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3994;
+ goto tr4074;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3993;
- goto tr2998;
-tr3990:
+ goto tr4073;
+ goto tr3067;
+tr4070:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1479;
-st1479:
+ goto st1527;
+st1527:
if ( ++p == pe )
- goto _test_eof1479;
-case 1479:
+ goto _test_eof1527;
+case 1527:
goto st0;
-tr3991:
+tr4071:
{
s->line_counter++;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1480;
-st1480:
+ goto st1528;
+st1528:
if ( ++p == pe )
- goto _test_eof1480;
-case 1480:
+ goto _test_eof1528;
+case 1528:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -94318,38 +96267,38 @@ case 1480:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st1320;
- case 32: goto st1320;
- case 40: goto tr3986;
- case 41: goto tr3987;
- case 3082: goto tr3988;
- case 3131: goto tr3989;
- case 3338: goto tr3990;
- case 3387: goto tr3990;
- case 3594: goto tr3991;
- case 3643: goto tr3992;
+ case 9: goto st1368;
+ case 32: goto st1368;
+ case 40: goto tr4066;
+ case 41: goto tr4067;
+ case 3082: goto tr4068;
+ case 3131: goto tr4069;
+ case 3338: goto tr4070;
+ case 3387: goto tr4070;
+ case 3594: goto tr4071;
+ case 3643: goto tr4072;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr3981;
+ goto tr4061;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr3981;
+ goto tr4061;
} else
- goto tr3981;
- goto tr2998;
-tr3992:
+ goto tr4061;
+ goto tr3067;
+tr4072:
{
s->buffer_length = 0;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1481;
-st1481:
+ goto st1529;
+st1529:
if ( ++p == pe )
- goto _test_eof1481;
-case 1481:
+ goto _test_eof1529;
+case 1529:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -94369,40 +96318,40 @@ case 1481:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3994;
+ goto tr4074;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3993;
- goto tr2998;
-tr3983:
+ goto tr4073;
+ goto tr3067;
+tr4063:
{
s->buffer_length = 0;
}
- goto st1322;
-tr3995:
+ goto st1370;
+tr4075:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1322;
-tr3977:
+ goto st1370;
+tr4057:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1322;
-st1322:
+ goto st1370;
+st1370:
if ( ++p == pe )
- goto _test_eof1322;
-case 1322:
+ goto _test_eof1370;
+case 1370:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -94422,40 +96371,40 @@ case 1322:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3996;
+ goto tr4076;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3995;
- goto tr75;
-tr3971:
+ goto tr4075;
+ goto tr77;
+tr4051:
{
s->buffer_length = 0;
}
- goto st1323;
-tr3997:
+ goto st1371;
+tr4077:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1323;
-tr3965:
+ goto st1371;
+tr4045:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1323;
-st1323:
+ goto st1371;
+st1371:
if ( ++p == pe )
- goto _test_eof1323;
-case 1323:
+ goto _test_eof1371;
+case 1371:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -94475,40 +96424,40 @@ case 1323:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr3998;
+ goto tr4078;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3997;
- goto tr75;
-tr3959:
+ goto tr4077;
+ goto tr77;
+tr4039:
{
s->buffer_length = 0;
}
- goto st1324;
-tr3999:
+ goto st1372;
+tr4079:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1324;
-tr3953:
+ goto st1372;
+tr4033:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1324;
-st1324:
+ goto st1372;
+st1372:
if ( ++p == pe )
- goto _test_eof1324;
-case 1324:
+ goto _test_eof1372;
+case 1372:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -94528,18 +96477,18 @@ case 1324:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr4000;
+ goto tr4080;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr3999;
- goto tr75;
-st1325:
+ goto tr4079;
+ goto tr77;
+st1373:
if ( ++p == pe )
- goto _test_eof1325;
-case 1325:
+ goto _test_eof1373;
+case 1373:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4001;
- goto tr2327;
-tr4001:
+ goto tr4081;
+ goto tr2396;
+tr4081:
{
s->number64 = 0;
}
@@ -94554,11 +96503,11 @@ tr4001:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1326;
-tr4005:
+ goto st1374;
+tr4085:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -94570,14 +96519,14 @@ tr4005:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1326;
-st1326:
+ goto st1374;
+st1374:
if ( ++p == pe )
- goto _test_eof1326;
-case 1326:
+ goto _test_eof1374;
+case 1374:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -94591,40 +96540,40 @@ case 1326:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr4002;
- case 32: goto tr4002;
- case 40: goto tr4003;
- case 41: goto tr4004;
- case 2058: goto tr4006;
- case 2107: goto tr4007;
+ case 9: goto tr4082;
+ case 32: goto tr4082;
+ case 40: goto tr4083;
+ case 41: goto tr4084;
+ case 2058: goto tr4086;
+ case 2107: goto tr4087;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr4005;
- goto tr2327;
-tr4009:
+ goto tr4085;
+ goto tr2396;
+tr4089:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1327;
-tr4010:
+ goto st1375;
+tr4090:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1327;
-tr4012:
+ goto st1375;
+tr4092:
{
s->line_counter++;
}
- goto st1327;
-tr4018:
+ goto st1375;
+tr4098:
{
s->buffer[s->buffer_length++] = 0;
@@ -94634,15 +96583,15 @@ tr4018:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1327; goto _out;}
+ {p++; cs = 1375; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1327;
-tr4002:
+ goto st1375;
+tr4082:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -94650,11 +96599,11 @@ tr4002:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1327;
-tr4003:
+ goto st1375;
+tr4083:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -94662,18 +96611,18 @@ tr4003:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1327;
-tr4004:
+ goto st1375;
+tr4084:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -94681,18 +96630,18 @@ tr4004:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1327;
-tr4006:
+ goto st1375;
+tr4086:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -94700,17 +96649,17 @@ tr4006:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1327;
-st1327:
+ goto st1375;
+st1375:
if ( ++p == pe )
- goto _test_eof1327;
-case 1327:
+ goto _test_eof1375;
+case 1375:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -94724,17 +96673,17 @@ case 1327:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1327;
- case 32: goto st1327;
- case 40: goto tr4009;
- case 41: goto tr4010;
- case 2058: goto tr4012;
- case 2107: goto tr4013;
+ case 9: goto st1375;
+ case 32: goto st1375;
+ case 40: goto tr4089;
+ case 41: goto tr4090;
+ case 2058: goto tr4092;
+ case 2107: goto tr4093;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr4011;
- goto tr2327;
-tr4011:
+ goto tr4091;
+ goto tr2396;
+tr4091:
{
s->number64 = 0;
}
@@ -94749,11 +96698,11 @@ tr4011:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1328;
-tr4015:
+ goto st1376;
+tr4095:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -94765,28 +96714,28 @@ tr4015:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1328;
-st1328:
+ goto st1376;
+st1376:
if ( ++p == pe )
- goto _test_eof1328;
-case 1328:
+ goto _test_eof1376;
+case 1376:
switch( (*p) ) {
- case 32: goto tr4014;
- case 59: goto tr4014;
+ case 32: goto tr4094;
+ case 59: goto tr4094;
}
if ( (*p) < 40 ) {
if ( 9 <= (*p) && (*p) <= 10 )
- goto tr4014;
+ goto tr4094;
} else if ( (*p) > 41 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4015;
+ goto tr4095;
} else
- goto tr4014;
- goto tr2327;
-tr4014:
+ goto tr4094;
+ goto tr2396;
+tr4094:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -94794,48 +96743,48 @@ tr4014:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- { p--; {stack[top++] = 1329;goto st376;} }
- goto st1329;
-st1329:
+ { p--; {stack[top++] = 1377;goto st385;} }
+ goto st1377;
+st1377:
if ( ++p == pe )
- goto _test_eof1329;
-case 1329:
+ goto _test_eof1377;
+case 1377:
switch( (*p) ) {
- case 32: goto tr4016;
- case 59: goto tr4016;
+ case 32: goto tr4096;
+ case 59: goto tr4096;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr4016;
+ goto tr4096;
} else if ( (*p) >= 9 )
- goto tr4016;
- goto tr75;
-tr4016:
+ goto tr4096;
+ goto tr77;
+tr4096:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1482;
-st1482:
+ goto st1530;
+st1530:
if ( ++p == pe )
- goto _test_eof1482;
-case 1482:
+ goto _test_eof1530;
+case 1530:
goto st0;
-tr4013:
+tr4093:
{
s->buffer_length = 0;
}
- goto st1330;
-tr4017:
+ goto st1378;
+tr4097:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1330;
-tr4007:
+ goto st1378;
+tr4087:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -94843,17 +96792,17 @@ tr4007:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1330;
-st1330:
+ goto st1378;
+st1378:
if ( ++p == pe )
- goto _test_eof1330;
-case 1330:
+ goto _test_eof1378;
+case 1378:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -94873,18 +96822,18 @@ case 1330:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr4018;
+ goto tr4098;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr4017;
- goto tr75;
-st1331:
+ goto tr4097;
+ goto tr77;
+st1379:
if ( ++p == pe )
- goto _test_eof1331;
-case 1331:
+ goto _test_eof1379;
+case 1379:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4019;
- goto tr2327;
-tr4019:
+ goto tr4099;
+ goto tr2396;
+tr4099:
{
s->number64 = 0;
}
@@ -94899,11 +96848,11 @@ tr4019:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1332;
-tr4023:
+ goto st1380;
+tr4103:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -94915,14 +96864,14 @@ tr4023:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1332;
-st1332:
+ goto st1380;
+st1380:
if ( ++p == pe )
- goto _test_eof1332;
-case 1332:
+ goto _test_eof1380;
+case 1380:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -94936,40 +96885,40 @@ case 1332:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr4020;
- case 32: goto tr4020;
- case 40: goto tr4021;
- case 41: goto tr4022;
- case 2058: goto tr4024;
- case 2107: goto tr4025;
+ case 9: goto tr4100;
+ case 32: goto tr4100;
+ case 40: goto tr4101;
+ case 41: goto tr4102;
+ case 2058: goto tr4104;
+ case 2107: goto tr4105;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr4023;
- goto tr2327;
-tr4027:
+ goto tr4103;
+ goto tr2396;
+tr4107:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1333;
-tr4028:
+ goto st1381;
+tr4108:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1333;
-tr4030:
+ goto st1381;
+tr4110:
{
s->line_counter++;
}
- goto st1333;
-tr4072:
+ goto st1381;
+tr4152:
{
s->buffer[s->buffer_length++] = 0;
@@ -94979,15 +96928,15 @@ tr4072:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1333; goto _out;}
+ {p++; cs = 1381; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1333;
-tr4020:
+ goto st1381;
+tr4100:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -94995,11 +96944,11 @@ tr4020:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1333;
-tr4021:
+ goto st1381;
+tr4101:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -95007,18 +96956,18 @@ tr4021:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1333;
-tr4022:
+ goto st1381;
+tr4102:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -95026,18 +96975,18 @@ tr4022:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1333;
-tr4024:
+ goto st1381;
+tr4104:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -95045,17 +96994,17 @@ tr4024:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1333;
-st1333:
+ goto st1381;
+st1381:
if ( ++p == pe )
- goto _test_eof1333;
-case 1333:
+ goto _test_eof1381;
+case 1381:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -95069,17 +97018,17 @@ case 1333:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1333;
- case 32: goto st1333;
- case 40: goto tr4027;
- case 41: goto tr4028;
- case 2058: goto tr4030;
- case 2107: goto tr4031;
+ case 9: goto st1381;
+ case 32: goto st1381;
+ case 40: goto tr4107;
+ case 41: goto tr4108;
+ case 2058: goto tr4110;
+ case 2107: goto tr4111;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr4029;
- goto tr2327;
-tr4029:
+ goto tr4109;
+ goto tr2396;
+tr4109:
{
s->number64 = 0;
}
@@ -95094,11 +97043,11 @@ tr4029:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1334;
-tr4035:
+ goto st1382;
+tr4115:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -95110,14 +97059,14 @@ tr4035:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1334;
-st1334:
+ goto st1382;
+st1382:
if ( ++p == pe )
- goto _test_eof1334;
-case 1334:
+ goto _test_eof1382;
+case 1382:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -95131,40 +97080,40 @@ case 1334:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr4032;
- case 32: goto tr4032;
- case 40: goto tr4033;
- case 41: goto tr4034;
- case 2058: goto tr4036;
- case 2107: goto tr4037;
+ case 9: goto tr4112;
+ case 32: goto tr4112;
+ case 40: goto tr4113;
+ case 41: goto tr4114;
+ case 2058: goto tr4116;
+ case 2107: goto tr4117;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr4035;
- goto tr2327;
-tr4039:
+ goto tr4115;
+ goto tr2396;
+tr4119:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1335;
-tr4040:
+ goto st1383;
+tr4120:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1335;
-tr4042:
+ goto st1383;
+tr4122:
{
s->line_counter++;
}
- goto st1335;
-tr4070:
+ goto st1383;
+tr4150:
{
s->buffer[s->buffer_length++] = 0;
@@ -95174,79 +97123,79 @@ tr4070:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1335; goto _out;}
+ {p++; cs = 1383; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1335;
-tr4032:
+ goto st1383;
+tr4112:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1335;
-tr4033:
+ goto st1383;
+tr4113:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1335;
-tr4034:
+ goto st1383;
+tr4114:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1335;
-tr4036:
+ goto st1383;
+tr4116:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1335;
-st1335:
+ goto st1383;
+st1383:
if ( ++p == pe )
- goto _test_eof1335;
-case 1335:
+ goto _test_eof1383;
+case 1383:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -95260,17 +97209,17 @@ case 1335:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1335;
- case 32: goto st1335;
- case 40: goto tr4039;
- case 41: goto tr4040;
- case 2058: goto tr4042;
- case 2107: goto tr4043;
+ case 9: goto st1383;
+ case 32: goto st1383;
+ case 40: goto tr4119;
+ case 41: goto tr4120;
+ case 2058: goto tr4122;
+ case 2107: goto tr4123;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr4041;
- goto tr2327;
-tr4041:
+ goto tr4121;
+ goto tr2396;
+tr4121:
{
s->number64 = 0;
}
@@ -95285,11 +97234,11 @@ tr4041:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1336;
-tr4047:
+ goto st1384;
+tr4127:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -95301,14 +97250,14 @@ tr4047:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1336;
-st1336:
+ goto st1384;
+st1384:
if ( ++p == pe )
- goto _test_eof1336;
-case 1336:
+ goto _test_eof1384;
+case 1384:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -95322,40 +97271,40 @@ case 1336:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr4044;
- case 32: goto tr4044;
- case 40: goto tr4045;
- case 41: goto tr4046;
- case 2058: goto tr4048;
- case 2107: goto tr4049;
+ case 9: goto tr4124;
+ case 32: goto tr4124;
+ case 40: goto tr4125;
+ case 41: goto tr4126;
+ case 2058: goto tr4128;
+ case 2107: goto tr4129;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr4047;
- goto tr2327;
-tr4051:
+ goto tr4127;
+ goto tr2396;
+tr4131:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1337;
-tr4052:
+ goto st1385;
+tr4132:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1337;
-tr4054:
+ goto st1385;
+tr4134:
{
s->line_counter++;
}
- goto st1337;
-tr4068:
+ goto st1385;
+tr4148:
{
s->buffer[s->buffer_length++] = 0;
@@ -95365,79 +97314,79 @@ tr4068:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1337; goto _out;}
+ {p++; cs = 1385; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1337;
-tr4044:
+ goto st1385;
+tr4124:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1337;
-tr4045:
+ goto st1385;
+tr4125:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1337;
-tr4046:
+ goto st1385;
+tr4126:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1337;
-tr4048:
+ goto st1385;
+tr4128:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1337;
-st1337:
+ goto st1385;
+st1385:
if ( ++p == pe )
- goto _test_eof1337;
-case 1337:
+ goto _test_eof1385;
+case 1385:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -95451,69 +97400,69 @@ case 1337:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1337;
- case 32: goto st1337;
- case 40: goto tr4051;
- case 41: goto tr4052;
- case 2058: goto tr4054;
- case 2107: goto tr4055;
+ case 9: goto st1385;
+ case 32: goto st1385;
+ case 40: goto tr4131;
+ case 41: goto tr4132;
+ case 2058: goto tr4134;
+ case 2107: goto tr4135;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr4053;
+ goto tr4133;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr4053;
+ goto tr4133;
} else
- goto tr4053;
- goto tr2998;
-tr4053:
+ goto tr4133;
+ goto tr3067;
+tr4133:
{
if (rdata_tail <= rdata_stop) {
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1338;
-st1338:
+ goto st1386;
+st1386:
if ( ++p == pe )
- goto _test_eof1338;
-case 1338:
+ goto _test_eof1386;
+case 1386:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4056;
+ goto tr4136;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr4056;
+ goto tr4136;
} else
- goto tr4056;
- goto tr2998;
-tr4058:
+ goto tr4136;
+ goto tr3067;
+tr4138:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1339;
-tr4059:
+ goto st1387;
+tr4139:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1339;
-tr4060:
+ goto st1387;
+tr4140:
{
s->line_counter++;
}
- goto st1339;
-tr4066:
+ goto st1387;
+tr4146:
{
s->buffer[s->buffer_length++] = 0;
@@ -95523,24 +97472,24 @@ tr4066:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1339; goto _out;}
+ {p++; cs = 1387; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1339;
-tr4056:
+ goto st1387;
+tr4136:
{
*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
rdata_tail++;
}
- goto st1339;
-st1339:
+ goto st1387;
+st1387:
if ( ++p == pe )
- goto _test_eof1339;
-case 1339:
+ goto _test_eof1387;
+case 1387:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -95558,42 +97507,42 @@ case 1339:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st1339;
- case 32: goto st1339;
- case 40: goto tr4058;
- case 41: goto tr4059;
- case 3082: goto tr4060;
- case 3131: goto tr4061;
- case 3338: goto tr4062;
- case 3387: goto tr4062;
- case 3594: goto tr4063;
- case 3643: goto tr4064;
+ case 9: goto st1387;
+ case 32: goto st1387;
+ case 40: goto tr4138;
+ case 41: goto tr4139;
+ case 3082: goto tr4140;
+ case 3131: goto tr4141;
+ case 3338: goto tr4142;
+ case 3387: goto tr4142;
+ case 3594: goto tr4143;
+ case 3643: goto tr4144;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr4053;
+ goto tr4133;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr4053;
+ goto tr4133;
} else
- goto tr4053;
- goto tr2998;
-tr4061:
+ goto tr4133;
+ goto tr3067;
+tr4141:
{
s->buffer_length = 0;
}
- goto st1340;
-tr4065:
+ goto st1388;
+tr4145:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1340;
-st1340:
+ goto st1388;
+st1388:
if ( ++p == pe )
- goto _test_eof1340;
-case 1340:
+ goto _test_eof1388;
+case 1388:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -95613,32 +97562,32 @@ case 1340:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr4066;
+ goto tr4146;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr4065;
- goto tr2998;
-tr4062:
+ goto tr4145;
+ goto tr3067;
+tr4142:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1483;
-st1483:
+ goto st1531;
+st1531:
if ( ++p == pe )
- goto _test_eof1483;
-case 1483:
+ goto _test_eof1531;
+case 1531:
goto st0;
-tr4063:
+tr4143:
{
s->line_counter++;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1484;
-st1484:
+ goto st1532;
+st1532:
if ( ++p == pe )
- goto _test_eof1484;
-case 1484:
+ goto _test_eof1532;
+case 1532:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -95656,38 +97605,38 @@ case 1484:
!s->multiline ) _widec += 512;
}
switch( _widec ) {
- case 9: goto st1339;
- case 32: goto st1339;
- case 40: goto tr4058;
- case 41: goto tr4059;
- case 3082: goto tr4060;
- case 3131: goto tr4061;
- case 3338: goto tr4062;
- case 3387: goto tr4062;
- case 3594: goto tr4063;
- case 3643: goto tr4064;
+ case 9: goto st1387;
+ case 32: goto st1387;
+ case 40: goto tr4138;
+ case 41: goto tr4139;
+ case 3082: goto tr4140;
+ case 3131: goto tr4141;
+ case 3338: goto tr4142;
+ case 3387: goto tr4142;
+ case 3594: goto tr4143;
+ case 3643: goto tr4144;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr4053;
+ goto tr4133;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr4053;
+ goto tr4133;
} else
- goto tr4053;
- goto tr2998;
-tr4064:
+ goto tr4133;
+ goto tr3067;
+tr4144:
{
s->buffer_length = 0;
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1485;
-st1485:
+ goto st1533;
+st1533:
if ( ++p == pe )
- goto _test_eof1485;
-case 1485:
+ goto _test_eof1533;
+case 1533:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -95707,40 +97656,40 @@ case 1485:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr4066;
+ goto tr4146;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr4065;
- goto tr2998;
-tr4055:
+ goto tr4145;
+ goto tr3067;
+tr4135:
{
s->buffer_length = 0;
}
- goto st1341;
-tr4067:
+ goto st1389;
+tr4147:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1341;
-tr4049:
+ goto st1389;
+tr4129:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1341;
-st1341:
+ goto st1389;
+st1389:
if ( ++p == pe )
- goto _test_eof1341;
-case 1341:
+ goto _test_eof1389;
+case 1389:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -95760,40 +97709,40 @@ case 1341:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr4068;
+ goto tr4148;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr4067;
- goto tr75;
-tr4043:
+ goto tr4147;
+ goto tr77;
+tr4123:
{
s->buffer_length = 0;
}
- goto st1342;
-tr4069:
+ goto st1390;
+tr4149:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1342;
-tr4037:
+ goto st1390;
+tr4117:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1342;
-st1342:
+ goto st1390;
+st1390:
if ( ++p == pe )
- goto _test_eof1342;
-case 1342:
+ goto _test_eof1390;
+case 1390:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -95813,23 +97762,23 @@ case 1342:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr4070;
+ goto tr4150;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr4069;
- goto tr75;
-tr4031:
+ goto tr4149;
+ goto tr77;
+tr4111:
{
s->buffer_length = 0;
}
- goto st1343;
-tr4071:
+ goto st1391;
+tr4151:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1343;
-tr4025:
+ goto st1391;
+tr4105:
{
if (s->number64 <= UINT32_MAX) {
uint32_t num32 = htonl((uint32_t)s->number64);
@@ -95837,17 +97786,17 @@ tr4025:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1343;
-st1343:
+ goto st1391;
+st1391:
if ( ++p == pe )
- goto _test_eof1343;
-case 1343:
+ goto _test_eof1391;
+case 1391:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -95867,18 +97816,18 @@ case 1343:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr4072;
+ goto tr4152;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr4071;
- goto tr75;
-st1344:
+ goto tr4151;
+ goto tr77;
+st1392:
if ( ++p == pe )
- goto _test_eof1344;
-case 1344:
+ goto _test_eof1392;
+case 1392:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4073;
- goto tr2327;
-tr4073:
+ goto tr4153;
+ goto tr2396;
+tr4153:
{
s->number64 = 0;
}
@@ -95893,11 +97842,11 @@ tr4073:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1345;
-tr4077:
+ goto st1393;
+tr4157:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -95909,14 +97858,14 @@ tr4077:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1345;
-st1345:
+ goto st1393;
+st1393:
if ( ++p == pe )
- goto _test_eof1345;
-case 1345:
+ goto _test_eof1393;
+case 1393:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -95930,40 +97879,40 @@ case 1345:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr4074;
- case 32: goto tr4074;
- case 40: goto tr4075;
- case 41: goto tr4076;
- case 2058: goto tr4078;
- case 2107: goto tr4079;
+ case 9: goto tr4154;
+ case 32: goto tr4154;
+ case 40: goto tr4155;
+ case 41: goto tr4156;
+ case 2058: goto tr4158;
+ case 2107: goto tr4159;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr4077;
- goto tr2327;
-tr4081:
+ goto tr4157;
+ goto tr2396;
+tr4161:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1346;
-tr4082:
+ goto st1394;
+tr4162:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1346;
-tr4084:
+ goto st1394;
+tr4164:
{
s->line_counter++;
}
- goto st1346;
-tr4089:
+ goto st1394;
+tr4169:
{
s->buffer[s->buffer_length++] = 0;
@@ -95973,15 +97922,15 @@ tr4089:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1346; goto _out;}
+ {p++; cs = 1394; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1346;
-tr4074:
+ goto st1394;
+tr4154:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -95989,11 +97938,11 @@ tr4074:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1346;
-tr4075:
+ goto st1394;
+tr4155:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -96001,18 +97950,18 @@ tr4075:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1346;
-tr4076:
+ goto st1394;
+tr4156:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -96020,18 +97969,18 @@ tr4076:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1346;
-tr4078:
+ goto st1394;
+tr4158:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -96039,17 +97988,17 @@ tr4078:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1346;
-st1346:
+ goto st1394;
+st1394:
if ( ++p == pe )
- goto _test_eof1346;
-case 1346:
+ goto _test_eof1394;
+case 1394:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -96063,28 +98012,28 @@ case 1346:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1346;
- case 32: goto st1346;
- case 40: goto tr4081;
- case 41: goto tr4082;
- case 46: goto tr4083;
- case 2058: goto tr4084;
- case 2107: goto tr4085;
+ case 9: goto st1394;
+ case 32: goto st1394;
+ case 40: goto tr4161;
+ case 41: goto tr4162;
+ case 46: goto tr4163;
+ case 2058: goto tr4164;
+ case 2107: goto tr4165;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr4083;
- goto tr2304;
-tr4087:
+ goto tr4163;
+ goto tr2373;
+tr4167:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1347;
-tr4083:
+ goto st1395;
+tr4163:
{
s->buffer_length = 0;
}
@@ -96093,41 +98042,41 @@ tr4083:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1347;
-st1347:
+ goto st1395;
+st1395:
if ( ++p == pe )
- goto _test_eof1347;
-case 1347:
+ goto _test_eof1395;
+case 1395:
switch( (*p) ) {
- case 32: goto tr4086;
- case 46: goto tr4087;
- case 59: goto tr4086;
+ case 32: goto tr4166;
+ case 46: goto tr4167;
+ case 59: goto tr4166;
}
if ( (*p) < 40 ) {
if ( 9 <= (*p) && (*p) <= 10 )
- goto tr4086;
+ goto tr4166;
} else if ( (*p) > 41 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4087;
+ goto tr4167;
} else
- goto tr4086;
- goto tr2304;
-tr4086:
+ goto tr4166;
+ goto tr2373;
+tr4166:
{
s->buffer[s->buffer_length] = 0;
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -96135,25 +98084,25 @@ tr4086:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1486;
-st1486:
+ goto st1534;
+st1534:
if ( ++p == pe )
- goto _test_eof1486;
-case 1486:
+ goto _test_eof1534;
+case 1534:
goto st0;
-tr4085:
+tr4165:
{
s->buffer_length = 0;
}
- goto st1348;
-tr4088:
+ goto st1396;
+tr4168:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1348;
-tr4079:
+ goto st1396;
+tr4159:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -96161,17 +98110,17 @@ tr4079:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1348;
-st1348:
+ goto st1396;
+st1396:
if ( ++p == pe )
- goto _test_eof1348;
-case 1348:
+ goto _test_eof1396;
+case 1396:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -96191,18 +98140,18 @@ case 1348:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr4089;
+ goto tr4169;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr4088;
- goto tr75;
-st1349:
+ goto tr4168;
+ goto tr77;
+st1397:
if ( ++p == pe )
- goto _test_eof1349;
-case 1349:
+ goto _test_eof1397;
+case 1397:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4090;
- goto tr2327;
-tr4090:
+ goto tr4170;
+ goto tr2396;
+tr4170:
{
s->number64 = 0;
}
@@ -96217,11 +98166,11 @@ tr4090:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1350;
-tr4094:
+ goto st1398;
+tr4174:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -96233,14 +98182,14 @@ tr4094:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1350;
-st1350:
+ goto st1398;
+st1398:
if ( ++p == pe )
- goto _test_eof1350;
-case 1350:
+ goto _test_eof1398;
+case 1398:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -96254,40 +98203,40 @@ case 1350:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr4091;
- case 32: goto tr4091;
- case 40: goto tr4092;
- case 41: goto tr4093;
- case 2058: goto tr4095;
- case 2107: goto tr4096;
+ case 9: goto tr4171;
+ case 32: goto tr4171;
+ case 40: goto tr4172;
+ case 41: goto tr4173;
+ case 2058: goto tr4175;
+ case 2107: goto tr4176;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr4094;
- goto tr2327;
-tr4098:
+ goto tr4174;
+ goto tr2396;
+tr4178:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1351;
-tr4099:
+ goto st1399;
+tr4179:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1351;
-tr4101:
+ goto st1399;
+tr4181:
{
s->line_counter++;
}
- goto st1351;
-tr4115:
+ goto st1399;
+tr4195:
{
s->buffer[s->buffer_length++] = 0;
@@ -96297,15 +98246,15 @@ tr4115:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1351; goto _out;}
+ {p++; cs = 1399; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1351;
-tr4091:
+ goto st1399;
+tr4171:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -96313,11 +98262,11 @@ tr4091:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1351;
-tr4092:
+ goto st1399;
+tr4172:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -96325,18 +98274,18 @@ tr4092:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1351;
-tr4093:
+ goto st1399;
+tr4173:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -96344,18 +98293,18 @@ tr4093:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1351;
-tr4095:
+ goto st1399;
+tr4175:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -96363,17 +98312,17 @@ tr4095:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1351;
-st1351:
+ goto st1399;
+st1399:
if ( ++p == pe )
- goto _test_eof1351;
-case 1351:
+ goto _test_eof1399;
+case 1399:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -96387,23 +98336,23 @@ case 1351:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1351;
- case 32: goto st1351;
- case 40: goto tr4098;
- case 41: goto tr4099;
- case 2058: goto tr4101;
- case 2107: goto tr4102;
+ case 9: goto st1399;
+ case 32: goto st1399;
+ case 40: goto tr4178;
+ case 41: goto tr4179;
+ case 2058: goto tr4181;
+ case 2107: goto tr4182;
}
if ( _widec < 65 ) {
if ( 48 <= _widec && _widec <= 57 )
- goto tr4100;
+ goto tr4180;
} else if ( _widec > 70 ) {
if ( 97 <= _widec && _widec <= 102 )
- goto tr4100;
+ goto tr4180;
} else
- goto tr4100;
- goto tr2998;
-tr4100:
+ goto tr4180;
+ goto tr3067;
+tr4180:
{
s->item_length = 0;
}
@@ -96412,214 +98361,214 @@ tr4100:
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1352;
-st1352:
+ goto st1400;
+st1400:
if ( ++p == pe )
- goto _test_eof1352;
-case 1352:
+ goto _test_eof1400;
+case 1400:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4103;
+ goto tr4183;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr4103;
+ goto tr4183;
} else
- goto tr4103;
- goto tr2998;
-tr4103:
+ goto tr4183;
+ goto tr3067;
+tr4183:
{
*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
rdata_tail++;
}
- goto st1353;
-st1353:
+ goto st1401;
+st1401:
if ( ++p == pe )
- goto _test_eof1353;
-case 1353:
+ goto _test_eof1401;
+case 1401:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4104;
+ goto tr4184;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr4104;
+ goto tr4184;
} else
- goto tr4104;
- goto tr2998;
-tr4104:
+ goto tr4184;
+ goto tr3067;
+tr4184:
{
if (rdata_tail <= rdata_stop) {
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1354;
-st1354:
+ goto st1402;
+st1402:
if ( ++p == pe )
- goto _test_eof1354;
-case 1354:
+ goto _test_eof1402;
+case 1402:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4105;
+ goto tr4185;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr4105;
+ goto tr4185;
} else
- goto tr4105;
- goto tr2998;
-tr4105:
+ goto tr4185;
+ goto tr3067;
+tr4185:
{
*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
rdata_tail++;
}
- goto st1355;
-st1355:
+ goto st1403;
+st1403:
if ( ++p == pe )
- goto _test_eof1355;
-case 1355:
+ goto _test_eof1403;
+case 1403:
if ( (*p) == 58 )
- goto tr4107;
- goto tr4106;
-tr4107:
+ goto tr4187;
+ goto tr4186;
+tr4187:
{
s->item_length++;
}
- goto st1356;
-st1356:
+ goto st1404;
+st1404:
if ( ++p == pe )
- goto _test_eof1356;
-case 1356:
+ goto _test_eof1404;
+case 1404:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4108;
+ goto tr4188;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr4108;
+ goto tr4188;
} else
- goto tr4108;
- goto tr2998;
-tr4108:
+ goto tr4188;
+ goto tr3067;
+tr4188:
{
if (rdata_tail <= rdata_stop) {
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1357;
-st1357:
+ goto st1405;
+st1405:
if ( ++p == pe )
- goto _test_eof1357;
-case 1357:
+ goto _test_eof1405;
+case 1405:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4109;
+ goto tr4189;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr4109;
+ goto tr4189;
} else
- goto tr4109;
- goto tr2998;
-tr4109:
+ goto tr4189;
+ goto tr3067;
+tr4189:
{
*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
rdata_tail++;
}
- goto st1358;
-st1358:
+ goto st1406;
+st1406:
if ( ++p == pe )
- goto _test_eof1358;
-case 1358:
+ goto _test_eof1406;
+case 1406:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4110;
+ goto tr4190;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr4110;
+ goto tr4190;
} else
- goto tr4110;
- goto tr2998;
-tr4110:
+ goto tr4190;
+ goto tr3067;
+tr4190:
{
if (rdata_tail <= rdata_stop) {
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1359;
-st1359:
+ goto st1407;
+st1407:
if ( ++p == pe )
- goto _test_eof1359;
-case 1359:
+ goto _test_eof1407;
+case 1407:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4111;
+ goto tr4191;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr4111;
+ goto tr4191;
} else
- goto tr4111;
- goto tr2998;
-tr4111:
+ goto tr4191;
+ goto tr3067;
+tr4191:
{
*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
rdata_tail++;
}
- goto st1360;
-st1360:
+ goto st1408;
+st1408:
if ( ++p == pe )
- goto _test_eof1360;
-case 1360:
+ goto _test_eof1408;
+case 1408:
switch( (*p) ) {
- case 32: goto tr4113;
- case 58: goto tr4107;
- case 59: goto tr4113;
+ case 32: goto tr4193;
+ case 58: goto tr4187;
+ case 59: goto tr4193;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr4113;
+ goto tr4193;
} else if ( (*p) >= 9 )
- goto tr4113;
- goto tr4112;
-tr4113:
+ goto tr4193;
+ goto tr4192;
+tr4193:
{
s->item_length++;
}
{
if (s->item_length != 4) {
WARN(ZS_BAD_L64_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1487;
-st1487:
+ goto st1535;
+st1535:
if ( ++p == pe )
- goto _test_eof1487;
-case 1487:
+ goto _test_eof1535;
+case 1535:
goto st0;
-tr4102:
+tr4182:
{
s->buffer_length = 0;
}
- goto st1361;
-tr4114:
+ goto st1409;
+tr4194:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1361;
-tr4096:
+ goto st1409;
+tr4176:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -96627,17 +98576,17 @@ tr4096:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1361;
-st1361:
+ goto st1409;
+st1409:
if ( ++p == pe )
- goto _test_eof1361;
-case 1361:
+ goto _test_eof1409;
+case 1409:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -96657,24 +98606,24 @@ case 1361:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr4115;
+ goto tr4195;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr4114;
- goto tr75;
-st1362:
+ goto tr4194;
+ goto tr77;
+st1410:
if ( ++p == pe )
- goto _test_eof1362;
-case 1362:
+ goto _test_eof1410;
+case 1410:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4116;
+ goto tr4196;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr4116;
+ goto tr4196;
} else
- goto tr4116;
- goto tr2998;
-tr4116:
+ goto tr4196;
+ goto tr3067;
+tr4196:
{
s->item_length = 0;
}
@@ -96683,131 +98632,131 @@ tr4116:
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1363;
-st1363:
+ goto st1411;
+st1411:
if ( ++p == pe )
- goto _test_eof1363;
-case 1363:
+ goto _test_eof1411;
+case 1411:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4117;
+ goto tr4197;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr4117;
+ goto tr4197;
} else
- goto tr4117;
- goto tr2998;
-tr4117:
+ goto tr4197;
+ goto tr3067;
+tr4197:
{
*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
rdata_tail++;
}
- goto st1364;
-st1364:
+ goto st1412;
+st1412:
if ( ++p == pe )
- goto _test_eof1364;
-case 1364:
+ goto _test_eof1412;
+case 1412:
if ( (*p) == 45 )
- goto tr4119;
- goto tr4118;
-tr4119:
+ goto tr4199;
+ goto tr4198;
+tr4199:
{
s->item_length++;
}
- goto st1365;
-st1365:
+ goto st1413;
+st1413:
if ( ++p == pe )
- goto _test_eof1365;
-case 1365:
+ goto _test_eof1413;
+case 1413:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4120;
+ goto tr4200;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr4120;
+ goto tr4200;
} else
- goto tr4120;
- goto tr2998;
-tr4120:
+ goto tr4200;
+ goto tr3067;
+tr4200:
{
if (rdata_tail <= rdata_stop) {
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1366;
-st1366:
+ goto st1414;
+st1414:
if ( ++p == pe )
- goto _test_eof1366;
-case 1366:
+ goto _test_eof1414;
+case 1414:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4121;
+ goto tr4201;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr4121;
+ goto tr4201;
} else
- goto tr4121;
- goto tr2998;
-tr4121:
+ goto tr4201;
+ goto tr3067;
+tr4201:
{
*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
rdata_tail++;
}
- goto st1367;
-st1367:
+ goto st1415;
+st1415:
if ( ++p == pe )
- goto _test_eof1367;
-case 1367:
+ goto _test_eof1415;
+case 1415:
switch( (*p) ) {
- case 32: goto tr4122;
- case 45: goto tr4119;
- case 59: goto tr4122;
+ case 32: goto tr4202;
+ case 45: goto tr4199;
+ case 59: goto tr4202;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr4122;
+ goto tr4202;
} else if ( (*p) >= 9 )
- goto tr4122;
- goto tr4118;
-tr4122:
+ goto tr4202;
+ goto tr4198;
+tr4202:
{
s->item_length++;
}
{
if (s->item_length != 6) {
WARN(ZS_BAD_EUI_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1488;
-st1488:
+ goto st1536;
+st1536:
if ( ++p == pe )
- goto _test_eof1488;
-case 1488:
+ goto _test_eof1536;
+case 1536:
goto st0;
-st1368:
+st1416:
if ( ++p == pe )
- goto _test_eof1368;
-case 1368:
+ goto _test_eof1416;
+case 1416:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4123;
+ goto tr4203;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr4123;
+ goto tr4203;
} else
- goto tr4123;
- goto tr2998;
-tr4123:
+ goto tr4203;
+ goto tr3067;
+tr4203:
{
s->item_length = 0;
}
@@ -96816,125 +98765,125 @@ tr4123:
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1369;
-st1369:
+ goto st1417;
+st1417:
if ( ++p == pe )
- goto _test_eof1369;
-case 1369:
+ goto _test_eof1417;
+case 1417:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4124;
+ goto tr4204;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr4124;
+ goto tr4204;
} else
- goto tr4124;
- goto tr2998;
-tr4124:
+ goto tr4204;
+ goto tr3067;
+tr4204:
{
*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
rdata_tail++;
}
- goto st1370;
-st1370:
+ goto st1418;
+st1418:
if ( ++p == pe )
- goto _test_eof1370;
-case 1370:
+ goto _test_eof1418;
+case 1418:
if ( (*p) == 45 )
- goto tr4125;
- goto tr4118;
-tr4125:
+ goto tr4205;
+ goto tr4198;
+tr4205:
{
s->item_length++;
}
- goto st1371;
-st1371:
+ goto st1419;
+st1419:
if ( ++p == pe )
- goto _test_eof1371;
-case 1371:
+ goto _test_eof1419;
+case 1419:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4126;
+ goto tr4206;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr4126;
+ goto tr4206;
} else
- goto tr4126;
- goto tr2998;
-tr4126:
+ goto tr4206;
+ goto tr3067;
+tr4206:
{
if (rdata_tail <= rdata_stop) {
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1372;
-st1372:
+ goto st1420;
+st1420:
if ( ++p == pe )
- goto _test_eof1372;
-case 1372:
+ goto _test_eof1420;
+case 1420:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4127;
+ goto tr4207;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto tr4127;
+ goto tr4207;
} else
- goto tr4127;
- goto tr2998;
-tr4127:
+ goto tr4207;
+ goto tr3067;
+tr4207:
{
*rdata_tail += second_hex_to_num[(uint8_t)(*p)];
rdata_tail++;
}
- goto st1373;
-st1373:
+ goto st1421;
+st1421:
if ( ++p == pe )
- goto _test_eof1373;
-case 1373:
+ goto _test_eof1421;
+case 1421:
switch( (*p) ) {
- case 32: goto tr4128;
- case 45: goto tr4125;
- case 59: goto tr4128;
+ case 32: goto tr4208;
+ case 45: goto tr4205;
+ case 59: goto tr4208;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr4128;
+ goto tr4208;
} else if ( (*p) >= 9 )
- goto tr4128;
- goto tr4118;
-tr4128:
+ goto tr4208;
+ goto tr4198;
+tr4208:
{
s->item_length++;
}
{
if (s->item_length != 8) {
WARN(ZS_BAD_EUI_LENGTH);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1489;
-st1489:
+ goto st1537;
+st1537:
if ( ++p == pe )
- goto _test_eof1489;
-case 1489:
+ goto _test_eof1537;
+case 1537:
goto st0;
-st1374:
+st1422:
if ( ++p == pe )
- goto _test_eof1374;
-case 1374:
+ goto _test_eof1422;
+case 1422:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4129;
- goto tr2327;
-tr4129:
+ goto tr4209;
+ goto tr2396;
+tr4209:
{
s->number64 = 0;
}
@@ -96949,11 +98898,11 @@ tr4129:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1375;
-tr4133:
+ goto st1423;
+tr4213:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -96965,14 +98914,14 @@ tr4133:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1375;
-st1375:
+ goto st1423;
+st1423:
if ( ++p == pe )
- goto _test_eof1375;
-case 1375:
+ goto _test_eof1423;
+case 1423:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -96986,40 +98935,40 @@ case 1375:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr4130;
- case 32: goto tr4130;
- case 40: goto tr4131;
- case 41: goto tr4132;
- case 2058: goto tr4134;
- case 2107: goto tr4135;
+ case 9: goto tr4210;
+ case 32: goto tr4210;
+ case 40: goto tr4211;
+ case 41: goto tr4212;
+ case 2058: goto tr4214;
+ case 2107: goto tr4215;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr4133;
- goto tr2327;
-tr4137:
+ goto tr4213;
+ goto tr2396;
+tr4217:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1376;
-tr4138:
+ goto st1424;
+tr4218:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1376;
-tr4140:
+ goto st1424;
+tr4220:
{
s->line_counter++;
}
- goto st1376;
-tr4158:
+ goto st1424;
+tr4238:
{
s->buffer[s->buffer_length++] = 0;
@@ -97029,15 +98978,15 @@ tr4158:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1376; goto _out;}
+ {p++; cs = 1424; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1376;
-tr4130:
+ goto st1424;
+tr4210:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -97045,11 +98994,11 @@ tr4130:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1376;
-tr4131:
+ goto st1424;
+tr4211:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -97057,18 +99006,18 @@ tr4131:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1376;
-tr4132:
+ goto st1424;
+tr4212:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -97076,18 +99025,18 @@ tr4132:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1376;
-tr4134:
+ goto st1424;
+tr4214:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -97095,17 +99044,17 @@ tr4134:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1376;
-st1376:
+ goto st1424;
+st1424:
if ( ++p == pe )
- goto _test_eof1376;
-case 1376:
+ goto _test_eof1424;
+case 1424:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -97119,17 +99068,17 @@ case 1376:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1376;
- case 32: goto st1376;
- case 40: goto tr4137;
- case 41: goto tr4138;
- case 2058: goto tr4140;
- case 2107: goto tr4141;
+ case 9: goto st1424;
+ case 32: goto st1424;
+ case 40: goto tr4217;
+ case 41: goto tr4218;
+ case 2058: goto tr4220;
+ case 2107: goto tr4221;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr4139;
- goto tr2327;
-tr4139:
+ goto tr4219;
+ goto tr2396;
+tr4219:
{
s->number64 = 0;
}
@@ -97144,11 +99093,11 @@ tr4139:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1377;
-tr4145:
+ goto st1425;
+tr4225:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -97160,14 +99109,14 @@ tr4145:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1377;
-st1377:
+ goto st1425;
+st1425:
if ( ++p == pe )
- goto _test_eof1377;
-case 1377:
+ goto _test_eof1425;
+case 1425:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -97181,40 +99130,40 @@ case 1377:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr4142;
- case 32: goto tr4142;
- case 40: goto tr4143;
- case 41: goto tr4144;
- case 2058: goto tr4146;
- case 2107: goto tr4147;
+ case 9: goto tr4222;
+ case 32: goto tr4222;
+ case 40: goto tr4223;
+ case 41: goto tr4224;
+ case 2058: goto tr4226;
+ case 2107: goto tr4227;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr4145;
- goto tr2327;
-tr4150:
+ goto tr4225;
+ goto tr2396;
+tr4230:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1378;
-tr4151:
+ goto st1426;
+tr4231:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1378;
-tr4152:
+ goto st1426;
+tr4232:
{
s->line_counter++;
}
- goto st1378;
-tr4156:
+ goto st1426;
+tr4236:
{
s->buffer[s->buffer_length++] = 0;
@@ -97224,15 +99173,15 @@ tr4156:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1378; goto _out;}
+ {p++; cs = 1426; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1378;
-tr4142:
+ goto st1426;
+tr4222:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -97240,11 +99189,11 @@ tr4142:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1378;
-tr4143:
+ goto st1426;
+tr4223:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -97252,18 +99201,18 @@ tr4143:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1378;
-tr4144:
+ goto st1426;
+tr4224:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -97271,18 +99220,18 @@ tr4144:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1378;
-tr4146:
+ goto st1426;
+tr4226:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -97290,17 +99239,17 @@ tr4146:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1378;
-st1378:
+ goto st1426;
+st1426:
if ( ++p == pe )
- goto _test_eof1378;
-case 1378:
+ goto _test_eof1426;
+case 1426:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -97314,62 +99263,62 @@ case 1378:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1378;
- case 32: goto st1378;
- case 40: goto tr4150;
- case 41: goto tr4151;
- case 2058: goto tr4152;
- case 2107: goto tr4153;
+ case 9: goto st1426;
+ case 32: goto st1426;
+ case 40: goto tr4230;
+ case 41: goto tr4231;
+ case 2058: goto tr4232;
+ case 2107: goto tr4233;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr4148;
+ goto tr4228;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr4148;
+ goto tr4228;
} else
- goto tr4148;
- goto tr75;
-tr4148:
- { p--; {stack[top++] = 1379;goto st318;} }
- goto st1379;
-st1379:
+ goto tr4228;
+ goto tr77;
+tr4228:
+ { p--; {stack[top++] = 1427;goto st327;} }
+ goto st1427;
+st1427:
if ( ++p == pe )
- goto _test_eof1379;
-case 1379:
+ goto _test_eof1427;
+case 1427:
switch( (*p) ) {
- case 32: goto tr4154;
- case 59: goto tr4154;
+ case 32: goto tr4234;
+ case 59: goto tr4234;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr4154;
+ goto tr4234;
} else if ( (*p) >= 9 )
- goto tr4154;
- goto tr75;
-tr4154:
+ goto tr4234;
+ goto tr77;
+tr4234:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1490;
-st1490:
+ goto st1538;
+st1538:
if ( ++p == pe )
- goto _test_eof1490;
-case 1490:
+ goto _test_eof1538;
+case 1538:
goto st0;
-tr4153:
+tr4233:
{
s->buffer_length = 0;
}
- goto st1380;
-tr4155:
+ goto st1428;
+tr4235:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1380;
-tr4147:
+ goto st1428;
+tr4227:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -97377,17 +99326,17 @@ tr4147:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1380;
-st1380:
+ goto st1428;
+st1428:
if ( ++p == pe )
- goto _test_eof1380;
-case 1380:
+ goto _test_eof1428;
+case 1428:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -97407,23 +99356,23 @@ case 1380:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr4156;
+ goto tr4236;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr4155;
- goto tr75;
-tr4141:
+ goto tr4235;
+ goto tr77;
+tr4221:
{
s->buffer_length = 0;
}
- goto st1381;
-tr4157:
+ goto st1429;
+tr4237:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1381;
-tr4135:
+ goto st1429;
+tr4215:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -97431,17 +99380,17 @@ tr4135:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1381;
-st1381:
+ goto st1429;
+st1429:
if ( ++p == pe )
- goto _test_eof1381;
-case 1381:
+ goto _test_eof1429;
+case 1429:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -97461,18 +99410,18 @@ case 1381:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr4158;
+ goto tr4238;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr4157;
- goto tr75;
-st1382:
+ goto tr4237;
+ goto tr77;
+st1430:
if ( ++p == pe )
- goto _test_eof1382;
-case 1382:
+ goto _test_eof1430;
+case 1430:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4159;
- goto tr2327;
-tr4159:
+ goto tr4239;
+ goto tr2396;
+tr4239:
{
s->number64 = 0;
}
@@ -97487,11 +99436,11 @@ tr4159:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1383;
-tr4163:
+ goto st1431;
+tr4243:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -97503,14 +99452,14 @@ tr4163:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1383;
-st1383:
+ goto st1431;
+st1431:
if ( ++p == pe )
- goto _test_eof1383;
-case 1383:
+ goto _test_eof1431;
+case 1431:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -97524,40 +99473,40 @@ case 1383:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr4160;
- case 32: goto tr4160;
- case 40: goto tr4161;
- case 41: goto tr4162;
- case 2058: goto tr4164;
- case 2107: goto tr4165;
+ case 9: goto tr4240;
+ case 32: goto tr4240;
+ case 40: goto tr4241;
+ case 41: goto tr4242;
+ case 2058: goto tr4244;
+ case 2107: goto tr4245;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr4163;
- goto tr2327;
-tr4168:
+ goto tr4243;
+ goto tr2396;
+tr4248:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1384;
-tr4169:
+ goto st1432;
+tr4249:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1384;
-tr4170:
+ goto st1432;
+tr4250:
{
s->line_counter++;
}
- goto st1384;
-tr4187:
+ goto st1432;
+tr4267:
{
s->buffer[s->buffer_length++] = 0;
@@ -97567,79 +99516,79 @@ tr4187:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1384; goto _out;}
+ {p++; cs = 1432; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1384;
-tr4160:
+ goto st1432;
+tr4240:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1384;
-tr4161:
+ goto st1432;
+tr4241:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1384;
-tr4162:
+ goto st1432;
+tr4242:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1384;
-tr4164:
+ goto st1432;
+tr4244:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1384;
-st1384:
+ goto st1432;
+st1432:
if ( ++p == pe )
- goto _test_eof1384;
-case 1384:
+ goto _test_eof1432;
+case 1432:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -97653,37 +99602,37 @@ case 1384:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1384;
- case 32: goto st1384;
- case 40: goto tr4168;
- case 41: goto tr4169;
- case 2058: goto tr4170;
- case 2107: goto tr4171;
+ case 9: goto st1432;
+ case 32: goto st1432;
+ case 40: goto tr4248;
+ case 41: goto tr4249;
+ case 2058: goto tr4250;
+ case 2107: goto tr4251;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr4166;
+ goto tr4246;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr4166;
+ goto tr4246;
} else
- goto tr4166;
- goto tr75;
-tr4166:
+ goto tr4246;
+ goto tr77;
+tr4246:
{
if (rdata_tail <= rdata_stop) {
s->item_length_location = rdata_tail++;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- { p--; {stack[top++] = 1385;goto st318;} }
- goto st1385;
-st1385:
+ { p--; {stack[top++] = 1433;goto st327;} }
+ goto st1433;
+st1433:
if ( ++p == pe )
- goto _test_eof1385;
-case 1385:
+ goto _test_eof1433;
+case 1433:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -97697,38 +99646,38 @@ case 1385:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr4172;
- case 32: goto tr4172;
- case 40: goto tr4173;
- case 41: goto tr4174;
- case 2058: goto tr4175;
- case 2107: goto tr4176;
+ case 9: goto tr4252;
+ case 32: goto tr4252;
+ case 40: goto tr4253;
+ case 41: goto tr4254;
+ case 2058: goto tr4255;
+ case 2107: goto tr4256;
}
- goto tr75;
-tr4179:
+ goto tr77;
+tr4259:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1386;
-tr4180:
+ goto st1434;
+tr4260:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1386;
-tr4181:
+ goto st1434;
+tr4261:
{
s->line_counter++;
}
- goto st1386;
-tr4185:
+ goto st1434;
+tr4265:
{
s->buffer[s->buffer_length++] = 0;
@@ -97738,95 +99687,95 @@ tr4185:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1386; goto _out;}
+ {p++; cs = 1434; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1386;
-tr4172:
+ goto st1434;
+tr4252:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1386;
-tr4173:
+ goto st1434;
+tr4253:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1386;
-tr4174:
+ goto st1434;
+tr4254:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1386;
-tr4175:
+ goto st1434;
+tr4255:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1386;
-st1386:
+ goto st1434;
+st1434:
if ( ++p == pe )
- goto _test_eof1386;
-case 1386:
+ goto _test_eof1434;
+case 1434:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -97840,83 +99789,83 @@ case 1386:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1386;
- case 32: goto st1386;
- case 40: goto tr4179;
- case 41: goto tr4180;
- case 2058: goto tr4181;
- case 2107: goto tr4182;
+ case 9: goto st1434;
+ case 32: goto st1434;
+ case 40: goto tr4259;
+ case 41: goto tr4260;
+ case 2058: goto tr4261;
+ case 2107: goto tr4262;
}
if ( _widec < 11 ) {
if ( _widec <= 8 )
- goto tr4177;
+ goto tr4257;
} else if ( _widec > 58 ) {
if ( 60 <= _widec )
- goto tr4177;
+ goto tr4257;
} else
- goto tr4177;
- goto tr75;
-tr4177:
- { p--; {stack[top++] = 1387;goto st318;} }
- goto st1387;
-st1387:
+ goto tr4257;
+ goto tr77;
+tr4257:
+ { p--; {stack[top++] = 1435;goto st327;} }
+ goto st1435;
+st1435:
if ( ++p == pe )
- goto _test_eof1387;
-case 1387:
+ goto _test_eof1435;
+case 1435:
switch( (*p) ) {
- case 32: goto tr4183;
- case 59: goto tr4183;
+ case 32: goto tr4263;
+ case 59: goto tr4263;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr4183;
+ goto tr4263;
} else if ( (*p) >= 9 )
- goto tr4183;
- goto tr75;
-tr4183:
+ goto tr4263;
+ goto tr77;
+tr4263:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1491;
-st1491:
+ goto st1539;
+st1539:
if ( ++p == pe )
- goto _test_eof1491;
-case 1491:
+ goto _test_eof1539;
+case 1539:
goto st0;
-tr4182:
+tr4262:
{
s->buffer_length = 0;
}
- goto st1388;
-tr4184:
+ goto st1436;
+tr4264:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1388;
-tr4176:
+ goto st1436;
+tr4256:
{
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {goto st307;}
+ p--; {goto st316;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1388;
-st1388:
+ goto st1436;
+st1436:
if ( ++p == pe )
- goto _test_eof1388;
-case 1388:
+ goto _test_eof1436;
+case 1436:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -97936,40 +99885,40 @@ case 1388:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr4185;
+ goto tr4265;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr4184;
- goto tr75;
-tr4171:
+ goto tr4264;
+ goto tr77;
+tr4251:
{
s->buffer_length = 0;
}
- goto st1389;
-tr4186:
+ goto st1437;
+tr4266:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1389;
-tr4165:
+ goto st1437;
+tr4245:
{
if (s->number64 <= UINT8_MAX) {
*rdata_tail = (uint8_t)(s->number64);
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1389;
-st1389:
+ goto st1437;
+st1437:
if ( ++p == pe )
- goto _test_eof1389;
-case 1389:
+ goto _test_eof1437;
+case 1437:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -97989,18 +99938,18 @@ case 1389:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr4187;
+ goto tr4267;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr4186;
- goto tr75;
-st1390:
+ goto tr4266;
+ goto tr77;
+st1438:
if ( ++p == pe )
- goto _test_eof1390;
-case 1390:
+ goto _test_eof1438;
+case 1438:
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr4188;
- goto tr2327;
-tr4188:
+ goto tr4268;
+ goto tr2396;
+tr4268:
{
s->number64 = 0;
}
@@ -98015,11 +99964,11 @@ tr4188:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1391;
-tr4192:
+ goto st1439;
+tr4272:
{
// Overflow check: 10*(s->number64) + fc - '0' <= UINT64_MAX
if ((s->number64 < (UINT64_MAX / 10)) || // Dominant fast check.
@@ -98031,14 +99980,14 @@ tr4192:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1391;
-st1391:
+ goto st1439;
+st1439:
if ( ++p == pe )
- goto _test_eof1391;
-case 1391:
+ goto _test_eof1439;
+case 1439:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -98052,40 +100001,40 @@ case 1391:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto tr4189;
- case 32: goto tr4189;
- case 40: goto tr4190;
- case 41: goto tr4191;
- case 2058: goto tr4193;
- case 2107: goto tr4194;
+ case 9: goto tr4269;
+ case 32: goto tr4269;
+ case 40: goto tr4270;
+ case 41: goto tr4271;
+ case 2058: goto tr4273;
+ case 2107: goto tr4274;
}
if ( 48 <= _widec && _widec <= 57 )
- goto tr4192;
- goto tr2327;
-tr4196:
+ goto tr4272;
+ goto tr2396;
+tr4276:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1392;
-tr4197:
+ goto st1440;
+tr4277:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1392;
-tr4199:
+ goto st1440;
+tr4279:
{
s->line_counter++;
}
- goto st1392;
-tr4204:
+ goto st1440;
+tr4284:
{
s->buffer[s->buffer_length++] = 0;
@@ -98095,15 +100044,15 @@ tr4204:
// Stop if required from the callback.
if (s->state == ZS_STATE_STOP) {
- {p++; cs = 1392; goto _out;}
+ {p++; cs = 1440; goto _out;}
}
}
}
{
s->line_counter++;
}
- goto st1392;
-tr4189:
+ goto st1440;
+tr4269:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -98111,11 +100060,11 @@ tr4189:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
- goto st1392;
-tr4190:
+ goto st1440;
+tr4270:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -98123,18 +100072,18 @@ tr4190:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = true;
}
- goto st1392;
-tr4191:
+ goto st1440;
+tr4271:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -98142,18 +100091,18 @@ tr4191:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {goto st307;}
+ p--; {goto st316;}
}
s->multiline = false;
}
- goto st1392;
-tr4193:
+ goto st1440;
+tr4273:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -98161,17 +100110,17 @@ tr4193:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->line_counter++;
}
- goto st1392;
-st1392:
+ goto st1440;
+st1440:
if ( ++p == pe )
- goto _test_eof1392;
-case 1392:
+ goto _test_eof1440;
+case 1440:
_widec = (*p);
if ( (*p) > 10 ) {
if ( 59 <= (*p) && (*p) <= 59 ) {
@@ -98185,88 +100134,88 @@ case 1392:
s->multiline ) _widec += 256;
}
switch( _widec ) {
- case 9: goto st1392;
- case 32: goto st1392;
- case 40: goto tr4196;
- case 41: goto tr4197;
- case 42: goto tr4198;
- case 92: goto tr4198;
- case 95: goto tr4198;
- case 2058: goto tr4199;
- case 2107: goto tr4200;
+ case 9: goto st1440;
+ case 32: goto st1440;
+ case 40: goto tr4276;
+ case 41: goto tr4277;
+ case 42: goto tr4278;
+ case 92: goto tr4278;
+ case 95: goto tr4278;
+ case 2058: goto tr4279;
+ case 2107: goto tr4280;
}
if ( _widec < 64 ) {
if ( 45 <= _widec && _widec <= 57 )
- goto tr4198;
+ goto tr4278;
} else if ( _widec > 90 ) {
if ( 97 <= _widec && _widec <= 122 )
- goto tr4198;
+ goto tr4278;
} else
- goto tr4198;
- goto tr75;
-tr4198:
+ goto tr4278;
+ goto tr77;
+tr4278:
{
s->dname = rdata_tail;
}
- { p--; {stack[top++] = 1393;goto st309;} }
- goto st1393;
-st1393:
+ { p--; {stack[top++] = 1441;goto st318;} }
+ goto st1441;
+st1441:
if ( ++p == pe )
- goto _test_eof1393;
-case 1393:
+ goto _test_eof1441;
+case 1441:
switch( (*p) ) {
- case 32: goto tr4201;
- case 59: goto tr4201;
+ case 32: goto tr4281;
+ case 59: goto tr4281;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr4201;
+ goto tr4281;
} else if ( (*p) >= 9 )
- goto tr4201;
- goto tr75;
-tr4201:
+ goto tr4281;
+ goto tr77;
+tr4281:
{
rdata_tail += s->dname_tmp_length;
}
- { p--; {stack[top++] = 1394;goto st603;} }
- goto st1394;
-st1394:
+ { p--; {stack[top++] = 1442;goto st630;} }
+ goto st1442;
+st1442:
if ( ++p == pe )
- goto _test_eof1394;
-case 1394:
+ goto _test_eof1442;
+case 1442:
switch( (*p) ) {
- case 32: goto tr4202;
- case 59: goto tr4202;
+ case 32: goto tr4282;
+ case 59: goto tr4282;
}
if ( (*p) > 10 ) {
if ( 40 <= (*p) && (*p) <= 41 )
- goto tr4202;
+ goto tr4282;
} else if ( (*p) >= 9 )
- goto tr4202;
- goto tr75;
-tr4202:
+ goto tr4282;
+ goto tr77;
+tr4282:
{
p--; {cs = stack[--top];goto _again;}
}
- goto st1492;
-st1492:
+ goto st1540;
+st1540:
if ( ++p == pe )
- goto _test_eof1492;
-case 1492:
+ goto _test_eof1540;
+case 1540:
goto st0;
-tr4200:
+tr4280:
{
s->buffer_length = 0;
}
- goto st1395;
-tr4203:
+ goto st1443;
+tr4283:
{
if (s->buffer_length < sizeof(s->buffer) - 1) {
s->buffer[s->buffer_length++] = (*p);
}
}
- goto st1395;
-tr4194:
+ goto st1443;
+tr4274:
{
if (s->number64 <= UINT16_MAX) {
uint16_t num16 = htons((uint16_t)s->number64);
@@ -98274,17 +100223,17 @@ tr4194:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {goto st307;}
+ p--; {goto st316;}
}
}
{
s->buffer_length = 0;
}
- goto st1395;
-st1395:
+ goto st1443;
+st1443:
if ( ++p == pe )
- goto _test_eof1395;
-case 1395:
+ goto _test_eof1443;
+case 1443:
_widec = (*p);
if ( (*p) < 10 ) {
if ( (*p) <= 9 ) {
@@ -98304,12 +100253,12 @@ case 1395:
s->multiline ) _widec += 256;
}
if ( _widec == 2058 )
- goto tr4204;
+ goto tr4284;
if ( 1920 <= _widec && _widec <= 2175 )
- goto tr4203;
- goto tr75;
+ goto tr4283;
+ goto tr77;
}
- _test_eof1396: cs = 1396; goto _test_eof;
+ _test_eof1444: cs = 1444; goto _test_eof;
_test_eof1: cs = 1; goto _test_eof;
_test_eof2: cs = 2; goto _test_eof;
_test_eof3: cs = 3; goto _test_eof;
@@ -98323,7 +100272,7 @@ case 1395:
_test_eof11: cs = 11; goto _test_eof;
_test_eof12: cs = 12; goto _test_eof;
_test_eof13: cs = 13; goto _test_eof;
- _test_eof1397: cs = 1397; goto _test_eof;
+ _test_eof1445: cs = 1445; goto _test_eof;
_test_eof14: cs = 14; goto _test_eof;
_test_eof15: cs = 15; goto _test_eof;
_test_eof16: cs = 16; goto _test_eof;
@@ -98484,54 +100433,54 @@ case 1395:
_test_eof171: cs = 171; goto _test_eof;
_test_eof172: cs = 172; goto _test_eof;
_test_eof173: cs = 173; goto _test_eof;
- _test_eof1398: cs = 1398; goto _test_eof;
_test_eof174: cs = 174; goto _test_eof;
_test_eof175: cs = 175; goto _test_eof;
_test_eof176: cs = 176; goto _test_eof;
_test_eof177: cs = 177; goto _test_eof;
_test_eof178: cs = 178; goto _test_eof;
_test_eof179: cs = 179; goto _test_eof;
+ _test_eof1446: cs = 1446; goto _test_eof;
_test_eof180: cs = 180; goto _test_eof;
_test_eof181: cs = 181; goto _test_eof;
_test_eof182: cs = 182; goto _test_eof;
_test_eof183: cs = 183; goto _test_eof;
- _test_eof1399: cs = 1399; goto _test_eof;
_test_eof184: cs = 184; goto _test_eof;
_test_eof185: cs = 185; goto _test_eof;
_test_eof186: cs = 186; goto _test_eof;
_test_eof187: cs = 187; goto _test_eof;
_test_eof188: cs = 188; goto _test_eof;
_test_eof189: cs = 189; goto _test_eof;
+ _test_eof1447: cs = 1447; goto _test_eof;
_test_eof190: cs = 190; goto _test_eof;
_test_eof191: cs = 191; goto _test_eof;
- _test_eof1400: cs = 1400; goto _test_eof;
_test_eof192: cs = 192; goto _test_eof;
_test_eof193: cs = 193; goto _test_eof;
_test_eof194: cs = 194; goto _test_eof;
- _test_eof1401: cs = 1401; goto _test_eof;
_test_eof195: cs = 195; goto _test_eof;
_test_eof196: cs = 196; goto _test_eof;
_test_eof197: cs = 197; goto _test_eof;
+ _test_eof1448: cs = 1448; goto _test_eof;
_test_eof198: cs = 198; goto _test_eof;
_test_eof199: cs = 199; goto _test_eof;
_test_eof200: cs = 200; goto _test_eof;
+ _test_eof1449: cs = 1449; goto _test_eof;
_test_eof201: cs = 201; goto _test_eof;
_test_eof202: cs = 202; goto _test_eof;
_test_eof203: cs = 203; goto _test_eof;
_test_eof204: cs = 204; goto _test_eof;
_test_eof205: cs = 205; goto _test_eof;
- _test_eof1402: cs = 1402; goto _test_eof;
_test_eof206: cs = 206; goto _test_eof;
_test_eof207: cs = 207; goto _test_eof;
_test_eof208: cs = 208; goto _test_eof;
_test_eof209: cs = 209; goto _test_eof;
- _test_eof1403: cs = 1403; goto _test_eof;
_test_eof210: cs = 210; goto _test_eof;
_test_eof211: cs = 211; goto _test_eof;
+ _test_eof1450: cs = 1450; goto _test_eof;
_test_eof212: cs = 212; goto _test_eof;
_test_eof213: cs = 213; goto _test_eof;
_test_eof214: cs = 214; goto _test_eof;
_test_eof215: cs = 215; goto _test_eof;
+ _test_eof1451: cs = 1451; goto _test_eof;
_test_eof216: cs = 216; goto _test_eof;
_test_eof217: cs = 217; goto _test_eof;
_test_eof218: cs = 218; goto _test_eof;
@@ -98544,7 +100493,6 @@ case 1395:
_test_eof225: cs = 225; goto _test_eof;
_test_eof226: cs = 226; goto _test_eof;
_test_eof227: cs = 227; goto _test_eof;
- _test_eof1404: cs = 1404; goto _test_eof;
_test_eof228: cs = 228; goto _test_eof;
_test_eof229: cs = 229; goto _test_eof;
_test_eof230: cs = 230; goto _test_eof;
@@ -98552,6 +100500,7 @@ case 1395:
_test_eof232: cs = 232; goto _test_eof;
_test_eof233: cs = 233; goto _test_eof;
_test_eof234: cs = 234; goto _test_eof;
+ _test_eof1452: cs = 1452; goto _test_eof;
_test_eof235: cs = 235; goto _test_eof;
_test_eof236: cs = 236; goto _test_eof;
_test_eof237: cs = 237; goto _test_eof;
@@ -98561,7 +100510,6 @@ case 1395:
_test_eof241: cs = 241; goto _test_eof;
_test_eof242: cs = 242; goto _test_eof;
_test_eof243: cs = 243; goto _test_eof;
- _test_eof1405: cs = 1405; goto _test_eof;
_test_eof244: cs = 244; goto _test_eof;
_test_eof245: cs = 245; goto _test_eof;
_test_eof246: cs = 246; goto _test_eof;
@@ -98569,6 +100517,7 @@ case 1395:
_test_eof248: cs = 248; goto _test_eof;
_test_eof249: cs = 249; goto _test_eof;
_test_eof250: cs = 250; goto _test_eof;
+ _test_eof1453: cs = 1453; goto _test_eof;
_test_eof251: cs = 251; goto _test_eof;
_test_eof252: cs = 252; goto _test_eof;
_test_eof253: cs = 253; goto _test_eof;
@@ -98625,24 +100574,22 @@ case 1395:
_test_eof304: cs = 304; goto _test_eof;
_test_eof305: cs = 305; goto _test_eof;
_test_eof306: cs = 306; goto _test_eof;
- _test_eof1406: cs = 1406; goto _test_eof;
_test_eof307: cs = 307; goto _test_eof;
_test_eof308: cs = 308; goto _test_eof;
- _test_eof1407: cs = 1407; goto _test_eof;
_test_eof309: cs = 309; goto _test_eof;
_test_eof310: cs = 310; goto _test_eof;
- _test_eof1408: cs = 1408; goto _test_eof;
_test_eof311: cs = 311; goto _test_eof;
_test_eof312: cs = 312; goto _test_eof;
_test_eof313: cs = 313; goto _test_eof;
_test_eof314: cs = 314; goto _test_eof;
_test_eof315: cs = 315; goto _test_eof;
+ _test_eof1454: cs = 1454; goto _test_eof;
_test_eof316: cs = 316; goto _test_eof;
_test_eof317: cs = 317; goto _test_eof;
+ _test_eof1455: cs = 1455; goto _test_eof;
_test_eof318: cs = 318; goto _test_eof;
_test_eof319: cs = 319; goto _test_eof;
- _test_eof1409: cs = 1409; goto _test_eof;
- _test_eof1410: cs = 1410; goto _test_eof;
+ _test_eof1456: cs = 1456; goto _test_eof;
_test_eof320: cs = 320; goto _test_eof;
_test_eof321: cs = 321; goto _test_eof;
_test_eof322: cs = 322; goto _test_eof;
@@ -98652,13 +100599,14 @@ case 1395:
_test_eof326: cs = 326; goto _test_eof;
_test_eof327: cs = 327; goto _test_eof;
_test_eof328: cs = 328; goto _test_eof;
+ _test_eof1457: cs = 1457; goto _test_eof;
+ _test_eof1458: cs = 1458; goto _test_eof;
_test_eof329: cs = 329; goto _test_eof;
_test_eof330: cs = 330; goto _test_eof;
_test_eof331: cs = 331; goto _test_eof;
_test_eof332: cs = 332; goto _test_eof;
_test_eof333: cs = 333; goto _test_eof;
_test_eof334: cs = 334; goto _test_eof;
- _test_eof1411: cs = 1411; goto _test_eof;
_test_eof335: cs = 335; goto _test_eof;
_test_eof336: cs = 336; goto _test_eof;
_test_eof337: cs = 337; goto _test_eof;
@@ -98668,8 +100616,8 @@ case 1395:
_test_eof341: cs = 341; goto _test_eof;
_test_eof342: cs = 342; goto _test_eof;
_test_eof343: cs = 343; goto _test_eof;
+ _test_eof1459: cs = 1459; goto _test_eof;
_test_eof344: cs = 344; goto _test_eof;
- _test_eof1412: cs = 1412; goto _test_eof;
_test_eof345: cs = 345; goto _test_eof;
_test_eof346: cs = 346; goto _test_eof;
_test_eof347: cs = 347; goto _test_eof;
@@ -98679,12 +100627,12 @@ case 1395:
_test_eof351: cs = 351; goto _test_eof;
_test_eof352: cs = 352; goto _test_eof;
_test_eof353: cs = 353; goto _test_eof;
+ _test_eof1460: cs = 1460; goto _test_eof;
_test_eof354: cs = 354; goto _test_eof;
_test_eof355: cs = 355; goto _test_eof;
_test_eof356: cs = 356; goto _test_eof;
_test_eof357: cs = 357; goto _test_eof;
_test_eof358: cs = 358; goto _test_eof;
- _test_eof1413: cs = 1413; goto _test_eof;
_test_eof359: cs = 359; goto _test_eof;
_test_eof360: cs = 360; goto _test_eof;
_test_eof361: cs = 361; goto _test_eof;
@@ -98692,9 +100640,9 @@ case 1395:
_test_eof363: cs = 363; goto _test_eof;
_test_eof364: cs = 364; goto _test_eof;
_test_eof365: cs = 365; goto _test_eof;
- _test_eof1414: cs = 1414; goto _test_eof;
_test_eof366: cs = 366; goto _test_eof;
_test_eof367: cs = 367; goto _test_eof;
+ _test_eof1461: cs = 1461; goto _test_eof;
_test_eof368: cs = 368; goto _test_eof;
_test_eof369: cs = 369; goto _test_eof;
_test_eof370: cs = 370; goto _test_eof;
@@ -98702,9 +100650,7 @@ case 1395:
_test_eof372: cs = 372; goto _test_eof;
_test_eof373: cs = 373; goto _test_eof;
_test_eof374: cs = 374; goto _test_eof;
- _test_eof1415: cs = 1415; goto _test_eof;
- _test_eof1416: cs = 1416; goto _test_eof;
- _test_eof1417: cs = 1417; goto _test_eof;
+ _test_eof1462: cs = 1462; goto _test_eof;
_test_eof375: cs = 375; goto _test_eof;
_test_eof376: cs = 376; goto _test_eof;
_test_eof377: cs = 377; goto _test_eof;
@@ -98713,21 +100659,24 @@ case 1395:
_test_eof380: cs = 380; goto _test_eof;
_test_eof381: cs = 381; goto _test_eof;
_test_eof382: cs = 382; goto _test_eof;
- _test_eof1418: cs = 1418; goto _test_eof;
- _test_eof1419: cs = 1419; goto _test_eof;
_test_eof383: cs = 383; goto _test_eof;
+ _test_eof1463: cs = 1463; goto _test_eof;
+ _test_eof1464: cs = 1464; goto _test_eof;
+ _test_eof1465: cs = 1465; goto _test_eof;
_test_eof384: cs = 384; goto _test_eof;
_test_eof385: cs = 385; goto _test_eof;
- _test_eof1420: cs = 1420; goto _test_eof;
_test_eof386: cs = 386; goto _test_eof;
_test_eof387: cs = 387; goto _test_eof;
_test_eof388: cs = 388; goto _test_eof;
_test_eof389: cs = 389; goto _test_eof;
_test_eof390: cs = 390; goto _test_eof;
_test_eof391: cs = 391; goto _test_eof;
+ _test_eof1466: cs = 1466; goto _test_eof;
+ _test_eof1467: cs = 1467; goto _test_eof;
_test_eof392: cs = 392; goto _test_eof;
_test_eof393: cs = 393; goto _test_eof;
_test_eof394: cs = 394; goto _test_eof;
+ _test_eof1468: cs = 1468; goto _test_eof;
_test_eof395: cs = 395; goto _test_eof;
_test_eof396: cs = 396; goto _test_eof;
_test_eof397: cs = 397; goto _test_eof;
@@ -98880,47 +100829,47 @@ case 1395:
_test_eof544: cs = 544; goto _test_eof;
_test_eof545: cs = 545; goto _test_eof;
_test_eof546: cs = 546; goto _test_eof;
- _test_eof1421: cs = 1421; goto _test_eof;
- _test_eof1422: cs = 1422; goto _test_eof;
- _test_eof1423: cs = 1423; goto _test_eof;
_test_eof547: cs = 547; goto _test_eof;
_test_eof548: cs = 548; goto _test_eof;
_test_eof549: cs = 549; goto _test_eof;
_test_eof550: cs = 550; goto _test_eof;
_test_eof551: cs = 551; goto _test_eof;
- _test_eof1424: cs = 1424; goto _test_eof;
_test_eof552: cs = 552; goto _test_eof;
_test_eof553: cs = 553; goto _test_eof;
_test_eof554: cs = 554; goto _test_eof;
_test_eof555: cs = 555; goto _test_eof;
- _test_eof1425: cs = 1425; goto _test_eof;
- _test_eof1426: cs = 1426; goto _test_eof;
- _test_eof1427: cs = 1427; goto _test_eof;
_test_eof556: cs = 556; goto _test_eof;
_test_eof557: cs = 557; goto _test_eof;
- _test_eof1428: cs = 1428; goto _test_eof;
_test_eof558: cs = 558; goto _test_eof;
_test_eof559: cs = 559; goto _test_eof;
_test_eof560: cs = 560; goto _test_eof;
_test_eof561: cs = 561; goto _test_eof;
+ _test_eof1469: cs = 1469; goto _test_eof;
+ _test_eof1470: cs = 1470; goto _test_eof;
+ _test_eof1471: cs = 1471; goto _test_eof;
_test_eof562: cs = 562; goto _test_eof;
_test_eof563: cs = 563; goto _test_eof;
- _test_eof1429: cs = 1429; goto _test_eof;
_test_eof564: cs = 564; goto _test_eof;
_test_eof565: cs = 565; goto _test_eof;
_test_eof566: cs = 566; goto _test_eof;
+ _test_eof1472: cs = 1472; goto _test_eof;
_test_eof567: cs = 567; goto _test_eof;
_test_eof568: cs = 568; goto _test_eof;
_test_eof569: cs = 569; goto _test_eof;
_test_eof570: cs = 570; goto _test_eof;
+ _test_eof1473: cs = 1473; goto _test_eof;
+ _test_eof1474: cs = 1474; goto _test_eof;
+ _test_eof1475: cs = 1475; goto _test_eof;
_test_eof571: cs = 571; goto _test_eof;
_test_eof572: cs = 572; goto _test_eof;
+ _test_eof1476: cs = 1476; goto _test_eof;
_test_eof573: cs = 573; goto _test_eof;
_test_eof574: cs = 574; goto _test_eof;
_test_eof575: cs = 575; goto _test_eof;
_test_eof576: cs = 576; goto _test_eof;
_test_eof577: cs = 577; goto _test_eof;
_test_eof578: cs = 578; goto _test_eof;
+ _test_eof1477: cs = 1477; goto _test_eof;
_test_eof579: cs = 579; goto _test_eof;
_test_eof580: cs = 580; goto _test_eof;
_test_eof581: cs = 581; goto _test_eof;
@@ -98954,8 +100903,6 @@ case 1395:
_test_eof609: cs = 609; goto _test_eof;
_test_eof610: cs = 610; goto _test_eof;
_test_eof611: cs = 611; goto _test_eof;
- _test_eof1430: cs = 1430; goto _test_eof;
- _test_eof1431: cs = 1431; goto _test_eof;
_test_eof612: cs = 612; goto _test_eof;
_test_eof613: cs = 613; goto _test_eof;
_test_eof614: cs = 614; goto _test_eof;
@@ -98966,7 +100913,6 @@ case 1395:
_test_eof619: cs = 619; goto _test_eof;
_test_eof620: cs = 620; goto _test_eof;
_test_eof621: cs = 621; goto _test_eof;
- _test_eof1432: cs = 1432; goto _test_eof;
_test_eof622: cs = 622; goto _test_eof;
_test_eof623: cs = 623; goto _test_eof;
_test_eof624: cs = 624; goto _test_eof;
@@ -98984,6 +100930,8 @@ case 1395:
_test_eof636: cs = 636; goto _test_eof;
_test_eof637: cs = 637; goto _test_eof;
_test_eof638: cs = 638; goto _test_eof;
+ _test_eof1478: cs = 1478; goto _test_eof;
+ _test_eof1479: cs = 1479; goto _test_eof;
_test_eof639: cs = 639; goto _test_eof;
_test_eof640: cs = 640; goto _test_eof;
_test_eof641: cs = 641; goto _test_eof;
@@ -98993,6 +100941,7 @@ case 1395:
_test_eof645: cs = 645; goto _test_eof;
_test_eof646: cs = 646; goto _test_eof;
_test_eof647: cs = 647; goto _test_eof;
+ _test_eof1480: cs = 1480; goto _test_eof;
_test_eof648: cs = 648; goto _test_eof;
_test_eof649: cs = 649; goto _test_eof;
_test_eof650: cs = 650; goto _test_eof;
@@ -99046,7 +100995,6 @@ case 1395:
_test_eof698: cs = 698; goto _test_eof;
_test_eof699: cs = 699; goto _test_eof;
_test_eof700: cs = 700; goto _test_eof;
- _test_eof1433: cs = 1433; goto _test_eof;
_test_eof701: cs = 701; goto _test_eof;
_test_eof702: cs = 702; goto _test_eof;
_test_eof703: cs = 703; goto _test_eof;
@@ -99089,6 +101037,7 @@ case 1395:
_test_eof740: cs = 740; goto _test_eof;
_test_eof741: cs = 741; goto _test_eof;
_test_eof742: cs = 742; goto _test_eof;
+ _test_eof1481: cs = 1481; goto _test_eof;
_test_eof743: cs = 743; goto _test_eof;
_test_eof744: cs = 744; goto _test_eof;
_test_eof745: cs = 745; goto _test_eof;
@@ -99151,7 +101100,6 @@ case 1395:
_test_eof802: cs = 802; goto _test_eof;
_test_eof803: cs = 803; goto _test_eof;
_test_eof804: cs = 804; goto _test_eof;
- _test_eof1434: cs = 1434; goto _test_eof;
_test_eof805: cs = 805; goto _test_eof;
_test_eof806: cs = 806; goto _test_eof;
_test_eof807: cs = 807; goto _test_eof;
@@ -99193,10 +101141,9 @@ case 1395:
_test_eof843: cs = 843; goto _test_eof;
_test_eof844: cs = 844; goto _test_eof;
_test_eof845: cs = 845; goto _test_eof;
- _test_eof1435: cs = 1435; goto _test_eof;
_test_eof846: cs = 846; goto _test_eof;
+ _test_eof1482: cs = 1482; goto _test_eof;
_test_eof847: cs = 847; goto _test_eof;
- _test_eof1436: cs = 1436; goto _test_eof;
_test_eof848: cs = 848; goto _test_eof;
_test_eof849: cs = 849; goto _test_eof;
_test_eof850: cs = 850; goto _test_eof;
@@ -99211,7 +101158,6 @@ case 1395:
_test_eof859: cs = 859; goto _test_eof;
_test_eof860: cs = 860; goto _test_eof;
_test_eof861: cs = 861; goto _test_eof;
- _test_eof1437: cs = 1437; goto _test_eof;
_test_eof862: cs = 862; goto _test_eof;
_test_eof863: cs = 863; goto _test_eof;
_test_eof864: cs = 864; goto _test_eof;
@@ -99234,33 +101180,29 @@ case 1395:
_test_eof881: cs = 881; goto _test_eof;
_test_eof882: cs = 882; goto _test_eof;
_test_eof883: cs = 883; goto _test_eof;
- _test_eof1438: cs = 1438; goto _test_eof;
_test_eof884: cs = 884; goto _test_eof;
_test_eof885: cs = 885; goto _test_eof;
_test_eof886: cs = 886; goto _test_eof;
_test_eof887: cs = 887; goto _test_eof;
+ _test_eof1483: cs = 1483; goto _test_eof;
_test_eof888: cs = 888; goto _test_eof;
- _test_eof1439: cs = 1439; goto _test_eof;
_test_eof889: cs = 889; goto _test_eof;
+ _test_eof1484: cs = 1484; goto _test_eof;
_test_eof890: cs = 890; goto _test_eof;
_test_eof891: cs = 891; goto _test_eof;
_test_eof892: cs = 892; goto _test_eof;
_test_eof893: cs = 893; goto _test_eof;
- _test_eof1440: cs = 1440; goto _test_eof;
_test_eof894: cs = 894; goto _test_eof;
_test_eof895: cs = 895; goto _test_eof;
_test_eof896: cs = 896; goto _test_eof;
_test_eof897: cs = 897; goto _test_eof;
_test_eof898: cs = 898; goto _test_eof;
- _test_eof1441: cs = 1441; goto _test_eof;
- _test_eof1442: cs = 1442; goto _test_eof;
- _test_eof1443: cs = 1443; goto _test_eof;
_test_eof899: cs = 899; goto _test_eof;
_test_eof900: cs = 900; goto _test_eof;
- _test_eof1444: cs = 1444; goto _test_eof;
_test_eof901: cs = 901; goto _test_eof;
_test_eof902: cs = 902; goto _test_eof;
_test_eof903: cs = 903; goto _test_eof;
+ _test_eof1485: cs = 1485; goto _test_eof;
_test_eof904: cs = 904; goto _test_eof;
_test_eof905: cs = 905; goto _test_eof;
_test_eof906: cs = 906; goto _test_eof;
@@ -99283,32 +101225,30 @@ case 1395:
_test_eof923: cs = 923; goto _test_eof;
_test_eof924: cs = 924; goto _test_eof;
_test_eof925: cs = 925; goto _test_eof;
+ _test_eof1486: cs = 1486; goto _test_eof;
_test_eof926: cs = 926; goto _test_eof;
_test_eof927: cs = 927; goto _test_eof;
- _test_eof1445: cs = 1445; goto _test_eof;
- _test_eof1446: cs = 1446; goto _test_eof;
- _test_eof1447: cs = 1447; goto _test_eof;
_test_eof928: cs = 928; goto _test_eof;
_test_eof929: cs = 929; goto _test_eof;
_test_eof930: cs = 930; goto _test_eof;
- _test_eof1448: cs = 1448; goto _test_eof;
- _test_eof1449: cs = 1449; goto _test_eof;
+ _test_eof1487: cs = 1487; goto _test_eof;
_test_eof931: cs = 931; goto _test_eof;
_test_eof932: cs = 932; goto _test_eof;
_test_eof933: cs = 933; goto _test_eof;
_test_eof934: cs = 934; goto _test_eof;
- _test_eof1450: cs = 1450; goto _test_eof;
- _test_eof1451: cs = 1451; goto _test_eof;
_test_eof935: cs = 935; goto _test_eof;
+ _test_eof1488: cs = 1488; goto _test_eof;
_test_eof936: cs = 936; goto _test_eof;
_test_eof937: cs = 937; goto _test_eof;
_test_eof938: cs = 938; goto _test_eof;
- _test_eof1452: cs = 1452; goto _test_eof;
- _test_eof1453: cs = 1453; goto _test_eof;
_test_eof939: cs = 939; goto _test_eof;
_test_eof940: cs = 940; goto _test_eof;
+ _test_eof1489: cs = 1489; goto _test_eof;
+ _test_eof1490: cs = 1490; goto _test_eof;
+ _test_eof1491: cs = 1491; goto _test_eof;
_test_eof941: cs = 941; goto _test_eof;
_test_eof942: cs = 942; goto _test_eof;
+ _test_eof1492: cs = 1492; goto _test_eof;
_test_eof943: cs = 943; goto _test_eof;
_test_eof944: cs = 944; goto _test_eof;
_test_eof945: cs = 945; goto _test_eof;
@@ -99330,25 +101270,32 @@ case 1395:
_test_eof961: cs = 961; goto _test_eof;
_test_eof962: cs = 962; goto _test_eof;
_test_eof963: cs = 963; goto _test_eof;
- _test_eof1454: cs = 1454; goto _test_eof;
_test_eof964: cs = 964; goto _test_eof;
_test_eof965: cs = 965; goto _test_eof;
_test_eof966: cs = 966; goto _test_eof;
_test_eof967: cs = 967; goto _test_eof;
_test_eof968: cs = 968; goto _test_eof;
_test_eof969: cs = 969; goto _test_eof;
+ _test_eof1493: cs = 1493; goto _test_eof;
+ _test_eof1494: cs = 1494; goto _test_eof;
+ _test_eof1495: cs = 1495; goto _test_eof;
_test_eof970: cs = 970; goto _test_eof;
_test_eof971: cs = 971; goto _test_eof;
_test_eof972: cs = 972; goto _test_eof;
+ _test_eof1496: cs = 1496; goto _test_eof;
+ _test_eof1497: cs = 1497; goto _test_eof;
_test_eof973: cs = 973; goto _test_eof;
_test_eof974: cs = 974; goto _test_eof;
_test_eof975: cs = 975; goto _test_eof;
_test_eof976: cs = 976; goto _test_eof;
+ _test_eof1498: cs = 1498; goto _test_eof;
+ _test_eof1499: cs = 1499; goto _test_eof;
_test_eof977: cs = 977; goto _test_eof;
_test_eof978: cs = 978; goto _test_eof;
- _test_eof1455: cs = 1455; goto _test_eof;
_test_eof979: cs = 979; goto _test_eof;
_test_eof980: cs = 980; goto _test_eof;
+ _test_eof1500: cs = 1500; goto _test_eof;
+ _test_eof1501: cs = 1501; goto _test_eof;
_test_eof981: cs = 981; goto _test_eof;
_test_eof982: cs = 982; goto _test_eof;
_test_eof983: cs = 983; goto _test_eof;
@@ -99360,7 +101307,6 @@ case 1395:
_test_eof989: cs = 989; goto _test_eof;
_test_eof990: cs = 990; goto _test_eof;
_test_eof991: cs = 991; goto _test_eof;
- _test_eof1456: cs = 1456; goto _test_eof;
_test_eof992: cs = 992; goto _test_eof;
_test_eof993: cs = 993; goto _test_eof;
_test_eof994: cs = 994; goto _test_eof;
@@ -99372,12 +101318,10 @@ case 1395:
_test_eof1000: cs = 1000; goto _test_eof;
_test_eof1001: cs = 1001; goto _test_eof;
_test_eof1002: cs = 1002; goto _test_eof;
- _test_eof1457: cs = 1457; goto _test_eof;
- _test_eof1458: cs = 1458; goto _test_eof;
_test_eof1003: cs = 1003; goto _test_eof;
_test_eof1004: cs = 1004; goto _test_eof;
_test_eof1005: cs = 1005; goto _test_eof;
- _test_eof1459: cs = 1459; goto _test_eof;
+ _test_eof1502: cs = 1502; goto _test_eof;
_test_eof1006: cs = 1006; goto _test_eof;
_test_eof1007: cs = 1007; goto _test_eof;
_test_eof1008: cs = 1008; goto _test_eof;
@@ -99388,23 +101332,18 @@ case 1395:
_test_eof1013: cs = 1013; goto _test_eof;
_test_eof1014: cs = 1014; goto _test_eof;
_test_eof1015: cs = 1015; goto _test_eof;
- _test_eof1460: cs = 1460; goto _test_eof;
- _test_eof1461: cs = 1461; goto _test_eof;
- _test_eof1462: cs = 1462; goto _test_eof;
_test_eof1016: cs = 1016; goto _test_eof;
_test_eof1017: cs = 1017; goto _test_eof;
_test_eof1018: cs = 1018; goto _test_eof;
_test_eof1019: cs = 1019; goto _test_eof;
_test_eof1020: cs = 1020; goto _test_eof;
+ _test_eof1503: cs = 1503; goto _test_eof;
_test_eof1021: cs = 1021; goto _test_eof;
_test_eof1022: cs = 1022; goto _test_eof;
_test_eof1023: cs = 1023; goto _test_eof;
_test_eof1024: cs = 1024; goto _test_eof;
_test_eof1025: cs = 1025; goto _test_eof;
_test_eof1026: cs = 1026; goto _test_eof;
- _test_eof1463: cs = 1463; goto _test_eof;
- _test_eof1464: cs = 1464; goto _test_eof;
- _test_eof1465: cs = 1465; goto _test_eof;
_test_eof1027: cs = 1027; goto _test_eof;
_test_eof1028: cs = 1028; goto _test_eof;
_test_eof1029: cs = 1029; goto _test_eof;
@@ -99412,27 +101351,24 @@ case 1395:
_test_eof1031: cs = 1031; goto _test_eof;
_test_eof1032: cs = 1032; goto _test_eof;
_test_eof1033: cs = 1033; goto _test_eof;
+ _test_eof1504: cs = 1504; goto _test_eof;
_test_eof1034: cs = 1034; goto _test_eof;
_test_eof1035: cs = 1035; goto _test_eof;
_test_eof1036: cs = 1036; goto _test_eof;
_test_eof1037: cs = 1037; goto _test_eof;
_test_eof1038: cs = 1038; goto _test_eof;
- _test_eof1466: cs = 1466; goto _test_eof;
_test_eof1039: cs = 1039; goto _test_eof;
_test_eof1040: cs = 1040; goto _test_eof;
_test_eof1041: cs = 1041; goto _test_eof;
- _test_eof1467: cs = 1467; goto _test_eof;
- _test_eof1468: cs = 1468; goto _test_eof;
_test_eof1042: cs = 1042; goto _test_eof;
- _test_eof1469: cs = 1469; goto _test_eof;
- _test_eof1470: cs = 1470; goto _test_eof;
_test_eof1043: cs = 1043; goto _test_eof;
- _test_eof1471: cs = 1471; goto _test_eof;
- _test_eof1472: cs = 1472; goto _test_eof;
_test_eof1044: cs = 1044; goto _test_eof;
+ _test_eof1505: cs = 1505; goto _test_eof;
+ _test_eof1506: cs = 1506; goto _test_eof;
_test_eof1045: cs = 1045; goto _test_eof;
_test_eof1046: cs = 1046; goto _test_eof;
_test_eof1047: cs = 1047; goto _test_eof;
+ _test_eof1507: cs = 1507; goto _test_eof;
_test_eof1048: cs = 1048; goto _test_eof;
_test_eof1049: cs = 1049; goto _test_eof;
_test_eof1050: cs = 1050; goto _test_eof;
@@ -99443,6 +101379,9 @@ case 1395:
_test_eof1055: cs = 1055; goto _test_eof;
_test_eof1056: cs = 1056; goto _test_eof;
_test_eof1057: cs = 1057; goto _test_eof;
+ _test_eof1508: cs = 1508; goto _test_eof;
+ _test_eof1509: cs = 1509; goto _test_eof;
+ _test_eof1510: cs = 1510; goto _test_eof;
_test_eof1058: cs = 1058; goto _test_eof;
_test_eof1059: cs = 1059; goto _test_eof;
_test_eof1060: cs = 1060; goto _test_eof;
@@ -99454,6 +101393,9 @@ case 1395:
_test_eof1066: cs = 1066; goto _test_eof;
_test_eof1067: cs = 1067; goto _test_eof;
_test_eof1068: cs = 1068; goto _test_eof;
+ _test_eof1511: cs = 1511; goto _test_eof;
+ _test_eof1512: cs = 1512; goto _test_eof;
+ _test_eof1513: cs = 1513; goto _test_eof;
_test_eof1069: cs = 1069; goto _test_eof;
_test_eof1070: cs = 1070; goto _test_eof;
_test_eof1071: cs = 1071; goto _test_eof;
@@ -99466,12 +101408,18 @@ case 1395:
_test_eof1078: cs = 1078; goto _test_eof;
_test_eof1079: cs = 1079; goto _test_eof;
_test_eof1080: cs = 1080; goto _test_eof;
+ _test_eof1514: cs = 1514; goto _test_eof;
_test_eof1081: cs = 1081; goto _test_eof;
_test_eof1082: cs = 1082; goto _test_eof;
_test_eof1083: cs = 1083; goto _test_eof;
+ _test_eof1515: cs = 1515; goto _test_eof;
+ _test_eof1516: cs = 1516; goto _test_eof;
_test_eof1084: cs = 1084; goto _test_eof;
+ _test_eof1517: cs = 1517; goto _test_eof;
+ _test_eof1518: cs = 1518; goto _test_eof;
_test_eof1085: cs = 1085; goto _test_eof;
- _test_eof1473: cs = 1473; goto _test_eof;
+ _test_eof1519: cs = 1519; goto _test_eof;
+ _test_eof1520: cs = 1520; goto _test_eof;
_test_eof1086: cs = 1086; goto _test_eof;
_test_eof1087: cs = 1087; goto _test_eof;
_test_eof1088: cs = 1088; goto _test_eof;
@@ -99514,6 +101462,7 @@ case 1395:
_test_eof1125: cs = 1125; goto _test_eof;
_test_eof1126: cs = 1126; goto _test_eof;
_test_eof1127: cs = 1127; goto _test_eof;
+ _test_eof1521: cs = 1521; goto _test_eof;
_test_eof1128: cs = 1128; goto _test_eof;
_test_eof1129: cs = 1129; goto _test_eof;
_test_eof1130: cs = 1130; goto _test_eof;
@@ -99643,7 +101592,6 @@ case 1395:
_test_eof1254: cs = 1254; goto _test_eof;
_test_eof1255: cs = 1255; goto _test_eof;
_test_eof1256: cs = 1256; goto _test_eof;
- _test_eof1474: cs = 1474; goto _test_eof;
_test_eof1257: cs = 1257; goto _test_eof;
_test_eof1258: cs = 1258; goto _test_eof;
_test_eof1259: cs = 1259; goto _test_eof;
@@ -99652,13 +101600,11 @@ case 1395:
_test_eof1262: cs = 1262; goto _test_eof;
_test_eof1263: cs = 1263; goto _test_eof;
_test_eof1264: cs = 1264; goto _test_eof;
- _test_eof1475: cs = 1475; goto _test_eof;
_test_eof1265: cs = 1265; goto _test_eof;
_test_eof1266: cs = 1266; goto _test_eof;
_test_eof1267: cs = 1267; goto _test_eof;
_test_eof1268: cs = 1268; goto _test_eof;
_test_eof1269: cs = 1269; goto _test_eof;
- _test_eof1476: cs = 1476; goto _test_eof;
_test_eof1270: cs = 1270; goto _test_eof;
_test_eof1271: cs = 1271; goto _test_eof;
_test_eof1272: cs = 1272; goto _test_eof;
@@ -99677,7 +101623,6 @@ case 1395:
_test_eof1285: cs = 1285; goto _test_eof;
_test_eof1286: cs = 1286; goto _test_eof;
_test_eof1287: cs = 1287; goto _test_eof;
- _test_eof1477: cs = 1477; goto _test_eof;
_test_eof1288: cs = 1288; goto _test_eof;
_test_eof1289: cs = 1289; goto _test_eof;
_test_eof1290: cs = 1290; goto _test_eof;
@@ -99695,27 +101640,26 @@ case 1395:
_test_eof1302: cs = 1302; goto _test_eof;
_test_eof1303: cs = 1303; goto _test_eof;
_test_eof1304: cs = 1304; goto _test_eof;
+ _test_eof1522: cs = 1522; goto _test_eof;
_test_eof1305: cs = 1305; goto _test_eof;
_test_eof1306: cs = 1306; goto _test_eof;
- _test_eof1478: cs = 1478; goto _test_eof;
_test_eof1307: cs = 1307; goto _test_eof;
_test_eof1308: cs = 1308; goto _test_eof;
_test_eof1309: cs = 1309; goto _test_eof;
_test_eof1310: cs = 1310; goto _test_eof;
_test_eof1311: cs = 1311; goto _test_eof;
_test_eof1312: cs = 1312; goto _test_eof;
+ _test_eof1523: cs = 1523; goto _test_eof;
_test_eof1313: cs = 1313; goto _test_eof;
_test_eof1314: cs = 1314; goto _test_eof;
_test_eof1315: cs = 1315; goto _test_eof;
_test_eof1316: cs = 1316; goto _test_eof;
_test_eof1317: cs = 1317; goto _test_eof;
+ _test_eof1524: cs = 1524; goto _test_eof;
_test_eof1318: cs = 1318; goto _test_eof;
_test_eof1319: cs = 1319; goto _test_eof;
_test_eof1320: cs = 1320; goto _test_eof;
_test_eof1321: cs = 1321; goto _test_eof;
- _test_eof1479: cs = 1479; goto _test_eof;
- _test_eof1480: cs = 1480; goto _test_eof;
- _test_eof1481: cs = 1481; goto _test_eof;
_test_eof1322: cs = 1322; goto _test_eof;
_test_eof1323: cs = 1323; goto _test_eof;
_test_eof1324: cs = 1324; goto _test_eof;
@@ -99724,21 +101668,18 @@ case 1395:
_test_eof1327: cs = 1327; goto _test_eof;
_test_eof1328: cs = 1328; goto _test_eof;
_test_eof1329: cs = 1329; goto _test_eof;
- _test_eof1482: cs = 1482; goto _test_eof;
_test_eof1330: cs = 1330; goto _test_eof;
_test_eof1331: cs = 1331; goto _test_eof;
_test_eof1332: cs = 1332; goto _test_eof;
_test_eof1333: cs = 1333; goto _test_eof;
_test_eof1334: cs = 1334; goto _test_eof;
_test_eof1335: cs = 1335; goto _test_eof;
+ _test_eof1525: cs = 1525; goto _test_eof;
_test_eof1336: cs = 1336; goto _test_eof;
_test_eof1337: cs = 1337; goto _test_eof;
_test_eof1338: cs = 1338; goto _test_eof;
_test_eof1339: cs = 1339; goto _test_eof;
_test_eof1340: cs = 1340; goto _test_eof;
- _test_eof1483: cs = 1483; goto _test_eof;
- _test_eof1484: cs = 1484; goto _test_eof;
- _test_eof1485: cs = 1485; goto _test_eof;
_test_eof1341: cs = 1341; goto _test_eof;
_test_eof1342: cs = 1342; goto _test_eof;
_test_eof1343: cs = 1343; goto _test_eof;
@@ -99746,7 +101687,6 @@ case 1395:
_test_eof1345: cs = 1345; goto _test_eof;
_test_eof1346: cs = 1346; goto _test_eof;
_test_eof1347: cs = 1347; goto _test_eof;
- _test_eof1486: cs = 1486; goto _test_eof;
_test_eof1348: cs = 1348; goto _test_eof;
_test_eof1349: cs = 1349; goto _test_eof;
_test_eof1350: cs = 1350; goto _test_eof;
@@ -99754,13 +101694,13 @@ case 1395:
_test_eof1352: cs = 1352; goto _test_eof;
_test_eof1353: cs = 1353; goto _test_eof;
_test_eof1354: cs = 1354; goto _test_eof;
+ _test_eof1526: cs = 1526; goto _test_eof;
_test_eof1355: cs = 1355; goto _test_eof;
_test_eof1356: cs = 1356; goto _test_eof;
_test_eof1357: cs = 1357; goto _test_eof;
_test_eof1358: cs = 1358; goto _test_eof;
_test_eof1359: cs = 1359; goto _test_eof;
_test_eof1360: cs = 1360; goto _test_eof;
- _test_eof1487: cs = 1487; goto _test_eof;
_test_eof1361: cs = 1361; goto _test_eof;
_test_eof1362: cs = 1362; goto _test_eof;
_test_eof1363: cs = 1363; goto _test_eof;
@@ -99768,21 +101708,22 @@ case 1395:
_test_eof1365: cs = 1365; goto _test_eof;
_test_eof1366: cs = 1366; goto _test_eof;
_test_eof1367: cs = 1367; goto _test_eof;
- _test_eof1488: cs = 1488; goto _test_eof;
_test_eof1368: cs = 1368; goto _test_eof;
_test_eof1369: cs = 1369; goto _test_eof;
+ _test_eof1527: cs = 1527; goto _test_eof;
+ _test_eof1528: cs = 1528; goto _test_eof;
+ _test_eof1529: cs = 1529; goto _test_eof;
_test_eof1370: cs = 1370; goto _test_eof;
_test_eof1371: cs = 1371; goto _test_eof;
_test_eof1372: cs = 1372; goto _test_eof;
_test_eof1373: cs = 1373; goto _test_eof;
- _test_eof1489: cs = 1489; goto _test_eof;
_test_eof1374: cs = 1374; goto _test_eof;
_test_eof1375: cs = 1375; goto _test_eof;
_test_eof1376: cs = 1376; goto _test_eof;
_test_eof1377: cs = 1377; goto _test_eof;
+ _test_eof1530: cs = 1530; goto _test_eof;
_test_eof1378: cs = 1378; goto _test_eof;
_test_eof1379: cs = 1379; goto _test_eof;
- _test_eof1490: cs = 1490; goto _test_eof;
_test_eof1380: cs = 1380; goto _test_eof;
_test_eof1381: cs = 1381; goto _test_eof;
_test_eof1382: cs = 1382; goto _test_eof;
@@ -99791,16 +101732,72 @@ case 1395:
_test_eof1385: cs = 1385; goto _test_eof;
_test_eof1386: cs = 1386; goto _test_eof;
_test_eof1387: cs = 1387; goto _test_eof;
- _test_eof1491: cs = 1491; goto _test_eof;
_test_eof1388: cs = 1388; goto _test_eof;
+ _test_eof1531: cs = 1531; goto _test_eof;
+ _test_eof1532: cs = 1532; goto _test_eof;
+ _test_eof1533: cs = 1533; goto _test_eof;
_test_eof1389: cs = 1389; goto _test_eof;
_test_eof1390: cs = 1390; goto _test_eof;
_test_eof1391: cs = 1391; goto _test_eof;
_test_eof1392: cs = 1392; goto _test_eof;
_test_eof1393: cs = 1393; goto _test_eof;
_test_eof1394: cs = 1394; goto _test_eof;
- _test_eof1492: cs = 1492; goto _test_eof;
_test_eof1395: cs = 1395; goto _test_eof;
+ _test_eof1534: cs = 1534; goto _test_eof;
+ _test_eof1396: cs = 1396; goto _test_eof;
+ _test_eof1397: cs = 1397; goto _test_eof;
+ _test_eof1398: cs = 1398; goto _test_eof;
+ _test_eof1399: cs = 1399; goto _test_eof;
+ _test_eof1400: cs = 1400; goto _test_eof;
+ _test_eof1401: cs = 1401; goto _test_eof;
+ _test_eof1402: cs = 1402; goto _test_eof;
+ _test_eof1403: cs = 1403; goto _test_eof;
+ _test_eof1404: cs = 1404; goto _test_eof;
+ _test_eof1405: cs = 1405; goto _test_eof;
+ _test_eof1406: cs = 1406; goto _test_eof;
+ _test_eof1407: cs = 1407; goto _test_eof;
+ _test_eof1408: cs = 1408; goto _test_eof;
+ _test_eof1535: cs = 1535; goto _test_eof;
+ _test_eof1409: cs = 1409; goto _test_eof;
+ _test_eof1410: cs = 1410; goto _test_eof;
+ _test_eof1411: cs = 1411; goto _test_eof;
+ _test_eof1412: cs = 1412; goto _test_eof;
+ _test_eof1413: cs = 1413; goto _test_eof;
+ _test_eof1414: cs = 1414; goto _test_eof;
+ _test_eof1415: cs = 1415; goto _test_eof;
+ _test_eof1536: cs = 1536; goto _test_eof;
+ _test_eof1416: cs = 1416; goto _test_eof;
+ _test_eof1417: cs = 1417; goto _test_eof;
+ _test_eof1418: cs = 1418; goto _test_eof;
+ _test_eof1419: cs = 1419; goto _test_eof;
+ _test_eof1420: cs = 1420; goto _test_eof;
+ _test_eof1421: cs = 1421; goto _test_eof;
+ _test_eof1537: cs = 1537; goto _test_eof;
+ _test_eof1422: cs = 1422; goto _test_eof;
+ _test_eof1423: cs = 1423; goto _test_eof;
+ _test_eof1424: cs = 1424; goto _test_eof;
+ _test_eof1425: cs = 1425; goto _test_eof;
+ _test_eof1426: cs = 1426; goto _test_eof;
+ _test_eof1427: cs = 1427; goto _test_eof;
+ _test_eof1538: cs = 1538; goto _test_eof;
+ _test_eof1428: cs = 1428; goto _test_eof;
+ _test_eof1429: cs = 1429; goto _test_eof;
+ _test_eof1430: cs = 1430; goto _test_eof;
+ _test_eof1431: cs = 1431; goto _test_eof;
+ _test_eof1432: cs = 1432; goto _test_eof;
+ _test_eof1433: cs = 1433; goto _test_eof;
+ _test_eof1434: cs = 1434; goto _test_eof;
+ _test_eof1435: cs = 1435; goto _test_eof;
+ _test_eof1539: cs = 1539; goto _test_eof;
+ _test_eof1436: cs = 1436; goto _test_eof;
+ _test_eof1437: cs = 1437; goto _test_eof;
+ _test_eof1438: cs = 1438; goto _test_eof;
+ _test_eof1439: cs = 1439; goto _test_eof;
+ _test_eof1440: cs = 1440; goto _test_eof;
+ _test_eof1441: cs = 1441; goto _test_eof;
+ _test_eof1442: cs = 1442; goto _test_eof;
+ _test_eof1540: cs = 1540; goto _test_eof;
+ _test_eof1443: cs = 1443; goto _test_eof;
_test_eof: {}
if ( p == eof )
@@ -99808,133 +101805,117 @@ case 1395:
switch ( cs ) {
case 7:
case 8:
- case 183:
- case 207:
- case 209:
- case 263:
- case 277:
- case 302:
- case 358:
- case 359:
- case 365:
+ case 189:
+ case 213:
+ case 215:
+ case 271:
+ case 285:
+ case 311:
+ case 367:
+ case 368:
+ case 374:
{
WARN(ZS_BAD_REST);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 309:
- case 310:
- case 311:
- case 316:
- case 317:
+ case 318:
+ case 319:
+ case 320:
+ case 325:
+ case 326:
{
WARN(ZS_BAD_DNAME_CHAR);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 192:
+ case 198:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 326:
+ case 335:
{
WARN(ZS_BAD_TEXT);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 331:
- case 339:
+ case 340:
+ case 348:
{
ERR(ZS_BAD_TTL);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 340:
- case 341:
- case 342:
+ case 349:
+ case 350:
case 351:
+ case 360:
{
ERR(ZS_BAD_ORIGIN);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 353:
+ case 362:
{
ERR(ZS_BAD_INCLUDE_FILENAME);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 356:
- case 366:
+ case 365:
+ case 375:
{
ERR(ZS_BAD_INCLUDE_ORIGIN);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 1400:
+ case 1448:
{
NOERR;
}
break;
- case 184:
- case 185:
- case 186:
- case 187:
- case 188:
- case 189:
case 190:
case 191:
- case 229:
- case 230:
- case 231:
- case 232:
- case 233:
- case 234:
- case 235:
+ case 192:
+ case 193:
+ case 194:
+ case 195:
+ case 196:
+ case 197:
case 236:
case 237:
+ case 238:
+ case 239:
+ case 240:
+ case 241:
+ case 242:
+ case 243:
+ case 244:
{
ERR(ZS_BAD_DIRECTIVE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 369:
- case 370:
- case 371:
- case 372:
- case 373:
- case 374:
- case 375:
- {
- WARN(ZS_BAD_BASE64_CHAR);
- p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
- }
- break;
- case 376:
- case 377:
case 378:
case 379:
case 380:
@@ -99942,6 +101923,13 @@ goto st307;}
case 382:
case 383:
case 384:
+ {
+ WARN(ZS_BAD_BASE64_CHAR);
+ p--; { if ( p == pe )
+ goto _test_eof316;
+goto st316;}
+ }
+ break;
case 385:
case 386:
case 387:
@@ -100097,66 +102085,68 @@ goto st307;}
case 537:
case 538:
case 539:
+ case 540:
+ case 541:
+ case 542:
+ case 543:
+ case 544:
+ case 545:
+ case 546:
+ case 547:
+ case 548:
+ case 549:
+ case 550:
+ case 551:
+ case 552:
+ case 553:
+ case 554:
{
WARN(ZS_BAD_BITMAP);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 540:
- case 547:
- case 548:
- case 549:
- case 556:
- case 558:
+ case 555:
+ case 562:
+ case 563:
+ case 564:
+ case 571:
+ case 573:
{
WARN(ZS_BAD_HEX_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 603:
- case 604:
- case 605:
- case 606:
- case 607:
- case 608:
- case 609:
- case 610:
- case 611:
- case 612:
- case 613:
- case 614:
- case 615:
- case 616:
- case 617:
- case 618:
- case 619:
- case 620:
- case 621:
- case 622:
- case 623:
- case 624:
- case 625:
- case 626:
- case 627:
- case 628:
- case 629:
case 630:
case 631:
case 632:
case 633:
case 634:
case 635:
+ case 636:
+ case 637:
+ case 638:
+ case 639:
+ case 640:
+ case 641:
case 642:
case 643:
case 644:
case 645:
case 646:
+ case 647:
+ case 648:
+ case 649:
+ case 650:
+ case 651:
+ case 652:
case 653:
case 654:
+ case 655:
+ case 656:
case 657:
case 658:
case 659:
@@ -100174,83 +102164,17 @@ goto st307;}
case 671:
case 672:
case 673:
- case 674:
- case 675:
- case 676:
- case 677:
- case 678:
- case 679:
case 680:
case 681:
case 682:
case 683:
case 684:
- case 685:
- case 686:
- case 687:
- case 688:
- case 689:
- case 690:
case 691:
case 692:
+ case 695:
+ case 696:
case 697:
case 698:
- {
- WARN(ZS_BAD_SVCB_PARAM);
- p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
- }
- break;
- case 559:
- case 560:
- case 561:
- case 562:
- case 563:
- case 564:
- case 565:
- case 566:
- case 567:
- case 568:
- case 569:
- case 570:
- case 571:
- case 572:
- case 573:
- case 574:
- case 575:
- case 576:
- case 577:
- case 578:
- case 579:
- case 580:
- case 581:
- case 584:
- case 585:
- case 586:
- case 587:
- case 588:
- case 589:
- case 590:
- case 591:
- case 592:
- case 593:
- case 594:
- case 595:
- case 596:
- case 597:
- case 598:
- case 599:
- case 600:
- case 601:
- case 602:
- {
- WARN(ZS_BAD_SVCB_MANDATORY);
- p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
- }
- break;
case 699:
case 700:
case 701:
@@ -100287,12 +102211,76 @@ goto st307;}
case 732:
case 733:
case 734:
- case 735:
- case 736:
- case 737:
- case 738:
case 739:
case 740:
+ {
+ WARN(ZS_BAD_SVCB_PARAM);
+ p--; { if ( p == pe )
+ goto _test_eof316;
+goto st316;}
+ }
+ break;
+ case 574:
+ case 575:
+ case 576:
+ case 577:
+ case 578:
+ case 579:
+ case 580:
+ case 581:
+ case 582:
+ case 583:
+ case 584:
+ case 585:
+ case 586:
+ case 587:
+ case 588:
+ case 589:
+ case 590:
+ case 591:
+ case 592:
+ case 593:
+ case 594:
+ case 595:
+ case 596:
+ case 597:
+ case 598:
+ case 599:
+ case 600:
+ case 601:
+ case 602:
+ case 603:
+ case 606:
+ case 607:
+ case 608:
+ case 609:
+ case 610:
+ case 611:
+ case 612:
+ case 613:
+ case 614:
+ case 615:
+ case 616:
+ case 617:
+ case 618:
+ case 619:
+ case 620:
+ case 621:
+ case 622:
+ case 623:
+ case 624:
+ case 625:
+ case 626:
+ case 627:
+ case 628:
+ case 629:
+ {
+ WARN(ZS_BAD_SVCB_MANDATORY);
+ p--; { if ( p == pe )
+ goto _test_eof316;
+goto st316;}
+ }
+ break;
case 741:
case 742:
case 743:
@@ -100355,13 +102343,6 @@ goto st307;}
case 800:
case 801:
case 802:
- {
- WARN(ZS_BAD_ALGORITHM);
- p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
- }
- break;
case 803:
case 804:
case 805:
@@ -100403,26 +102384,46 @@ goto st307;}
case 841:
case 842:
case 843:
+ case 844:
{
- WARN(ZS_BAD_CERT_TYPE);
+ WARN(ZS_BAD_ALGORITHM);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 5:
- case 9:
- case 10:
- case 282:
+ case 845:
case 846:
case 847:
case 848:
case 849:
case 850:
case 851:
+ case 852:
+ case 853:
+ case 854:
+ case 855:
+ case 856:
+ case 857:
+ case 858:
+ case 859:
+ case 860:
+ case 861:
+ case 862:
+ case 863:
+ case 864:
case 865:
+ case 866:
+ case 867:
+ case 868:
case 869:
+ case 870:
+ case 871:
+ case 872:
case 873:
+ case 874:
+ case 875:
+ case 876:
case 877:
case 878:
case 879:
@@ -100432,112 +102433,141 @@ goto st307;}
case 883:
case 884:
case 885:
- case 886:
- case 887:
+ {
+ WARN(ZS_BAD_CERT_TYPE);
+ p--; { if ( p == pe )
+ goto _test_eof316;
+goto st316;}
+ }
+ break;
+ case 5:
+ case 9:
+ case 10:
+ case 290:
case 888:
case 889:
+ case 890:
+ case 891:
case 892:
case 893:
- case 894:
- case 962:
- case 963:
- case 964:
- case 965:
- case 966:
- case 971:
- case 972:
- case 973:
- case 974:
- case 975:
- case 976:
- case 977:
- case 978:
- case 979:
- case 980:
- case 981:
- case 982:
- case 983:
- case 984:
- case 985:
- case 988:
- case 989:
- case 990:
- case 991:
- case 992:
- case 993:
- case 994:
- case 1002:
+ case 907:
+ case 911:
+ case 915:
+ case 919:
+ case 920:
+ case 921:
+ case 922:
+ case 923:
+ case 924:
+ case 925:
+ case 926:
+ case 927:
+ case 928:
+ case 929:
+ case 930:
+ case 931:
+ case 934:
+ case 935:
+ case 936:
+ case 1004:
+ case 1005:
+ case 1006:
+ case 1007:
case 1008:
- case 1009:
+ case 1013:
+ case 1014:
+ case 1015:
case 1016:
case 1017:
case 1018:
+ case 1019:
+ case 1020:
+ case 1021:
+ case 1022:
+ case 1023:
+ case 1024:
+ case 1025:
+ case 1026:
case 1027:
- case 1028:
- case 1067:
+ case 1030:
+ case 1031:
+ case 1032:
+ case 1033:
+ case 1034:
+ case 1035:
+ case 1036:
+ case 1044:
+ case 1050:
+ case 1051:
+ case 1058:
+ case 1059:
+ case 1060:
+ case 1069:
case 1070:
- case 1071:
- case 1082:
- case 1083:
- case 1084:
- case 1085:
- case 1086:
- case 1087:
- case 1088:
- case 1089:
- case 1090:
- case 1091:
- case 1092:
- case 1093:
- case 1254:
- case 1255:
- case 1256:
- case 1261:
- case 1262:
- case 1263:
- case 1264:
- case 1265:
- case 1266:
- case 1267:
- case 1268:
- case 1269:
- case 1287:
- case 1293:
- case 1296:
- case 1297:
- case 1298:
+ case 1109:
+ case 1112:
+ case 1113:
+ case 1124:
+ case 1125:
+ case 1126:
+ case 1127:
+ case 1128:
+ case 1129:
+ case 1130:
+ case 1131:
+ case 1132:
+ case 1133:
+ case 1134:
+ case 1135:
+ case 1302:
+ case 1303:
+ case 1304:
case 1309:
case 1310:
case 1311:
- case 1322:
- case 1323:
- case 1324:
- case 1329:
- case 1330:
+ case 1312:
+ case 1313:
+ case 1314:
+ case 1315:
+ case 1316:
+ case 1317:
+ case 1335:
case 1341:
- case 1342:
- case 1343:
- case 1348:
- case 1361:
+ case 1344:
+ case 1345:
+ case 1346:
+ case 1357:
+ case 1358:
+ case 1359:
+ case 1370:
+ case 1371:
+ case 1372:
+ case 1377:
case 1378:
- case 1379:
- case 1380:
- case 1381:
- case 1384:
- case 1385:
- case 1386:
- case 1387:
- case 1388:
case 1389:
- case 1392:
- case 1393:
- case 1394:
- case 1395:
+ case 1390:
+ case 1391:
+ case 1396:
+ case 1409:
+ case 1426:
+ case 1427:
+ case 1428:
+ case 1429:
+ case 1432:
+ case 1433:
+ case 1434:
+ case 1435:
+ case 1436:
+ case 1437:
+ case 1440:
+ case 1441:
+ case 1442:
+ case 1443:
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
case 3:
@@ -100650,130 +102680,127 @@ goto st307;}
case 170:
case 171:
case 173:
+ case 174:
case 175:
case 176:
+ case 177:
+ case 179:
+ case 181:
case 182:
- case 197:
- case 201:
- case 266:
- case 267:
- case 269:
- case 270:
- case 271:
- case 273:
+ case 188:
+ case 203:
+ case 207:
+ case 274:
+ case 275:
+ case 277:
+ case 278:
+ case 279:
+ case 281:
{
WARN(ZS_UNSUPPORTED_TYPE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 334:
- case 335:
+ case 343:
+ case 344:
{
WARN(ZS_BAD_REST);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
ERR(ZS_BAD_TTL);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 343:
- case 344:
- case 345:
- case 350:
+ case 352:
+ case 353:
+ case 354:
+ case 359:
{
WARN(ZS_BAD_REST);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
ERR(ZS_BAD_ORIGIN);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 312:
- case 313:
- case 314:
- case 315:
+ case 321:
+ case 322:
+ case 323:
+ case 324:
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_DNAME_CHAR);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 346:
- case 347:
- case 348:
- case 349:
+ case 355:
+ case 356:
+ case 357:
+ case 358:
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
ERR(ZS_BAD_ORIGIN);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 360:
- case 361:
- case 362:
- case 363:
+ case 369:
+ case 370:
+ case 371:
+ case 372:
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
ERR(ZS_BAD_INCLUDE_ORIGIN);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 260:
+ case 268:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 286:
- case 287:
- case 288:
- case 289:
- case 290:
- case 291:
- case 292:
- case 293:
case 294:
case 295:
case 296:
@@ -100782,510 +102809,477 @@ goto st307;}
case 299:
case 300:
case 301:
+ case 302:
+ case 303:
case 304:
+ case 305:
+ case 306:
+ case 307:
+ case 308:
+ case 309:
+ case 310:
+ case 313:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 332:
+ case 341:
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
ERR(ZS_BAD_TTL);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 541:
- case 542:
- case 550:
- case 551:
+ case 556:
case 557:
+ case 565:
+ case 566:
+ case 572:
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_HEX_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 655:
- case 656:
case 693:
case 694:
- case 695:
- case 696:
+ case 735:
+ case 736:
+ case 737:
+ case 738:
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_SVCB_PARAM);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 582:
- case 583:
+ case 604:
+ case 605:
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_SVCB_MANDATORY);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 852:
- case 853:
- case 854:
- case 856:
- case 858:
- case 860:
- case 890:
- case 891:
- case 956:
- case 957:
- case 958:
- case 959:
- case 960:
- case 961:
- case 967:
- case 968:
- case 969:
- case 970:
- case 986:
- case 987:
- case 1006:
- case 1007:
+ case 894:
+ case 895:
+ case 896:
+ case 898:
+ case 900:
+ case 902:
+ case 932:
+ case 933:
+ case 998:
+ case 999:
+ case 1000:
+ case 1001:
+ case 1002:
+ case 1003:
+ case 1009:
case 1010:
case 1011:
- case 1019:
- case 1020:
- case 1021:
- case 1022:
+ case 1012:
+ case 1028:
case 1029:
- case 1030:
+ case 1048:
+ case 1049:
+ case 1052:
+ case 1053:
+ case 1061:
+ case 1062:
+ case 1063:
+ case 1064:
+ case 1071:
case 1072:
- case 1073:
- case 1074:
- case 1075:
- case 1080:
- case 1081:
- case 1257:
- case 1258:
- case 1259:
- case 1260:
- case 1270:
- case 1271:
- case 1272:
- case 1273:
- case 1274:
- case 1275:
- case 1299:
- case 1300:
- case 1301:
- case 1302:
- case 1303:
- case 1304:
- case 1312:
- case 1313:
- case 1314:
- case 1315:
- case 1316:
- case 1317:
- case 1325:
- case 1326:
- case 1327:
- case 1328:
- case 1331:
- case 1332:
- case 1333:
- case 1334:
- case 1335:
- case 1336:
- case 1344:
- case 1345:
+ case 1114:
+ case 1115:
+ case 1116:
+ case 1117:
+ case 1122:
+ case 1123:
+ case 1305:
+ case 1306:
+ case 1307:
+ case 1308:
+ case 1318:
+ case 1319:
+ case 1320:
+ case 1321:
+ case 1322:
+ case 1323:
+ case 1347:
+ case 1348:
case 1349:
case 1350:
+ case 1351:
+ case 1352:
+ case 1360:
+ case 1361:
+ case 1362:
+ case 1363:
+ case 1364:
+ case 1365:
+ case 1373:
case 1374:
case 1375:
case 1376:
- case 1377:
+ case 1379:
+ case 1380:
+ case 1381:
case 1382:
case 1383:
- case 1390:
- case 1391:
+ case 1384:
+ case 1392:
+ case 1393:
+ case 1397:
+ case 1398:
+ case 1422:
+ case 1423:
+ case 1424:
+ case 1425:
+ case 1430:
+ case 1431:
+ case 1438:
+ case 1439:
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
case 162:
- case 177:
- case 193:
- case 196:
+ case 183:
+ case 199:
+ case 202:
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 1076:
- case 1077:
- case 1078:
- case 1079:
+ case 1118:
+ case 1119:
+ case 1120:
+ case 1121:
{
WARN(ZS_BAD_TIMESTAMP_CHAR);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 318:
- case 319:
- case 324:
- case 325:
+ case 327:
+ case 328:
+ case 333:
+ case 334:
{
WARN(ZS_BAD_TEXT_CHAR);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_TEXT);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 895:
- case 896:
- case 897:
- case 898:
+ case 937:
+ case 938:
+ case 939:
+ case 940:
{
s->long_string = false;
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 354:
+ case 363:
{
ERR(ZS_BAD_INCLUDE_FILENAME);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_REST);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 355:
- case 357:
case 364:
+ case 366:
+ case 373:
{
ERR(ZS_BAD_INCLUDE_ORIGIN);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_REST);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 636:
- case 637:
- case 638:
- case 639:
- case 640:
- case 641:
- case 647:
- case 648:
- case 649:
- case 650:
- case 651:
- case 652:
+ case 674:
+ case 675:
+ case 676:
+ case 677:
+ case 678:
+ case 679:
+ case 685:
+ case 686:
+ case 687:
+ case 688:
+ case 689:
+ case 690:
{
WARN(ZS_BAD_ADDRESS_CHAR);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_SVCB_PARAM);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 844:
- case 845:
- case 899:
- case 900:
- case 1346:
- case 1347:
+ case 886:
+ case 887:
+ case 941:
+ case 942:
+ case 1394:
+ case 1395:
{
WARN(ZS_BAD_ADDRESS_CHAR);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 995:
- case 996:
- case 997:
- case 1000:
- case 1001:
- case 1003:
+ case 1037:
+ case 1038:
+ case 1039:
+ case 1042:
+ case 1043:
+ case 1045:
{
WARN(ZS_BAD_APL);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 1012:
- case 1013:
- case 1014:
- case 1015:
- case 1023:
- case 1024:
- case 1025:
- case 1026:
- case 1276:
- case 1277:
- case 1294:
- case 1295:
- case 1305:
- case 1306:
- case 1307:
- case 1308:
- case 1318:
- case 1319:
- case 1320:
- case 1321:
- case 1337:
- case 1338:
- case 1339:
- case 1340:
- case 1351:
- case 1352:
+ case 1054:
+ case 1055:
+ case 1056:
+ case 1057:
+ case 1065:
+ case 1066:
+ case 1067:
+ case 1068:
+ case 1324:
+ case 1325:
+ case 1342:
+ case 1343:
case 1353:
case 1354:
+ case 1355:
case 1356:
- case 1357:
- case 1358:
- case 1359:
- case 1362:
- case 1363:
- case 1365:
case 1366:
+ case 1367:
case 1368:
case 1369:
- case 1371:
- case 1372:
+ case 1385:
+ case 1386:
+ case 1387:
+ case 1388:
+ case 1399:
+ case 1400:
+ case 1401:
+ case 1402:
+ case 1404:
+ case 1405:
+ case 1406:
+ case 1407:
+ case 1410:
+ case 1411:
+ case 1413:
+ case 1414:
+ case 1416:
+ case 1417:
+ case 1419:
+ case 1420:
{
WARN(ZS_BAD_HEX_CHAR);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 1278:
- case 1279:
- case 1280:
- case 1281:
- case 1282:
- case 1283:
- case 1284:
- case 1285:
- case 1286:
- case 1288:
- case 1289:
- case 1290:
- case 1291:
- case 1292:
+ case 1326:
+ case 1327:
+ case 1328:
+ case 1329:
+ case 1330:
+ case 1331:
+ case 1332:
+ case 1333:
+ case 1334:
+ case 1336:
+ case 1337:
+ case 1338:
+ case 1339:
+ case 1340:
{
WARN(ZS_BAD_BASE32HEX_CHAR);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 1031:
- case 1032:
- case 1035:
- case 1044:
- case 1045:
- case 1046:
- case 1051:
- case 1052:
- case 1053:
- case 1058:
- case 1059:
- case 1060:
- case 1063:
- case 1065:
- case 1066:
+ case 1073:
+ case 1074:
+ case 1077:
+ case 1086:
+ case 1087:
+ case 1088:
+ case 1093:
+ case 1094:
+ case 1095:
+ case 1100:
+ case 1101:
+ case 1102:
+ case 1105:
+ case 1107:
+ case 1108:
{
WARN(ZS_BAD_GATEWAY);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 1037:
- case 1038:
- case 1039:
- case 1040:
- case 1041:
- case 1042:
- case 1043:
+ case 1079:
+ case 1080:
+ case 1081:
+ case 1082:
+ case 1083:
+ case 1084:
+ case 1085:
{
WARN(ZS_BAD_GATEWAY_KEY);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 1068:
- case 1069:
- case 1094:
- case 1095:
- case 1096:
- case 1097:
- case 1098:
- case 1099:
- case 1100:
- case 1101:
- case 1102:
- case 1103:
- case 1104:
- case 1105:
- case 1106:
- case 1107:
- case 1108:
- case 1109:
case 1110:
case 1111:
- case 1112:
- case 1113:
- case 1114:
- case 1115:
- case 1116:
- case 1117:
- case 1118:
- case 1119:
- case 1120:
- case 1121:
- case 1122:
- case 1123:
- case 1124:
- case 1125:
- case 1126:
- case 1127:
- case 1128:
- case 1129:
- case 1130:
- case 1131:
- case 1132:
- case 1133:
- case 1134:
- case 1135:
case 1136:
case 1137:
case 1138:
@@ -101393,6 +103387,8 @@ goto st307;}
case 1240:
case 1241:
case 1242:
+ case 1243:
+ case 1244:
case 1245:
case 1246:
case 1247:
@@ -101402,61 +103398,65 @@ goto st307;}
case 1251:
case 1252:
case 1253:
+ case 1254:
+ case 1255:
+ case 1256:
+ case 1257:
+ case 1258:
+ case 1259:
+ case 1260:
+ case 1261:
+ case 1262:
+ case 1263:
+ case 1264:
+ case 1265:
+ case 1266:
+ case 1267:
+ case 1268:
+ case 1269:
+ case 1270:
+ case 1271:
+ case 1272:
+ case 1273:
+ case 1274:
+ case 1275:
+ case 1276:
+ case 1277:
+ case 1278:
+ case 1279:
+ case 1280:
+ case 1281:
+ case 1282:
+ case 1283:
+ case 1284:
+ case 1287:
+ case 1288:
+ case 1289:
+ case 1290:
+ case 1291:
+ case 1292:
+ case 1293:
+ case 1294:
+ case 1295:
+ case 1296:
+ case 1297:
+ case 1298:
+ case 1299:
+ case 1300:
+ case 1301:
{
WARN(ZS_UNSUPPORTED_TYPE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 901:
- case 902:
- case 903:
- case 904:
- case 905:
- case 906:
- case 907:
- case 908:
- case 909:
- case 910:
- case 911:
- case 912:
- case 913:
- case 914:
- case 915:
- case 916:
- case 917:
- case 918:
- case 919:
- case 920:
- case 921:
- case 922:
- case 923:
- case 924:
- case 925:
- case 926:
- case 927:
- case 928:
- case 929:
- case 930:
- case 931:
- case 932:
- case 933:
- case 934:
- case 935:
- case 936:
- case 937:
- case 938:
- case 939:
- case 940:
- case 941:
- case 942:
case 943:
case 944:
case 945:
@@ -101470,17 +103470,59 @@ goto st307;}
case 953:
case 954:
case 955:
+ case 956:
+ case 957:
+ case 958:
+ case 959:
+ case 960:
+ case 961:
+ case 962:
+ case 963:
+ case 964:
+ case 965:
+ case 966:
+ case 967:
+ case 968:
+ case 969:
+ case 970:
+ case 971:
+ case 972:
+ case 973:
+ case 974:
+ case 975:
+ case 976:
+ case 977:
+ case 978:
+ case 979:
+ case 980:
+ case 981:
+ case 982:
+ case 983:
+ case 984:
+ case 985:
+ case 986:
+ case 987:
+ case 988:
+ case 989:
+ case 990:
+ case 991:
+ case 992:
+ case 993:
+ case 994:
+ case 995:
+ case 996:
+ case 997:
{
WARN(ZS_BAD_LOC_DATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
case 6:
@@ -101489,48 +103531,48 @@ goto st307;}
case 13:
case 20:
case 21:
- case 205:
- case 208:
- case 227:
- case 262:
- case 264:
- case 265:
- case 275:
- case 276:
- case 278:
- case 279:
- case 280:
- case 281:
+ case 211:
+ case 214:
+ case 234:
+ case 270:
+ case 272:
+ case 273:
+ case 283:
case 284:
- case 285:
+ case 286:
+ case 287:
+ case 288:
+ case 289:
+ case 292:
+ case 293:
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_REST);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
case 16:
- case 241:
- case 303:
- case 305:
+ case 248:
+ case 312:
+ case 314:
{
WARN(ZS_UNSUPPORTED_TYPE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_REST);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
case 4:
@@ -101578,447 +103620,442 @@ goto st307;}
case 159:
case 166:
case 172:
- case 268:
- case 272:
- case 274:
+ case 178:
+ case 276:
+ case 280:
+ case 282:
{
WARN(ZS_UNSUPPORTED_TYPE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 238:
+ case 245:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_REST);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 202:
+ case 208:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 1033:
- case 1034:
- case 1047:
- case 1048:
- case 1054:
- case 1055:
- case 1061:
- case 1062:
+ case 1075:
+ case 1076:
+ case 1089:
+ case 1090:
+ case 1096:
+ case 1097:
+ case 1103:
+ case 1104:
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_GATEWAY);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 1243:
- case 1244:
+ case 1285:
+ case 1286:
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
case 1:
- case 174:
- case 206:
- case 240:
+ case 180:
+ case 212:
+ case 247:
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_REST);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
case 163:
- case 203:
+ case 209:
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 337:
+ case 346:
{
WARN(ZS_BAD_TIME_UNIT);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
ERR(ZS_BAD_TTL);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 855:
- case 857:
- case 859:
- case 861:
- case 862:
- case 863:
- case 864:
- case 866:
- case 867:
- case 868:
- case 870:
- case 871:
- case 872:
- case 874:
- case 875:
- case 876:
+ case 897:
+ case 899:
+ case 901:
+ case 903:
+ case 904:
+ case 905:
+ case 906:
+ case 908:
+ case 909:
+ case 910:
+ case 912:
+ case 913:
+ case 914:
+ case 916:
+ case 917:
+ case 918:
{
WARN(ZS_BAD_TIME_UNIT);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
case 2:
- case 178:
- case 179:
- case 180:
- case 181:
- case 198:
- case 199:
- case 200:
+ case 184:
+ case 185:
+ case 186:
+ case 187:
+ case 204:
+ case 205:
+ case 206:
{
WARN(ZS_BAD_TIME_UNIT);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 320:
- case 321:
- case 322:
- case 323:
- case 327:
- case 328:
case 329:
case 330:
+ case 331:
+ case 332:
+ case 336:
+ case 337:
+ case 338:
+ case 339:
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_TEXT_CHAR);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_TEXT);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 998:
- case 999:
- case 1004:
- case 1005:
+ case 1040:
+ case 1041:
+ case 1046:
+ case 1047:
{
WARN(ZS_BAD_ADDRESS_CHAR);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_APL);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 1049:
- case 1056:
+ case 1091:
+ case 1098:
{
WARN(ZS_BAD_ADDRESS_CHAR);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_GATEWAY);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 543:
- case 544:
- case 545:
- case 546:
- case 552:
- case 553:
- case 554:
- case 555:
+ case 558:
+ case 559:
+ case 560:
+ case 561:
+ case 567:
+ case 568:
+ case 569:
+ case 570:
{
WARN(ZS_BAD_HEX_CHAR);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_HEX_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_HEX_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 1355:
+ case 1403:
{
WARN(ZS_BAD_HEX_CHAR);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_CHAR_COLON);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 1036:
- case 1064:
+ case 1078:
+ case 1106:
{
WARN(ZS_BAD_GATEWAY);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_GATEWAY_KEY);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 1364:
- case 1367:
- case 1370:
- case 1373:
+ case 1412:
+ case 1415:
+ case 1418:
+ case 1421:
{
WARN(ZS_BAD_CHAR_DASH);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_HEX_CHAR);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 1360:
+ case 1408:
{
WARN(ZS_BAD_CHAR_COLON);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_HEX_CHAR);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 228:
+ case 235:
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_REST);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
ERR(ZS_BAD_DIRECTIVE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 204:
- case 211:
- case 212:
- case 213:
- case 214:
- case 215:
- case 216:
+ case 210:
case 217:
case 218:
case 219:
@@ -102029,60 +104066,60 @@ goto st307;}
case 224:
case 225:
case 226:
+ case 227:
+ case 228:
+ case 229:
+ case 230:
+ case 231:
+ case 232:
+ case 233:
{
WARN(ZS_UNSUPPORTED_TYPE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_REST);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 195:
+ case 201:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_TIME_UNIT);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 242:
- case 244:
- case 245:
- case 246:
- case 247:
- case 248:
case 249:
- case 250:
case 251:
case 252:
case 253:
@@ -102092,186 +104129,194 @@ goto st307;}
case 257:
case 258:
case 259:
+ case 260:
+ case 261:
+ case 262:
+ case 263:
+ case 264:
+ case 265:
+ case 266:
+ case 267:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_REST);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
case 14:
- case 210:
- case 243:
- case 261:
- case 283:
+ case 216:
+ case 250:
+ case 269:
+ case 291:
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_REST);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 333:
- case 336:
- case 338:
+ case 342:
+ case 345:
+ case 347:
{
WARN(ZS_BAD_TIME_UNIT);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_REST);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
ERR(ZS_BAD_TTL);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 1050:
- case 1057:
+ case 1092:
+ case 1099:
{
WARN(ZS_BAD_ADDRESS_CHAR);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_GATEWAY);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_GATEWAY_KEY);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
case 15:
{
WARN(ZS_BAD_TIME_UNIT);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_REST);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
- case 239:
+ case 246:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_TIME_UNIT);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_NUMBER);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_UNSUPPORTED_TYPE);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_RDATA);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
{
WARN(ZS_BAD_REST);
p--; { if ( p == pe )
- goto _test_eof307;
-goto st307;}
+ goto _test_eof316;
+goto st316;}
}
break;
}
diff --git a/src/libzscanner/scanner.c.t0 b/src/libzscanner/scanner.c.t0
index b1b2616..8ade6a5 100644
--- a/src/libzscanner/scanner.c.t0
+++ b/src/libzscanner/scanner.c.t0
@@ -112,788 +112,803 @@ static const short _zone_scanner_actions[] = {
125, 1, 126, 1, 128, 1, 129, 1,
130, 1, 131, 1, 145, 1, 146, 1,
148, 1, 149, 1, 150, 1, 151, 1,
- 159, 1, 160, 1, 161, 1, 162, 1,
- 163, 1, 164, 1, 165, 1, 166, 1,
- 167, 1, 168, 1, 169, 1, 170, 1,
- 171, 1, 172, 1, 173, 1, 174, 1,
- 175, 1, 176, 1, 177, 1, 178, 1,
- 179, 1, 180, 1, 181, 1, 182, 1,
- 183, 1, 184, 1, 185, 1, 186, 1,
- 187, 1, 188, 1, 189, 1, 190, 1,
- 191, 1, 192, 1, 193, 1, 194, 1,
- 195, 1, 196, 1, 197, 1, 198, 1,
- 199, 1, 200, 1, 201, 1, 202, 1,
- 203, 1, 204, 1, 205, 1, 206, 1,
- 207, 1, 208, 1, 209, 1, 210, 1,
- 211, 1, 212, 1, 213, 1, 214, 1,
- 215, 1, 216, 1, 217, 1, 218, 1,
- 219, 1, 220, 1, 221, 1, 222, 1,
- 223, 1, 224, 1, 225, 1, 226, 1,
- 227, 1, 228, 1, 229, 1, 230, 1,
- 231, 1, 232, 1, 233, 1, 234, 1,
- 235, 1, 236, 1, 237, 1, 238, 1,
- 239, 1, 240, 1, 241, 1, 242, 1,
- 243, 1, 244, 1, 245, 1, 246, 1,
- 247, 1, 248, 1, 249, 1, 250, 1,
- 251, 1, 252, 1, 253, 1, 254, 1,
- 255, 1, 256, 1, 258, 1, 260, 1,
- 261, 1, 262, 1, 263, 1, 270, 1,
- 271, 1, 276, 1, 278, 1, 283, 1,
- 286, 1, 288, 1, 289, 1, 290, 1,
- 291, 1, 296, 1, 297, 1, 299, 1,
- 300, 1, 301, 1, 302, 1, 304, 1,
- 305, 1, 306, 1, 307, 1, 309, 2,
- 0, 49, 2, 1, 0, 2, 1, 305,
- 2, 1, 358, 2, 2, 5, 2, 2,
- 7, 2, 3, 5, 2, 3, 7, 2,
- 4, 0, 2, 4, 5, 2, 4, 7,
- 2, 4, 305, 2, 5, 2, 2, 5,
- 3, 2, 5, 4, 2, 5, 7, 2,
- 6, 1, 2, 7, 1, 2, 7, 2,
- 2, 7, 3, 2, 7, 4, 2, 7,
- 5, 2, 7, 32, 2, 8, 73, 2,
- 8, 77, 2, 9, 10, 2, 11, 1,
- 2, 12, 1, 2, 13, 14, 2, 16,
- 17, 2, 18, 14, 2, 18, 15, 2,
- 19, 24, 2, 19, 77, 2, 19, 84,
- 2, 20, 0, 2, 20, 7, 2, 22,
- 0, 2, 23, 13, 2, 26, 69, 2,
- 26, 108, 2, 26, 119, 2, 27, 0,
- 2, 27, 1, 2, 27, 2, 2, 27,
- 3, 2, 27, 4, 2, 27, 259, 2,
- 28, 69, 2, 28, 113, 2, 29, 291,
- 2, 29, 295, 2, 30, 25, 2, 31,
- 1, 2, 31, 2, 2, 31, 3, 2,
- 31, 4, 2, 31, 7, 2, 31, 93,
- 2, 32, 7, 2, 33, 8, 2, 33,
- 304, 2, 33, 309, 2, 34, 25, 2,
- 35, 0, 2, 35, 1, 2, 35, 2,
- 2, 35, 3, 2, 35, 4, 2, 35,
- 259, 2, 35, 298, 2, 36, 41, 2,
- 37, 36, 2, 38, 73, 2, 38, 276,
- 2, 38, 288, 2, 38, 289, 2, 38,
- 304, 2, 38, 309, 2, 42, 264, 2,
- 42, 265, 2, 42, 266, 2, 42, 267,
- 2, 42, 268, 2, 42, 269, 2, 45,
- 0, 2, 45, 1, 2, 45, 2, 2,
- 45, 3, 2, 45, 4, 2, 46, 0,
- 2, 46, 1, 2, 46, 2, 2, 46,
- 3, 2, 46, 4, 2, 46, 259, 2,
- 46, 291, 2, 47, 0, 2, 47, 1,
- 2, 47, 2, 2, 47, 3, 2, 47,
- 4, 2, 48, 303, 2, 49, 1, 2,
- 49, 2, 2, 49, 3, 2, 49, 4,
- 2, 56, 7, 2, 56, 47, 2, 56,
- 93, 2, 57, 58, 2, 59, 1, 2,
- 59, 2, 2, 59, 3, 2, 59, 4,
- 2, 60, 304, 2, 62, 63, 2, 64,
- 65, 2, 66, 68, 2, 68, 0, 2,
- 68, 61, 2, 71, 0, 2, 71, 304,
- 2, 75, 23, 2, 79, 69, 2, 80,
- 7, 2, 81, 8, 2, 82, 23, 2,
- 84, 8, 2, 90, 91, 2, 92, 1,
- 2, 92, 2, 2, 92, 3, 2, 92,
- 4, 2, 93, 1, 2, 93, 2, 2,
- 93, 3, 2, 93, 4, 2, 93, 7,
- 2, 94, 95, 2, 96, 288, 2, 96,
- 304, 2, 97, 98, 2, 99, 100, 2,
- 101, 102, 2, 101, 103, 2, 101, 104,
- 2, 105, 106, 2, 107, 304, 2, 110,
- 304, 2, 111, 0, 2, 127, 304, 2,
- 129, 0, 2, 130, 0, 2, 131, 0,
- 2, 132, 0, 2, 133, 0, 2, 134,
- 0, 2, 135, 0, 2, 136, 0, 2,
- 137, 0, 2, 138, 0, 2, 139, 0,
- 2, 140, 0, 2, 141, 0, 2, 142,
- 0, 2, 143, 0, 2, 144, 0, 2,
- 146, 0, 2, 147, 0, 2, 148, 0,
- 2, 149, 0, 2, 150, 0, 2, 151,
- 0, 2, 152, 0, 2, 153, 0, 2,
- 154, 0, 2, 155, 0, 2, 156, 304,
- 2, 157, 304, 2, 158, 304, 2, 159,
- 1, 2, 159, 2, 2, 159, 3, 2,
- 159, 4, 2, 160, 1, 2, 160, 2,
- 2, 160, 3, 2, 160, 4, 2, 161,
- 1, 2, 161, 2, 2, 161, 3, 2,
- 161, 4, 2, 162, 1, 2, 162, 2,
- 2, 162, 3, 2, 162, 4, 2, 163,
- 1, 2, 163, 2, 2, 163, 3, 2,
- 163, 4, 2, 164, 1, 2, 164, 2,
- 2, 164, 3, 2, 164, 4, 2, 165,
- 1, 2, 165, 2, 2, 165, 3, 2,
- 165, 4, 2, 166, 1, 2, 166, 2,
- 2, 166, 3, 2, 166, 4, 2, 167,
- 1, 2, 167, 2, 2, 167, 3, 2,
- 167, 4, 2, 168, 1, 2, 168, 2,
- 2, 168, 3, 2, 168, 4, 2, 169,
- 1, 2, 169, 2, 2, 169, 3, 2,
- 169, 4, 2, 170, 1, 2, 170, 2,
- 2, 170, 3, 2, 170, 4, 2, 171,
- 1, 2, 171, 2, 2, 171, 3, 2,
- 171, 4, 2, 172, 1, 2, 172, 2,
- 2, 172, 3, 2, 172, 4, 2, 173,
- 1, 2, 173, 2, 2, 173, 3, 2,
- 173, 4, 2, 174, 1, 2, 174, 2,
- 2, 174, 3, 2, 174, 4, 2, 175,
- 1, 2, 175, 2, 2, 175, 3, 2,
- 175, 4, 2, 176, 1, 2, 176, 2,
- 2, 176, 3, 2, 176, 4, 2, 177,
- 1, 2, 177, 2, 2, 177, 3, 2,
- 177, 4, 2, 178, 1, 2, 178, 2,
- 2, 178, 3, 2, 178, 4, 2, 179,
- 1, 2, 179, 2, 2, 179, 3, 2,
- 179, 4, 2, 180, 1, 2, 180, 2,
- 2, 180, 3, 2, 180, 4, 2, 181,
- 1, 2, 181, 2, 2, 181, 3, 2,
- 181, 4, 2, 182, 1, 2, 182, 2,
- 2, 182, 3, 2, 182, 4, 2, 183,
- 1, 2, 183, 2, 2, 183, 3, 2,
- 183, 4, 2, 184, 1, 2, 184, 2,
- 2, 184, 3, 2, 184, 4, 2, 185,
- 1, 2, 185, 2, 2, 185, 3, 2,
- 185, 4, 2, 186, 1, 2, 186, 2,
- 2, 186, 3, 2, 186, 4, 2, 187,
- 1, 2, 187, 2, 2, 187, 3, 2,
- 187, 4, 2, 188, 1, 2, 188, 2,
- 2, 188, 3, 2, 188, 4, 2, 189,
- 1, 2, 189, 2, 2, 189, 3, 2,
- 189, 4, 2, 190, 1, 2, 190, 2,
- 2, 190, 3, 2, 190, 4, 2, 191,
- 1, 2, 191, 2, 2, 191, 3, 2,
- 191, 4, 2, 192, 1, 2, 192, 2,
- 2, 192, 3, 2, 192, 4, 2, 193,
- 1, 2, 193, 2, 2, 193, 3, 2,
- 193, 4, 2, 194, 1, 2, 194, 2,
- 2, 194, 3, 2, 194, 4, 2, 195,
- 1, 2, 195, 2, 2, 195, 3, 2,
- 195, 4, 2, 196, 1, 2, 196, 2,
- 2, 196, 3, 2, 196, 4, 2, 197,
- 1, 2, 197, 2, 2, 197, 3, 2,
- 197, 4, 2, 198, 1, 2, 198, 2,
- 2, 198, 3, 2, 198, 4, 2, 199,
- 1, 2, 199, 2, 2, 199, 3, 2,
- 199, 4, 2, 200, 1, 2, 200, 2,
- 2, 200, 3, 2, 200, 4, 2, 201,
- 1, 2, 201, 2, 2, 201, 3, 2,
- 201, 4, 2, 202, 1, 2, 202, 2,
- 2, 202, 3, 2, 202, 4, 2, 203,
- 1, 2, 203, 2, 2, 203, 3, 2,
- 203, 4, 2, 204, 1, 2, 204, 2,
- 2, 204, 3, 2, 204, 4, 2, 205,
- 1, 2, 205, 2, 2, 205, 3, 2,
- 205, 4, 2, 206, 1, 2, 206, 2,
- 2, 206, 3, 2, 206, 4, 2, 207,
- 1, 2, 207, 2, 2, 207, 3, 2,
- 207, 4, 2, 208, 1, 2, 208, 2,
- 2, 208, 3, 2, 208, 4, 2, 209,
- 1, 2, 209, 2, 2, 209, 3, 2,
- 209, 4, 2, 210, 1, 2, 210, 2,
- 2, 210, 3, 2, 210, 4, 2, 211,
- 1, 2, 211, 2, 2, 211, 3, 2,
- 211, 4, 2, 212, 1, 2, 212, 2,
- 2, 212, 3, 2, 212, 4, 2, 213,
- 1, 2, 213, 2, 2, 213, 3, 2,
- 213, 4, 2, 214, 1, 2, 214, 2,
- 2, 214, 3, 2, 214, 4, 2, 215,
- 1, 2, 215, 2, 2, 215, 3, 2,
- 215, 4, 2, 216, 1, 2, 216, 2,
- 2, 216, 3, 2, 216, 4, 2, 217,
- 1, 2, 217, 2, 2, 217, 3, 2,
- 217, 4, 2, 218, 1, 2, 218, 2,
- 2, 218, 3, 2, 218, 4, 2, 219,
- 1, 2, 219, 2, 2, 219, 3, 2,
- 219, 4, 2, 220, 1, 2, 220, 2,
- 2, 220, 3, 2, 220, 4, 2, 221,
- 1, 2, 221, 2, 2, 221, 3, 2,
- 221, 4, 2, 222, 1, 2, 222, 2,
- 2, 222, 3, 2, 222, 4, 2, 223,
- 1, 2, 223, 2, 2, 223, 3, 2,
- 223, 4, 2, 224, 1, 2, 224, 2,
- 2, 224, 3, 2, 224, 4, 2, 225,
- 1, 2, 225, 2, 2, 225, 3, 2,
- 225, 4, 2, 226, 1, 2, 226, 2,
- 2, 226, 3, 2, 226, 4, 2, 227,
- 1, 2, 227, 2, 2, 227, 3, 2,
- 227, 4, 2, 228, 1, 2, 228, 2,
- 2, 228, 3, 2, 228, 4, 2, 229,
- 1, 2, 229, 2, 2, 229, 3, 2,
- 229, 4, 2, 230, 1, 2, 230, 2,
- 2, 230, 3, 2, 230, 4, 2, 231,
- 1, 2, 231, 2, 2, 231, 3, 2,
- 231, 4, 2, 232, 1, 2, 232, 2,
- 2, 232, 3, 2, 232, 4, 2, 233,
- 1, 2, 233, 2, 2, 233, 3, 2,
- 233, 4, 2, 234, 1, 2, 234, 2,
- 2, 234, 3, 2, 234, 4, 2, 235,
- 1, 2, 235, 2, 2, 235, 3, 2,
- 235, 4, 2, 236, 1, 2, 236, 2,
- 2, 236, 3, 2, 236, 4, 2, 237,
- 1, 2, 237, 2, 2, 237, 3, 2,
- 237, 4, 2, 238, 1, 2, 238, 2,
- 2, 238, 3, 2, 238, 4, 2, 239,
- 1, 2, 239, 2, 2, 239, 3, 2,
- 239, 4, 2, 240, 1, 2, 240, 2,
- 2, 240, 3, 2, 240, 4, 2, 241,
- 1, 2, 241, 2, 2, 241, 3, 2,
- 241, 4, 2, 242, 1, 2, 242, 2,
- 2, 242, 3, 2, 242, 4, 2, 243,
- 1, 2, 243, 2, 2, 243, 3, 2,
- 243, 4, 2, 244, 1, 2, 244, 2,
- 2, 244, 3, 2, 244, 4, 2, 245,
- 1, 2, 245, 2, 2, 245, 3, 2,
- 245, 4, 2, 246, 1, 2, 246, 2,
- 2, 246, 3, 2, 246, 4, 2, 247,
- 1, 2, 247, 2, 2, 247, 3, 2,
- 247, 4, 2, 248, 1, 2, 248, 2,
- 2, 248, 3, 2, 248, 4, 2, 249,
- 1, 2, 249, 2, 2, 249, 3, 2,
- 249, 4, 2, 250, 1, 2, 250, 2,
- 2, 250, 3, 2, 250, 4, 2, 251,
- 1, 2, 251, 2, 2, 251, 3, 2,
- 251, 4, 2, 252, 1, 2, 252, 2,
- 2, 252, 3, 2, 252, 4, 2, 253,
- 1, 2, 253, 2, 2, 253, 3, 2,
- 253, 4, 2, 254, 1, 2, 254, 2,
- 2, 254, 3, 2, 254, 4, 2, 255,
- 1, 2, 255, 2, 2, 255, 3, 2,
- 255, 4, 2, 256, 1, 2, 256, 2,
- 2, 256, 3, 2, 256, 4, 2, 257,
- 0, 2, 260, 1, 2, 260, 2, 2,
- 260, 3, 2, 260, 4, 2, 261, 1,
- 2, 261, 2, 2, 261, 3, 2, 261,
- 4, 2, 262, 1, 2, 262, 2, 2,
- 262, 3, 2, 262, 4, 2, 263, 1,
- 2, 263, 2, 2, 263, 3, 2, 263,
- 4, 2, 270, 1, 2, 270, 2, 2,
- 270, 3, 2, 270, 4, 2, 271, 1,
- 2, 271, 2, 2, 271, 3, 2, 271,
- 4, 2, 274, 0, 2, 275, 304, 2,
- 277, 108, 2, 282, 108, 2, 286, 1,
- 2, 286, 2, 2, 286, 3, 2, 286,
- 4, 2, 287, 0, 2, 291, 1, 2,
- 291, 2, 2, 291, 3, 2, 291, 4,
- 2, 304, 8, 2, 305, 1, 2, 305,
- 4, 2, 308, 305, 2, 309, 8, 2,
- 309, 304, 2, 310, 303, 2, 311, 303,
- 2, 312, 303, 2, 313, 303, 2, 314,
- 303, 2, 315, 303, 2, 316, 303, 2,
- 317, 303, 2, 318, 303, 2, 319, 303,
- 2, 320, 303, 2, 321, 303, 2, 322,
- 303, 2, 323, 303, 2, 324, 303, 2,
- 325, 303, 2, 326, 303, 2, 327, 303,
- 2, 328, 303, 2, 329, 303, 2, 330,
- 303, 2, 331, 303, 2, 332, 303, 2,
- 333, 303, 2, 334, 303, 2, 335, 303,
- 2, 336, 303, 2, 337, 303, 2, 338,
- 303, 2, 339, 303, 2, 340, 303, 2,
- 341, 303, 2, 342, 303, 2, 343, 303,
- 2, 344, 303, 2, 345, 303, 2, 346,
- 303, 2, 347, 303, 2, 348, 303, 2,
- 349, 303, 2, 350, 303, 2, 351, 303,
- 2, 352, 303, 2, 353, 303, 2, 354,
- 303, 2, 355, 303, 2, 356, 303, 2,
- 357, 303, 2, 358, 1, 3, 0, 49,
- 1, 3, 0, 49, 2, 3, 0, 49,
- 3, 3, 0, 49, 4, 3, 1, 7,
- 358, 3, 1, 32, 7, 3, 1, 71,
- 0, 3, 1, 111, 0, 3, 1, 257,
- 0, 3, 1, 274, 0, 3, 1, 287,
- 0, 3, 1, 305, 358, 3, 2, 7,
- 32, 3, 2, 32, 7, 3, 3, 7,
- 32, 3, 3, 32, 7, 3, 4, 7,
- 32, 3, 4, 32, 7, 3, 4, 71,
- 0, 3, 4, 111, 0, 3, 4, 257,
- 0, 3, 4, 274, 0, 3, 4, 287,
- 0, 3, 4, 305, 7, 3, 5, 7,
- 2, 3, 5, 7, 3, 3, 5, 7,
- 4, 3, 6, 1, 358, 3, 6, 358,
- 1, 3, 7, 2, 5, 3, 7, 2,
- 32, 3, 7, 3, 5, 3, 7, 3,
- 32, 3, 7, 4, 5, 3, 7, 4,
- 32, 3, 7, 358, 1, 3, 9, 11,
- 1, 3, 15, 21, 0, 3, 20, 7,
- 2, 3, 20, 7, 3, 3, 20, 7,
- 4, 3, 20, 83, 7, 3, 23, 13,
- 14, 3, 27, 71, 0, 3, 27, 293,
- 29, 3, 28, 94, 95, 3, 29, 291,
- 1, 3, 29, 291, 2, 3, 29, 291,
- 3, 3, 29, 291, 4, 3, 29, 295,
- 291, 3, 31, 1, 93, 3, 31, 2,
- 7, 3, 31, 2, 93, 3, 31, 3,
- 7, 3, 31, 3, 93, 3, 31, 4,
- 7, 3, 31, 4, 93, 3, 31, 93,
- 7, 3, 31, 308, 305, 3, 31, 310,
- 303, 3, 32, 1, 7, 3, 32, 2,
- 7, 3, 32, 3, 7, 3, 32, 4,
- 7, 3, 33, 89, 8, 3, 33, 304,
- 8, 3, 33, 309, 8, 3, 33, 309,
- 304, 3, 35, 1, 0, 3, 35, 4,
- 0, 3, 37, 36, 305, 3, 38, 156,
- 304, 3, 38, 158, 304, 3, 38, 309,
- 8, 3, 38, 309, 304, 3, 40, 42,
- 264, 3, 40, 42, 265, 3, 40, 42,
- 266, 3, 40, 42, 267, 3, 40, 42,
- 268, 3, 40, 42, 269, 3, 42, 264,
- 1, 3, 42, 264, 2, 3, 42, 264,
- 3, 3, 42, 264, 4, 3, 42, 265,
- 1, 3, 42, 265, 2, 3, 42, 265,
- 3, 3, 42, 265, 4, 3, 42, 266,
- 1, 3, 42, 266, 2, 3, 42, 266,
- 3, 3, 42, 266, 4, 3, 42, 267,
- 1, 3, 42, 267, 2, 3, 42, 267,
- 3, 3, 42, 267, 4, 3, 42, 268,
- 1, 3, 42, 268, 2, 3, 42, 268,
- 3, 3, 42, 268, 4, 3, 42, 269,
- 1, 3, 42, 269, 2, 3, 42, 269,
- 3, 3, 42, 269, 4, 3, 46, 145,
- 291, 3, 46, 291, 1, 3, 46, 291,
- 2, 3, 46, 291, 3, 3, 46, 291,
- 4, 3, 48, 303, 1, 3, 48, 303,
- 2, 3, 48, 303, 3, 3, 48, 303,
- 4, 3, 48, 303, 305, 3, 50, 38,
- 73, 3, 50, 38, 304, 3, 50, 38,
- 309, 3, 55, 37, 36, 3, 56, 7,
- 2, 3, 56, 7, 3, 3, 56, 7,
- 4, 3, 56, 47, 0, 3, 56, 47,
- 1, 3, 56, 47, 2, 3, 56, 47,
- 3, 3, 56, 47, 4, 3, 56, 93,
- 1, 3, 56, 93, 2, 3, 56, 93,
- 3, 3, 56, 93, 4, 3, 66, 68,
- 0, 3, 66, 68, 61, 3, 67, 62,
- 63, 3, 68, 61, 0, 3, 70, 26,
- 69, 3, 72, 0, 1, 3, 75, 23,
- 13, 3, 76, 0, 1, 3, 80, 2,
- 7, 3, 80, 3, 7, 3, 80, 4,
- 7, 3, 80, 7, 4, 3, 82, 23,
- 13, 3, 85, 0, 1, 3, 88, 7,
- 1, 3, 88, 7, 4, 3, 88, 30,
- 25, 3, 88, 32, 7, 3, 90, 30,
- 25, 3, 90, 91, 305, 3, 93, 2,
- 7, 3, 93, 3, 7, 3, 93, 4,
- 7, 3, 96, 107, 304, 3, 96, 156,
- 304, 3, 97, 98, 0, 3, 97, 98,
- 1, 3, 97, 98, 2, 3, 97, 98,
- 3, 3, 97, 98, 4, 3, 97, 98,
- 29, 3, 99, 100, 0, 3, 99, 100,
- 1, 3, 99, 100, 2, 3, 99, 100,
- 3, 3, 99, 100, 4, 3, 99, 100,
- 29, 3, 105, 106, 0, 3, 105, 106,
- 1, 3, 105, 106, 2, 3, 105, 106,
- 3, 3, 105, 106, 4, 3, 110, 112,
- 276, 3, 110, 285, 304, 3, 147, 145,
- 291, 3, 156, 157, 304, 3, 207, 257,
- 0, 3, 208, 257, 0, 3, 209, 257,
- 0, 3, 210, 257, 0, 3, 211, 257,
- 0, 3, 212, 257, 0, 3, 213, 257,
- 0, 3, 214, 257, 0, 3, 215, 257,
- 0, 3, 216, 257, 0, 3, 217, 257,
- 0, 3, 218, 257, 0, 3, 219, 257,
- 0, 3, 220, 257, 0, 3, 221, 257,
- 0, 3, 222, 257, 0, 3, 223, 257,
- 0, 3, 224, 257, 0, 3, 225, 257,
- 0, 3, 226, 257, 0, 3, 227, 257,
- 0, 3, 228, 257, 0, 3, 229, 257,
- 0, 3, 230, 257, 0, 3, 231, 257,
- 0, 3, 232, 257, 0, 3, 233, 257,
- 0, 3, 234, 257, 0, 3, 235, 257,
- 0, 3, 236, 257, 0, 3, 237, 257,
- 0, 3, 238, 257, 0, 3, 239, 257,
- 0, 3, 240, 257, 0, 3, 241, 257,
- 0, 3, 242, 257, 0, 3, 243, 257,
- 0, 3, 244, 257, 0, 3, 245, 257,
- 0, 3, 246, 257, 0, 3, 247, 257,
- 0, 3, 248, 257, 0, 3, 249, 257,
- 0, 3, 250, 257, 0, 3, 251, 257,
- 0, 3, 252, 257, 0, 3, 253, 257,
- 0, 3, 254, 257, 0, 3, 255, 257,
- 0, 3, 256, 257, 0, 3, 273, 37,
- 36, 3, 278, 279, 0, 3, 278, 280,
- 0, 3, 281, 110, 304, 3, 283, 284,
- 0, 3, 285, 110, 304, 3, 286, 287,
- 0, 3, 291, 287, 0, 3, 294, 28,
- 297, 3, 304, 8, 89, 3, 305, 7,
- 1, 3, 305, 7, 4, 3, 305, 30,
- 25, 3, 305, 358, 1, 3, 307, 30,
- 25, 3, 309, 304, 8, 3, 310, 303,
- 1, 3, 310, 303, 2, 3, 310, 303,
- 3, 3, 310, 303, 4, 3, 310, 303,
- 7, 3, 310, 303, 305, 3, 311, 303,
- 1, 3, 311, 303, 2, 3, 311, 303,
- 3, 3, 311, 303, 4, 3, 311, 303,
- 305, 3, 312, 303, 1, 3, 312, 303,
- 2, 3, 312, 303, 3, 3, 312, 303,
- 4, 3, 312, 303, 305, 3, 313, 303,
- 1, 3, 313, 303, 2, 3, 313, 303,
- 3, 3, 313, 303, 4, 3, 313, 303,
- 305, 3, 314, 303, 1, 3, 314, 303,
- 2, 3, 314, 303, 3, 3, 314, 303,
- 4, 3, 314, 303, 305, 3, 315, 303,
- 1, 3, 315, 303, 2, 3, 315, 303,
- 3, 3, 315, 303, 4, 3, 315, 303,
- 305, 3, 316, 303, 1, 3, 316, 303,
- 2, 3, 316, 303, 3, 3, 316, 303,
- 4, 3, 316, 303, 305, 3, 317, 303,
- 1, 3, 317, 303, 2, 3, 317, 303,
- 3, 3, 317, 303, 4, 3, 317, 303,
- 305, 3, 318, 303, 1, 3, 318, 303,
- 2, 3, 318, 303, 3, 3, 318, 303,
- 4, 3, 318, 303, 305, 3, 319, 303,
- 1, 3, 319, 303, 2, 3, 319, 303,
- 3, 3, 319, 303, 4, 3, 319, 303,
- 305, 3, 320, 303, 1, 3, 320, 303,
- 2, 3, 320, 303, 3, 3, 320, 303,
- 4, 3, 320, 303, 305, 3, 321, 303,
- 1, 3, 321, 303, 2, 3, 321, 303,
- 3, 3, 321, 303, 4, 3, 321, 303,
- 305, 3, 322, 303, 1, 3, 322, 303,
- 2, 3, 322, 303, 3, 3, 322, 303,
- 4, 3, 322, 303, 305, 3, 323, 303,
- 1, 3, 323, 303, 2, 3, 323, 303,
- 3, 3, 323, 303, 4, 3, 323, 303,
- 305, 3, 324, 303, 1, 3, 324, 303,
- 2, 3, 324, 303, 3, 3, 324, 303,
- 4, 3, 324, 303, 305, 3, 325, 303,
- 1, 3, 325, 303, 2, 3, 325, 303,
- 3, 3, 325, 303, 4, 3, 325, 303,
- 305, 3, 326, 303, 1, 3, 326, 303,
- 2, 3, 326, 303, 3, 3, 326, 303,
- 4, 3, 326, 303, 305, 3, 327, 303,
- 1, 3, 327, 303, 2, 3, 327, 303,
- 3, 3, 327, 303, 4, 3, 327, 303,
- 305, 3, 328, 303, 1, 3, 328, 303,
- 2, 3, 328, 303, 3, 3, 328, 303,
- 4, 3, 328, 303, 305, 3, 329, 303,
- 1, 3, 329, 303, 2, 3, 329, 303,
- 3, 3, 329, 303, 4, 3, 329, 303,
- 305, 3, 330, 303, 1, 3, 330, 303,
- 2, 3, 330, 303, 3, 3, 330, 303,
- 4, 3, 330, 303, 305, 3, 331, 303,
- 1, 3, 331, 303, 2, 3, 331, 303,
- 3, 3, 331, 303, 4, 3, 331, 303,
- 305, 3, 332, 303, 1, 3, 332, 303,
- 2, 3, 332, 303, 3, 3, 332, 303,
- 4, 3, 332, 303, 305, 3, 333, 303,
- 1, 3, 333, 303, 2, 3, 333, 303,
- 3, 3, 333, 303, 4, 3, 333, 303,
- 305, 3, 334, 303, 1, 3, 334, 303,
- 2, 3, 334, 303, 3, 3, 334, 303,
- 4, 3, 334, 303, 305, 3, 335, 303,
- 1, 3, 335, 303, 2, 3, 335, 303,
- 3, 3, 335, 303, 4, 3, 335, 303,
- 305, 3, 336, 303, 1, 3, 336, 303,
- 2, 3, 336, 303, 3, 3, 336, 303,
- 4, 3, 336, 303, 305, 3, 337, 303,
- 1, 3, 337, 303, 2, 3, 337, 303,
- 3, 3, 337, 303, 4, 3, 337, 303,
- 305, 3, 338, 303, 1, 3, 338, 303,
- 2, 3, 338, 303, 3, 3, 338, 303,
- 4, 3, 338, 303, 305, 3, 339, 303,
- 1, 3, 339, 303, 2, 3, 339, 303,
- 3, 3, 339, 303, 4, 3, 339, 303,
- 305, 3, 340, 303, 1, 3, 340, 303,
- 2, 3, 340, 303, 3, 3, 340, 303,
- 4, 3, 340, 303, 305, 3, 341, 303,
- 1, 3, 341, 303, 2, 3, 341, 303,
- 3, 3, 341, 303, 4, 3, 341, 303,
- 305, 3, 342, 303, 1, 3, 342, 303,
- 2, 3, 342, 303, 3, 3, 342, 303,
- 4, 3, 342, 303, 305, 3, 343, 303,
- 1, 3, 343, 303, 2, 3, 343, 303,
- 3, 3, 343, 303, 4, 3, 343, 303,
- 305, 3, 344, 303, 1, 3, 344, 303,
- 2, 3, 344, 303, 3, 3, 344, 303,
- 4, 3, 344, 303, 305, 3, 345, 303,
- 1, 3, 345, 303, 2, 3, 345, 303,
- 3, 3, 345, 303, 4, 3, 345, 303,
- 305, 3, 346, 303, 1, 3, 346, 303,
- 2, 3, 346, 303, 3, 3, 346, 303,
- 4, 3, 346, 303, 305, 3, 347, 303,
- 1, 3, 347, 303, 2, 3, 347, 303,
- 3, 3, 347, 303, 4, 3, 347, 303,
- 305, 3, 348, 303, 1, 3, 348, 303,
- 2, 3, 348, 303, 3, 3, 348, 303,
- 4, 3, 348, 303, 305, 3, 349, 303,
- 1, 3, 349, 303, 2, 3, 349, 303,
- 3, 3, 349, 303, 4, 3, 349, 303,
- 305, 3, 350, 303, 1, 3, 350, 303,
- 2, 3, 350, 303, 3, 3, 350, 303,
- 4, 3, 350, 303, 305, 3, 351, 303,
- 1, 3, 351, 303, 2, 3, 351, 303,
- 3, 3, 351, 303, 4, 3, 351, 303,
- 305, 3, 352, 303, 1, 3, 352, 303,
- 2, 3, 352, 303, 3, 3, 352, 303,
- 4, 3, 352, 303, 305, 3, 353, 303,
- 1, 3, 353, 303, 2, 3, 353, 303,
- 3, 3, 353, 303, 4, 3, 353, 303,
- 305, 3, 354, 303, 1, 3, 354, 303,
- 2, 3, 354, 303, 3, 3, 354, 303,
- 4, 3, 354, 303, 305, 3, 355, 303,
- 1, 3, 355, 303, 2, 3, 355, 303,
- 3, 3, 355, 303, 4, 3, 355, 303,
- 305, 3, 356, 303, 1, 3, 356, 303,
- 2, 3, 356, 303, 3, 3, 356, 303,
- 4, 3, 356, 303, 305, 3, 357, 303,
- 1, 3, 357, 303, 2, 3, 357, 303,
- 3, 3, 357, 303, 4, 3, 357, 303,
- 305, 3, 358, 1, 6, 4, 1, 7,
- 358, 32, 4, 1, 305, 32, 7, 4,
- 4, 305, 7, 32, 4, 4, 305, 32,
- 7, 4, 6, 1, 7, 358, 4, 6,
- 1, 85, 0, 4, 6, 72, 0, 1,
- 4, 6, 76, 0, 1, 4, 6, 85,
- 0, 1, 4, 7, 6, 358, 1, 4,
- 7, 72, 0, 1, 4, 7, 358, 1,
- 6, 4, 7, 358, 1, 32, 4, 18,
- 15, 21, 0, 4, 20, 83, 7, 2,
- 4, 20, 83, 7, 3, 4, 20, 83,
- 7, 4, 4, 27, 1, 71, 0, 4,
- 27, 4, 71, 0, 4, 27, 293, 29,
- 291, 4, 29, 291, 287, 0, 4, 29,
- 295, 291, 1, 4, 29, 295, 291, 2,
- 4, 29, 295, 291, 3, 4, 29, 295,
- 291, 4, 4, 31, 1, 7, 358, 4,
- 31, 1, 308, 305, 4, 31, 1, 310,
- 303, 4, 31, 2, 93, 7, 4, 31,
- 2, 308, 305, 4, 31, 2, 310, 303,
- 4, 31, 3, 93, 7, 4, 31, 3,
- 308, 305, 4, 31, 3, 310, 303, 4,
- 31, 4, 93, 7, 4, 31, 4, 308,
- 305, 4, 31, 4, 310, 303, 4, 31,
- 310, 303, 7, 4, 33, 38, 309, 8,
- 4, 33, 50, 38, 309, 4, 33, 309,
- 304, 8, 4, 37, 36, 30, 25, 4,
- 38, 309, 304, 8, 4, 40, 37, 36,
- 41, 4, 40, 42, 264, 1, 4, 40,
- 42, 264, 2, 4, 40, 42, 264, 3,
- 4, 40, 42, 264, 4, 4, 40, 42,
- 265, 1, 4, 40, 42, 265, 2, 4,
- 40, 42, 265, 3, 4, 40, 42, 265,
- 4, 4, 40, 42, 266, 1, 4, 40,
- 42, 266, 2, 4, 40, 42, 266, 3,
- 4, 40, 42, 266, 4, 4, 40, 42,
- 267, 1, 4, 40, 42, 267, 2, 4,
- 40, 42, 267, 3, 4, 40, 42, 267,
- 4, 4, 40, 42, 268, 1, 4, 40,
- 42, 268, 2, 4, 40, 42, 268, 3,
- 4, 40, 42, 268, 4, 4, 40, 42,
- 269, 1, 4, 40, 42, 269, 2, 4,
- 40, 42, 269, 3, 4, 40, 42, 269,
- 4, 4, 42, 266, 274, 0, 4, 42,
- 267, 274, 0, 4, 42, 268, 274, 0,
- 4, 42, 269, 274, 0, 4, 43, 39,
- 37, 36, 4, 44, 39, 37, 36, 4,
- 46, 145, 291, 1, 4, 46, 145, 291,
- 2, 4, 46, 145, 291, 3, 4, 46,
- 145, 291, 4, 4, 46, 291, 287, 0,
- 4, 48, 303, 1, 305, 4, 48, 303,
- 4, 305, 4, 50, 38, 8, 73, 4,
- 56, 55, 37, 36, 4, 66, 68, 61,
- 0, 4, 75, 23, 13, 14, 4, 82,
- 23, 13, 14, 4, 88, 32, 1, 7,
- 4, 88, 32, 2, 7, 4, 88, 32,
- 3, 7, 4, 88, 32, 4, 7, 4,
- 90, 91, 30, 25, 4, 93, 1, 7,
- 358, 4, 96, 156, 157, 304, 4, 97,
- 98, 1, 0, 4, 97, 98, 4, 0,
- 4, 97, 98, 29, 291, 4, 99, 100,
- 1, 0, 4, 99, 100, 4, 0, 4,
- 99, 100, 29, 291, 4, 105, 106, 1,
- 0, 4, 105, 106, 4, 0, 4, 147,
- 145, 291, 1, 4, 147, 145, 291, 2,
- 4, 147, 145, 291, 3, 4, 147, 145,
- 291, 4, 4, 147, 296, 37, 36, 4,
- 207, 1, 257, 0, 4, 207, 4, 257,
- 0, 4, 208, 1, 257, 0, 4, 208,
- 4, 257, 0, 4, 209, 1, 257, 0,
- 4, 209, 4, 257, 0, 4, 210, 1,
- 257, 0, 4, 210, 4, 257, 0, 4,
- 211, 1, 257, 0, 4, 211, 4, 257,
- 0, 4, 212, 1, 257, 0, 4, 212,
- 4, 257, 0, 4, 213, 1, 257, 0,
- 4, 213, 4, 257, 0, 4, 214, 1,
- 257, 0, 4, 214, 4, 257, 0, 4,
- 215, 1, 257, 0, 4, 215, 4, 257,
- 0, 4, 216, 1, 257, 0, 4, 216,
- 4, 257, 0, 4, 217, 1, 257, 0,
- 4, 217, 4, 257, 0, 4, 218, 1,
- 257, 0, 4, 218, 4, 257, 0, 4,
- 219, 1, 257, 0, 4, 219, 4, 257,
- 0, 4, 220, 1, 257, 0, 4, 220,
- 4, 257, 0, 4, 221, 1, 257, 0,
- 4, 221, 4, 257, 0, 4, 222, 1,
- 257, 0, 4, 222, 4, 257, 0, 4,
- 223, 1, 257, 0, 4, 223, 4, 257,
- 0, 4, 224, 1, 257, 0, 4, 224,
- 4, 257, 0, 4, 225, 1, 257, 0,
- 4, 225, 4, 257, 0, 4, 226, 1,
- 257, 0, 4, 226, 4, 257, 0, 4,
- 227, 1, 257, 0, 4, 227, 4, 257,
- 0, 4, 228, 1, 257, 0, 4, 228,
- 4, 257, 0, 4, 229, 1, 257, 0,
- 4, 229, 4, 257, 0, 4, 230, 1,
- 257, 0, 4, 230, 4, 257, 0, 4,
- 231, 1, 257, 0, 4, 231, 4, 257,
- 0, 4, 232, 1, 257, 0, 4, 232,
- 4, 257, 0, 4, 233, 1, 257, 0,
- 4, 233, 4, 257, 0, 4, 234, 1,
- 257, 0, 4, 234, 4, 257, 0, 4,
- 235, 1, 257, 0, 4, 235, 4, 257,
- 0, 4, 236, 1, 257, 0, 4, 236,
- 4, 257, 0, 4, 237, 1, 257, 0,
- 4, 237, 4, 257, 0, 4, 238, 1,
- 257, 0, 4, 238, 4, 257, 0, 4,
- 239, 1, 257, 0, 4, 239, 4, 257,
- 0, 4, 240, 1, 257, 0, 4, 240,
- 4, 257, 0, 4, 241, 1, 257, 0,
- 4, 241, 4, 257, 0, 4, 242, 1,
- 257, 0, 4, 242, 4, 257, 0, 4,
- 243, 1, 257, 0, 4, 243, 4, 257,
- 0, 4, 244, 1, 257, 0, 4, 244,
- 4, 257, 0, 4, 245, 1, 257, 0,
- 4, 245, 4, 257, 0, 4, 246, 1,
- 257, 0, 4, 246, 4, 257, 0, 4,
- 247, 1, 257, 0, 4, 247, 4, 257,
- 0, 4, 248, 1, 257, 0, 4, 248,
- 4, 257, 0, 4, 249, 1, 257, 0,
- 4, 249, 4, 257, 0, 4, 250, 1,
- 257, 0, 4, 250, 4, 257, 0, 4,
- 251, 1, 257, 0, 4, 251, 4, 257,
- 0, 4, 252, 1, 257, 0, 4, 252,
- 4, 257, 0, 4, 253, 1, 257, 0,
- 4, 253, 4, 257, 0, 4, 254, 1,
- 257, 0, 4, 254, 4, 257, 0, 4,
- 255, 1, 257, 0, 4, 255, 4, 257,
- 0, 4, 256, 1, 257, 0, 4, 256,
- 4, 257, 0, 4, 286, 1, 287, 0,
- 4, 286, 4, 287, 0, 4, 291, 1,
- 287, 0, 4, 291, 4, 287, 0, 4,
- 292, 28, 26, 69, 4, 305, 7, 358,
- 1, 4, 310, 303, 1, 305, 4, 310,
- 303, 2, 7, 4, 310, 303, 3, 7,
- 4, 310, 303, 4, 7, 4, 310, 303,
- 4, 305, 4, 311, 303, 1, 305, 4,
- 311, 303, 4, 305, 4, 312, 303, 1,
- 305, 4, 312, 303, 4, 305, 4, 313,
- 303, 1, 305, 4, 313, 303, 4, 305,
- 4, 314, 303, 1, 305, 4, 314, 303,
- 4, 305, 4, 315, 303, 1, 305, 4,
- 315, 303, 4, 305, 4, 316, 303, 1,
- 305, 4, 316, 303, 4, 305, 4, 317,
- 303, 1, 305, 4, 317, 303, 4, 305,
- 4, 318, 303, 1, 305, 4, 318, 303,
- 4, 305, 4, 319, 303, 1, 305, 4,
- 319, 303, 4, 305, 4, 320, 303, 1,
- 305, 4, 320, 303, 4, 305, 4, 321,
- 303, 1, 305, 4, 321, 303, 4, 305,
- 4, 322, 303, 1, 305, 4, 322, 303,
- 4, 305, 4, 323, 303, 1, 305, 4,
- 323, 303, 4, 305, 4, 324, 303, 1,
- 305, 4, 324, 303, 4, 305, 4, 325,
- 303, 1, 305, 4, 325, 303, 4, 305,
- 4, 326, 303, 1, 305, 4, 326, 303,
- 4, 305, 4, 327, 303, 1, 305, 4,
- 327, 303, 4, 305, 4, 328, 303, 1,
- 305, 4, 328, 303, 4, 305, 4, 329,
- 303, 1, 305, 4, 329, 303, 4, 305,
- 4, 330, 303, 1, 305, 4, 330, 303,
- 4, 305, 4, 331, 303, 1, 305, 4,
- 331, 303, 4, 305, 4, 332, 303, 1,
- 305, 4, 332, 303, 4, 305, 4, 333,
- 303, 1, 305, 4, 333, 303, 4, 305,
- 4, 334, 303, 1, 305, 4, 334, 303,
- 4, 305, 4, 335, 303, 1, 305, 4,
- 335, 303, 4, 305, 4, 336, 303, 1,
- 305, 4, 336, 303, 4, 305, 4, 337,
- 303, 1, 305, 4, 337, 303, 4, 305,
- 4, 338, 303, 1, 305, 4, 338, 303,
- 4, 305, 4, 339, 303, 1, 305, 4,
- 339, 303, 4, 305, 4, 340, 303, 1,
- 305, 4, 340, 303, 4, 305, 4, 341,
- 303, 1, 305, 4, 341, 303, 4, 305,
- 4, 342, 303, 1, 305, 4, 342, 303,
- 4, 305, 4, 343, 303, 1, 305, 4,
- 343, 303, 4, 305, 4, 344, 303, 1,
- 305, 4, 344, 303, 4, 305, 4, 345,
- 303, 1, 305, 4, 345, 303, 4, 305,
- 4, 346, 303, 1, 305, 4, 346, 303,
- 4, 305, 4, 347, 303, 1, 305, 4,
- 347, 303, 4, 305, 4, 348, 303, 1,
- 305, 4, 348, 303, 4, 305, 4, 349,
- 303, 1, 305, 4, 349, 303, 4, 305,
- 4, 350, 303, 1, 305, 4, 350, 303,
- 4, 305, 4, 351, 303, 1, 305, 4,
- 351, 303, 4, 305, 4, 352, 303, 1,
- 305, 4, 352, 303, 4, 305, 4, 353,
- 303, 1, 305, 4, 353, 303, 4, 305,
- 4, 354, 303, 1, 305, 4, 354, 303,
- 4, 305, 4, 355, 303, 1, 305, 4,
- 355, 303, 4, 305, 4, 356, 303, 1,
- 305, 4, 356, 303, 4, 305, 4, 357,
- 303, 1, 305, 4, 357, 303, 4, 305,
- 5, 20, 7, 76, 0, 1, 5, 27,
- 293, 29, 291, 1, 5, 27, 293, 29,
- 291, 2, 5, 27, 293, 29, 291, 3,
- 5, 27, 293, 29, 291, 4, 5, 29,
- 291, 1, 287, 0, 5, 29, 291, 4,
- 287, 0, 5, 29, 295, 291, 287, 0,
- 5, 31, 1, 93, 7, 358, 5, 31,
- 1, 310, 303, 305, 5, 31, 2, 310,
- 303, 7, 5, 31, 3, 310, 303, 7,
- 5, 31, 4, 310, 303, 7, 5, 31,
- 4, 310, 303, 305, 5, 33, 38, 309,
- 304, 8, 5, 37, 36, 305, 30, 25,
- 5, 40, 42, 266, 274, 0, 5, 40,
- 42, 267, 274, 0, 5, 40, 42, 268,
- 274, 0, 5, 40, 42, 269, 274, 0,
- 5, 42, 266, 1, 274, 0, 5, 42,
- 266, 4, 274, 0, 5, 42, 267, 1,
- 274, 0, 5, 42, 267, 4, 274, 0,
- 5, 42, 268, 1, 274, 0, 5, 42,
- 268, 4, 274, 0, 5, 42, 269, 1,
- 274, 0, 5, 42, 269, 4, 274, 0,
- 5, 46, 145, 291, 287, 0, 5, 46,
- 291, 1, 287, 0, 5, 46, 291, 4,
- 287, 0, 5, 50, 38, 309, 304, 8,
- 5, 56, 7, 72, 0, 1, 5, 80,
- 7, 85, 0, 1, 5, 90, 91, 305,
- 30, 25, 5, 97, 98, 29, 291, 1,
- 5, 97, 98, 29, 291, 2, 5, 97,
- 98, 29, 291, 3, 5, 97, 98, 29,
- 291, 4, 5, 99, 100, 29, 291, 1,
- 5, 99, 100, 29, 291, 2, 5, 99,
- 100, 29, 291, 3, 5, 99, 100, 29,
- 291, 4, 5, 147, 145, 291, 287, 0,
- 5, 272, 43, 39, 37, 36, 5, 310,
- 303, 1, 7, 358, 5, 310, 303, 4,
- 305, 7, 5, 310, 303, 305, 7, 4,
- 6, 20, 83, 7, 85, 0, 1, 6,
- 27, 293, 29, 291, 287, 0, 6, 29,
- 295, 291, 1, 287, 0, 6, 29, 295,
- 291, 4, 287, 0, 6, 31, 1, 310,
- 303, 7, 358, 6, 31, 4, 310, 303,
- 305, 7, 6, 33, 50, 38, 309, 304,
- 8, 6, 40, 42, 266, 1, 274, 0,
- 6, 40, 42, 266, 4, 274, 0, 6,
- 40, 42, 267, 1, 274, 0, 6, 40,
- 42, 267, 4, 274, 0, 6, 40, 42,
- 268, 1, 274, 0, 6, 40, 42, 268,
- 4, 274, 0, 6, 40, 42, 269, 1,
- 274, 0, 6, 40, 42, 269, 4, 274,
- 0, 6, 46, 145, 291, 1, 287, 0,
- 6, 46, 145, 291, 4, 287, 0, 6,
- 97, 98, 29, 291, 287, 0, 6, 99,
- 100, 29, 291, 287, 0, 6, 147, 145,
- 291, 1, 287, 0, 6, 147, 145, 291,
- 4, 287, 0, 6, 310, 303, 1, 305,
- 7, 358, 6, 310, 303, 305, 7, 358,
- 1, 7, 27, 293, 29, 291, 1, 287,
- 0, 7, 27, 293, 29, 291, 4, 287,
- 0, 7, 31, 1, 310, 303, 305, 7,
- 358, 7, 97, 98, 29, 291, 1, 287,
- 0, 7, 97, 98, 29, 291, 4, 287,
- 0, 7, 99, 100, 29, 291, 1, 287,
- 0, 7, 99, 100, 29, 291, 4, 287,
- 0
+ 152, 1, 159, 1, 160, 1, 161, 1,
+ 162, 1, 163, 1, 164, 1, 165, 1,
+ 166, 1, 167, 1, 168, 1, 169, 1,
+ 170, 1, 171, 1, 172, 1, 173, 1,
+ 174, 1, 175, 1, 176, 1, 177, 1,
+ 178, 1, 179, 1, 180, 1, 181, 1,
+ 182, 1, 183, 1, 184, 1, 185, 1,
+ 186, 1, 187, 1, 188, 1, 189, 1,
+ 190, 1, 191, 1, 192, 1, 193, 1,
+ 194, 1, 195, 1, 196, 1, 197, 1,
+ 198, 1, 199, 1, 200, 1, 201, 1,
+ 202, 1, 203, 1, 204, 1, 205, 1,
+ 206, 1, 207, 1, 208, 1, 209, 1,
+ 210, 1, 211, 1, 212, 1, 213, 1,
+ 214, 1, 215, 1, 216, 1, 217, 1,
+ 218, 1, 219, 1, 220, 1, 221, 1,
+ 222, 1, 223, 1, 224, 1, 225, 1,
+ 226, 1, 227, 1, 228, 1, 229, 1,
+ 230, 1, 231, 1, 232, 1, 233, 1,
+ 234, 1, 235, 1, 236, 1, 237, 1,
+ 238, 1, 239, 1, 240, 1, 241, 1,
+ 242, 1, 243, 1, 244, 1, 245, 1,
+ 246, 1, 247, 1, 248, 1, 249, 1,
+ 250, 1, 251, 1, 252, 1, 253, 1,
+ 254, 1, 255, 1, 256, 1, 257, 1,
+ 258, 1, 260, 1, 262, 1, 263, 1,
+ 264, 1, 265, 1, 272, 1, 273, 1,
+ 278, 1, 280, 1, 285, 1, 288, 1,
+ 290, 1, 291, 1, 292, 1, 293, 1,
+ 298, 1, 299, 1, 301, 1, 302, 1,
+ 303, 1, 304, 1, 306, 1, 307, 1,
+ 308, 1, 309, 1, 311, 2, 0, 49,
+ 2, 1, 0, 2, 1, 307, 2, 1,
+ 361, 2, 2, 5, 2, 2, 7, 2,
+ 3, 5, 2, 3, 7, 2, 4, 0,
+ 2, 4, 5, 2, 4, 7, 2, 4,
+ 307, 2, 5, 2, 2, 5, 3, 2,
+ 5, 4, 2, 5, 7, 2, 6, 1,
+ 2, 7, 1, 2, 7, 2, 2, 7,
+ 3, 2, 7, 4, 2, 7, 5, 2,
+ 7, 32, 2, 8, 73, 2, 8, 77,
+ 2, 9, 10, 2, 11, 1, 2, 12,
+ 1, 2, 13, 14, 2, 16, 17, 2,
+ 18, 14, 2, 18, 15, 2, 19, 24,
+ 2, 19, 77, 2, 19, 84, 2, 20,
+ 0, 2, 20, 7, 2, 22, 0, 2,
+ 23, 13, 2, 26, 69, 2, 26, 108,
+ 2, 26, 119, 2, 27, 0, 2, 27,
+ 1, 2, 27, 2, 2, 27, 3, 2,
+ 27, 4, 2, 27, 261, 2, 28, 69,
+ 2, 28, 113, 2, 29, 293, 2, 29,
+ 297, 2, 30, 25, 2, 31, 1, 2,
+ 31, 2, 2, 31, 3, 2, 31, 4,
+ 2, 31, 7, 2, 31, 93, 2, 32,
+ 7, 2, 33, 8, 2, 33, 306, 2,
+ 33, 311, 2, 34, 25, 2, 35, 0,
+ 2, 35, 1, 2, 35, 2, 2, 35,
+ 3, 2, 35, 4, 2, 35, 261, 2,
+ 35, 300, 2, 36, 41, 2, 37, 36,
+ 2, 38, 73, 2, 38, 278, 2, 38,
+ 290, 2, 38, 291, 2, 38, 306, 2,
+ 38, 311, 2, 42, 266, 2, 42, 267,
+ 2, 42, 268, 2, 42, 269, 2, 42,
+ 270, 2, 42, 271, 2, 45, 0, 2,
+ 45, 1, 2, 45, 2, 2, 45, 3,
+ 2, 45, 4, 2, 46, 0, 2, 46,
+ 1, 2, 46, 2, 2, 46, 3, 2,
+ 46, 4, 2, 46, 261, 2, 46, 293,
+ 2, 47, 0, 2, 47, 1, 2, 47,
+ 2, 2, 47, 3, 2, 47, 4, 2,
+ 48, 305, 2, 49, 1, 2, 49, 2,
+ 2, 49, 3, 2, 49, 4, 2, 56,
+ 7, 2, 56, 47, 2, 56, 93, 2,
+ 57, 58, 2, 59, 1, 2, 59, 2,
+ 2, 59, 3, 2, 59, 4, 2, 60,
+ 306, 2, 62, 63, 2, 64, 65, 2,
+ 66, 68, 2, 68, 0, 2, 68, 61,
+ 2, 71, 0, 2, 71, 306, 2, 75,
+ 23, 2, 79, 69, 2, 80, 7, 2,
+ 81, 8, 2, 82, 23, 2, 84, 8,
+ 2, 90, 91, 2, 92, 1, 2, 92,
+ 2, 2, 92, 3, 2, 92, 4, 2,
+ 93, 1, 2, 93, 2, 2, 93, 3,
+ 2, 93, 4, 2, 93, 7, 2, 94,
+ 95, 2, 96, 290, 2, 96, 306, 2,
+ 97, 98, 2, 99, 100, 2, 101, 102,
+ 2, 101, 103, 2, 101, 104, 2, 105,
+ 106, 2, 107, 306, 2, 110, 306, 2,
+ 111, 0, 2, 127, 306, 2, 129, 0,
+ 2, 130, 0, 2, 131, 0, 2, 132,
+ 0, 2, 133, 0, 2, 134, 0, 2,
+ 135, 0, 2, 136, 0, 2, 137, 0,
+ 2, 138, 0, 2, 139, 0, 2, 140,
+ 0, 2, 141, 0, 2, 142, 0, 2,
+ 143, 0, 2, 144, 0, 2, 146, 0,
+ 2, 147, 0, 2, 148, 0, 2, 149,
+ 0, 2, 150, 0, 2, 151, 0, 2,
+ 152, 0, 2, 153, 0, 2, 154, 0,
+ 2, 155, 0, 2, 156, 306, 2, 157,
+ 306, 2, 158, 306, 2, 159, 1, 2,
+ 159, 2, 2, 159, 3, 2, 159, 4,
+ 2, 160, 1, 2, 160, 2, 2, 160,
+ 3, 2, 160, 4, 2, 161, 1, 2,
+ 161, 2, 2, 161, 3, 2, 161, 4,
+ 2, 162, 1, 2, 162, 2, 2, 162,
+ 3, 2, 162, 4, 2, 163, 1, 2,
+ 163, 2, 2, 163, 3, 2, 163, 4,
+ 2, 164, 1, 2, 164, 2, 2, 164,
+ 3, 2, 164, 4, 2, 165, 1, 2,
+ 165, 2, 2, 165, 3, 2, 165, 4,
+ 2, 166, 1, 2, 166, 2, 2, 166,
+ 3, 2, 166, 4, 2, 167, 1, 2,
+ 167, 2, 2, 167, 3, 2, 167, 4,
+ 2, 168, 1, 2, 168, 2, 2, 168,
+ 3, 2, 168, 4, 2, 169, 1, 2,
+ 169, 2, 2, 169, 3, 2, 169, 4,
+ 2, 170, 1, 2, 170, 2, 2, 170,
+ 3, 2, 170, 4, 2, 171, 1, 2,
+ 171, 2, 2, 171, 3, 2, 171, 4,
+ 2, 172, 1, 2, 172, 2, 2, 172,
+ 3, 2, 172, 4, 2, 173, 1, 2,
+ 173, 2, 2, 173, 3, 2, 173, 4,
+ 2, 174, 1, 2, 174, 2, 2, 174,
+ 3, 2, 174, 4, 2, 175, 1, 2,
+ 175, 2, 2, 175, 3, 2, 175, 4,
+ 2, 176, 1, 2, 176, 2, 2, 176,
+ 3, 2, 176, 4, 2, 177, 1, 2,
+ 177, 2, 2, 177, 3, 2, 177, 4,
+ 2, 178, 1, 2, 178, 2, 2, 178,
+ 3, 2, 178, 4, 2, 179, 1, 2,
+ 179, 2, 2, 179, 3, 2, 179, 4,
+ 2, 180, 1, 2, 180, 2, 2, 180,
+ 3, 2, 180, 4, 2, 181, 1, 2,
+ 181, 2, 2, 181, 3, 2, 181, 4,
+ 2, 182, 1, 2, 182, 2, 2, 182,
+ 3, 2, 182, 4, 2, 183, 1, 2,
+ 183, 2, 2, 183, 3, 2, 183, 4,
+ 2, 184, 1, 2, 184, 2, 2, 184,
+ 3, 2, 184, 4, 2, 185, 1, 2,
+ 185, 2, 2, 185, 3, 2, 185, 4,
+ 2, 186, 1, 2, 186, 2, 2, 186,
+ 3, 2, 186, 4, 2, 187, 1, 2,
+ 187, 2, 2, 187, 3, 2, 187, 4,
+ 2, 188, 1, 2, 188, 2, 2, 188,
+ 3, 2, 188, 4, 2, 189, 1, 2,
+ 189, 2, 2, 189, 3, 2, 189, 4,
+ 2, 190, 1, 2, 190, 2, 2, 190,
+ 3, 2, 190, 4, 2, 191, 1, 2,
+ 191, 2, 2, 191, 3, 2, 191, 4,
+ 2, 192, 1, 2, 192, 2, 2, 192,
+ 3, 2, 192, 4, 2, 193, 1, 2,
+ 193, 2, 2, 193, 3, 2, 193, 4,
+ 2, 194, 1, 2, 194, 2, 2, 194,
+ 3, 2, 194, 4, 2, 195, 1, 2,
+ 195, 2, 2, 195, 3, 2, 195, 4,
+ 2, 196, 1, 2, 196, 2, 2, 196,
+ 3, 2, 196, 4, 2, 197, 1, 2,
+ 197, 2, 2, 197, 3, 2, 197, 4,
+ 2, 198, 1, 2, 198, 2, 2, 198,
+ 3, 2, 198, 4, 2, 199, 1, 2,
+ 199, 2, 2, 199, 3, 2, 199, 4,
+ 2, 200, 1, 2, 200, 2, 2, 200,
+ 3, 2, 200, 4, 2, 201, 1, 2,
+ 201, 2, 2, 201, 3, 2, 201, 4,
+ 2, 202, 1, 2, 202, 2, 2, 202,
+ 3, 2, 202, 4, 2, 203, 1, 2,
+ 203, 2, 2, 203, 3, 2, 203, 4,
+ 2, 204, 1, 2, 204, 2, 2, 204,
+ 3, 2, 204, 4, 2, 205, 1, 2,
+ 205, 2, 2, 205, 3, 2, 205, 4,
+ 2, 206, 1, 2, 206, 2, 2, 206,
+ 3, 2, 206, 4, 2, 207, 1, 2,
+ 207, 2, 2, 207, 3, 2, 207, 4,
+ 2, 208, 1, 2, 208, 2, 2, 208,
+ 3, 2, 208, 4, 2, 209, 1, 2,
+ 209, 2, 2, 209, 3, 2, 209, 4,
+ 2, 210, 1, 2, 210, 2, 2, 210,
+ 3, 2, 210, 4, 2, 211, 1, 2,
+ 211, 2, 2, 211, 3, 2, 211, 4,
+ 2, 212, 1, 2, 212, 2, 2, 212,
+ 3, 2, 212, 4, 2, 213, 1, 2,
+ 213, 2, 2, 213, 3, 2, 213, 4,
+ 2, 214, 1, 2, 214, 2, 2, 214,
+ 3, 2, 214, 4, 2, 215, 1, 2,
+ 215, 2, 2, 215, 3, 2, 215, 4,
+ 2, 216, 1, 2, 216, 2, 2, 216,
+ 3, 2, 216, 4, 2, 217, 1, 2,
+ 217, 2, 2, 217, 3, 2, 217, 4,
+ 2, 218, 1, 2, 218, 2, 2, 218,
+ 3, 2, 218, 4, 2, 219, 1, 2,
+ 219, 2, 2, 219, 3, 2, 219, 4,
+ 2, 220, 1, 2, 220, 2, 2, 220,
+ 3, 2, 220, 4, 2, 221, 1, 2,
+ 221, 2, 2, 221, 3, 2, 221, 4,
+ 2, 222, 1, 2, 222, 2, 2, 222,
+ 3, 2, 222, 4, 2, 223, 1, 2,
+ 223, 2, 2, 223, 3, 2, 223, 4,
+ 2, 224, 1, 2, 224, 2, 2, 224,
+ 3, 2, 224, 4, 2, 225, 1, 2,
+ 225, 2, 2, 225, 3, 2, 225, 4,
+ 2, 226, 1, 2, 226, 2, 2, 226,
+ 3, 2, 226, 4, 2, 227, 1, 2,
+ 227, 2, 2, 227, 3, 2, 227, 4,
+ 2, 228, 1, 2, 228, 2, 2, 228,
+ 3, 2, 228, 4, 2, 229, 1, 2,
+ 229, 2, 2, 229, 3, 2, 229, 4,
+ 2, 230, 1, 2, 230, 2, 2, 230,
+ 3, 2, 230, 4, 2, 231, 1, 2,
+ 231, 2, 2, 231, 3, 2, 231, 4,
+ 2, 232, 1, 2, 232, 2, 2, 232,
+ 3, 2, 232, 4, 2, 233, 1, 2,
+ 233, 2, 2, 233, 3, 2, 233, 4,
+ 2, 234, 1, 2, 234, 2, 2, 234,
+ 3, 2, 234, 4, 2, 235, 1, 2,
+ 235, 2, 2, 235, 3, 2, 235, 4,
+ 2, 236, 1, 2, 236, 2, 2, 236,
+ 3, 2, 236, 4, 2, 237, 1, 2,
+ 237, 2, 2, 237, 3, 2, 237, 4,
+ 2, 238, 1, 2, 238, 2, 2, 238,
+ 3, 2, 238, 4, 2, 239, 1, 2,
+ 239, 2, 2, 239, 3, 2, 239, 4,
+ 2, 240, 1, 2, 240, 2, 2, 240,
+ 3, 2, 240, 4, 2, 241, 1, 2,
+ 241, 2, 2, 241, 3, 2, 241, 4,
+ 2, 242, 1, 2, 242, 2, 2, 242,
+ 3, 2, 242, 4, 2, 243, 1, 2,
+ 243, 2, 2, 243, 3, 2, 243, 4,
+ 2, 244, 1, 2, 244, 2, 2, 244,
+ 3, 2, 244, 4, 2, 245, 1, 2,
+ 245, 2, 2, 245, 3, 2, 245, 4,
+ 2, 246, 1, 2, 246, 2, 2, 246,
+ 3, 2, 246, 4, 2, 247, 1, 2,
+ 247, 2, 2, 247, 3, 2, 247, 4,
+ 2, 248, 1, 2, 248, 2, 2, 248,
+ 3, 2, 248, 4, 2, 249, 1, 2,
+ 249, 2, 2, 249, 3, 2, 249, 4,
+ 2, 250, 1, 2, 250, 2, 2, 250,
+ 3, 2, 250, 4, 2, 251, 1, 2,
+ 251, 2, 2, 251, 3, 2, 251, 4,
+ 2, 252, 1, 2, 252, 2, 2, 252,
+ 3, 2, 252, 4, 2, 253, 1, 2,
+ 253, 2, 2, 253, 3, 2, 253, 4,
+ 2, 254, 1, 2, 254, 2, 2, 254,
+ 3, 2, 254, 4, 2, 255, 1, 2,
+ 255, 2, 2, 255, 3, 2, 255, 4,
+ 2, 256, 1, 2, 256, 2, 2, 256,
+ 3, 2, 256, 4, 2, 257, 1, 2,
+ 257, 2, 2, 257, 3, 2, 257, 4,
+ 2, 258, 1, 2, 258, 2, 2, 258,
+ 3, 2, 258, 4, 2, 259, 0, 2,
+ 262, 1, 2, 262, 2, 2, 262, 3,
+ 2, 262, 4, 2, 263, 1, 2, 263,
+ 2, 2, 263, 3, 2, 263, 4, 2,
+ 264, 1, 2, 264, 2, 2, 264, 3,
+ 2, 264, 4, 2, 265, 1, 2, 265,
+ 2, 2, 265, 3, 2, 265, 4, 2,
+ 272, 1, 2, 272, 2, 2, 272, 3,
+ 2, 272, 4, 2, 273, 1, 2, 273,
+ 2, 2, 273, 3, 2, 273, 4, 2,
+ 276, 0, 2, 277, 306, 2, 279, 108,
+ 2, 284, 108, 2, 288, 1, 2, 288,
+ 2, 2, 288, 3, 2, 288, 4, 2,
+ 289, 0, 2, 293, 1, 2, 293, 2,
+ 2, 293, 3, 2, 293, 4, 2, 306,
+ 8, 2, 307, 1, 2, 307, 4, 2,
+ 310, 307, 2, 311, 8, 2, 311, 306,
+ 2, 312, 305, 2, 313, 305, 2, 314,
+ 305, 2, 315, 305, 2, 316, 305, 2,
+ 317, 305, 2, 318, 305, 2, 319, 305,
+ 2, 320, 305, 2, 321, 305, 2, 322,
+ 305, 2, 323, 305, 2, 324, 305, 2,
+ 325, 305, 2, 326, 305, 2, 327, 305,
+ 2, 328, 305, 2, 329, 305, 2, 330,
+ 305, 2, 331, 305, 2, 332, 305, 2,
+ 333, 305, 2, 334, 305, 2, 335, 305,
+ 2, 336, 305, 2, 337, 305, 2, 338,
+ 305, 2, 339, 305, 2, 340, 305, 2,
+ 341, 305, 2, 342, 305, 2, 343, 305,
+ 2, 344, 305, 2, 345, 305, 2, 346,
+ 305, 2, 347, 305, 2, 348, 305, 2,
+ 349, 305, 2, 350, 305, 2, 351, 305,
+ 2, 352, 305, 2, 353, 305, 2, 354,
+ 305, 2, 355, 305, 2, 356, 305, 2,
+ 357, 305, 2, 358, 305, 2, 359, 305,
+ 2, 360, 305, 2, 361, 1, 3, 0,
+ 49, 1, 3, 0, 49, 2, 3, 0,
+ 49, 3, 3, 0, 49, 4, 3, 1,
+ 7, 361, 3, 1, 32, 7, 3, 1,
+ 71, 0, 3, 1, 111, 0, 3, 1,
+ 259, 0, 3, 1, 276, 0, 3, 1,
+ 289, 0, 3, 1, 307, 361, 3, 2,
+ 7, 32, 3, 2, 32, 7, 3, 3,
+ 7, 32, 3, 3, 32, 7, 3, 4,
+ 7, 32, 3, 4, 32, 7, 3, 4,
+ 71, 0, 3, 4, 111, 0, 3, 4,
+ 259, 0, 3, 4, 276, 0, 3, 4,
+ 289, 0, 3, 4, 307, 7, 3, 5,
+ 7, 2, 3, 5, 7, 3, 3, 5,
+ 7, 4, 3, 6, 1, 361, 3, 6,
+ 361, 1, 3, 7, 2, 5, 3, 7,
+ 2, 32, 3, 7, 3, 5, 3, 7,
+ 3, 32, 3, 7, 4, 5, 3, 7,
+ 4, 32, 3, 7, 361, 1, 3, 9,
+ 11, 1, 3, 15, 21, 0, 3, 20,
+ 7, 2, 3, 20, 7, 3, 3, 20,
+ 7, 4, 3, 20, 83, 7, 3, 23,
+ 13, 14, 3, 27, 71, 0, 3, 27,
+ 295, 29, 3, 28, 94, 95, 3, 29,
+ 293, 1, 3, 29, 293, 2, 3, 29,
+ 293, 3, 3, 29, 293, 4, 3, 29,
+ 297, 293, 3, 31, 1, 93, 3, 31,
+ 2, 7, 3, 31, 2, 93, 3, 31,
+ 3, 7, 3, 31, 3, 93, 3, 31,
+ 4, 7, 3, 31, 4, 93, 3, 31,
+ 93, 7, 3, 31, 310, 307, 3, 31,
+ 312, 305, 3, 32, 1, 7, 3, 32,
+ 2, 7, 3, 32, 3, 7, 3, 32,
+ 4, 7, 3, 33, 89, 8, 3, 33,
+ 306, 8, 3, 33, 311, 8, 3, 33,
+ 311, 306, 3, 35, 1, 0, 3, 35,
+ 4, 0, 3, 37, 36, 307, 3, 38,
+ 156, 306, 3, 38, 158, 306, 3, 38,
+ 311, 8, 3, 38, 311, 306, 3, 40,
+ 42, 266, 3, 40, 42, 267, 3, 40,
+ 42, 268, 3, 40, 42, 269, 3, 40,
+ 42, 270, 3, 40, 42, 271, 3, 42,
+ 266, 1, 3, 42, 266, 2, 3, 42,
+ 266, 3, 3, 42, 266, 4, 3, 42,
+ 267, 1, 3, 42, 267, 2, 3, 42,
+ 267, 3, 3, 42, 267, 4, 3, 42,
+ 268, 1, 3, 42, 268, 2, 3, 42,
+ 268, 3, 3, 42, 268, 4, 3, 42,
+ 269, 1, 3, 42, 269, 2, 3, 42,
+ 269, 3, 3, 42, 269, 4, 3, 42,
+ 270, 1, 3, 42, 270, 2, 3, 42,
+ 270, 3, 3, 42, 270, 4, 3, 42,
+ 271, 1, 3, 42, 271, 2, 3, 42,
+ 271, 3, 3, 42, 271, 4, 3, 46,
+ 145, 293, 3, 46, 293, 1, 3, 46,
+ 293, 2, 3, 46, 293, 3, 3, 46,
+ 293, 4, 3, 48, 305, 1, 3, 48,
+ 305, 2, 3, 48, 305, 3, 3, 48,
+ 305, 4, 3, 48, 305, 307, 3, 50,
+ 38, 73, 3, 50, 38, 306, 3, 50,
+ 38, 311, 3, 55, 37, 36, 3, 56,
+ 7, 2, 3, 56, 7, 3, 3, 56,
+ 7, 4, 3, 56, 47, 0, 3, 56,
+ 47, 1, 3, 56, 47, 2, 3, 56,
+ 47, 3, 3, 56, 47, 4, 3, 56,
+ 93, 1, 3, 56, 93, 2, 3, 56,
+ 93, 3, 3, 56, 93, 4, 3, 66,
+ 68, 0, 3, 66, 68, 61, 3, 67,
+ 62, 63, 3, 68, 61, 0, 3, 70,
+ 26, 69, 3, 72, 0, 1, 3, 75,
+ 23, 13, 3, 76, 0, 1, 3, 80,
+ 2, 7, 3, 80, 3, 7, 3, 80,
+ 4, 7, 3, 80, 7, 4, 3, 82,
+ 23, 13, 3, 85, 0, 1, 3, 88,
+ 7, 1, 3, 88, 7, 4, 3, 88,
+ 30, 25, 3, 88, 32, 7, 3, 90,
+ 30, 25, 3, 90, 91, 307, 3, 93,
+ 2, 7, 3, 93, 3, 7, 3, 93,
+ 4, 7, 3, 96, 107, 306, 3, 96,
+ 156, 306, 3, 97, 98, 0, 3, 97,
+ 98, 1, 3, 97, 98, 2, 3, 97,
+ 98, 3, 3, 97, 98, 4, 3, 97,
+ 98, 29, 3, 99, 100, 0, 3, 99,
+ 100, 1, 3, 99, 100, 2, 3, 99,
+ 100, 3, 3, 99, 100, 4, 3, 99,
+ 100, 29, 3, 105, 106, 0, 3, 105,
+ 106, 1, 3, 105, 106, 2, 3, 105,
+ 106, 3, 3, 105, 106, 4, 3, 110,
+ 112, 278, 3, 110, 287, 306, 3, 147,
+ 145, 293, 3, 153, 145, 293, 3, 156,
+ 157, 306, 3, 208, 259, 0, 3, 209,
+ 259, 0, 3, 210, 259, 0, 3, 211,
+ 259, 0, 3, 212, 259, 0, 3, 213,
+ 259, 0, 3, 214, 259, 0, 3, 215,
+ 259, 0, 3, 216, 259, 0, 3, 217,
+ 259, 0, 3, 218, 259, 0, 3, 219,
+ 259, 0, 3, 220, 259, 0, 3, 221,
+ 259, 0, 3, 222, 259, 0, 3, 223,
+ 259, 0, 3, 224, 259, 0, 3, 225,
+ 259, 0, 3, 226, 259, 0, 3, 227,
+ 259, 0, 3, 228, 259, 0, 3, 229,
+ 259, 0, 3, 230, 259, 0, 3, 231,
+ 259, 0, 3, 232, 259, 0, 3, 233,
+ 259, 0, 3, 234, 259, 0, 3, 235,
+ 259, 0, 3, 236, 259, 0, 3, 237,
+ 259, 0, 3, 238, 259, 0, 3, 239,
+ 259, 0, 3, 240, 259, 0, 3, 241,
+ 259, 0, 3, 242, 259, 0, 3, 243,
+ 259, 0, 3, 244, 259, 0, 3, 245,
+ 259, 0, 3, 246, 259, 0, 3, 247,
+ 259, 0, 3, 248, 259, 0, 3, 249,
+ 259, 0, 3, 250, 259, 0, 3, 251,
+ 259, 0, 3, 252, 259, 0, 3, 253,
+ 259, 0, 3, 254, 259, 0, 3, 255,
+ 259, 0, 3, 256, 259, 0, 3, 257,
+ 259, 0, 3, 258, 259, 0, 3, 275,
+ 37, 36, 3, 280, 281, 0, 3, 280,
+ 282, 0, 3, 283, 110, 306, 3, 285,
+ 286, 0, 3, 287, 110, 306, 3, 288,
+ 289, 0, 3, 293, 289, 0, 3, 296,
+ 28, 299, 3, 306, 8, 89, 3, 307,
+ 7, 1, 3, 307, 7, 4, 3, 307,
+ 30, 25, 3, 307, 361, 1, 3, 309,
+ 30, 25, 3, 311, 306, 8, 3, 312,
+ 305, 1, 3, 312, 305, 2, 3, 312,
+ 305, 3, 3, 312, 305, 4, 3, 312,
+ 305, 7, 3, 312, 305, 307, 3, 313,
+ 305, 1, 3, 313, 305, 2, 3, 313,
+ 305, 3, 3, 313, 305, 4, 3, 313,
+ 305, 307, 3, 314, 305, 1, 3, 314,
+ 305, 2, 3, 314, 305, 3, 3, 314,
+ 305, 4, 3, 314, 305, 307, 3, 315,
+ 305, 1, 3, 315, 305, 2, 3, 315,
+ 305, 3, 3, 315, 305, 4, 3, 315,
+ 305, 307, 3, 316, 305, 1, 3, 316,
+ 305, 2, 3, 316, 305, 3, 3, 316,
+ 305, 4, 3, 316, 305, 307, 3, 317,
+ 305, 1, 3, 317, 305, 2, 3, 317,
+ 305, 3, 3, 317, 305, 4, 3, 317,
+ 305, 307, 3, 318, 305, 1, 3, 318,
+ 305, 2, 3, 318, 305, 3, 3, 318,
+ 305, 4, 3, 318, 305, 307, 3, 319,
+ 305, 1, 3, 319, 305, 2, 3, 319,
+ 305, 3, 3, 319, 305, 4, 3, 319,
+ 305, 307, 3, 320, 305, 1, 3, 320,
+ 305, 2, 3, 320, 305, 3, 3, 320,
+ 305, 4, 3, 320, 305, 307, 3, 321,
+ 305, 1, 3, 321, 305, 2, 3, 321,
+ 305, 3, 3, 321, 305, 4, 3, 321,
+ 305, 307, 3, 322, 305, 1, 3, 322,
+ 305, 2, 3, 322, 305, 3, 3, 322,
+ 305, 4, 3, 322, 305, 307, 3, 323,
+ 305, 1, 3, 323, 305, 2, 3, 323,
+ 305, 3, 3, 323, 305, 4, 3, 323,
+ 305, 307, 3, 324, 305, 1, 3, 324,
+ 305, 2, 3, 324, 305, 3, 3, 324,
+ 305, 4, 3, 324, 305, 307, 3, 325,
+ 305, 1, 3, 325, 305, 2, 3, 325,
+ 305, 3, 3, 325, 305, 4, 3, 325,
+ 305, 307, 3, 326, 305, 1, 3, 326,
+ 305, 2, 3, 326, 305, 3, 3, 326,
+ 305, 4, 3, 326, 305, 307, 3, 327,
+ 305, 1, 3, 327, 305, 2, 3, 327,
+ 305, 3, 3, 327, 305, 4, 3, 327,
+ 305, 307, 3, 328, 305, 1, 3, 328,
+ 305, 2, 3, 328, 305, 3, 3, 328,
+ 305, 4, 3, 328, 305, 307, 3, 329,
+ 305, 1, 3, 329, 305, 2, 3, 329,
+ 305, 3, 3, 329, 305, 4, 3, 329,
+ 305, 307, 3, 330, 305, 1, 3, 330,
+ 305, 2, 3, 330, 305, 3, 3, 330,
+ 305, 4, 3, 330, 305, 307, 3, 331,
+ 305, 1, 3, 331, 305, 2, 3, 331,
+ 305, 3, 3, 331, 305, 4, 3, 331,
+ 305, 307, 3, 332, 305, 1, 3, 332,
+ 305, 2, 3, 332, 305, 3, 3, 332,
+ 305, 4, 3, 332, 305, 307, 3, 333,
+ 305, 1, 3, 333, 305, 2, 3, 333,
+ 305, 3, 3, 333, 305, 4, 3, 333,
+ 305, 307, 3, 334, 305, 1, 3, 334,
+ 305, 2, 3, 334, 305, 3, 3, 334,
+ 305, 4, 3, 334, 305, 307, 3, 335,
+ 305, 1, 3, 335, 305, 2, 3, 335,
+ 305, 3, 3, 335, 305, 4, 3, 335,
+ 305, 307, 3, 336, 305, 1, 3, 336,
+ 305, 2, 3, 336, 305, 3, 3, 336,
+ 305, 4, 3, 336, 305, 307, 3, 337,
+ 305, 1, 3, 337, 305, 2, 3, 337,
+ 305, 3, 3, 337, 305, 4, 3, 337,
+ 305, 307, 3, 338, 305, 1, 3, 338,
+ 305, 2, 3, 338, 305, 3, 3, 338,
+ 305, 4, 3, 338, 305, 307, 3, 339,
+ 305, 1, 3, 339, 305, 2, 3, 339,
+ 305, 3, 3, 339, 305, 4, 3, 339,
+ 305, 307, 3, 340, 305, 1, 3, 340,
+ 305, 2, 3, 340, 305, 3, 3, 340,
+ 305, 4, 3, 340, 305, 307, 3, 341,
+ 305, 1, 3, 341, 305, 2, 3, 341,
+ 305, 3, 3, 341, 305, 4, 3, 341,
+ 305, 307, 3, 342, 305, 1, 3, 342,
+ 305, 2, 3, 342, 305, 3, 3, 342,
+ 305, 4, 3, 342, 305, 307, 3, 343,
+ 305, 1, 3, 343, 305, 2, 3, 343,
+ 305, 3, 3, 343, 305, 4, 3, 343,
+ 305, 307, 3, 344, 305, 1, 3, 344,
+ 305, 2, 3, 344, 305, 3, 3, 344,
+ 305, 4, 3, 344, 305, 307, 3, 345,
+ 305, 1, 3, 345, 305, 2, 3, 345,
+ 305, 3, 3, 345, 305, 4, 3, 345,
+ 305, 307, 3, 346, 305, 1, 3, 346,
+ 305, 2, 3, 346, 305, 3, 3, 346,
+ 305, 4, 3, 346, 305, 307, 3, 347,
+ 305, 1, 3, 347, 305, 2, 3, 347,
+ 305, 3, 3, 347, 305, 4, 3, 347,
+ 305, 307, 3, 348, 305, 1, 3, 348,
+ 305, 2, 3, 348, 305, 3, 3, 348,
+ 305, 4, 3, 348, 305, 307, 3, 349,
+ 305, 1, 3, 349, 305, 2, 3, 349,
+ 305, 3, 3, 349, 305, 4, 3, 349,
+ 305, 307, 3, 350, 305, 1, 3, 350,
+ 305, 2, 3, 350, 305, 3, 3, 350,
+ 305, 4, 3, 350, 305, 307, 3, 351,
+ 305, 1, 3, 351, 305, 2, 3, 351,
+ 305, 3, 3, 351, 305, 4, 3, 351,
+ 305, 307, 3, 352, 305, 1, 3, 352,
+ 305, 2, 3, 352, 305, 3, 3, 352,
+ 305, 4, 3, 352, 305, 307, 3, 353,
+ 305, 1, 3, 353, 305, 2, 3, 353,
+ 305, 3, 3, 353, 305, 4, 3, 353,
+ 305, 307, 3, 354, 305, 1, 3, 354,
+ 305, 2, 3, 354, 305, 3, 3, 354,
+ 305, 4, 3, 354, 305, 307, 3, 355,
+ 305, 1, 3, 355, 305, 2, 3, 355,
+ 305, 3, 3, 355, 305, 4, 3, 355,
+ 305, 307, 3, 356, 305, 1, 3, 356,
+ 305, 2, 3, 356, 305, 3, 3, 356,
+ 305, 4, 3, 356, 305, 307, 3, 357,
+ 305, 1, 3, 357, 305, 2, 3, 357,
+ 305, 3, 3, 357, 305, 4, 3, 357,
+ 305, 307, 3, 358, 305, 1, 3, 358,
+ 305, 2, 3, 358, 305, 3, 3, 358,
+ 305, 4, 3, 358, 305, 307, 3, 359,
+ 305, 1, 3, 359, 305, 2, 3, 359,
+ 305, 3, 3, 359, 305, 4, 3, 359,
+ 305, 307, 3, 360, 305, 1, 3, 360,
+ 305, 2, 3, 360, 305, 3, 3, 360,
+ 305, 4, 3, 360, 305, 307, 3, 361,
+ 1, 6, 4, 1, 7, 361, 32, 4,
+ 1, 307, 32, 7, 4, 4, 307, 7,
+ 32, 4, 4, 307, 32, 7, 4, 6,
+ 1, 7, 361, 4, 6, 1, 85, 0,
+ 4, 6, 72, 0, 1, 4, 6, 76,
+ 0, 1, 4, 6, 85, 0, 1, 4,
+ 7, 6, 361, 1, 4, 7, 72, 0,
+ 1, 4, 7, 361, 1, 6, 4, 7,
+ 361, 1, 32, 4, 18, 15, 21, 0,
+ 4, 20, 83, 7, 2, 4, 20, 83,
+ 7, 3, 4, 20, 83, 7, 4, 4,
+ 27, 1, 71, 0, 4, 27, 4, 71,
+ 0, 4, 27, 295, 29, 293, 4, 29,
+ 293, 289, 0, 4, 29, 297, 293, 1,
+ 4, 29, 297, 293, 2, 4, 29, 297,
+ 293, 3, 4, 29, 297, 293, 4, 4,
+ 31, 1, 7, 361, 4, 31, 1, 310,
+ 307, 4, 31, 1, 312, 305, 4, 31,
+ 2, 93, 7, 4, 31, 2, 310, 307,
+ 4, 31, 2, 312, 305, 4, 31, 3,
+ 93, 7, 4, 31, 3, 310, 307, 4,
+ 31, 3, 312, 305, 4, 31, 4, 93,
+ 7, 4, 31, 4, 310, 307, 4, 31,
+ 4, 312, 305, 4, 31, 312, 305, 7,
+ 4, 33, 38, 311, 8, 4, 33, 50,
+ 38, 311, 4, 33, 311, 306, 8, 4,
+ 37, 36, 30, 25, 4, 38, 311, 306,
+ 8, 4, 40, 37, 36, 41, 4, 40,
+ 42, 266, 1, 4, 40, 42, 266, 2,
+ 4, 40, 42, 266, 3, 4, 40, 42,
+ 266, 4, 4, 40, 42, 267, 1, 4,
+ 40, 42, 267, 2, 4, 40, 42, 267,
+ 3, 4, 40, 42, 267, 4, 4, 40,
+ 42, 268, 1, 4, 40, 42, 268, 2,
+ 4, 40, 42, 268, 3, 4, 40, 42,
+ 268, 4, 4, 40, 42, 269, 1, 4,
+ 40, 42, 269, 2, 4, 40, 42, 269,
+ 3, 4, 40, 42, 269, 4, 4, 40,
+ 42, 270, 1, 4, 40, 42, 270, 2,
+ 4, 40, 42, 270, 3, 4, 40, 42,
+ 270, 4, 4, 40, 42, 271, 1, 4,
+ 40, 42, 271, 2, 4, 40, 42, 271,
+ 3, 4, 40, 42, 271, 4, 4, 42,
+ 268, 276, 0, 4, 42, 269, 276, 0,
+ 4, 42, 270, 276, 0, 4, 42, 271,
+ 276, 0, 4, 43, 39, 37, 36, 4,
+ 44, 39, 37, 36, 4, 46, 145, 293,
+ 1, 4, 46, 145, 293, 2, 4, 46,
+ 145, 293, 3, 4, 46, 145, 293, 4,
+ 4, 46, 293, 289, 0, 4, 48, 305,
+ 1, 307, 4, 48, 305, 4, 307, 4,
+ 50, 38, 8, 73, 4, 56, 55, 37,
+ 36, 4, 66, 68, 61, 0, 4, 75,
+ 23, 13, 14, 4, 82, 23, 13, 14,
+ 4, 88, 32, 1, 7, 4, 88, 32,
+ 2, 7, 4, 88, 32, 3, 7, 4,
+ 88, 32, 4, 7, 4, 90, 91, 30,
+ 25, 4, 93, 1, 7, 361, 4, 96,
+ 156, 157, 306, 4, 97, 98, 1, 0,
+ 4, 97, 98, 4, 0, 4, 97, 98,
+ 29, 293, 4, 99, 100, 1, 0, 4,
+ 99, 100, 4, 0, 4, 99, 100, 29,
+ 293, 4, 105, 106, 1, 0, 4, 105,
+ 106, 4, 0, 4, 147, 145, 293, 1,
+ 4, 147, 145, 293, 2, 4, 147, 145,
+ 293, 3, 4, 147, 145, 293, 4, 4,
+ 147, 298, 37, 36, 4, 153, 145, 293,
+ 1, 4, 153, 145, 293, 2, 4, 153,
+ 145, 293, 3, 4, 153, 145, 293, 4,
+ 4, 208, 1, 259, 0, 4, 208, 4,
+ 259, 0, 4, 209, 1, 259, 0, 4,
+ 209, 4, 259, 0, 4, 210, 1, 259,
+ 0, 4, 210, 4, 259, 0, 4, 211,
+ 1, 259, 0, 4, 211, 4, 259, 0,
+ 4, 212, 1, 259, 0, 4, 212, 4,
+ 259, 0, 4, 213, 1, 259, 0, 4,
+ 213, 4, 259, 0, 4, 214, 1, 259,
+ 0, 4, 214, 4, 259, 0, 4, 215,
+ 1, 259, 0, 4, 215, 4, 259, 0,
+ 4, 216, 1, 259, 0, 4, 216, 4,
+ 259, 0, 4, 217, 1, 259, 0, 4,
+ 217, 4, 259, 0, 4, 218, 1, 259,
+ 0, 4, 218, 4, 259, 0, 4, 219,
+ 1, 259, 0, 4, 219, 4, 259, 0,
+ 4, 220, 1, 259, 0, 4, 220, 4,
+ 259, 0, 4, 221, 1, 259, 0, 4,
+ 221, 4, 259, 0, 4, 222, 1, 259,
+ 0, 4, 222, 4, 259, 0, 4, 223,
+ 1, 259, 0, 4, 223, 4, 259, 0,
+ 4, 224, 1, 259, 0, 4, 224, 4,
+ 259, 0, 4, 225, 1, 259, 0, 4,
+ 225, 4, 259, 0, 4, 226, 1, 259,
+ 0, 4, 226, 4, 259, 0, 4, 227,
+ 1, 259, 0, 4, 227, 4, 259, 0,
+ 4, 228, 1, 259, 0, 4, 228, 4,
+ 259, 0, 4, 229, 1, 259, 0, 4,
+ 229, 4, 259, 0, 4, 230, 1, 259,
+ 0, 4, 230, 4, 259, 0, 4, 231,
+ 1, 259, 0, 4, 231, 4, 259, 0,
+ 4, 232, 1, 259, 0, 4, 232, 4,
+ 259, 0, 4, 233, 1, 259, 0, 4,
+ 233, 4, 259, 0, 4, 234, 1, 259,
+ 0, 4, 234, 4, 259, 0, 4, 235,
+ 1, 259, 0, 4, 235, 4, 259, 0,
+ 4, 236, 1, 259, 0, 4, 236, 4,
+ 259, 0, 4, 237, 1, 259, 0, 4,
+ 237, 4, 259, 0, 4, 238, 1, 259,
+ 0, 4, 238, 4, 259, 0, 4, 239,
+ 1, 259, 0, 4, 239, 4, 259, 0,
+ 4, 240, 1, 259, 0, 4, 240, 4,
+ 259, 0, 4, 241, 1, 259, 0, 4,
+ 241, 4, 259, 0, 4, 242, 1, 259,
+ 0, 4, 242, 4, 259, 0, 4, 243,
+ 1, 259, 0, 4, 243, 4, 259, 0,
+ 4, 244, 1, 259, 0, 4, 244, 4,
+ 259, 0, 4, 245, 1, 259, 0, 4,
+ 245, 4, 259, 0, 4, 246, 1, 259,
+ 0, 4, 246, 4, 259, 0, 4, 247,
+ 1, 259, 0, 4, 247, 4, 259, 0,
+ 4, 248, 1, 259, 0, 4, 248, 4,
+ 259, 0, 4, 249, 1, 259, 0, 4,
+ 249, 4, 259, 0, 4, 250, 1, 259,
+ 0, 4, 250, 4, 259, 0, 4, 251,
+ 1, 259, 0, 4, 251, 4, 259, 0,
+ 4, 252, 1, 259, 0, 4, 252, 4,
+ 259, 0, 4, 253, 1, 259, 0, 4,
+ 253, 4, 259, 0, 4, 254, 1, 259,
+ 0, 4, 254, 4, 259, 0, 4, 255,
+ 1, 259, 0, 4, 255, 4, 259, 0,
+ 4, 256, 1, 259, 0, 4, 256, 4,
+ 259, 0, 4, 257, 1, 259, 0, 4,
+ 257, 4, 259, 0, 4, 258, 1, 259,
+ 0, 4, 258, 4, 259, 0, 4, 288,
+ 1, 289, 0, 4, 288, 4, 289, 0,
+ 4, 293, 1, 289, 0, 4, 293, 4,
+ 289, 0, 4, 294, 28, 26, 69, 4,
+ 307, 7, 361, 1, 4, 312, 305, 1,
+ 307, 4, 312, 305, 2, 7, 4, 312,
+ 305, 3, 7, 4, 312, 305, 4, 7,
+ 4, 312, 305, 4, 307, 4, 313, 305,
+ 1, 307, 4, 313, 305, 4, 307, 4,
+ 314, 305, 1, 307, 4, 314, 305, 4,
+ 307, 4, 315, 305, 1, 307, 4, 315,
+ 305, 4, 307, 4, 316, 305, 1, 307,
+ 4, 316, 305, 4, 307, 4, 317, 305,
+ 1, 307, 4, 317, 305, 4, 307, 4,
+ 318, 305, 1, 307, 4, 318, 305, 4,
+ 307, 4, 319, 305, 1, 307, 4, 319,
+ 305, 4, 307, 4, 320, 305, 1, 307,
+ 4, 320, 305, 4, 307, 4, 321, 305,
+ 1, 307, 4, 321, 305, 4, 307, 4,
+ 322, 305, 1, 307, 4, 322, 305, 4,
+ 307, 4, 323, 305, 1, 307, 4, 323,
+ 305, 4, 307, 4, 324, 305, 1, 307,
+ 4, 324, 305, 4, 307, 4, 325, 305,
+ 1, 307, 4, 325, 305, 4, 307, 4,
+ 326, 305, 1, 307, 4, 326, 305, 4,
+ 307, 4, 327, 305, 1, 307, 4, 327,
+ 305, 4, 307, 4, 328, 305, 1, 307,
+ 4, 328, 305, 4, 307, 4, 329, 305,
+ 1, 307, 4, 329, 305, 4, 307, 4,
+ 330, 305, 1, 307, 4, 330, 305, 4,
+ 307, 4, 331, 305, 1, 307, 4, 331,
+ 305, 4, 307, 4, 332, 305, 1, 307,
+ 4, 332, 305, 4, 307, 4, 333, 305,
+ 1, 307, 4, 333, 305, 4, 307, 4,
+ 334, 305, 1, 307, 4, 334, 305, 4,
+ 307, 4, 335, 305, 1, 307, 4, 335,
+ 305, 4, 307, 4, 336, 305, 1, 307,
+ 4, 336, 305, 4, 307, 4, 337, 305,
+ 1, 307, 4, 337, 305, 4, 307, 4,
+ 338, 305, 1, 307, 4, 338, 305, 4,
+ 307, 4, 339, 305, 1, 307, 4, 339,
+ 305, 4, 307, 4, 340, 305, 1, 307,
+ 4, 340, 305, 4, 307, 4, 341, 305,
+ 1, 307, 4, 341, 305, 4, 307, 4,
+ 342, 305, 1, 307, 4, 342, 305, 4,
+ 307, 4, 343, 305, 1, 307, 4, 343,
+ 305, 4, 307, 4, 344, 305, 1, 307,
+ 4, 344, 305, 4, 307, 4, 345, 305,
+ 1, 307, 4, 345, 305, 4, 307, 4,
+ 346, 305, 1, 307, 4, 346, 305, 4,
+ 307, 4, 347, 305, 1, 307, 4, 347,
+ 305, 4, 307, 4, 348, 305, 1, 307,
+ 4, 348, 305, 4, 307, 4, 349, 305,
+ 1, 307, 4, 349, 305, 4, 307, 4,
+ 350, 305, 1, 307, 4, 350, 305, 4,
+ 307, 4, 351, 305, 1, 307, 4, 351,
+ 305, 4, 307, 4, 352, 305, 1, 307,
+ 4, 352, 305, 4, 307, 4, 353, 305,
+ 1, 307, 4, 353, 305, 4, 307, 4,
+ 354, 305, 1, 307, 4, 354, 305, 4,
+ 307, 4, 355, 305, 1, 307, 4, 355,
+ 305, 4, 307, 4, 356, 305, 1, 307,
+ 4, 356, 305, 4, 307, 4, 357, 305,
+ 1, 307, 4, 357, 305, 4, 307, 4,
+ 358, 305, 1, 307, 4, 358, 305, 4,
+ 307, 4, 359, 305, 1, 307, 4, 359,
+ 305, 4, 307, 4, 360, 305, 1, 307,
+ 4, 360, 305, 4, 307, 5, 20, 7,
+ 76, 0, 1, 5, 27, 295, 29, 293,
+ 1, 5, 27, 295, 29, 293, 2, 5,
+ 27, 295, 29, 293, 3, 5, 27, 295,
+ 29, 293, 4, 5, 29, 293, 1, 289,
+ 0, 5, 29, 293, 4, 289, 0, 5,
+ 29, 297, 293, 289, 0, 5, 31, 1,
+ 93, 7, 361, 5, 31, 1, 312, 305,
+ 307, 5, 31, 2, 312, 305, 7, 5,
+ 31, 3, 312, 305, 7, 5, 31, 4,
+ 312, 305, 7, 5, 31, 4, 312, 305,
+ 307, 5, 33, 38, 311, 306, 8, 5,
+ 37, 36, 307, 30, 25, 5, 40, 42,
+ 268, 276, 0, 5, 40, 42, 269, 276,
+ 0, 5, 40, 42, 270, 276, 0, 5,
+ 40, 42, 271, 276, 0, 5, 42, 268,
+ 1, 276, 0, 5, 42, 268, 4, 276,
+ 0, 5, 42, 269, 1, 276, 0, 5,
+ 42, 269, 4, 276, 0, 5, 42, 270,
+ 1, 276, 0, 5, 42, 270, 4, 276,
+ 0, 5, 42, 271, 1, 276, 0, 5,
+ 42, 271, 4, 276, 0, 5, 46, 145,
+ 293, 289, 0, 5, 46, 293, 1, 289,
+ 0, 5, 46, 293, 4, 289, 0, 5,
+ 50, 38, 311, 306, 8, 5, 56, 7,
+ 72, 0, 1, 5, 80, 7, 85, 0,
+ 1, 5, 90, 91, 307, 30, 25, 5,
+ 97, 98, 29, 293, 1, 5, 97, 98,
+ 29, 293, 2, 5, 97, 98, 29, 293,
+ 3, 5, 97, 98, 29, 293, 4, 5,
+ 99, 100, 29, 293, 1, 5, 99, 100,
+ 29, 293, 2, 5, 99, 100, 29, 293,
+ 3, 5, 99, 100, 29, 293, 4, 5,
+ 147, 145, 293, 289, 0, 5, 153, 145,
+ 293, 289, 0, 5, 274, 43, 39, 37,
+ 36, 5, 312, 305, 1, 7, 361, 5,
+ 312, 305, 4, 307, 7, 5, 312, 305,
+ 307, 7, 4, 6, 20, 83, 7, 85,
+ 0, 1, 6, 27, 295, 29, 293, 289,
+ 0, 6, 29, 297, 293, 1, 289, 0,
+ 6, 29, 297, 293, 4, 289, 0, 6,
+ 31, 1, 312, 305, 7, 361, 6, 31,
+ 4, 312, 305, 307, 7, 6, 33, 50,
+ 38, 311, 306, 8, 6, 40, 42, 268,
+ 1, 276, 0, 6, 40, 42, 268, 4,
+ 276, 0, 6, 40, 42, 269, 1, 276,
+ 0, 6, 40, 42, 269, 4, 276, 0,
+ 6, 40, 42, 270, 1, 276, 0, 6,
+ 40, 42, 270, 4, 276, 0, 6, 40,
+ 42, 271, 1, 276, 0, 6, 40, 42,
+ 271, 4, 276, 0, 6, 46, 145, 293,
+ 1, 289, 0, 6, 46, 145, 293, 4,
+ 289, 0, 6, 97, 98, 29, 293, 289,
+ 0, 6, 99, 100, 29, 293, 289, 0,
+ 6, 147, 145, 293, 1, 289, 0, 6,
+ 147, 145, 293, 4, 289, 0, 6, 153,
+ 145, 293, 1, 289, 0, 6, 153, 145,
+ 293, 4, 289, 0, 6, 312, 305, 1,
+ 307, 7, 361, 6, 312, 305, 307, 7,
+ 361, 1, 7, 27, 295, 29, 293, 1,
+ 289, 0, 7, 27, 295, 29, 293, 4,
+ 289, 0, 7, 31, 1, 312, 305, 307,
+ 7, 361, 7, 97, 98, 29, 293, 1,
+ 289, 0, 7, 97, 98, 29, 293, 4,
+ 289, 0, 7, 99, 100, 29, 293, 1,
+ 289, 0, 7, 99, 100, 29, 293, 4,
+ 289, 0
};
static const short _zone_scanner_cond_offsets[] = {
@@ -918,172 +933,178 @@ static const short _zone_scanner_cond_offsets[] = {
116, 118, 118, 120, 120, 120, 120, 122,
122, 122, 124, 124, 124, 124, 126, 126,
128, 128, 128, 128, 130, 130, 130, 132,
- 132, 132, 132, 132, 132, 134, 137, 139,
- 139, 141, 143, 145, 147, 147, 149, 152,
- 152, 152, 152, 152, 152, 152, 152, 152,
- 152, 154, 156, 159, 161, 163, 166, 168,
- 168, 170, 173, 175, 177, 179, 181, 183,
- 186, 188, 190, 192, 194, 196, 198, 200,
- 202, 204, 206, 208, 210, 212, 214, 216,
- 218, 220, 222, 224, 227, 229, 229, 229,
- 229, 229, 229, 229, 229, 229, 229, 231,
- 233, 235, 238, 240, 242, 244, 246, 248,
- 250, 252, 254, 256, 258, 260, 262, 264,
- 266, 268, 270, 272, 274, 276, 278, 283,
- 288, 293, 298, 298, 298, 300, 300, 300,
- 300, 302, 302, 304, 307, 309, 311, 316,
- 321, 326, 331, 334, 336, 341, 346, 348,
- 350, 352, 354, 356, 358, 360, 362, 364,
- 366, 368, 370, 372, 374, 376, 378, 381,
- 384, 386, 389, 391, 391, 391, 391, 391,
- 391, 391, 391, 391, 391, 391, 391, 391,
- 391, 391, 391, 391, 391, 392, 393, 393,
- 393, 393, 393, 394, 396, 398, 400, 402,
- 402, 404, 404, 406, 409, 411, 413, 413,
- 415, 417, 417, 417, 417, 417, 417, 419,
- 422, 424, 426, 428, 430, 430, 432, 434,
- 434, 434, 434, 434, 434, 436, 439, 441,
- 444, 447, 447, 447, 447, 447, 449, 452,
- 452, 454, 456, 458, 458, 458, 460, 463,
- 463, 463, 465, 465, 465, 465, 465, 465,
- 467, 469, 469, 469, 471, 471, 471, 471,
- 473, 473, 473, 473, 475, 475, 475, 475,
- 475, 477, 477, 477, 477, 479, 479, 479,
- 479, 481, 483, 483, 483, 483, 483, 485,
- 485, 487, 487, 487, 487, 487, 489, 489,
- 489, 489, 491, 491, 491, 491, 491, 491,
- 491, 491, 493, 493, 493, 495, 497, 497,
- 497, 499, 499, 501, 501, 503, 505, 505,
- 505, 505, 505, 507, 509, 509, 509, 509,
- 509, 511, 511, 513, 515, 515, 517, 519,
- 519, 519, 519, 519, 521, 521, 521, 521,
- 521, 521, 521, 521, 521, 521, 523, 523,
- 523, 525, 525, 527, 527, 527, 527, 529,
- 531, 531, 531, 531, 531, 531, 533, 533,
- 535, 535, 537, 537, 539, 539, 539, 539,
- 541, 541, 541, 543, 543, 543, 543, 545,
- 545, 547, 547, 547, 547, 549, 549, 549,
- 551, 551, 551, 551, 551, 551, 553, 553,
- 553, 553, 555, 555, 557, 559, 561, 563,
- 565, 565, 567, 570, 573, 576, 578, 580,
- 582, 584, 584, 586, 589, 592, 594, 597,
- 597, 597, 597, 597, 597, 597, 597, 597,
- 597, 597, 597, 597, 597, 597, 597, 597,
- 597, 597, 597, 597, 597, 597, 597, 597,
- 597, 597, 597, 597, 597, 597, 597, 597,
- 597, 597, 597, 597, 597, 597, 597, 597,
- 597, 597, 597, 597, 599, 601, 601, 601,
- 601, 601, 601, 603, 606, 606, 606, 606,
- 606, 606, 606, 606, 606, 606, 608, 608,
- 608, 608, 608, 610, 610, 610, 610, 610,
- 610, 610, 610, 610, 610, 610, 610, 610,
- 610, 612, 612, 612, 612, 612, 612, 612,
- 612, 612, 612, 612, 614, 614, 614, 614,
- 614, 616, 616, 618, 618, 618, 618, 618,
- 618, 618, 618, 618, 618, 618, 618, 618,
- 618, 620, 620, 620, 620, 620, 620, 620,
- 620, 620, 620, 620, 620, 620, 620, 620,
- 620, 622, 622, 622, 622, 622, 622, 622,
- 622, 624, 626, 626, 626, 626, 626, 626,
- 626, 626, 626, 626, 626, 626, 626, 626,
- 626, 626, 626, 626, 626, 626, 626, 626,
- 626, 626, 626, 626, 626, 626, 626, 626,
- 626, 626, 626, 626, 626, 626, 626, 626,
- 626, 626, 626, 626, 626, 626, 626, 626,
- 626, 626, 626, 626, 626, 626, 626, 626,
- 626, 626, 626, 626, 626, 626, 626, 626,
- 626, 626, 626, 626, 626, 626, 626, 626,
- 626, 626, 626, 626, 626, 626, 626, 626,
- 626, 626, 626, 626, 626, 626, 626, 626,
- 626, 626, 626, 626, 626, 626, 626, 626,
- 626, 626, 626, 626, 626, 626, 626, 626,
- 626, 626, 626, 626, 626, 626, 626, 626,
- 626, 626, 626, 626, 626, 626, 626, 626,
- 626, 626, 626, 626, 626, 626, 626, 626,
- 626, 626, 626, 626, 626, 626, 626, 626,
- 626, 626, 626, 626, 626, 626, 626, 626,
+ 132, 132, 132, 132, 132, 134, 134, 134,
+ 134, 134, 134, 136, 139, 141, 141, 143,
+ 145, 147, 149, 149, 151, 154, 154, 154,
+ 154, 154, 154, 154, 154, 154, 154, 156,
+ 158, 161, 163, 165, 168, 170, 170, 172,
+ 175, 177, 179, 181, 183, 185, 188, 190,
+ 192, 194, 196, 198, 200, 202, 204, 206,
+ 208, 210, 212, 214, 216, 218, 220, 222,
+ 224, 226, 228, 231, 233, 233, 233, 233,
+ 233, 233, 233, 233, 233, 233, 235, 237,
+ 239, 242, 244, 246, 248, 250, 252, 254,
+ 256, 258, 260, 262, 264, 266, 268, 270,
+ 272, 274, 276, 278, 280, 282, 284, 289,
+ 294, 299, 304, 304, 304, 306, 306, 306,
+ 306, 308, 308, 310, 313, 315, 317, 322,
+ 327, 332, 337, 340, 342, 347, 352, 354,
+ 356, 358, 360, 362, 364, 366, 368, 370,
+ 372, 374, 376, 378, 380, 382, 384, 386,
+ 389, 392, 394, 397, 399, 399, 399, 399,
+ 399, 399, 399, 399, 399, 399, 399, 399,
+ 399, 399, 399, 399, 399, 399, 400, 401,
+ 401, 401, 401, 401, 402, 404, 406, 408,
+ 410, 410, 412, 412, 414, 417, 419, 421,
+ 421, 423, 425, 425, 425, 425, 425, 425,
+ 427, 430, 432, 434, 436, 438, 438, 440,
+ 442, 442, 442, 442, 442, 442, 444, 447,
+ 449, 452, 455, 455, 455, 455, 455, 457,
+ 460, 460, 462, 464, 466, 466, 466, 468,
+ 471, 471, 471, 473, 473, 473, 473, 473,
+ 473, 475, 477, 477, 477, 479, 479, 479,
+ 479, 481, 481, 481, 481, 483, 483, 483,
+ 483, 483, 485, 485, 485, 485, 487, 487,
+ 487, 487, 489, 491, 491, 491, 491, 491,
+ 493, 493, 495, 495, 495, 495, 495, 497,
+ 497, 497, 497, 499, 499, 499, 499, 499,
+ 499, 499, 499, 501, 501, 501, 503, 505,
+ 505, 505, 507, 507, 509, 509, 511, 513,
+ 513, 513, 513, 513, 515, 517, 517, 517,
+ 517, 517, 519, 519, 521, 523, 523, 525,
+ 527, 527, 527, 527, 527, 529, 529, 529,
+ 529, 529, 529, 529, 529, 529, 529, 531,
+ 531, 531, 533, 533, 535, 535, 535, 535,
+ 537, 539, 539, 539, 539, 539, 539, 541,
+ 541, 543, 543, 545, 545, 547, 547, 547,
+ 547, 549, 549, 549, 551, 551, 551, 551,
+ 553, 553, 555, 555, 555, 555, 557, 557,
+ 557, 559, 559, 559, 559, 559, 559, 561,
+ 561, 561, 561, 561, 561, 563, 563, 563,
+ 563, 565, 565, 567, 569, 571, 573, 575,
+ 575, 577, 580, 583, 586, 588, 590, 592,
+ 594, 594, 596, 599, 602, 604, 607, 607,
+ 607, 607, 607, 607, 607, 607, 607, 607,
+ 607, 607, 607, 607, 607, 607, 607, 607,
+ 607, 607, 607, 607, 607, 607, 607, 607,
+ 607, 607, 607, 607, 607, 607, 607, 607,
+ 607, 607, 607, 607, 607, 607, 607, 607,
+ 607, 607, 607, 607, 607, 607, 607, 607,
+ 607, 607, 607, 607, 607, 607, 607, 609,
+ 611, 611, 611, 611, 611, 611, 613, 616,
+ 616, 616, 616, 616, 616, 616, 616, 616,
+ 618, 620, 620, 622, 622, 622, 622, 622,
+ 622, 622, 622, 622, 622, 622, 622, 622,
+ 622, 624, 624, 624, 624, 624, 624, 624,
+ 624, 624, 624, 624, 624, 624, 624, 626,
626, 626, 626, 626, 626, 626, 626, 626,
- 626, 626, 628, 630, 632, 634, 636, 638,
- 640, 642, 644, 646, 648, 650, 650, 650,
- 650, 650, 653, 655, 655, 657, 660, 662,
- 662, 664, 667, 669, 669, 671, 674, 677,
- 680, 680, 682, 684, 684, 687, 687, 689,
- 691, 691, 694, 694, 696, 698, 698, 701,
- 701, 703, 705, 708, 708, 708, 708, 710,
- 712, 714, 716, 718, 720, 722, 724, 726,
- 728, 730, 732, 734, 736, 738, 740, 740,
- 742, 744, 746, 748, 750, 752, 754, 756,
- 759, 761, 763, 766, 768, 770, 772, 775,
- 777, 779, 781, 784, 786, 788, 790, 793,
- 795, 798, 800, 802, 805, 808, 811, 813,
- 816, 818, 820, 823, 826, 826, 828, 830,
- 832, 834, 836, 838, 838, 841, 844, 847,
- 847, 849, 851, 853, 855, 857, 859, 861,
- 863, 865, 867, 867, 870, 873, 876, 879,
- 882, 882, 884, 886, 888, 890, 892, 894,
- 896, 899, 902, 905, 907, 907, 907, 907,
- 907, 907, 909, 912, 912, 912, 912, 912,
- 914, 916, 918, 920, 922, 924, 924, 926,
- 929, 932, 935, 938, 938, 940, 942, 944,
- 946, 946, 948, 951, 954, 957, 957, 959,
- 961, 963, 965, 967, 969, 975, 986, 988,
- 991, 997, 1000, 1011, 1014, 1017, 1020, 1022,
- 1024, 1026, 1028, 1034, 1037, 1040, 1042, 1044,
- 1046, 1048, 1054, 1057, 1060, 1062, 1064, 1066,
- 1068, 1074, 1077, 1080, 1083, 1083, 1085, 1087,
- 1089, 1091, 1093, 1095, 1097, 1099, 1101, 1103,
- 1105, 1107, 1109, 1111, 1113, 1115, 1117, 1120,
- 1123, 1126, 1129, 1132, 1135, 1138, 1141, 1141,
- 1141, 1143, 1143, 1143, 1143, 1145, 1145, 1147,
- 1147, 1147, 1149, 1149, 1149, 1149, 1149, 1149,
- 1151, 1153, 1153, 1153, 1155, 1155, 1155, 1155,
- 1157, 1157, 1157, 1157, 1159, 1159, 1159, 1159,
- 1159, 1161, 1161, 1161, 1161, 1163, 1163, 1163,
- 1163, 1165, 1167, 1167, 1167, 1167, 1167, 1169,
- 1169, 1171, 1171, 1171, 1171, 1171, 1173, 1173,
- 1173, 1173, 1175, 1175, 1175, 1175, 1175, 1175,
- 1175, 1175, 1177, 1177, 1177, 1179, 1181, 1181,
- 1181, 1183, 1183, 1185, 1185, 1187, 1189, 1189,
- 1189, 1189, 1189, 1191, 1193, 1193, 1193, 1193,
- 1193, 1195, 1195, 1197, 1199, 1199, 1201, 1203,
- 1203, 1203, 1203, 1203, 1205, 1205, 1205, 1205,
- 1205, 1205, 1205, 1205, 1205, 1205, 1207, 1207,
- 1207, 1209, 1209, 1211, 1211, 1211, 1211, 1213,
- 1215, 1215, 1215, 1215, 1215, 1215, 1217, 1217,
- 1219, 1219, 1221, 1221, 1223, 1223, 1223, 1223,
- 1225, 1225, 1225, 1227, 1227, 1227, 1227, 1229,
- 1229, 1231, 1231, 1231, 1231, 1233, 1233, 1233,
- 1235, 1235, 1235, 1235, 1235, 1235, 1237, 1237,
- 1237, 1237, 1237, 1239, 1241, 1243, 1245, 1247,
- 1249, 1251, 1254, 1257, 1260, 1260, 1262, 1262,
- 1264, 1266, 1268, 1270, 1272, 1274, 1276, 1278,
- 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278,
- 1278, 1278, 1278, 1278, 1278, 1278, 1281, 1281,
- 1283, 1286, 1289, 1292, 1292, 1294, 1296, 1298,
- 1300, 1302, 1304, 1304, 1304, 1304, 1307, 1310,
- 1313, 1313, 1315, 1317, 1319, 1321, 1323, 1325,
- 1325, 1327, 1330, 1333, 1336, 1339, 1339, 1341,
- 1343, 1343, 1343, 1346, 1346, 1348, 1350, 1352,
- 1354, 1356, 1358, 1358, 1360, 1363, 1366, 1369,
- 1372, 1372, 1374, 1376, 1376, 1379, 1379, 1381,
- 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383,
- 1383, 1383, 1386, 1386, 1386, 1386, 1386, 1386,
- 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386,
- 1388, 1390, 1392, 1394, 1394, 1397, 1400, 1400,
- 1402, 1404, 1406, 1408, 1408, 1411, 1414, 1414,
- 1416, 1418, 1418, 1418, 1421, 1423, 1425, 1427,
- 1429, 1431, 1433, 1435, 1437, 1439, 1441, 1441,
- 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1443,
- 1443, 1445, 1448, 1448, 1450, 1453, 1453, 1455,
- 1458, 1460, 1460, 1462, 1465, 1468, 1468, 1468,
- 1470, 1473, 1473, 1473, 1473, 1473, 1473, 1473,
- 1473, 1473, 1473, 1475, 1478, 1478, 1478, 1480,
- 1483, 1485, 1488, 1490, 1493, 1495, 1498, 1498,
- 1498, 1498, 1498, 1500, 1503, 1503, 1505, 1508,
- 1508, 1510, 1513, 1513, 1519, 1522, 1533, 1536,
- 1547, 1550, 1550, 1550, 1550, 1550, 1550, 1550,
- 1550, 1552, 1555, 1555, 1555, 1557, 1560, 1560,
- 1560, 1560, 1560, 1560, 1560
+ 626, 626, 628, 628, 628, 628, 628, 630,
+ 630, 630, 630, 630, 630, 630, 630, 630,
+ 630, 630, 630, 630, 630, 630, 632, 632,
+ 632, 632, 632, 632, 632, 632, 632, 632,
+ 632, 632, 632, 632, 632, 632, 634, 634,
+ 634, 634, 634, 636, 636, 636, 636, 636,
+ 636, 636, 636, 638, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 640, 640, 640, 640,
+ 640, 640, 640, 640, 642, 644, 646, 648,
+ 650, 652, 654, 656, 658, 660, 662, 664,
+ 664, 664, 664, 664, 667, 669, 669, 671,
+ 674, 676, 676, 678, 681, 683, 683, 685,
+ 688, 691, 694, 694, 696, 698, 698, 701,
+ 701, 703, 705, 705, 708, 708, 710, 712,
+ 712, 715, 715, 717, 719, 722, 722, 722,
+ 722, 724, 726, 728, 730, 732, 734, 736,
+ 738, 740, 742, 744, 746, 748, 750, 752,
+ 754, 754, 756, 758, 760, 762, 764, 766,
+ 768, 770, 773, 775, 777, 780, 782, 784,
+ 786, 789, 791, 793, 795, 798, 800, 802,
+ 804, 807, 809, 812, 814, 816, 819, 822,
+ 825, 827, 830, 832, 834, 837, 840, 840,
+ 842, 844, 846, 848, 850, 852, 852, 855,
+ 858, 861, 861, 863, 865, 867, 869, 871,
+ 873, 875, 877, 879, 881, 881, 884, 887,
+ 890, 893, 896, 896, 898, 900, 902, 904,
+ 906, 908, 910, 913, 916, 919, 921, 921,
+ 921, 921, 921, 921, 923, 926, 926, 926,
+ 926, 926, 928, 930, 932, 934, 936, 938,
+ 938, 940, 943, 946, 949, 952, 952, 954,
+ 956, 958, 960, 960, 962, 965, 968, 971,
+ 971, 973, 975, 977, 979, 981, 983, 989,
+ 1000, 1002, 1005, 1011, 1014, 1025, 1028, 1031,
+ 1034, 1036, 1038, 1040, 1042, 1048, 1051, 1054,
+ 1056, 1058, 1060, 1062, 1068, 1071, 1074, 1076,
+ 1078, 1080, 1082, 1088, 1091, 1094, 1097, 1097,
+ 1099, 1101, 1103, 1105, 1107, 1109, 1111, 1113,
+ 1115, 1117, 1119, 1121, 1123, 1125, 1127, 1129,
+ 1131, 1134, 1137, 1140, 1143, 1146, 1149, 1152,
+ 1155, 1155, 1155, 1157, 1157, 1157, 1157, 1159,
+ 1159, 1161, 1161, 1161, 1163, 1163, 1163, 1163,
+ 1163, 1163, 1165, 1167, 1167, 1167, 1169, 1169,
+ 1169, 1169, 1171, 1171, 1171, 1171, 1173, 1173,
+ 1173, 1173, 1173, 1175, 1175, 1175, 1175, 1177,
+ 1177, 1177, 1177, 1179, 1181, 1181, 1181, 1181,
+ 1181, 1183, 1183, 1185, 1185, 1185, 1185, 1185,
+ 1187, 1187, 1187, 1187, 1189, 1189, 1189, 1189,
+ 1189, 1189, 1189, 1189, 1191, 1191, 1191, 1193,
+ 1195, 1195, 1195, 1197, 1197, 1199, 1199, 1201,
+ 1203, 1203, 1203, 1203, 1203, 1205, 1207, 1207,
+ 1207, 1207, 1207, 1209, 1209, 1211, 1213, 1213,
+ 1215, 1217, 1217, 1217, 1217, 1217, 1219, 1219,
+ 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
+ 1221, 1221, 1221, 1223, 1223, 1225, 1225, 1225,
+ 1225, 1227, 1229, 1229, 1229, 1229, 1229, 1229,
+ 1231, 1231, 1233, 1233, 1235, 1235, 1237, 1237,
+ 1237, 1237, 1239, 1239, 1239, 1241, 1241, 1241,
+ 1241, 1243, 1243, 1245, 1245, 1245, 1245, 1247,
+ 1247, 1247, 1249, 1249, 1249, 1249, 1249, 1249,
+ 1251, 1251, 1251, 1251, 1251, 1251, 1253, 1253,
+ 1253, 1253, 1253, 1255, 1257, 1259, 1261, 1263,
+ 1265, 1267, 1270, 1273, 1276, 1276, 1278, 1278,
+ 1280, 1282, 1284, 1286, 1288, 1290, 1292, 1294,
+ 1294, 1294, 1294, 1294, 1294, 1294, 1294, 1294,
+ 1294, 1294, 1294, 1294, 1294, 1294, 1297, 1297,
+ 1299, 1302, 1305, 1308, 1308, 1310, 1312, 1314,
+ 1316, 1318, 1320, 1320, 1320, 1320, 1323, 1326,
+ 1329, 1329, 1331, 1333, 1335, 1337, 1339, 1341,
+ 1341, 1343, 1346, 1349, 1352, 1355, 1355, 1357,
+ 1359, 1359, 1359, 1362, 1362, 1364, 1366, 1368,
+ 1370, 1372, 1374, 1374, 1376, 1379, 1382, 1385,
+ 1388, 1388, 1390, 1392, 1392, 1395, 1395, 1397,
+ 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399,
+ 1399, 1399, 1402, 1402, 1402, 1402, 1402, 1402,
+ 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402,
+ 1404, 1406, 1408, 1410, 1410, 1413, 1416, 1416,
+ 1418, 1420, 1422, 1424, 1424, 1427, 1430, 1430,
+ 1432, 1434, 1434, 1434, 1437, 1439, 1441, 1443,
+ 1445, 1447, 1449, 1451, 1453, 1455, 1457, 1457,
+ 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1459,
+ 1459, 1461, 1464, 1464, 1466, 1469, 1469, 1471,
+ 1474, 1476, 1476, 1478, 1481, 1484, 1484, 1484,
+ 1486, 1489, 1489, 1489, 1489, 1489, 1489, 1489,
+ 1489, 1489, 1489, 1491, 1494, 1494, 1494, 1496,
+ 1499, 1501, 1504, 1506, 1509, 1511, 1514, 1514,
+ 1514, 1514, 1514, 1516, 1519, 1519, 1521, 1524,
+ 1524, 1526, 1529, 1529, 1535, 1538, 1549, 1552,
+ 1563, 1566, 1566, 1566, 1566, 1566, 1566, 1566,
+ 1566, 1568, 1571, 1571, 1571, 1573, 1576, 1576,
+ 1576, 1576, 1576, 1576, 1576
};
static const char _zone_scanner_cond_lengths[] = {
@@ -1108,75 +1129,78 @@ static const char _zone_scanner_cond_lengths[] = {
2, 0, 2, 0, 0, 0, 2, 0,
0, 2, 0, 0, 0, 2, 0, 2,
0, 0, 0, 2, 0, 0, 2, 0,
- 0, 0, 0, 0, 2, 3, 2, 0,
- 2, 2, 2, 2, 0, 2, 3, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 2, 3, 2, 2, 3, 2, 0,
- 2, 3, 2, 2, 2, 2, 2, 3,
+ 0, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 2, 3, 2, 0, 2, 2,
+ 2, 2, 0, 2, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2, 2,
+ 3, 2, 2, 3, 2, 0, 2, 3,
+ 2, 2, 2, 2, 2, 3, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 3, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2, 2,
- 2, 3, 2, 2, 2, 2, 2, 2,
+ 2, 2, 3, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2, 2, 2,
+ 3, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 5, 5,
5, 5, 0, 0, 2, 0, 0, 0,
2, 0, 2, 3, 2, 2, 5, 5,
5, 5, 3, 2, 5, 5, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 3, 3,
- 2, 3, 2, 0, 0, 0, 0, 0,
+ 2, 2, 2, 2, 2, 2, 2, 3,
+ 3, 2, 3, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 1, 0, 0,
- 0, 0, 1, 2, 2, 2, 2, 0,
- 2, 0, 2, 3, 2, 2, 0, 2,
- 2, 0, 0, 0, 0, 0, 2, 3,
- 2, 2, 2, 2, 0, 2, 2, 0,
- 0, 0, 0, 0, 2, 3, 2, 3,
- 3, 0, 0, 0, 0, 2, 3, 0,
- 2, 2, 2, 0, 0, 2, 3, 0,
- 0, 2, 0, 0, 0, 0, 0, 2,
- 2, 0, 0, 2, 0, 0, 0, 2,
- 0, 0, 0, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 1, 0,
+ 0, 0, 0, 1, 2, 2, 2, 2,
+ 0, 2, 0, 2, 3, 2, 2, 0,
+ 2, 2, 0, 0, 0, 0, 0, 2,
+ 3, 2, 2, 2, 2, 0, 2, 2,
+ 0, 0, 0, 0, 0, 2, 3, 2,
+ 3, 3, 0, 0, 0, 0, 2, 3,
+ 0, 2, 2, 2, 0, 0, 2, 3,
+ 0, 0, 2, 0, 0, 0, 0, 0,
+ 2, 2, 0, 0, 2, 0, 0, 0,
2, 0, 0, 0, 2, 0, 0, 0,
- 2, 2, 0, 0, 0, 0, 2, 0,
- 2, 0, 0, 0, 0, 2, 0, 0,
- 0, 2, 0, 0, 0, 0, 0, 0,
- 0, 2, 0, 0, 2, 2, 0, 0,
- 2, 0, 2, 0, 2, 2, 0, 0,
- 0, 0, 2, 2, 0, 0, 0, 0,
- 2, 0, 2, 2, 0, 2, 2, 0,
- 0, 0, 0, 2, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 2, 0, 0,
- 2, 0, 2, 0, 0, 0, 2, 2,
- 0, 0, 0, 0, 0, 2, 0, 2,
+ 0, 2, 0, 0, 0, 2, 0, 0,
+ 0, 2, 2, 0, 0, 0, 0, 2,
+ 0, 2, 0, 0, 0, 0, 2, 0,
+ 0, 0, 2, 0, 0, 0, 0, 0,
+ 0, 0, 2, 0, 0, 2, 2, 0,
+ 0, 2, 0, 2, 0, 2, 2, 0,
+ 0, 0, 0, 2, 2, 0, 0, 0,
+ 0, 2, 0, 2, 2, 0, 2, 2,
+ 0, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0,
0, 2, 0, 2, 0, 0, 0, 2,
- 0, 0, 2, 0, 0, 0, 2, 0,
- 2, 0, 0, 0, 2, 0, 0, 2,
- 0, 0, 0, 0, 0, 2, 0, 0,
- 0, 2, 0, 2, 2, 2, 2, 2,
- 0, 2, 3, 3, 3, 2, 2, 2,
- 2, 0, 2, 3, 3, 2, 3, 0,
+ 2, 0, 0, 0, 0, 0, 2, 0,
+ 2, 0, 2, 0, 2, 0, 0, 0,
+ 2, 0, 0, 2, 0, 0, 0, 2,
+ 0, 2, 0, 0, 0, 2, 0, 0,
+ 2, 0, 0, 0, 0, 0, 2, 0,
+ 0, 0, 0, 0, 2, 0, 0, 0,
+ 2, 0, 2, 2, 2, 2, 2, 0,
+ 2, 3, 3, 3, 2, 2, 2, 2,
+ 0, 2, 3, 3, 2, 3, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2, 2, 0, 0, 0,
- 0, 0, 2, 3, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 2, 0, 0,
- 0, 0, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2, 2,
+ 0, 0, 0, 0, 0, 2, 3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2,
2, 0, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0,
- 2, 2, 0, 0, 0, 0, 0, 0,
+ 0, 2, 0, 0, 0, 0, 2, 0,
0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2, 0, 0,
+ 0, 0, 2, 0, 0, 0, 0, 0,
+ 0, 0, 2, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -1193,56 +1217,59 @@ static const char _zone_scanner_cond_lengths[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 0, 0, 0,
- 0, 3, 2, 0, 2, 3, 2, 0,
- 2, 3, 2, 0, 2, 3, 3, 3,
- 0, 2, 2, 0, 3, 0, 2, 2,
- 0, 3, 0, 2, 2, 0, 3, 0,
- 2, 2, 3, 0, 0, 0, 2, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 0,
+ 0, 0, 0, 3, 2, 0, 2, 3,
+ 2, 0, 2, 3, 2, 0, 2, 3,
+ 3, 3, 0, 2, 2, 0, 3, 0,
+ 2, 2, 0, 3, 0, 2, 2, 0,
+ 3, 0, 2, 2, 3, 0, 0, 0,
2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 0, 2,
- 2, 2, 2, 2, 2, 2, 2, 3,
- 2, 2, 3, 2, 2, 2, 3, 2,
- 2, 2, 3, 2, 2, 2, 3, 2,
- 3, 2, 2, 3, 3, 3, 2, 3,
- 2, 2, 3, 3, 0, 2, 2, 2,
- 2, 2, 2, 0, 3, 3, 3, 0,
2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 0, 3, 3, 3, 3, 3,
0, 2, 2, 2, 2, 2, 2, 2,
- 3, 3, 3, 2, 0, 0, 0, 0,
- 0, 2, 3, 0, 0, 0, 0, 2,
- 2, 2, 2, 2, 2, 0, 2, 3,
- 3, 3, 3, 0, 2, 2, 2, 2,
- 0, 2, 3, 3, 3, 0, 2, 2,
- 2, 2, 2, 2, 6, 11, 2, 3,
- 6, 3, 11, 3, 3, 3, 2, 2,
- 2, 2, 6, 3, 3, 2, 2, 2,
- 2, 6, 3, 3, 2, 2, 2, 2,
- 6, 3, 3, 3, 0, 2, 2, 2,
+ 2, 3, 2, 2, 3, 2, 2, 2,
+ 3, 2, 2, 2, 3, 2, 2, 2,
+ 3, 2, 3, 2, 2, 3, 3, 3,
+ 2, 3, 2, 2, 3, 3, 0, 2,
+ 2, 2, 2, 2, 2, 0, 3, 3,
+ 3, 0, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 0, 3, 3, 3,
+ 3, 3, 0, 2, 2, 2, 2, 2,
+ 2, 2, 3, 3, 3, 2, 0, 0,
+ 0, 0, 0, 2, 3, 0, 0, 0,
+ 0, 2, 2, 2, 2, 2, 2, 0,
+ 2, 3, 3, 3, 3, 0, 2, 2,
+ 2, 2, 0, 2, 3, 3, 3, 0,
+ 2, 2, 2, 2, 2, 2, 6, 11,
+ 2, 3, 6, 3, 11, 3, 3, 3,
+ 2, 2, 2, 2, 6, 3, 3, 2,
+ 2, 2, 2, 6, 3, 3, 2, 2,
+ 2, 2, 6, 3, 3, 3, 0, 2,
2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 3, 3,
- 3, 3, 3, 3, 3, 3, 0, 0,
- 2, 0, 0, 0, 2, 0, 2, 0,
- 0, 2, 0, 0, 0, 0, 0, 2,
- 2, 0, 0, 2, 0, 0, 0, 2,
- 0, 0, 0, 2, 0, 0, 0, 0,
- 2, 0, 0, 0, 2, 0, 0, 0,
- 2, 2, 0, 0, 0, 0, 2, 0,
- 2, 0, 0, 0, 0, 2, 0, 0,
- 0, 2, 0, 0, 0, 0, 0, 0,
- 0, 2, 0, 0, 2, 2, 0, 0,
- 2, 0, 2, 0, 2, 2, 0, 0,
+ 2, 2, 2, 2, 2, 2, 2, 2,
+ 3, 3, 3, 3, 3, 3, 3, 3,
+ 0, 0, 2, 0, 0, 0, 2, 0,
+ 2, 0, 0, 2, 0, 0, 0, 0,
+ 0, 2, 2, 0, 0, 2, 0, 0,
+ 0, 2, 0, 0, 0, 2, 0, 0,
+ 0, 0, 2, 0, 0, 0, 2, 0,
0, 0, 2, 2, 0, 0, 0, 0,
- 2, 0, 2, 2, 0, 2, 2, 0,
+ 2, 0, 2, 0, 0, 0, 0, 2,
0, 0, 0, 2, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 2, 0, 0,
- 2, 0, 2, 0, 0, 0, 2, 2,
- 0, 0, 0, 0, 0, 2, 0, 2,
- 0, 2, 0, 2, 0, 0, 0, 2,
- 0, 0, 2, 0, 0, 0, 2, 0,
- 2, 0, 0, 0, 2, 0, 0, 2,
+ 0, 0, 0, 2, 0, 0, 2, 2,
+ 0, 0, 2, 0, 2, 0, 2, 2,
+ 0, 0, 0, 0, 2, 2, 0, 0,
+ 0, 0, 2, 0, 2, 2, 0, 2,
+ 2, 0, 0, 0, 0, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2,
+ 0, 0, 2, 0, 2, 0, 0, 0,
+ 2, 2, 0, 0, 0, 0, 0, 2,
+ 0, 2, 0, 2, 0, 2, 0, 0,
+ 0, 2, 0, 0, 2, 0, 0, 0,
+ 2, 0, 2, 0, 0, 0, 2, 0,
+ 0, 2, 0, 0, 0, 0, 0, 2,
0, 0, 0, 0, 0, 2, 0, 0,
0, 0, 2, 2, 2, 2, 2, 2,
2, 3, 3, 3, 0, 2, 0, 2,
@@ -1310,20 +1337,21 @@ static const short _zone_scanner_cond_keys[] = {
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
- 10, 10, 59, 59, -128, 9, 10, 10,
- 11, 127, 10, 10, 59, 59, 10, 10,
- 59, 59, 10, 10, 59, 59, 10, 10,
- 59, 59, 10, 10, 59, 59, 10, 10,
- 59, 59, -128, 9, 10, 10, 11, 127,
10, 10, 59, 59, 10, 10, 59, 59,
-128, 9, 10, 10, 11, 127, 10, 10,
+ 59, 59, 10, 10, 59, 59, 10, 10,
+ 59, 59, 10, 10, 59, 59, 10, 10,
59, 59, 10, 10, 59, 59, -128, 9,
10, 10, 11, 127, 10, 10, 59, 59,
10, 10, 59, 59, -128, 9, 10, 10,
11, 127, 10, 10, 59, 59, 10, 10,
+ 59, 59, -128, 9, 10, 10, 11, 127,
+ 10, 10, 59, 59, 10, 10, 59, 59,
+ -128, 9, 10, 10, 11, 127, 10, 10,
59, 59, 10, 10, 59, 59, 10, 10,
- 59, 59, 10, 10, 59, 59, -128, 9,
- 10, 10, 11, 127, 10, 10, 59, 59,
+ 59, 59, 10, 10, 59, 59, 10, 10,
+ 59, 59, -128, 9, 10, 10, 11, 127,
+ 10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
@@ -1346,24 +1374,25 @@ static const short _zone_scanner_cond_keys[] = {
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
- 10, 10, 59, 59, -128, 9, 10, 10,
- 11, 58, 59, 59, 60, 127, -128, 9,
- 10, 10, 11, 58, 59, 59, 60, 127,
- -128, 9, 10, 10, 11, 58, 59, 59,
- 60, 127, -128, 9, 10, 10, 11, 58,
- 59, 59, 60, 127, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
- -128, 9, 10, 10, 11, 127, 10, 10,
- 59, 59, 10, 10, 59, 59, -128, 9,
- 10, 10, 11, 58, 59, 59, 60, 127,
-128, 9, 10, 10, 11, 58, 59, 59,
60, 127, -128, 9, 10, 10, 11, 58,
59, 59, 60, 127, -128, 9, 10, 10,
11, 58, 59, 59, 60, 127, -128, 9,
- 10, 10, 11, 127, 10, 10, 59, 59,
+ 10, 10, 11, 58, 59, 59, 60, 127,
+ 10, 10, 59, 59, 10, 10, 59, 59,
+ 10, 10, 59, 59, -128, 9, 10, 10,
+ 11, 127, 10, 10, 59, 59, 10, 10,
+ 59, 59, -128, 9, 10, 10, 11, 58,
+ 59, 59, 60, 127, -128, 9, 10, 10,
+ 11, 58, 59, 59, 60, 127, -128, 9,
+ 10, 10, 11, 58, 59, 59, 60, 127,
-128, 9, 10, 10, 11, 58, 59, 59,
- 60, 127, -128, 9, 10, 10, 11, 58,
- 59, 59, 60, 127, 10, 10, 59, 59,
+ 60, 127, -128, 9, 10, 10, 11, 127,
+ 10, 10, 59, 59, -128, 9, 10, 10,
+ 11, 58, 59, 59, 60, 127, -128, 9,
+ 10, 10, 11, 58, 59, 59, 60, 127,
+ 10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
@@ -1418,17 +1447,17 @@ static const short _zone_scanner_cond_keys[] = {
59, 59, 10, 10, 59, 59, 10, 10,
59, 59, 10, 10, 59, 59, 10, 10,
59, 59, 10, 10, 59, 59, 10, 10,
- 59, 59, 10, 10, 59, 59, -128, 9,
- 10, 10, 11, 127, -128, 9, 10, 10,
- 11, 127, -128, 9, 10, 10, 11, 127,
+ 59, 59, 10, 10, 59, 59, 10, 10,
+ 59, 59, -128, 9, 10, 10, 11, 127,
+ -128, 9, 10, 10, 11, 127, -128, 9,
+ 10, 10, 11, 127, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
- 10, 10, 59, 59, -128, 9, 10, 10,
- 11, 127, -128, 9, 10, 10, 11, 127,
- 10, 10, 59, 59, -128, 9, 10, 10,
- 11, 127, 10, 10, 59, 59, 10, 10,
- 59, 59, 10, 10, 59, 59, -128, 9,
+ -128, 9, 10, 10, 11, 127, -128, 9,
10, 10, 11, 127, 10, 10, 59, 59,
+ -128, 9, 10, 10, 11, 127, 10, 10,
+ 59, 59, 10, 10, 59, 59, 10, 10,
+ 59, 59, -128, 9, 10, 10, 11, 127,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
@@ -1439,14 +1468,7 @@ static const short _zone_scanner_cond_keys[] = {
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
- 10, 10, 59, 59, -128, 9, 10, 10,
- 11, 127, 10, 10, 59, 59, 10, 10,
- 59, 59, -128, 9, 10, 10, 11, 127,
10, 10, 59, 59, 10, 10, 59, 59,
- -128, 9, 10, 10, 11, 127, 10, 10,
- 59, 59, 10, 10, 59, 59, -128, 9,
- 10, 10, 11, 127, -128, 9, 10, 10,
- 11, 127, -128, 9, 10, 10, 11, 127,
10, 10, 59, 59, 10, 10, 59, 59,
-128, 9, 10, 10, 11, 127, 10, 10,
59, 59, 10, 10, 59, 59, -128, 9,
@@ -1454,7 +1476,15 @@ static const short _zone_scanner_cond_keys[] = {
10, 10, 59, 59, -128, 9, 10, 10,
11, 127, 10, 10, 59, 59, 10, 10,
59, 59, -128, 9, 10, 10, 11, 127,
+ -128, 9, 10, 10, 11, 127, -128, 9,
+ 10, 10, 11, 127, 10, 10, 59, 59,
+ 10, 10, 59, 59, -128, 9, 10, 10,
+ 11, 127, 10, 10, 59, 59, 10, 10,
+ 59, 59, -128, 9, 10, 10, 11, 127,
10, 10, 59, 59, 10, 10, 59, 59,
+ -128, 9, 10, 10, 11, 127, 10, 10,
+ 59, 59, 10, 10, 59, 59, -128, 9,
+ 10, 10, 11, 127, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
@@ -1466,89 +1496,89 @@ static const short _zone_scanner_cond_keys[] = {
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
- -128, 9, 10, 10, 11, 127, 10, 10,
+ 10, 10, 59, 59, -128, 9, 10, 10,
+ 11, 127, 10, 10, 59, 59, 10, 10,
+ 59, 59, -128, 9, 10, 10, 11, 127,
+ 10, 10, 59, 59, 10, 10, 59, 59,
+ 10, 10, 59, 59, -128, 9, 10, 10,
+ 11, 127, 10, 10, 59, 59, 10, 10,
59, 59, 10, 10, 59, 59, -128, 9,
10, 10, 11, 127, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
-128, 9, 10, 10, 11, 127, 10, 10,
- 59, 59, 10, 10, 59, 59, 10, 10,
59, 59, -128, 9, 10, 10, 11, 127,
10, 10, 59, 59, 10, 10, 59, 59,
- 10, 10, 59, 59, -128, 9, 10, 10,
+ -128, 9, 10, 10, 11, 127, -128, 9,
+ 10, 10, 11, 127, -128, 9, 10, 10,
11, 127, 10, 10, 59, 59, -128, 9,
10, 10, 11, 127, 10, 10, 59, 59,
10, 10, 59, 59, -128, 9, 10, 10,
11, 127, -128, 9, 10, 10, 11, 127,
- -128, 9, 10, 10, 11, 127, 10, 10,
- 59, 59, -128, 9, 10, 10, 11, 127,
10, 10, 59, 59, 10, 10, 59, 59,
- -128, 9, 10, 10, 11, 127, -128, 9,
- 10, 10, 11, 127, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
- 10, 10, 59, 59, -128, 9, 10, 10,
- 11, 127, -128, 9, 10, 10, 11, 127,
- -128, 9, 10, 10, 11, 127, 10, 10,
+ -128, 9, 10, 10, 11, 127, -128, 9,
+ 10, 10, 11, 127, -128, 9, 10, 10,
+ 11, 127, 10, 10, 59, 59, 10, 10,
59, 59, 10, 10, 59, 59, 10, 10,
59, 59, 10, 10, 59, 59, 10, 10,
59, 59, 10, 10, 59, 59, 10, 10,
59, 59, 10, 10, 59, 59, 10, 10,
- 59, 59, 10, 10, 59, 59, -128, 9,
- 10, 10, 11, 127, -128, 9, 10, 10,
- 11, 127, -128, 9, 10, 10, 11, 127,
- -128, 9, 10, 10, 11, 127, -128, 9,
- 10, 10, 11, 127, 10, 10, 59, 59,
- 10, 10, 59, 59, 10, 10, 59, 59,
- 10, 10, 59, 59, 10, 10, 59, 59,
- 10, 10, 59, 59, 10, 10, 59, 59,
+ 59, 59, -128, 9, 10, 10, 11, 127,
-128, 9, 10, 10, 11, 127, -128, 9,
10, 10, 11, 127, -128, 9, 10, 10,
- 11, 127, 10, 10, 59, 59, 10, 10,
- 59, 59, -128, 9, 10, 10, 11, 127,
+ 11, 127, -128, 9, 10, 10, 11, 127,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, -128, 9, 10, 10,
11, 127, -128, 9, 10, 10, 11, 127,
- -128, 9, 10, 10, 11, 127, -128, 9,
+ -128, 9, 10, 10, 11, 127, 10, 10,
+ 59, 59, 10, 10, 59, 59, -128, 9,
10, 10, 11, 127, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
+ 10, 10, 59, 59, 10, 10, 59, 59,
-128, 9, 10, 10, 11, 127, -128, 9,
10, 10, 11, 127, -128, 9, 10, 10,
- 11, 127, 10, 10, 59, 59, 10, 10,
- 59, 59, 10, 10, 59, 59, 10, 10,
- 59, 59, 10, 10, 59, 59, 10, 10,
- 59, 59, 9, 9, 10, 10, 32, 32,
- 40, 40, 41, 41, 59, 59, 9, 9,
- 10, 10, 32, 32, 40, 40, 41, 41,
- 43, 43, 47, 47, 48, 57, 59, 59,
- 65, 90, 97, 122, 10, 10, 59, 59,
- -128, 9, 10, 10, 11, 127, 9, 9,
- 10, 10, 32, 32, 40, 40, 41, 41,
- 59, 59, -128, 9, 10, 10, 11, 127,
- 9, 9, 10, 10, 32, 32, 40, 40,
- 41, 41, 43, 43, 47, 47, 48, 57,
- 59, 59, 65, 90, 97, 122, -128, 9,
- 10, 10, 11, 127, -128, 9, 10, 10,
11, 127, -128, 9, 10, 10, 11, 127,
10, 10, 59, 59, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
- 9, 9, 10, 10, 32, 32, 40, 40,
- 41, 41, 59, 59, -128, 9, 10, 10,
+ 10, 10, 59, 59, -128, 9, 10, 10,
11, 127, -128, 9, 10, 10, 11, 127,
+ -128, 9, 10, 10, 11, 127, 10, 10,
+ 59, 59, 10, 10, 59, 59, 10, 10,
+ 59, 59, 10, 10, 59, 59, 10, 10,
+ 59, 59, 10, 10, 59, 59, 9, 9,
+ 10, 10, 32, 32, 40, 40, 41, 41,
+ 59, 59, 9, 9, 10, 10, 32, 32,
+ 40, 40, 41, 41, 43, 43, 47, 47,
+ 48, 57, 59, 59, 65, 90, 97, 122,
+ 10, 10, 59, 59, -128, 9, 10, 10,
+ 11, 127, 9, 9, 10, 10, 32, 32,
+ 40, 40, 41, 41, 59, 59, -128, 9,
+ 10, 10, 11, 127, 9, 9, 10, 10,
+ 32, 32, 40, 40, 41, 41, 43, 43,
+ 47, 47, 48, 57, 59, 59, 65, 90,
+ 97, 122, -128, 9, 10, 10, 11, 127,
+ -128, 9, 10, 10, 11, 127, -128, 9,
+ 10, 10, 11, 127, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
+ 10, 10, 59, 59, 9, 9, 10, 10,
+ 32, 32, 40, 40, 41, 41, 59, 59,
+ -128, 9, 10, 10, 11, 127, -128, 9,
+ 10, 10, 11, 127, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
- 9, 9, 10, 10, 32, 32, 40, 40,
- 41, 41, 59, 59, -128, 9, 10, 10,
- 11, 127, -128, 9, 10, 10, 11, 127,
- 10, 10, 59, 59, 10, 10, 59, 59,
+ 10, 10, 59, 59, 9, 9, 10, 10,
+ 32, 32, 40, 40, 41, 41, 59, 59,
+ -128, 9, 10, 10, 11, 127, -128, 9,
+ 10, 10, 11, 127, 10, 10, 59, 59,
10, 10, 59, 59, 10, 10, 59, 59,
- 9, 9, 10, 10, 32, 32, 40, 40,
- 41, 41, 59, 59, -128, 9, 10, 10,
- 11, 127, -128, 9, 10, 10, 11, 127,
- -128, 9, 10, 10, 11, 127, 10, 10,
- 59, 59, 10, 10, 59, 59, 10, 10,
+ 10, 10, 59, 59, 9, 9, 10, 10,
+ 32, 32, 40, 40, 41, 41, 59, 59,
+ -128, 9, 10, 10, 11, 127, -128, 9,
+ 10, 10, 11, 127, -128, 9, 10, 10,
+ 11, 127, 10, 10, 59, 59, 10, 10,
59, 59, 10, 10, 59, 59, 10, 10,
59, 59, 10, 10, 59, 59, 10, 10,
59, 59, 10, 10, 59, 59, 10, 10,
@@ -1556,13 +1586,14 @@ static const short _zone_scanner_cond_keys[] = {
59, 59, 10, 10, 59, 59, 10, 10,
59, 59, 10, 10, 59, 59, 10, 10,
59, 59, 10, 10, 59, 59, 10, 10,
- 59, 59, -128, 9, 10, 10, 11, 127,
- -128, 9, 10, 10, 11, 127, -128, 9,
+ 59, 59, 10, 10, 59, 59, -128, 9,
10, 10, 11, 127, -128, 9, 10, 10,
11, 127, -128, 9, 10, 10, 11, 127,
-128, 9, 10, 10, 11, 127, -128, 9,
10, 10, 11, 127, -128, 9, 10, 10,
- 11, 127, 10, 10, 59, 59, 10, 10,
+ 11, 127, -128, 9, 10, 10, 11, 127,
+ -128, 9, 10, 10, 11, 127, 10, 10,
+ 59, 59, 10, 10, 59, 59, 10, 10,
59, 59, 10, 10, 59, 59, 10, 10,
59, 59, 10, 10, 59, 59, 10, 10,
59, 59, 10, 10, 59, 59, 10, 10,
@@ -1687,32 +1718,33 @@ static const char _zone_scanner_cond_spaces[] = {
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 7, 0, 0,
+ 7, 7, 7, 7, 7, 7, 7, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 7, 7, 7,
- 7, 7, 7, 7, 7, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 7, 7,
+ 0, 0, 0, 0, 0, 0, 0, 7,
+ 7, 7, 7, 7, 7, 7, 7, 0,
0, 0, 0, 0, 0, 0, 0, 0,
+ 7, 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, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 7, 7,
- 7, 7, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 7, 7, 7, 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 7, 7, 7, 7, 7, 7,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
+ 7, 7, 7, 7, 7, 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, 7, 7,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 7, 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,
@@ -1740,16 +1772,16 @@ static const char _zone_scanner_cond_spaces[] = {
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 7, 0, 0, 0,
- 0, 0, 0, 0, 0, 7, 7, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
+ 7, 7, 7, 7, 7, 7, 7, 0,
+ 0, 0, 0, 0, 0, 0, 0, 7,
+ 7, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 7, 7, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 7, 7, 7,
- 7, 7, 7, 0, 0, 0, 7, 7,
+ 0, 0, 7, 7, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 7,
+ 7, 7, 7, 7, 7, 0, 0, 0,
+ 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
- 7, 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, 0, 0,
@@ -1758,19 +1790,19 @@ static const char _zone_scanner_cond_spaces[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 7, 7, 7,
- 7, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 7, 7, 7, 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, 0, 7, 7, 7, 7,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
- 7, 7, 7, 7, 0, 0, 0, 7,
+ 7, 7, 0, 0, 0, 7, 7, 7,
+ 7, 0, 0, 0, 7, 7, 7, 7,
+ 7, 7, 0, 0, 0, 7, 7, 7,
7, 7, 7, 0, 0, 0, 7, 7,
- 7, 7, 7, 7, 0, 0, 0, 7,
- 7, 7, 7, 7, 7, 0, 0, 0,
- 7, 7, 7, 7, 7, 7, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
+ 7, 7, 7, 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,
@@ -1782,35 +1814,36 @@ static const char _zone_scanner_cond_spaces[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 1, 1,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 7, 7, 7, 7, 0, 0, 0,
+ 0, 0, 0, 0, 1, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 7,
+ 7, 7, 7, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 7, 7, 0, 0,
+ 0, 0, 7, 7, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 7, 7, 0, 0, 0, 0,
+ 7, 7, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 10,
+ 13, 10, 10, 10, 13, 5, 8, 5,
+ 5, 5, 5, 5, 5, 8, 5, 5,
+ 1, 1, 8, 8, 8, 6, 11, 6,
+ 6, 6, 11, 9, 9, 9, 10, 13,
+ 10, 10, 10, 5, 5, 5, 13, 5,
+ 5, 12, 12, 12, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 10, 13, 10, 10, 10, 13, 5,
- 8, 5, 5, 5, 5, 5, 5, 8,
- 5, 5, 1, 1, 8, 8, 8, 6,
- 11, 6, 6, 6, 11, 9, 9, 9,
- 10, 13, 10, 10, 10, 5, 5, 5,
- 13, 5, 5, 12, 12, 12, 0, 0,
+ 0, 0, 10, 13, 10, 10, 10, 13,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 10, 13, 10, 10,
- 10, 13, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 10, 13,
+ 10, 10, 10, 13, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 10, 13, 10, 10, 10, 13, 0, 0,
+ 0, 0, 10, 13, 10, 10, 10, 13,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 10, 13, 10, 10,
- 10, 13, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1, 1, 0, 0, 0,
+ 0, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -1870,236 +1903,243 @@ static const char _zone_scanner_cond_spaces[] = {
};
static const short _zone_scanner_key_offsets[] = {
- 0, 0, 44, 62, 102, 118, 135, 143,
- 151, 152, 153, 156, 175, 194, 200, 256,
- 276, 318, 328, 330, 340, 354, 368, 372,
- 374, 376, 378, 380, 390, 400, 402, 404,
- 414, 416, 418, 420, 430, 432, 434, 436,
- 446, 452, 454, 456, 458, 468, 472, 474,
- 476, 486, 488, 490, 492, 502, 512, 514,
- 516, 518, 519, 529, 530, 540, 544, 546,
- 548, 550, 560, 562, 564, 566, 576, 580,
- 586, 626, 628, 630, 632, 634, 636, 638,
- 640, 650, 654, 656, 666, 676, 682, 683,
- 693, 694, 704, 706, 716, 726, 730, 732,
- 734, 736, 746, 756, 762, 764, 766, 768,
- 778, 780, 790, 802, 804, 815, 827, 829,
- 831, 833, 835, 845, 847, 849, 851, 853,
- 855, 857, 859, 861, 863, 873, 875, 877,
- 887, 893, 903, 905, 907, 909, 919, 929,
- 941, 943, 945, 947, 949, 959, 961, 971,
- 973, 983, 985, 995, 997, 999, 1001, 1011,
- 1013, 1015, 1025, 1031, 1033, 1035, 1045, 1047,
- 1057, 1059, 1061, 1063, 1075, 1077, 1079, 1089,
- 1091, 1093, 1095, 1097, 1099, 1109, 1112, 1156,
- 1160, 1166, 1208, 1226, 1234, 1246, 1254, 1257,
- 1258, 1264, 1266, 1268, 1270, 1272, 1274, 1276,
- 1282, 1288, 1330, 1333, 1351, 1393, 1396, 1404,
- 1416, 1424, 1427, 1443, 1497, 1515, 1534, 1578,
- 1584, 1598, 1612, 1668, 1686, 1700, 1710, 1722,
- 1734, 1746, 1760, 1772, 1786, 1796, 1806, 1820,
- 1840, 1854, 1864, 1874, 1880, 1894, 1896, 1898,
- 1900, 1902, 1904, 1910, 1912, 1914, 1920, 1928,
- 1948, 1992, 1998, 2016, 2072, 2090, 2104, 2114,
- 2126, 2138, 2150, 2164, 2176, 2190, 2200, 2210,
- 2224, 2244, 2258, 2268, 2278, 2293, 2337, 2351,
- 2365, 2381, 2397, 2399, 2401, 2411, 2413, 2415,
- 2417, 2427, 2429, 2439, 2445, 2459, 2473, 2489,
- 2505, 2521, 2537, 2540, 2596, 2610, 2624, 2640,
- 2652, 2660, 2670, 2680, 2690, 2702, 2712, 2724,
- 2732, 2740, 2752, 2770, 2782, 2790, 2798, 2804,
- 2810, 2820, 2826, 2835, 2836, 2837, 2848, 2864,
- 2880, 2882, 2884, 2886, 2902, 2908, 2914, 2920,
- 2932, 2938, 2940, 2942, 2954, 2962, 2970, 2976,
- 2982, 2984, 2986, 2994, 3000, 3008, 3028, 3036,
- 3037, 3047, 3059, 3069, 3072, 3078, 3094, 3104,
- 3122, 3130, 3131, 3133, 3135, 3137, 3147, 3155,
- 3158, 3164, 3176, 3184, 3202, 3212, 3230, 3238,
- 3239, 3241, 3243, 3245, 3255, 3263, 3269, 3285,
- 3288, 3291, 3298, 3305, 3313, 3321, 3338, 3341,
- 3342, 3352, 3396, 3412, 3414, 3416, 3426, 3429,
- 3439, 3441, 3451, 3455, 3457, 3459, 3461, 3463,
- 3473, 3483, 3485, 3487, 3497, 3499, 3501, 3503,
- 3513, 3515, 3517, 3519, 3529, 3535, 3537, 3539,
- 3541, 3551, 3555, 3557, 3559, 3569, 3571, 3573,
- 3575, 3585, 3595, 3597, 3599, 3601, 3602, 3612,
- 3613, 3623, 3627, 3629, 3631, 3633, 3643, 3645,
- 3647, 3649, 3659, 3661, 3663, 3665, 3667, 3669,
- 3671, 3673, 3683, 3687, 3689, 3699, 3709, 3715,
- 3716, 3726, 3727, 3737, 3739, 3749, 3759, 3763,
- 3765, 3767, 3769, 3779, 3789, 3795, 3797, 3799,
- 3801, 3811, 3813, 3823, 3835, 3837, 3848, 3860,
- 3862, 3864, 3866, 3868, 3878, 3880, 3882, 3884,
- 3886, 3888, 3890, 3892, 3894, 3896, 3906, 3908,
- 3910, 3920, 3926, 3936, 3938, 3940, 3942, 3952,
- 3962, 3974, 3976, 3978, 3980, 3982, 3992, 3994,
- 4004, 4006, 4016, 4018, 4028, 4030, 4032, 4034,
- 4044, 4046, 4048, 4058, 4064, 4066, 4068, 4078,
- 4080, 4090, 4092, 4094, 4096, 4108, 4110, 4112,
- 4122, 4124, 4126, 4128, 4130, 4132, 4142, 4144,
- 4146, 4148, 4158, 4160, 4170, 4176, 4184, 4192,
- 4204, 4210, 4226, 4229, 4232, 4235, 4241, 4250,
- 4260, 4272, 4278, 4294, 4297, 4300, 4308, 4311,
- 4317, 4318, 4319, 4320, 4328, 4329, 4330, 4338,
- 4339, 4340, 4342, 4343, 4344, 4345, 4346, 4354,
- 4355, 4356, 4357, 4358, 4366, 4367, 4368, 4370,
- 4380, 4381, 4382, 4383, 4384, 4385, 4386, 4387,
- 4388, 4389, 4390, 4391, 4392, 4393, 4394, 4402,
- 4403, 4404, 4405, 4413, 4423, 4440, 4441, 4442,
- 4443, 4444, 4451, 4461, 4464, 4465, 4466, 4467,
- 4475, 4482, 4489, 4497, 4505, 4513, 4523, 4524,
- 4531, 4539, 4547, 4564, 4565, 4566, 4567, 4569,
- 4570, 4571, 4572, 4573, 4574, 4578, 4581, 4586,
- 4589, 4603, 4606, 4607, 4608, 4609, 4610, 4611,
- 4619, 4626, 4635, 4642, 4660, 4667, 4668, 4669,
- 4671, 4684, 4690, 4700, 4701, 4702, 4703, 4704,
- 4705, 4706, 4707, 4708, 4709, 4714, 4718, 4720,
- 4724, 4735, 4739, 4740, 4741, 4742, 4743, 4744,
- 4745, 4746, 4747, 4748, 4749, 4750, 4751, 4752,
- 4753, 4763, 4764, 4765, 4766, 4767, 4770, 4772,
- 4775, 4787, 4803, 4804, 4816, 4824, 4828, 4834,
- 4836, 4843, 4845, 4847, 4849, 4851, 4852, 4853,
- 4855, 4857, 4859, 4860, 4866, 4870, 4874, 4875,
- 4877, 4879, 4881, 4883, 4889, 4891, 4893, 4895,
- 4897, 4898, 4899, 4901, 4903, 4905, 4906, 4907,
- 4908, 4914, 4915, 4916, 4918, 4920, 4922, 4923,
- 4924, 4925, 4931, 4933, 4934, 4935, 4936, 4937,
- 4943, 4944, 4945, 4951, 4953, 4955, 4957, 4959,
- 4961, 4963, 4965, 4971, 4973, 4975, 4977, 4979,
- 4981, 4983, 4987, 4989, 4991, 4997, 4999, 5001,
- 5007, 5009, 5011, 5015, 5017, 5018, 5024, 5026,
- 5028, 5031, 5038, 5040, 5042, 5044, 5046, 5047,
- 5048, 5050, 5052, 5054, 5055, 5061, 5062, 5063,
- 5069, 5070, 5071, 5077, 5091, 5099, 5101, 5103,
- 5105, 5107, 5109, 5115, 5121, 5123, 5125, 5127,
- 5129, 5131, 5137, 5141, 5143, 5149, 5151, 5153,
- 5159, 5161, 5163, 5165, 5171, 5173, 5175, 5181,
- 5185, 5187, 5193, 5195, 5197, 5203, 5205, 5207,
- 5209, 5215, 5217, 5219, 5225, 5228, 5237, 5246,
- 5252, 5261, 5267, 5282, 5288, 5296, 5304, 5312,
- 5330, 5338, 5356, 5364, 5382, 5390, 5408, 5416,
- 5428, 5436, 5439, 5447, 5459, 5467, 5470, 5478,
- 5490, 5498, 5501, 5509, 5521, 5529, 5532, 5535,
- 5538, 5544, 5550, 5562, 5568, 5571, 5580, 5586,
- 5601, 5607, 5610, 5612, 5620, 5635, 5641, 5644,
- 5650, 5660, 5676, 5679, 5686, 5699, 5701, 5709,
- 5719, 5727, 5737, 5746, 5754, 5760, 5768, 5776,
- 5786, 5794, 5804, 5813, 5821, 5827, 5836, 5838,
- 5852, 5864, 5878, 5890, 5904, 5916, 5930, 5940,
- 5943, 5956, 5969, 5972, 5985, 5998, 6008, 6011,
- 6024, 6037, 6047, 6050, 6063, 6076, 6086, 6089,
- 6095, 6098, 6106, 6114, 6117, 6120, 6123, 6129,
- 6132, 6140, 6148, 6151, 6154, 6156, 6164, 6172,
- 6180, 6188, 6196, 6211, 6217, 6220, 6223, 6226,
- 6228, 6236, 6244, 6252, 6264, 6270, 6282, 6288,
- 6300, 6306, 6321, 6327, 6330, 6333, 6336, 6339,
- 6342, 6348, 6354, 6362, 6370, 6382, 6388, 6401,
- 6403, 6406, 6409, 6412, 6425, 6427, 6428, 6431,
- 6434, 6436, 6448, 6451, 6452, 6459, 6466, 6468,
- 6476, 6488, 6494, 6502, 6510, 6522, 6528, 6544,
- 6547, 6550, 6553, 6556, 6558, 6566, 6574, 6582,
- 6594, 6600, 6616, 6619, 6622, 6625, 6627, 6635,
- 6645, 6651, 6659, 6667, 6674, 6708, 6721, 6723,
- 6726, 6740, 6743, 6784, 6793, 6796, 6799, 6805,
- 6813, 6821, 6830, 6867, 6870, 6873, 6879, 6887,
- 6895, 6908, 6949, 6952, 6955, 6961, 6969, 6977,
- 6992, 7026, 7029, 7032, 7035, 7069, 7081, 7093,
- 7099, 7107, 7115, 7123, 7131, 7139, 7147, 7155,
- 7163, 7171, 7179, 7194, 7200, 7213, 7215, 7218,
- 7221, 7224, 7227, 7230, 7233, 7236, 7239, 7241,
- 7243, 7249, 7251, 7253, 7255, 7261, 7263, 7269,
- 7279, 7281, 7287, 7291, 7293, 7295, 7297, 7299,
- 7305, 7311, 7313, 7315, 7321, 7323, 7325, 7327,
- 7333, 7335, 7337, 7339, 7345, 7351, 7353, 7355,
- 7357, 7363, 7367, 7369, 7371, 7377, 7379, 7381,
- 7383, 7389, 7395, 7397, 7399, 7401, 7402, 7408,
- 7409, 7415, 7419, 7421, 7423, 7425, 7431, 7433,
- 7435, 7437, 7443, 7445, 7447, 7449, 7451, 7453,
- 7455, 7457, 7463, 7467, 7469, 7475, 7481, 7487,
- 7488, 7494, 7495, 7501, 7503, 7509, 7515, 7519,
- 7521, 7523, 7525, 7531, 7537, 7543, 7545, 7547,
- 7549, 7555, 7557, 7563, 7571, 7573, 7580, 7588,
- 7590, 7592, 7594, 7596, 7602, 7604, 7606, 7608,
- 7610, 7612, 7614, 7616, 7618, 7620, 7626, 7628,
- 7630, 7636, 7642, 7648, 7650, 7652, 7654, 7660,
- 7666, 7678, 7680, 7682, 7684, 7686, 7692, 7694,
- 7700, 7702, 7708, 7710, 7716, 7718, 7720, 7722,
- 7728, 7730, 7732, 7738, 7744, 7746, 7748, 7754,
- 7756, 7762, 7764, 7766, 7768, 7776, 7778, 7780,
- 7786, 7788, 7790, 7792, 7794, 7796, 7802, 7811,
- 7817, 7823, 7825, 7833, 7841, 7849, 7861, 7867,
- 7880, 7882, 7885, 7888, 7891, 7898, 7900, 7902,
- 7910, 7918, 7926, 7934, 7942, 7955, 7961, 7973,
- 7979, 7986, 7992, 7999, 8006, 8012, 8019, 8031,
- 8037, 8038, 8039, 8040, 8041, 8042, 8045, 8051,
- 8063, 8066, 8069, 8072, 8074, 8082, 8090, 8098,
- 8106, 8114, 8127, 8133, 8139, 8151, 8154, 8157,
- 8160, 8162, 8170, 8178, 8186, 8194, 8202, 8214,
- 8220, 8236, 8239, 8242, 8245, 8248, 8250, 8258,
- 8266, 8274, 8280, 8283, 8285, 8293, 8301, 8309,
- 8317, 8325, 8337, 8343, 8359, 8362, 8365, 8368,
- 8371, 8373, 8381, 8390, 8399, 8402, 8404, 8412,
- 8424, 8430, 8436, 8442, 8443, 8449, 8455, 8461,
- 8467, 8474, 8477, 8483, 8489, 8490, 8496, 8502,
- 8509, 8515, 8521, 8522, 8528, 8534, 8541, 8543,
- 8551, 8559, 8567, 8579, 8585, 8588, 8591, 8593,
- 8601, 8613, 8619, 8631, 8637, 8640, 8643, 8645,
- 8653, 8668, 8674, 8680, 8683, 8701, 8734, 8786,
- 8840, 8858, 8912, 8930, 8963, 9032, 9101, 9101,
- 9101, 9101, 9101, 9113, 9113, 9113, 9113, 9129,
- 9129, 9146, 9149, 9149, 9193, 9196, 9196, 9212,
- 9215, 9227, 9227, 9243, 9246, 9249, 9249, 9249,
- 9266, 9269, 9269, 9269, 9269, 9269, 9269, 9269,
- 9269, 9269, 9269, 9285, 9288, 9288, 9288, 9298,
- 9301, 9313, 9316, 9328, 9331, 9343, 9346, 9346,
- 9346, 9346, 9346, 9359, 9362, 9362, 9378, 9381,
- 9381, 9397, 9400, 9400, 9414, 9417, 9430, 9433,
- 9474, 9483, 9483, 9483, 9483, 9483, 9483, 9483,
- 9483, 9499, 9502, 9502, 9502, 9518, 9521, 9521,
- 9521, 9521, 9521, 9521, 9521
+ 0, 0, 46, 64, 106, 122, 139, 147,
+ 155, 156, 157, 160, 179, 198, 204, 262,
+ 282, 326, 336, 338, 348, 362, 376, 380,
+ 382, 384, 386, 388, 398, 408, 410, 412,
+ 422, 424, 426, 428, 438, 440, 442, 444,
+ 454, 460, 462, 464, 466, 476, 480, 482,
+ 484, 494, 496, 498, 500, 510, 520, 522,
+ 524, 526, 527, 537, 538, 548, 552, 554,
+ 556, 558, 568, 570, 572, 574, 584, 588,
+ 594, 636, 638, 640, 642, 644, 646, 648,
+ 650, 660, 664, 666, 676, 686, 692, 693,
+ 703, 704, 714, 716, 726, 736, 740, 742,
+ 744, 746, 756, 766, 772, 774, 776, 778,
+ 788, 790, 800, 812, 814, 825, 837, 839,
+ 841, 843, 845, 855, 857, 859, 861, 863,
+ 865, 867, 869, 871, 873, 883, 885, 887,
+ 897, 903, 913, 915, 917, 919, 929, 939,
+ 951, 953, 955, 957, 959, 969, 971, 981,
+ 983, 993, 995, 1005, 1007, 1009, 1011, 1021,
+ 1023, 1025, 1035, 1041, 1043, 1045, 1055, 1057,
+ 1067, 1069, 1071, 1073, 1085, 1087, 1089, 1099,
+ 1101, 1103, 1105, 1107, 1109, 1119, 1121, 1123,
+ 1125, 1127, 1129, 1139, 1142, 1188, 1192, 1198,
+ 1242, 1260, 1268, 1280, 1288, 1291, 1292, 1298,
+ 1300, 1302, 1304, 1306, 1308, 1310, 1316, 1322,
+ 1366, 1369, 1387, 1431, 1434, 1442, 1454, 1462,
+ 1465, 1481, 1537, 1555, 1574, 1620, 1626, 1640,
+ 1654, 1712, 1730, 1744, 1754, 1766, 1778, 1790,
+ 1804, 1816, 1830, 1840, 1850, 1864, 1884, 1898,
+ 1908, 1918, 1928, 1934, 1948, 1950, 1952, 1954,
+ 1956, 1958, 1964, 1966, 1968, 1974, 1982, 2002,
+ 2048, 2054, 2072, 2130, 2148, 2162, 2172, 2184,
+ 2196, 2208, 2222, 2234, 2248, 2258, 2268, 2282,
+ 2302, 2316, 2326, 2336, 2346, 2361, 2407, 2421,
+ 2435, 2451, 2467, 2469, 2471, 2481, 2483, 2485,
+ 2487, 2497, 2499, 2509, 2515, 2529, 2543, 2559,
+ 2575, 2591, 2607, 2610, 2668, 2682, 2696, 2712,
+ 2724, 2732, 2742, 2752, 2762, 2774, 2784, 2796,
+ 2804, 2812, 2824, 2842, 2854, 2862, 2870, 2878,
+ 2884, 2890, 2900, 2906, 2915, 2916, 2917, 2928,
+ 2944, 2960, 2962, 2964, 2966, 2982, 2988, 2994,
+ 3000, 3012, 3018, 3020, 3022, 3034, 3042, 3050,
+ 3056, 3062, 3064, 3066, 3074, 3080, 3088, 3108,
+ 3116, 3117, 3127, 3139, 3149, 3152, 3158, 3174,
+ 3184, 3202, 3210, 3211, 3213, 3215, 3217, 3227,
+ 3235, 3238, 3244, 3256, 3264, 3282, 3292, 3310,
+ 3318, 3319, 3321, 3323, 3325, 3335, 3343, 3349,
+ 3365, 3368, 3371, 3378, 3385, 3393, 3401, 3418,
+ 3421, 3422, 3432, 3478, 3494, 3496, 3498, 3508,
+ 3511, 3521, 3523, 3533, 3537, 3539, 3541, 3543,
+ 3545, 3555, 3565, 3567, 3569, 3579, 3581, 3583,
+ 3585, 3595, 3597, 3599, 3601, 3611, 3617, 3619,
+ 3621, 3623, 3633, 3637, 3639, 3641, 3651, 3653,
+ 3655, 3657, 3667, 3677, 3679, 3681, 3683, 3684,
+ 3694, 3695, 3705, 3709, 3711, 3713, 3715, 3725,
+ 3727, 3729, 3731, 3741, 3743, 3745, 3747, 3749,
+ 3751, 3753, 3755, 3765, 3769, 3771, 3781, 3791,
+ 3797, 3798, 3808, 3809, 3819, 3821, 3831, 3841,
+ 3845, 3847, 3849, 3851, 3861, 3871, 3877, 3879,
+ 3881, 3883, 3893, 3895, 3905, 3917, 3919, 3930,
+ 3942, 3944, 3946, 3948, 3950, 3960, 3962, 3964,
+ 3966, 3968, 3970, 3972, 3974, 3976, 3978, 3988,
+ 3990, 3992, 4002, 4008, 4018, 4020, 4022, 4024,
+ 4034, 4044, 4056, 4058, 4060, 4062, 4064, 4074,
+ 4076, 4086, 4088, 4098, 4100, 4110, 4112, 4114,
+ 4116, 4126, 4128, 4130, 4140, 4146, 4148, 4150,
+ 4160, 4162, 4172, 4174, 4176, 4178, 4190, 4192,
+ 4194, 4204, 4206, 4208, 4210, 4212, 4214, 4224,
+ 4226, 4228, 4230, 4232, 4234, 4244, 4246, 4248,
+ 4250, 4260, 4262, 4272, 4278, 4286, 4294, 4306,
+ 4312, 4328, 4331, 4334, 4337, 4343, 4352, 4362,
+ 4374, 4380, 4396, 4399, 4402, 4410, 4413, 4421,
+ 4422, 4423, 4424, 4432, 4433, 4434, 4435, 4436,
+ 4437, 4438, 4446, 4447, 4448, 4456, 4457, 4458,
+ 4460, 4461, 4462, 4463, 4464, 4472, 4473, 4474,
+ 4475, 4476, 4484, 4485, 4486, 4488, 4498, 4499,
+ 4500, 4501, 4502, 4503, 4504, 4505, 4506, 4507,
+ 4508, 4509, 4510, 4511, 4512, 4520, 4521, 4522,
+ 4523, 4524, 4532, 4533, 4534, 4535, 4543, 4553,
+ 4572, 4573, 4574, 4575, 4576, 4583, 4593, 4596,
+ 4597, 4598, 4599, 4600, 4601, 4602, 4603, 4610,
+ 4620, 4636, 4637, 4647, 4648, 4649, 4650, 4658,
+ 4665, 4672, 4680, 4688, 4696, 4697, 4704, 4712,
+ 4720, 4737, 4738, 4739, 4740, 4742, 4743, 4744,
+ 4745, 4746, 4747, 4751, 4754, 4759, 4762, 4776,
+ 4779, 4780, 4781, 4782, 4783, 4784, 4792, 4799,
+ 4808, 4815, 4833, 4840, 4841, 4842, 4844, 4857,
+ 4863, 4864, 4865, 4866, 4867, 4868, 4869, 4870,
+ 4871, 4872, 4877, 4881, 4883, 4887, 4898, 4902,
+ 4903, 4904, 4905, 4906, 4907, 4908, 4909, 4910,
+ 4911, 4912, 4913, 4914, 4915, 4916, 4926, 4927,
+ 4928, 4929, 4930, 4940, 4941, 4942, 4943, 4944,
+ 4947, 4949, 4952, 4964, 4980, 4981, 4993, 5001,
+ 5005, 5011, 5013, 5020, 5022, 5024, 5026, 5028,
+ 5029, 5030, 5032, 5034, 5036, 5037, 5043, 5047,
+ 5051, 5052, 5054, 5056, 5058, 5060, 5066, 5068,
+ 5070, 5072, 5074, 5075, 5076, 5078, 5080, 5082,
+ 5083, 5084, 5085, 5091, 5092, 5093, 5095, 5097,
+ 5099, 5100, 5101, 5102, 5108, 5110, 5111, 5112,
+ 5113, 5114, 5120, 5121, 5122, 5128, 5130, 5132,
+ 5134, 5136, 5138, 5140, 5142, 5148, 5150, 5152,
+ 5154, 5156, 5158, 5160, 5164, 5166, 5168, 5174,
+ 5176, 5178, 5184, 5186, 5188, 5192, 5194, 5195,
+ 5201, 5203, 5205, 5208, 5215, 5217, 5219, 5221,
+ 5223, 5224, 5225, 5227, 5229, 5231, 5232, 5238,
+ 5239, 5240, 5246, 5247, 5248, 5254, 5268, 5276,
+ 5278, 5280, 5282, 5284, 5286, 5292, 5298, 5300,
+ 5302, 5304, 5306, 5308, 5314, 5318, 5320, 5326,
+ 5328, 5330, 5336, 5338, 5340, 5342, 5348, 5350,
+ 5352, 5358, 5362, 5364, 5370, 5372, 5374, 5380,
+ 5382, 5384, 5386, 5392, 5394, 5396, 5402, 5405,
+ 5414, 5423, 5429, 5438, 5444, 5459, 5465, 5473,
+ 5481, 5489, 5507, 5515, 5533, 5541, 5559, 5567,
+ 5585, 5593, 5605, 5613, 5616, 5624, 5636, 5644,
+ 5647, 5655, 5667, 5675, 5678, 5686, 5698, 5706,
+ 5709, 5712, 5715, 5721, 5727, 5739, 5745, 5748,
+ 5757, 5763, 5778, 5784, 5787, 5789, 5797, 5812,
+ 5818, 5821, 5827, 5837, 5853, 5856, 5863, 5876,
+ 5878, 5886, 5896, 5904, 5914, 5923, 5931, 5937,
+ 5945, 5953, 5963, 5971, 5981, 5990, 5998, 6004,
+ 6013, 6015, 6029, 6041, 6055, 6067, 6081, 6093,
+ 6107, 6117, 6120, 6133, 6146, 6149, 6162, 6175,
+ 6185, 6188, 6201, 6214, 6224, 6227, 6240, 6253,
+ 6263, 6266, 6272, 6275, 6283, 6291, 6294, 6297,
+ 6300, 6306, 6309, 6317, 6325, 6328, 6331, 6333,
+ 6341, 6349, 6357, 6365, 6373, 6388, 6394, 6397,
+ 6400, 6403, 6405, 6413, 6421, 6429, 6441, 6447,
+ 6459, 6465, 6477, 6483, 6498, 6504, 6507, 6510,
+ 6513, 6516, 6519, 6525, 6531, 6539, 6547, 6559,
+ 6565, 6578, 6580, 6583, 6586, 6589, 6602, 6604,
+ 6605, 6608, 6611, 6613, 6625, 6628, 6629, 6636,
+ 6643, 6645, 6653, 6665, 6671, 6679, 6687, 6699,
+ 6705, 6721, 6724, 6727, 6730, 6733, 6735, 6743,
+ 6751, 6759, 6771, 6777, 6793, 6796, 6799, 6802,
+ 6804, 6812, 6822, 6828, 6836, 6844, 6851, 6885,
+ 6898, 6900, 6903, 6917, 6920, 6961, 6970, 6973,
+ 6976, 6982, 6990, 6998, 7007, 7044, 7047, 7050,
+ 7056, 7064, 7072, 7085, 7126, 7129, 7132, 7138,
+ 7146, 7154, 7169, 7203, 7206, 7209, 7212, 7248,
+ 7260, 7272, 7278, 7286, 7294, 7302, 7310, 7318,
+ 7326, 7334, 7342, 7350, 7358, 7373, 7379, 7392,
+ 7394, 7397, 7400, 7403, 7406, 7409, 7412, 7415,
+ 7418, 7420, 7422, 7428, 7430, 7432, 7434, 7440,
+ 7442, 7448, 7458, 7460, 7466, 7470, 7472, 7474,
+ 7476, 7478, 7484, 7490, 7492, 7494, 7500, 7502,
+ 7504, 7506, 7512, 7514, 7516, 7518, 7524, 7530,
+ 7532, 7534, 7536, 7542, 7546, 7548, 7550, 7556,
+ 7558, 7560, 7562, 7568, 7574, 7576, 7578, 7580,
+ 7581, 7587, 7588, 7594, 7598, 7600, 7602, 7604,
+ 7610, 7612, 7614, 7616, 7622, 7624, 7626, 7628,
+ 7630, 7632, 7634, 7636, 7642, 7646, 7648, 7654,
+ 7660, 7666, 7667, 7673, 7674, 7680, 7682, 7688,
+ 7694, 7698, 7700, 7702, 7704, 7710, 7716, 7722,
+ 7724, 7726, 7728, 7734, 7736, 7742, 7750, 7752,
+ 7759, 7767, 7769, 7771, 7773, 7775, 7781, 7783,
+ 7785, 7787, 7789, 7791, 7793, 7795, 7797, 7799,
+ 7805, 7807, 7809, 7815, 7821, 7827, 7829, 7831,
+ 7833, 7839, 7845, 7857, 7859, 7861, 7863, 7865,
+ 7871, 7873, 7879, 7881, 7887, 7889, 7895, 7897,
+ 7899, 7901, 7907, 7909, 7911, 7917, 7923, 7925,
+ 7927, 7933, 7935, 7941, 7943, 7945, 7947, 7955,
+ 7957, 7959, 7965, 7967, 7969, 7971, 7973, 7975,
+ 7981, 7983, 7985, 7987, 7989, 7991, 7997, 8006,
+ 8012, 8018, 8020, 8028, 8036, 8044, 8056, 8062,
+ 8075, 8077, 8080, 8083, 8086, 8093, 8095, 8097,
+ 8105, 8113, 8121, 8129, 8137, 8150, 8156, 8168,
+ 8174, 8181, 8187, 8194, 8201, 8207, 8214, 8226,
+ 8232, 8233, 8234, 8235, 8236, 8237, 8240, 8246,
+ 8258, 8261, 8264, 8267, 8269, 8277, 8285, 8293,
+ 8301, 8309, 8322, 8328, 8334, 8346, 8349, 8352,
+ 8355, 8357, 8365, 8373, 8381, 8389, 8397, 8409,
+ 8415, 8431, 8434, 8437, 8440, 8443, 8445, 8453,
+ 8461, 8469, 8475, 8478, 8480, 8488, 8496, 8504,
+ 8512, 8520, 8532, 8538, 8554, 8557, 8560, 8563,
+ 8566, 8568, 8576, 8585, 8594, 8597, 8599, 8607,
+ 8619, 8625, 8631, 8637, 8638, 8644, 8650, 8656,
+ 8662, 8669, 8672, 8678, 8684, 8685, 8691, 8697,
+ 8704, 8710, 8716, 8717, 8723, 8729, 8736, 8738,
+ 8746, 8754, 8762, 8774, 8780, 8783, 8786, 8788,
+ 8796, 8808, 8814, 8826, 8832, 8835, 8838, 8840,
+ 8848, 8863, 8869, 8875, 8878, 8896, 8929, 8983,
+ 9039, 9057, 9113, 9131, 9164, 9235, 9306, 9306,
+ 9306, 9306, 9306, 9318, 9318, 9318, 9318, 9334,
+ 9334, 9351, 9354, 9354, 9400, 9403, 9403, 9419,
+ 9422, 9434, 9434, 9450, 9453, 9456, 9456, 9456,
+ 9475, 9478, 9478, 9478, 9478, 9478, 9478, 9478,
+ 9478, 9478, 9478, 9494, 9497, 9497, 9497, 9507,
+ 9510, 9522, 9525, 9537, 9540, 9552, 9555, 9555,
+ 9555, 9555, 9555, 9568, 9571, 9571, 9587, 9590,
+ 9590, 9606, 9609, 9609, 9623, 9626, 9639, 9642,
+ 9683, 9692, 9692, 9692, 9692, 9692, 9692, 9692,
+ 9692, 9708, 9711, 9711, 9711, 9727, 9730, 9730,
+ 9730, 9730, 9730, 9730, 9730
};
static const short _zone_scanner_trans_keys[] = {
9, 32, 40, 41, 65, 67, 68, 69,
72, 73, 75, 76, 77, 78, 79, 80,
- 82, 83, 84, 85, 90, 97, 99, 100,
- 101, 104, 105, 107, 108, 109, 110, 111,
- 112, 114, 115, 116, 117, 122, 1802, 1851,
- 2058, 2107, 48, 57, 9, 32, 40, 41,
- 68, 72, 77, 83, 87, 100, 104, 109,
- 115, 119, 2058, 2107, 48, 57, 9, 32,
- 40, 41, 65, 67, 68, 69, 72, 73,
- 75, 76, 77, 78, 79, 80, 82, 83,
- 84, 85, 90, 97, 99, 100, 101, 104,
- 105, 107, 108, 109, 110, 111, 112, 114,
- 115, 116, 117, 122, 2058, 2107, 9, 32,
- 40, 41, 65, 70, 80, 97, 102, 112,
- 3082, 3131, 3338, 3387, 3594, 3643, 9, 32,
- 40, 41, 92, 3082, 3131, 3338, 3387, 3594,
- 3643, -128, 8, 11, 58, 60, 127, 9,
- 32, 40, 41, 1802, 1851, 2058, 2107, 9,
- 32, 40, 41, 1802, 1851, 2058, 2107, 10,
- 35, 2058, 1920, 2175, 9, 32, 40, 41,
- 92, 2826, 2875, 3082, 3131, 3338, 3387, 3594,
- 3643, -128, 8, 11, 58, 60, 127, 9,
- 32, 40, 41, 92, 2826, 2875, 3082, 3131,
- 3338, 3387, 3594, 3643, -128, 8, 11, 58,
- 60, 127, 1802, 2058, 1664, 1919, 1920, 2175,
- 9, 32, 40, 41, 58, 65, 67, 68,
- 69, 72, 73, 75, 76, 77, 78, 79,
- 80, 82, 83, 84, 85, 90, 92, 97,
- 99, 100, 101, 104, 105, 107, 108, 109,
- 110, 111, 112, 114, 115, 116, 117, 122,
+ 82, 83, 84, 85, 87, 90, 97, 99,
+ 100, 101, 104, 105, 107, 108, 109, 110,
+ 111, 112, 114, 115, 116, 117, 119, 122,
+ 1802, 1851, 2058, 2107, 48, 57, 9, 32,
+ 40, 41, 68, 72, 77, 83, 87, 100,
+ 104, 109, 115, 119, 2058, 2107, 48, 57,
+ 9, 32, 40, 41, 65, 67, 68, 69,
+ 72, 73, 75, 76, 77, 78, 79, 80,
+ 82, 83, 84, 85, 87, 90, 97, 99,
+ 100, 101, 104, 105, 107, 108, 109, 110,
+ 111, 112, 114, 115, 116, 117, 119, 122,
+ 2058, 2107, 9, 32, 40, 41, 65, 70,
+ 80, 97, 102, 112, 3082, 3131, 3338, 3387,
+ 3594, 3643, 9, 32, 40, 41, 92, 3082,
+ 3131, 3338, 3387, 3594, 3643, -128, 8, 11,
+ 58, 60, 127, 9, 32, 40, 41, 1802,
+ 1851, 2058, 2107, 9, 32, 40, 41, 1802,
+ 1851, 2058, 2107, 10, 35, 2058, 1920, 2175,
+ 9, 32, 40, 41, 92, 2826, 2875, 3082,
+ 3131, 3338, 3387, 3594, 3643, -128, 8, 11,
+ 58, 60, 127, 9, 32, 40, 41, 92,
2826, 2875, 3082, 3131, 3338, 3387, 3594, 3643,
- -128, 8, 11, 47, 48, 57, 60, 127,
- 9, 32, 40, 41, 68, 72, 77, 83,
- 87, 100, 104, 109, 115, 119, 1802, 1851,
- 2058, 2107, 48, 57, 9, 32, 40, 41,
- 65, 67, 68, 69, 72, 73, 75, 76,
- 77, 78, 79, 80, 82, 83, 84, 85,
- 90, 97, 99, 100, 101, 104, 105, 107,
- 108, 109, 110, 111, 112, 114, 115, 116,
- 117, 122, 1802, 1851, 2058, 2107, 65, 68,
+ -128, 8, 11, 58, 60, 127, 1802, 2058,
+ 1664, 1919, 1920, 2175, 9, 32, 40, 41,
+ 58, 65, 67, 68, 69, 72, 73, 75,
+ 76, 77, 78, 79, 80, 82, 83, 84,
+ 85, 87, 90, 92, 97, 99, 100, 101,
+ 104, 105, 107, 108, 109, 110, 111, 112,
+ 114, 115, 116, 117, 119, 122, 2826, 2875,
+ 3082, 3131, 3338, 3387, 3594, 3643, -128, 8,
+ 11, 47, 48, 57, 60, 127, 9, 32,
+ 40, 41, 68, 72, 77, 83, 87, 100,
+ 104, 109, 115, 119, 1802, 1851, 2058, 2107,
+ 48, 57, 9, 32, 40, 41, 65, 67,
+ 68, 69, 72, 73, 75, 76, 77, 78,
+ 79, 80, 82, 83, 84, 85, 87, 90,
+ 97, 99, 100, 101, 104, 105, 107, 108,
+ 109, 110, 111, 112, 114, 115, 116, 117,
+ 119, 122, 1802, 1851, 2058, 2107, 65, 68,
69, 78, 83, 97, 100, 101, 110, 115,
65, 97, 9, 32, 40, 41, 3082, 3131,
3338, 3387, 3594, 3643, 1801, 1802, 1824, 1832,
@@ -2135,117 +2175,121 @@ static const short _zone_scanner_trans_keys[] = {
78, 80, 110, 112, 9, 32, 40, 41,
2058, 2107, 9, 32, 40, 41, 65, 67,
68, 69, 72, 73, 75, 76, 77, 78,
- 79, 80, 82, 83, 84, 85, 90, 97,
- 99, 100, 101, 104, 105, 107, 108, 109,
- 110, 111, 112, 114, 115, 116, 117, 122,
- 2058, 2107, 80, 112, 83, 115, 69, 101,
- 67, 99, 75, 107, 69, 101, 89, 121,
- 9, 32, 40, 41, 3082, 3131, 3338, 3387,
- 3594, 3643, 69, 88, 101, 120, 89, 121,
- 9, 32, 40, 41, 3082, 3131, 3338, 3387,
- 3594, 3643, 9, 32, 40, 41, 3082, 3131,
- 3338, 3387, 3594, 3643, 51, 54, 79, 80,
- 111, 112, 50, 9, 32, 40, 41, 3082,
- 3131, 3338, 3387, 3594, 3643, 52, 9, 32,
- 40, 41, 3082, 3131, 3338, 3387, 3594, 3643,
- 67, 99, 9, 32, 40, 41, 3082, 3131,
+ 79, 80, 82, 83, 84, 85, 87, 90,
+ 97, 99, 100, 101, 104, 105, 107, 108,
+ 109, 110, 111, 112, 114, 115, 116, 117,
+ 119, 122, 2058, 2107, 80, 112, 83, 115,
+ 69, 101, 67, 99, 75, 107, 69, 101,
+ 89, 121, 9, 32, 40, 41, 3082, 3131,
+ 3338, 3387, 3594, 3643, 69, 88, 101, 120,
+ 89, 121, 9, 32, 40, 41, 3082, 3131,
3338, 3387, 3594, 3643, 9, 32, 40, 41,
- 3082, 3131, 3338, 3387, 3594, 3643, 73, 88,
- 105, 120, 78, 110, 70, 102, 79, 111,
- 9, 32, 40, 41, 3082, 3131, 3338, 3387,
- 3594, 3643, 9, 32, 40, 41, 3082, 3131,
- 3338, 3387, 3594, 3643, 65, 73, 83, 97,
- 105, 115, 80, 112, 84, 116, 82, 114,
+ 3082, 3131, 3338, 3387, 3594, 3643, 51, 54,
+ 79, 80, 111, 112, 50, 9, 32, 40,
+ 41, 3082, 3131, 3338, 3387, 3594, 3643, 52,
9, 32, 40, 41, 3082, 3131, 3338, 3387,
- 3594, 3643, 68, 100, 9, 32, 40, 41,
- 3082, 3131, 3338, 3387, 3594, 3643, 9, 32,
- 40, 41, 69, 101, 3082, 3131, 3338, 3387,
3594, 3643, 67, 99, 9, 32, 40, 41,
- 51, 3082, 3131, 3338, 3387, 3594, 3643, 9,
- 32, 40, 41, 80, 112, 3082, 3131, 3338,
- 3387, 3594, 3643, 65, 97, 82, 114, 65,
- 97, 77, 109, 9, 32, 40, 41, 3082,
- 3131, 3338, 3387, 3594, 3643, 80, 112, 69,
- 101, 78, 110, 80, 112, 71, 103, 80,
- 112, 75, 107, 69, 101, 89, 121, 9,
- 32, 40, 41, 3082, 3131, 3338, 3387, 3594,
- 3643, 84, 116, 82, 114, 9, 32, 40,
+ 3082, 3131, 3338, 3387, 3594, 3643, 9, 32,
+ 40, 41, 3082, 3131, 3338, 3387, 3594, 3643,
+ 73, 88, 105, 120, 78, 110, 70, 102,
+ 79, 111, 9, 32, 40, 41, 3082, 3131,
+ 3338, 3387, 3594, 3643, 9, 32, 40, 41,
+ 3082, 3131, 3338, 3387, 3594, 3643, 65, 73,
+ 83, 97, 105, 115, 80, 112, 84, 116,
+ 82, 114, 9, 32, 40, 41, 3082, 3131,
+ 3338, 3387, 3594, 3643, 68, 100, 9, 32,
+ 40, 41, 3082, 3131, 3338, 3387, 3594, 3643,
+ 9, 32, 40, 41, 69, 101, 3082, 3131,
+ 3338, 3387, 3594, 3643, 67, 99, 9, 32,
+ 40, 41, 51, 3082, 3131, 3338, 3387, 3594,
+ 3643, 9, 32, 40, 41, 80, 112, 3082,
+ 3131, 3338, 3387, 3594, 3643, 65, 97, 82,
+ 114, 65, 97, 77, 109, 9, 32, 40,
41, 3082, 3131, 3338, 3387, 3594, 3643, 80,
- 82, 84, 112, 114, 116, 9, 32, 40,
- 41, 3082, 3131, 3338, 3387, 3594, 3643, 83,
- 115, 73, 105, 71, 103, 9, 32, 40,
- 41, 3082, 3131, 3338, 3387, 3594, 3643, 9,
+ 112, 69, 101, 78, 110, 80, 112, 71,
+ 103, 80, 112, 75, 107, 69, 101, 89,
+ 121, 9, 32, 40, 41, 3082, 3131, 3338,
+ 3387, 3594, 3643, 84, 116, 82, 114, 9,
32, 40, 41, 3082, 3131, 3338, 3387, 3594,
- 3643, 77, 79, 80, 82, 83, 86, 109,
- 111, 112, 114, 115, 118, 73, 105, 77,
- 109, 69, 101, 65, 97, 9, 32, 40,
- 41, 3082, 3131, 3338, 3387, 3594, 3643, 65,
- 97, 9, 32, 40, 41, 3082, 3131, 3338,
- 3387, 3594, 3643, 70, 102, 9, 32, 40,
- 41, 3082, 3131, 3338, 3387, 3594, 3643, 86,
- 118, 9, 32, 40, 41, 3082, 3131, 3338,
- 3387, 3594, 3643, 72, 104, 70, 102, 80,
- 112, 9, 32, 40, 41, 3082, 3131, 3338,
- 3387, 3594, 3643, 67, 99, 66, 98, 9,
+ 3643, 80, 82, 84, 112, 114, 116, 9,
32, 40, 41, 3082, 3131, 3338, 3387, 3594,
- 3643, 76, 88, 89, 108, 120, 121, 83,
- 115, 65, 97, 9, 32, 40, 41, 3082,
- 3131, 3338, 3387, 3594, 3643, 84, 116, 9,
+ 3643, 83, 115, 73, 105, 71, 103, 9,
32, 40, 41, 3082, 3131, 3338, 3387, 3594,
- 3643, 80, 112, 69, 101, 48, 57, 9,
+ 3643, 9, 32, 40, 41, 3082, 3131, 3338,
+ 3387, 3594, 3643, 77, 79, 80, 82, 83,
+ 86, 109, 111, 112, 114, 115, 118, 73,
+ 105, 77, 109, 69, 101, 65, 97, 9,
32, 40, 41, 3082, 3131, 3338, 3387, 3594,
- 3643, 48, 57, 82, 114, 73, 105, 9,
+ 3643, 65, 97, 9, 32, 40, 41, 3082,
+ 3131, 3338, 3387, 3594, 3643, 70, 102, 9,
32, 40, 41, 3082, 3131, 3338, 3387, 3594,
- 3643, 79, 111, 78, 110, 69, 101, 77,
- 109, 68, 100, 9, 32, 40, 41, 3082,
- 3131, 3338, 3387, 3594, 3643, 2058, 1920, 2175,
- 9, 32, 40, 41, 65, 67, 68, 69,
- 72, 73, 75, 76, 77, 78, 79, 80,
- 82, 83, 84, 85, 90, 97, 99, 100,
- 101, 104, 105, 107, 108, 109, 110, 111,
- 112, 114, 115, 116, 117, 122, 1802, 1851,
+ 3643, 86, 118, 9, 32, 40, 41, 3082,
+ 3131, 3338, 3387, 3594, 3643, 72, 104, 70,
+ 102, 80, 112, 9, 32, 40, 41, 3082,
+ 3131, 3338, 3387, 3594, 3643, 67, 99, 66,
+ 98, 9, 32, 40, 41, 3082, 3131, 3338,
+ 3387, 3594, 3643, 76, 88, 89, 108, 120,
+ 121, 83, 115, 65, 97, 9, 32, 40,
+ 41, 3082, 3131, 3338, 3387, 3594, 3643, 84,
+ 116, 9, 32, 40, 41, 3082, 3131, 3338,
+ 3387, 3594, 3643, 80, 112, 69, 101, 48,
+ 57, 9, 32, 40, 41, 3082, 3131, 3338,
+ 3387, 3594, 3643, 48, 57, 82, 114, 73,
+ 105, 9, 32, 40, 41, 3082, 3131, 3338,
+ 3387, 3594, 3643, 65, 97, 76, 108, 76,
+ 108, 69, 101, 84, 116, 9, 32, 40,
+ 41, 3082, 3131, 3338, 3387, 3594, 3643, 79,
+ 111, 78, 110, 69, 101, 77, 109, 68,
+ 100, 9, 32, 40, 41, 3082, 3131, 3338,
+ 3387, 3594, 3643, 2058, 1920, 2175, 9, 32,
+ 40, 41, 65, 67, 68, 69, 72, 73,
+ 75, 76, 77, 78, 79, 80, 82, 83,
+ 84, 85, 87, 90, 97, 99, 100, 101,
+ 104, 105, 107, 108, 109, 110, 111, 112,
+ 114, 115, 116, 117, 119, 122, 1802, 1851,
2058, 2107, 48, 57, 78, 80, 110, 112,
9, 32, 40, 41, 2058, 2107, 9, 32,
40, 41, 65, 67, 68, 69, 72, 73,
75, 76, 77, 78, 79, 80, 82, 83,
- 84, 85, 90, 97, 99, 100, 101, 104,
- 105, 107, 108, 109, 110, 111, 112, 114,
- 115, 116, 117, 122, 2058, 2107, 48, 57,
- 9, 32, 40, 41, 68, 72, 77, 83,
- 87, 100, 104, 109, 115, 119, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 68, 72, 77, 83, 87, 100,
- 104, 109, 115, 119, 48, 57, 9, 32,
- 40, 41, 2058, 2107, 48, 57, 2058, 1920,
- 2175, 10, 73, 79, 84, 105, 111, 116,
- 78, 110, 67, 99, 76, 108, 85, 117,
- 68, 100, 69, 101, 32, 59, 9, 10,
- 40, 41, 9, 32, 40, 41, 2058, 2107,
- 9, 32, 40, 41, 65, 67, 68, 69,
- 72, 73, 75, 76, 77, 78, 79, 80,
- 82, 83, 84, 85, 90, 97, 99, 100,
- 101, 104, 105, 107, 108, 109, 110, 111,
- 112, 114, 115, 116, 117, 122, 2058, 2107,
- 48, 57, 2058, 1920, 2175, 9, 32, 40,
- 41, 68, 72, 77, 83, 87, 100, 104,
- 109, 115, 119, 2058, 2107, 48, 57, 9,
- 32, 40, 41, 65, 67, 68, 69, 72,
- 73, 75, 76, 77, 78, 79, 80, 82,
- 83, 84, 85, 90, 97, 99, 100, 101,
+ 84, 85, 87, 90, 97, 99, 100, 101,
104, 105, 107, 108, 109, 110, 111, 112,
- 114, 115, 116, 117, 122, 2058, 2107, 48,
- 57, 2058, 1920, 2175, 9, 32, 40, 41,
+ 114, 115, 116, 117, 119, 122, 2058, 2107,
+ 48, 57, 9, 32, 40, 41, 68, 72,
+ 77, 83, 87, 100, 104, 109, 115, 119,
+ 2058, 2107, 48, 57, 9, 32, 40, 41,
2058, 2107, 48, 57, 68, 72, 77, 83,
87, 100, 104, 109, 115, 119, 48, 57,
9, 32, 40, 41, 2058, 2107, 48, 57,
- 2058, 1920, 2175, 9, 32, 40, 41, 65,
- 70, 80, 97, 102, 112, 3082, 3131, 3338,
- 3387, 3594, 3643, 9, 32, 40, 41, 58,
- 65, 67, 68, 69, 72, 73, 75, 76,
- 77, 78, 79, 80, 82, 83, 84, 85,
- 90, 92, 97, 99, 100, 101, 104, 105,
- 107, 108, 109, 110, 111, 112, 114, 115,
- 116, 117, 122, 3082, 3131, 3338, 3387, 3594,
+ 2058, 1920, 2175, 10, 73, 79, 84, 105,
+ 111, 116, 78, 110, 67, 99, 76, 108,
+ 85, 117, 68, 100, 69, 101, 32, 59,
+ 9, 10, 40, 41, 9, 32, 40, 41,
+ 2058, 2107, 9, 32, 40, 41, 65, 67,
+ 68, 69, 72, 73, 75, 76, 77, 78,
+ 79, 80, 82, 83, 84, 85, 87, 90,
+ 97, 99, 100, 101, 104, 105, 107, 108,
+ 109, 110, 111, 112, 114, 115, 116, 117,
+ 119, 122, 2058, 2107, 48, 57, 2058, 1920,
+ 2175, 9, 32, 40, 41, 68, 72, 77,
+ 83, 87, 100, 104, 109, 115, 119, 2058,
+ 2107, 48, 57, 9, 32, 40, 41, 65,
+ 67, 68, 69, 72, 73, 75, 76, 77,
+ 78, 79, 80, 82, 83, 84, 85, 87,
+ 90, 97, 99, 100, 101, 104, 105, 107,
+ 108, 109, 110, 111, 112, 114, 115, 116,
+ 117, 119, 122, 2058, 2107, 48, 57, 2058,
+ 1920, 2175, 9, 32, 40, 41, 2058, 2107,
+ 48, 57, 68, 72, 77, 83, 87, 100,
+ 104, 109, 115, 119, 48, 57, 9, 32,
+ 40, 41, 2058, 2107, 48, 57, 2058, 1920,
+ 2175, 9, 32, 40, 41, 65, 70, 80,
+ 97, 102, 112, 3082, 3131, 3338, 3387, 3594,
+ 3643, 9, 32, 40, 41, 58, 65, 67,
+ 68, 69, 72, 73, 75, 76, 77, 78,
+ 79, 80, 82, 83, 84, 85, 87, 90,
+ 92, 97, 99, 100, 101, 104, 105, 107,
+ 108, 109, 110, 111, 112, 114, 115, 116,
+ 117, 119, 122, 3082, 3131, 3338, 3387, 3594,
3643, -128, 8, 11, 47, 48, 57, 60,
127, 9, 32, 40, 41, 65, 70, 80,
97, 102, 112, 2826, 2875, 3082, 3131, 3338,
@@ -2254,69 +2298,19 @@ static const short _zone_scanner_trans_keys[] = {
-128, 8, 11, 58, 60, 127, 9, 32,
40, 41, 65, 67, 68, 69, 72, 73,
75, 76, 77, 78, 79, 80, 82, 83,
- 84, 85, 90, 97, 99, 100, 101, 104,
- 105, 107, 108, 109, 110, 111, 112, 114,
- 115, 116, 117, 122, 1802, 1851, 2058, 2107,
- 48, 57, 1802, 2058, 1664, 1919, 1920, 2175,
+ 84, 85, 87, 90, 97, 99, 100, 101,
+ 104, 105, 107, 108, 109, 110, 111, 112,
+ 114, 115, 116, 117, 119, 122, 1802, 1851,
+ 2058, 2107, 48, 57, 1802, 2058, 1664, 1919,
+ 1920, 2175, 9, 32, 40, 41, 1802, 1851,
+ 2058, 2107, -128, 8, 11, 58, 60, 127,
9, 32, 40, 41, 1802, 1851, 2058, 2107,
-128, 8, 11, 58, 60, 127, 9, 32,
- 40, 41, 1802, 1851, 2058, 2107, -128, 8,
- 11, 58, 60, 127, 9, 32, 40, 41,
- 58, 65, 67, 68, 69, 72, 73, 75,
- 76, 77, 78, 79, 80, 82, 83, 84,
- 85, 90, 92, 97, 99, 100, 101, 104,
- 105, 107, 108, 109, 110, 111, 112, 114,
- 115, 116, 117, 122, 2826, 2875, 3082, 3131,
- 3338, 3387, 3594, 3643, -128, 8, 11, 47,
- 48, 57, 60, 127, 9, 32, 40, 41,
- 65, 68, 69, 78, 83, 97, 100, 101,
- 110, 115, 1802, 1851, 2058, 2107, 9, 32,
- 40, 41, 72, 78, 83, 104, 110, 115,
- 1802, 1851, 2058, 2107, 9, 32, 40, 41,
- 85, 117, 1802, 1851, 2058, 2107, 9, 32,
- 40, 41, 73, 84, 105, 116, 1802, 1851,
- 2058, 2107, 9, 32, 40, 41, 78, 80,
- 110, 112, 1802, 1851, 2058, 2107, 9, 32,
- 40, 41, 69, 88, 101, 120, 1802, 1851,
- 2058, 2107, 9, 32, 40, 41, 51, 54,
- 79, 80, 111, 112, 1802, 1851, 2058, 2107,
- 9, 32, 40, 41, 73, 88, 105, 120,
- 1802, 1851, 2058, 2107, 9, 32, 40, 41,
- 65, 73, 83, 97, 105, 115, 1802, 1851,
- 2058, 2107, 9, 32, 40, 41, 80, 112,
- 1802, 1851, 2058, 2107, 9, 32, 40, 41,
- 84, 116, 1802, 1851, 2058, 2107, 9, 32,
- 40, 41, 80, 82, 84, 112, 114, 116,
- 1802, 1851, 2058, 2107, 9, 32, 40, 41,
- 77, 79, 80, 82, 83, 86, 109, 111,
- 112, 114, 115, 118, 1802, 1851, 2058, 2107,
- 9, 32, 40, 41, 76, 88, 89, 108,
- 120, 121, 1802, 1851, 2058, 2107, 9, 32,
- 40, 41, 82, 114, 1802, 1851, 2058, 2107,
- 9, 32, 40, 41, 79, 111, 1802, 1851,
- 2058, 2107, 1802, 2058, 1664, 1919, 1920, 2175,
- 9, 32, 40, 41, 73, 79, 84, 105,
- 111, 116, 1802, 1851, 2058, 2107, 82, 114,
- 73, 105, 71, 103, 73, 105, 78, 110,
- 32, 59, 9, 10, 40, 41, 84, 116,
- 76, 108, 32, 59, 9, 10, 40, 41,
- 9, 32, 40, 41, 1802, 1851, 2058, 2107,
- 9, 32, 40, 41, 68, 72, 77, 83,
- 87, 100, 104, 109, 115, 119, 1802, 1851,
- 2058, 2107, 48, 57, 9, 32, 40, 41,
- 65, 67, 68, 69, 72, 73, 75, 76,
- 77, 78, 79, 80, 82, 83, 84, 85,
- 90, 97, 99, 100, 101, 104, 105, 107,
- 108, 109, 110, 111, 112, 114, 115, 116,
- 117, 122, 1802, 1851, 2058, 2107, 48, 57,
- 1802, 2058, 1664, 1919, 1920, 2175, 9, 32,
- 40, 41, 65, 70, 80, 97, 102, 112,
- 2826, 2875, 3082, 3131, 3338, 3387, 3594, 3643,
- 9, 32, 40, 41, 58, 65, 67, 68,
- 69, 72, 73, 75, 76, 77, 78, 79,
- 80, 82, 83, 84, 85, 90, 92, 97,
- 99, 100, 101, 104, 105, 107, 108, 109,
- 110, 111, 112, 114, 115, 116, 117, 122,
+ 40, 41, 58, 65, 67, 68, 69, 72,
+ 73, 75, 76, 77, 78, 79, 80, 82,
+ 83, 84, 85, 87, 90, 92, 97, 99,
+ 100, 101, 104, 105, 107, 108, 109, 110,
+ 111, 112, 114, 115, 116, 117, 119, 122,
2826, 2875, 3082, 3131, 3338, 3387, 3594, 3643,
-128, 8, 11, 47, 48, 57, 60, 127,
9, 32, 40, 41, 65, 68, 69, 78,
@@ -2344,45 +2338,99 @@ static const short _zone_scanner_trans_keys[] = {
76, 88, 89, 108, 120, 121, 1802, 1851,
2058, 2107, 9, 32, 40, 41, 82, 114,
1802, 1851, 2058, 2107, 9, 32, 40, 41,
- 79, 111, 1802, 1851, 2058, 2107, 9, 32,
- 35, 40, 41, 1802, 1851, 2058, 2107, -128,
- 8, 11, 58, 60, 127, 9, 32, 40,
- 41, 65, 67, 68, 69, 72, 73, 75,
- 76, 77, 78, 79, 80, 82, 83, 84,
- 85, 90, 97, 99, 100, 101, 104, 105,
- 107, 108, 109, 110, 111, 112, 114, 115,
- 116, 117, 122, 1802, 1851, 2058, 2107, 48,
- 57, 1801, 1802, 1824, 1832, 1833, 1851, 2057,
- 2058, 2080, 2088, 2089, 2107, 1920, 2175, 1801,
+ 65, 97, 1802, 1851, 2058, 2107, 9, 32,
+ 40, 41, 79, 111, 1802, 1851, 2058, 2107,
+ 1802, 2058, 1664, 1919, 1920, 2175, 9, 32,
+ 40, 41, 73, 79, 84, 105, 111, 116,
+ 1802, 1851, 2058, 2107, 82, 114, 73, 105,
+ 71, 103, 73, 105, 78, 110, 32, 59,
+ 9, 10, 40, 41, 84, 116, 76, 108,
+ 32, 59, 9, 10, 40, 41, 9, 32,
+ 40, 41, 1802, 1851, 2058, 2107, 9, 32,
+ 40, 41, 68, 72, 77, 83, 87, 100,
+ 104, 109, 115, 119, 1802, 1851, 2058, 2107,
+ 48, 57, 9, 32, 40, 41, 65, 67,
+ 68, 69, 72, 73, 75, 76, 77, 78,
+ 79, 80, 82, 83, 84, 85, 87, 90,
+ 97, 99, 100, 101, 104, 105, 107, 108,
+ 109, 110, 111, 112, 114, 115, 116, 117,
+ 119, 122, 1802, 1851, 2058, 2107, 48, 57,
+ 1802, 2058, 1664, 1919, 1920, 2175, 9, 32,
+ 40, 41, 65, 70, 80, 97, 102, 112,
+ 2826, 2875, 3082, 3131, 3338, 3387, 3594, 3643,
+ 9, 32, 40, 41, 58, 65, 67, 68,
+ 69, 72, 73, 75, 76, 77, 78, 79,
+ 80, 82, 83, 84, 85, 87, 90, 92,
+ 97, 99, 100, 101, 104, 105, 107, 108,
+ 109, 110, 111, 112, 114, 115, 116, 117,
+ 119, 122, 2826, 2875, 3082, 3131, 3338, 3387,
+ 3594, 3643, -128, 8, 11, 47, 48, 57,
+ 60, 127, 9, 32, 40, 41, 65, 68,
+ 69, 78, 83, 97, 100, 101, 110, 115,
+ 1802, 1851, 2058, 2107, 9, 32, 40, 41,
+ 72, 78, 83, 104, 110, 115, 1802, 1851,
+ 2058, 2107, 9, 32, 40, 41, 85, 117,
+ 1802, 1851, 2058, 2107, 9, 32, 40, 41,
+ 73, 84, 105, 116, 1802, 1851, 2058, 2107,
+ 9, 32, 40, 41, 78, 80, 110, 112,
+ 1802, 1851, 2058, 2107, 9, 32, 40, 41,
+ 69, 88, 101, 120, 1802, 1851, 2058, 2107,
+ 9, 32, 40, 41, 51, 54, 79, 80,
+ 111, 112, 1802, 1851, 2058, 2107, 9, 32,
+ 40, 41, 73, 88, 105, 120, 1802, 1851,
+ 2058, 2107, 9, 32, 40, 41, 65, 73,
+ 83, 97, 105, 115, 1802, 1851, 2058, 2107,
+ 9, 32, 40, 41, 80, 112, 1802, 1851,
+ 2058, 2107, 9, 32, 40, 41, 84, 116,
+ 1802, 1851, 2058, 2107, 9, 32, 40, 41,
+ 80, 82, 84, 112, 114, 116, 1802, 1851,
+ 2058, 2107, 9, 32, 40, 41, 77, 79,
+ 80, 82, 83, 86, 109, 111, 112, 114,
+ 115, 118, 1802, 1851, 2058, 2107, 9, 32,
+ 40, 41, 76, 88, 89, 108, 120, 121,
+ 1802, 1851, 2058, 2107, 9, 32, 40, 41,
+ 82, 114, 1802, 1851, 2058, 2107, 9, 32,
+ 40, 41, 65, 97, 1802, 1851, 2058, 2107,
+ 9, 32, 40, 41, 79, 111, 1802, 1851,
+ 2058, 2107, 9, 32, 35, 40, 41, 1802,
+ 1851, 2058, 2107, -128, 8, 11, 58, 60,
+ 127, 9, 32, 40, 41, 65, 67, 68,
+ 69, 72, 73, 75, 76, 77, 78, 79,
+ 80, 82, 83, 84, 85, 87, 90, 97,
+ 99, 100, 101, 104, 105, 107, 108, 109,
+ 110, 111, 112, 114, 115, 116, 117, 119,
+ 122, 1802, 1851, 2058, 2107, 48, 57, 1801,
1802, 1824, 1832, 1833, 1851, 2057, 2058, 2080,
2088, 2089, 2107, 1920, 2175, 1801, 1802, 1824,
1832, 1833, 1851, 2057, 2058, 2080, 2088, 2089,
- 2107, 1664, 1919, 1920, 2175, 1801, 1802, 1824,
- 1832, 1833, 1851, 2057, 2058, 2080, 2088, 2089,
- 2107, 1664, 1919, 1920, 2175, 65, 97, 65,
- 97, 9, 32, 40, 41, 3082, 3131, 3338,
- 3387, 3594, 3643, 83, 115, 68, 100, 66,
- 98, 9, 32, 40, 41, 3082, 3131, 3338,
- 3387, 3594, 3643, 76, 108, 9, 32, 40,
- 41, 3082, 3131, 3338, 3387, 3594, 3643, 1802,
- 2058, 1664, 1919, 1920, 2175, 9, 32, 40,
- 41, 1802, 1851, 2058, 2107, -128, 8, 11,
- 58, 60, 127, 9, 32, 40, 41, 1802,
+ 2107, 1920, 2175, 1801, 1802, 1824, 1832, 1833,
+ 1851, 2057, 2058, 2080, 2088, 2089, 2107, 1664,
+ 1919, 1920, 2175, 1801, 1802, 1824, 1832, 1833,
+ 1851, 2057, 2058, 2080, 2088, 2089, 2107, 1664,
+ 1919, 1920, 2175, 65, 97, 65, 97, 9,
+ 32, 40, 41, 3082, 3131, 3338, 3387, 3594,
+ 3643, 83, 115, 68, 100, 66, 98, 9,
+ 32, 40, 41, 3082, 3131, 3338, 3387, 3594,
+ 3643, 76, 108, 9, 32, 40, 41, 3082,
+ 3131, 3338, 3387, 3594, 3643, 1802, 2058, 1664,
+ 1919, 1920, 2175, 9, 32, 40, 41, 1802,
1851, 2058, 2107, -128, 8, 11, 58, 60,
- 127, 1801, 1802, 1824, 1832, 1833, 1851, 2057,
- 2058, 2080, 2088, 2089, 2107, 1664, 1919, 1920,
- 2175, 1801, 1802, 1824, 1832, 1833, 1851, 2057,
- 2058, 2080, 2088, 2089, 2107, 1664, 1919, 1920,
- 2175, 1801, 1802, 1824, 1832, 1833, 1851, 2057,
- 2058, 2080, 2088, 2089, 2107, 1664, 1919, 1920,
- 2175, 1801, 1802, 1824, 1832, 1833, 1851, 2057,
- 2058, 2080, 2088, 2089, 2107, 1664, 1919, 1920,
- 2175, 2058, 1920, 2175, 9, 32, 40, 41,
- 58, 65, 67, 68, 69, 72, 73, 75,
- 76, 77, 78, 79, 80, 82, 83, 84,
- 85, 90, 92, 97, 99, 100, 101, 104,
- 105, 107, 108, 109, 110, 111, 112, 114,
- 115, 116, 117, 122, 2826, 2875, 3082, 3131,
+ 127, 9, 32, 40, 41, 1802, 1851, 2058,
+ 2107, -128, 8, 11, 58, 60, 127, 1801,
+ 1802, 1824, 1832, 1833, 1851, 2057, 2058, 2080,
+ 2088, 2089, 2107, 1664, 1919, 1920, 2175, 1801,
+ 1802, 1824, 1832, 1833, 1851, 2057, 2058, 2080,
+ 2088, 2089, 2107, 1664, 1919, 1920, 2175, 1801,
+ 1802, 1824, 1832, 1833, 1851, 2057, 2058, 2080,
+ 2088, 2089, 2107, 1664, 1919, 1920, 2175, 1801,
+ 1802, 1824, 1832, 1833, 1851, 2057, 2058, 2080,
+ 2088, 2089, 2107, 1664, 1919, 1920, 2175, 2058,
+ 1920, 2175, 9, 32, 40, 41, 58, 65,
+ 67, 68, 69, 72, 73, 75, 76, 77,
+ 78, 79, 80, 82, 83, 84, 85, 87,
+ 90, 92, 97, 99, 100, 101, 104, 105,
+ 107, 108, 109, 110, 111, 112, 114, 115,
+ 116, 117, 119, 122, 2826, 2875, 3082, 3131,
3338, 3387, 3594, 3643, -128, 8, 11, 47,
48, 57, 60, 127, 1801, 1802, 1824, 1832,
1833, 1851, 2057, 2058, 2080, 2088, 2089, 2107,
@@ -2409,6 +2457,7 @@ static const short _zone_scanner_trans_keys[] = {
2058, 2107, 9, 32, 40, 41, 76, 88,
89, 108, 120, 121, 2058, 2107, 9, 32,
40, 41, 82, 114, 2058, 2107, 9, 32,
+ 40, 41, 65, 97, 2058, 2107, 9, 32,
40, 41, 79, 111, 2058, 2107, 1802, 2058,
1664, 1919, 1920, 2175, 1802, 2058, 1664, 1919,
1920, 2175, 9, 32, 40, 41, 78, 80,
@@ -2481,265 +2530,281 @@ static const short _zone_scanner_trans_keys[] = {
40, 41, 3082, 3131, 3338, 3387, 3594, 3643,
9, 32, 40, 41, 65, 67, 68, 69,
72, 73, 75, 76, 77, 78, 79, 80,
- 82, 83, 84, 85, 90, 97, 99, 100,
- 101, 104, 105, 107, 108, 109, 110, 111,
- 112, 114, 115, 116, 117, 122, 3082, 3131,
- 3338, 3387, 3594, 3643, 9, 32, 40, 41,
- 65, 70, 80, 97, 102, 112, 3082, 3131,
- 3338, 3387, 3594, 3643, 65, 97, 65, 97,
- 9, 32, 40, 41, 3082, 3131, 3338, 3387,
- 3594, 3643, 2058, 1920, 2175, 65, 68, 69,
- 78, 83, 97, 100, 101, 110, 115, 65,
- 97, 9, 32, 40, 41, 3082, 3131, 3338,
- 3387, 3594, 3643, 78, 83, 110, 115, 83,
- 115, 75, 107, 69, 101, 89, 121, 9,
- 32, 40, 41, 3082, 3131, 3338, 3387, 3594,
- 3643, 9, 32, 40, 41, 3082, 3131, 3338,
- 3387, 3594, 3643, 82, 114, 84, 116, 9,
- 32, 40, 41, 3082, 3131, 3338, 3387, 3594,
- 3643, 65, 97, 77, 109, 69, 101, 9,
- 32, 40, 41, 3082, 3131, 3338, 3387, 3594,
- 3643, 89, 121, 78, 110, 67, 99, 9,
- 32, 40, 41, 3082, 3131, 3338, 3387, 3594,
- 3643, 72, 78, 83, 104, 110, 115, 67,
- 99, 73, 105, 68, 100, 9, 32, 40,
- 41, 3082, 3131, 3338, 3387, 3594, 3643, 65,
- 83, 97, 115, 77, 109, 69, 101, 9,
- 32, 40, 41, 3082, 3131, 3338, 3387, 3594,
- 3643, 75, 107, 69, 101, 89, 121, 9,
- 32, 40, 41, 3082, 3131, 3338, 3387, 3594,
- 3643, 9, 32, 40, 41, 3082, 3131, 3338,
- 3387, 3594, 3643, 85, 117, 73, 105, 52,
- 54, 56, 9, 32, 40, 41, 3082, 3131,
- 3338, 3387, 3594, 3643, 52, 9, 32, 40,
- 41, 3082, 3131, 3338, 3387, 3594, 3643, 73,
- 84, 105, 116, 78, 110, 70, 102, 79,
- 111, 9, 32, 40, 41, 3082, 3131, 3338,
- 3387, 3594, 3643, 84, 116, 80, 112, 83,
- 115, 9, 32, 40, 41, 3082, 3131, 3338,
- 3387, 3594, 3643, 80, 112, 83, 115, 69,
- 101, 67, 99, 75, 107, 69, 101, 89,
+ 82, 83, 84, 85, 87, 90, 97, 99,
+ 100, 101, 104, 105, 107, 108, 109, 110,
+ 111, 112, 114, 115, 116, 117, 119, 122,
+ 3082, 3131, 3338, 3387, 3594, 3643, 9, 32,
+ 40, 41, 65, 70, 80, 97, 102, 112,
+ 3082, 3131, 3338, 3387, 3594, 3643, 65, 97,
+ 65, 97, 9, 32, 40, 41, 3082, 3131,
+ 3338, 3387, 3594, 3643, 2058, 1920, 2175, 65,
+ 68, 69, 78, 83, 97, 100, 101, 110,
+ 115, 65, 97, 9, 32, 40, 41, 3082,
+ 3131, 3338, 3387, 3594, 3643, 78, 83, 110,
+ 115, 83, 115, 75, 107, 69, 101, 89,
121, 9, 32, 40, 41, 3082, 3131, 3338,
- 3387, 3594, 3643, 69, 88, 101, 120, 89,
+ 3387, 3594, 3643, 9, 32, 40, 41, 3082,
+ 3131, 3338, 3387, 3594, 3643, 82, 114, 84,
+ 116, 9, 32, 40, 41, 3082, 3131, 3338,
+ 3387, 3594, 3643, 65, 97, 77, 109, 69,
+ 101, 9, 32, 40, 41, 3082, 3131, 3338,
+ 3387, 3594, 3643, 89, 121, 78, 110, 67,
+ 99, 9, 32, 40, 41, 3082, 3131, 3338,
+ 3387, 3594, 3643, 72, 78, 83, 104, 110,
+ 115, 67, 99, 73, 105, 68, 100, 9,
+ 32, 40, 41, 3082, 3131, 3338, 3387, 3594,
+ 3643, 65, 83, 97, 115, 77, 109, 69,
+ 101, 9, 32, 40, 41, 3082, 3131, 3338,
+ 3387, 3594, 3643, 75, 107, 69, 101, 89,
121, 9, 32, 40, 41, 3082, 3131, 3338,
3387, 3594, 3643, 9, 32, 40, 41, 3082,
- 3131, 3338, 3387, 3594, 3643, 51, 54, 79,
- 80, 111, 112, 50, 9, 32, 40, 41,
+ 3131, 3338, 3387, 3594, 3643, 85, 117, 73,
+ 105, 52, 54, 56, 9, 32, 40, 41,
3082, 3131, 3338, 3387, 3594, 3643, 52, 9,
32, 40, 41, 3082, 3131, 3338, 3387, 3594,
- 3643, 67, 99, 9, 32, 40, 41, 3082,
+ 3643, 73, 84, 105, 116, 78, 110, 70,
+ 102, 79, 111, 9, 32, 40, 41, 3082,
+ 3131, 3338, 3387, 3594, 3643, 84, 116, 80,
+ 112, 83, 115, 9, 32, 40, 41, 3082,
+ 3131, 3338, 3387, 3594, 3643, 80, 112, 83,
+ 115, 69, 101, 67, 99, 75, 107, 69,
+ 101, 89, 121, 9, 32, 40, 41, 3082,
+ 3131, 3338, 3387, 3594, 3643, 69, 88, 101,
+ 120, 89, 121, 9, 32, 40, 41, 3082,
3131, 3338, 3387, 3594, 3643, 9, 32, 40,
- 41, 3082, 3131, 3338, 3387, 3594, 3643, 73,
- 88, 105, 120, 78, 110, 70, 102, 79,
- 111, 9, 32, 40, 41, 3082, 3131, 3338,
- 3387, 3594, 3643, 9, 32, 40, 41, 3082,
- 3131, 3338, 3387, 3594, 3643, 65, 73, 83,
- 97, 105, 115, 80, 112, 84, 116, 82,
- 114, 9, 32, 40, 41, 3082, 3131, 3338,
- 3387, 3594, 3643, 68, 100, 9, 32, 40,
- 41, 3082, 3131, 3338, 3387, 3594, 3643, 9,
- 32, 40, 41, 69, 101, 3082, 3131, 3338,
- 3387, 3594, 3643, 67, 99, 9, 32, 40,
- 41, 51, 3082, 3131, 3338, 3387, 3594, 3643,
- 9, 32, 40, 41, 80, 112, 3082, 3131,
- 3338, 3387, 3594, 3643, 65, 97, 82, 114,
- 65, 97, 77, 109, 9, 32, 40, 41,
- 3082, 3131, 3338, 3387, 3594, 3643, 80, 112,
- 69, 101, 78, 110, 80, 112, 71, 103,
- 80, 112, 75, 107, 69, 101, 89, 121,
- 9, 32, 40, 41, 3082, 3131, 3338, 3387,
- 3594, 3643, 84, 116, 82, 114, 9, 32,
- 40, 41, 3082, 3131, 3338, 3387, 3594, 3643,
- 80, 82, 84, 112, 114, 116, 9, 32,
+ 41, 3082, 3131, 3338, 3387, 3594, 3643, 51,
+ 54, 79, 80, 111, 112, 50, 9, 32,
40, 41, 3082, 3131, 3338, 3387, 3594, 3643,
- 83, 115, 73, 105, 71, 103, 9, 32,
- 40, 41, 3082, 3131, 3338, 3387, 3594, 3643,
- 9, 32, 40, 41, 3082, 3131, 3338, 3387,
- 3594, 3643, 77, 79, 80, 82, 83, 86,
- 109, 111, 112, 114, 115, 118, 73, 105,
- 77, 109, 69, 101, 65, 97, 9, 32,
- 40, 41, 3082, 3131, 3338, 3387, 3594, 3643,
- 65, 97, 9, 32, 40, 41, 3082, 3131,
- 3338, 3387, 3594, 3643, 70, 102, 9, 32,
+ 52, 9, 32, 40, 41, 3082, 3131, 3338,
+ 3387, 3594, 3643, 67, 99, 9, 32, 40,
+ 41, 3082, 3131, 3338, 3387, 3594, 3643, 9,
+ 32, 40, 41, 3082, 3131, 3338, 3387, 3594,
+ 3643, 73, 88, 105, 120, 78, 110, 70,
+ 102, 79, 111, 9, 32, 40, 41, 3082,
+ 3131, 3338, 3387, 3594, 3643, 9, 32, 40,
+ 41, 3082, 3131, 3338, 3387, 3594, 3643, 65,
+ 73, 83, 97, 105, 115, 80, 112, 84,
+ 116, 82, 114, 9, 32, 40, 41, 3082,
+ 3131, 3338, 3387, 3594, 3643, 68, 100, 9,
+ 32, 40, 41, 3082, 3131, 3338, 3387, 3594,
+ 3643, 9, 32, 40, 41, 69, 101, 3082,
+ 3131, 3338, 3387, 3594, 3643, 67, 99, 9,
+ 32, 40, 41, 51, 3082, 3131, 3338, 3387,
+ 3594, 3643, 9, 32, 40, 41, 80, 112,
+ 3082, 3131, 3338, 3387, 3594, 3643, 65, 97,
+ 82, 114, 65, 97, 77, 109, 9, 32,
40, 41, 3082, 3131, 3338, 3387, 3594, 3643,
- 86, 118, 9, 32, 40, 41, 3082, 3131,
- 3338, 3387, 3594, 3643, 72, 104, 70, 102,
- 80, 112, 9, 32, 40, 41, 3082, 3131,
- 3338, 3387, 3594, 3643, 67, 99, 66, 98,
+ 80, 112, 69, 101, 78, 110, 80, 112,
+ 71, 103, 80, 112, 75, 107, 69, 101,
+ 89, 121, 9, 32, 40, 41, 3082, 3131,
+ 3338, 3387, 3594, 3643, 84, 116, 82, 114,
9, 32, 40, 41, 3082, 3131, 3338, 3387,
- 3594, 3643, 76, 88, 89, 108, 120, 121,
- 83, 115, 65, 97, 9, 32, 40, 41,
- 3082, 3131, 3338, 3387, 3594, 3643, 84, 116,
+ 3594, 3643, 80, 82, 84, 112, 114, 116,
9, 32, 40, 41, 3082, 3131, 3338, 3387,
- 3594, 3643, 80, 112, 69, 101, 48, 57,
+ 3594, 3643, 83, 115, 73, 105, 71, 103,
9, 32, 40, 41, 3082, 3131, 3338, 3387,
- 3594, 3643, 48, 57, 82, 114, 73, 105,
+ 3594, 3643, 9, 32, 40, 41, 3082, 3131,
+ 3338, 3387, 3594, 3643, 77, 79, 80, 82,
+ 83, 86, 109, 111, 112, 114, 115, 118,
+ 73, 105, 77, 109, 69, 101, 65, 97,
9, 32, 40, 41, 3082, 3131, 3338, 3387,
- 3594, 3643, 79, 111, 78, 110, 69, 101,
- 77, 109, 68, 100, 9, 32, 40, 41,
- 3082, 3131, 3338, 3387, 3594, 3643, 83, 115,
- 68, 100, 66, 98, 9, 32, 40, 41,
- 3082, 3131, 3338, 3387, 3594, 3643, 76, 108,
+ 3594, 3643, 65, 97, 9, 32, 40, 41,
+ 3082, 3131, 3338, 3387, 3594, 3643, 70, 102,
9, 32, 40, 41, 3082, 3131, 3338, 3387,
- 3594, 3643, 9, 32, 40, 41, 2058, 2107,
- 9, 32, 40, 41, 2058, 2107, 48, 57,
- 9, 32, 40, 41, 2058, 2107, 48, 57,
- 9, 32, 40, 41, 2058, 2107, 48, 57,
- 65, 70, 97, 102, 48, 57, 65, 70,
- 97, 102, 9, 32, 40, 41, 3082, 3131,
- 3338, 3387, 3594, 3643, 48, 57, 65, 70,
- 97, 102, 2058, 1920, 2175, 2058, 1920, 2175,
- 2058, 1920, 2175, 9, 32, 40, 41, 2058,
- 2107, 9, 32, 40, 41, 48, 2058, 2107,
- 49, 57, 9, 32, 40, 41, 1802, 1851,
- 2058, 2107, 48, 57, 9, 32, 40, 41,
- 2058, 2107, 48, 57, 65, 70, 97, 102,
- 48, 57, 65, 70, 97, 102, 9, 32,
+ 3594, 3643, 86, 118, 9, 32, 40, 41,
+ 3082, 3131, 3338, 3387, 3594, 3643, 72, 104,
+ 70, 102, 80, 112, 9, 32, 40, 41,
+ 3082, 3131, 3338, 3387, 3594, 3643, 67, 99,
+ 66, 98, 9, 32, 40, 41, 3082, 3131,
+ 3338, 3387, 3594, 3643, 76, 88, 89, 108,
+ 120, 121, 83, 115, 65, 97, 9, 32,
40, 41, 3082, 3131, 3338, 3387, 3594, 3643,
- 48, 57, 65, 70, 97, 102, 2058, 1920,
- 2175, 2058, 1920, 2175, 9, 32, 40, 41,
- 2058, 2107, 48, 57, 2058, 1920, 2175, 97,
- 101, 105, 107, 110, 112, 108, 112, 110,
+ 84, 116, 9, 32, 40, 41, 3082, 3131,
+ 3338, 3387, 3594, 3643, 80, 112, 69, 101,
+ 48, 57, 9, 32, 40, 41, 3082, 3131,
+ 3338, 3387, 3594, 3643, 48, 57, 82, 114,
+ 73, 105, 9, 32, 40, 41, 3082, 3131,
+ 3338, 3387, 3594, 3643, 65, 97, 76, 108,
+ 76, 108, 69, 101, 84, 116, 9, 32,
+ 40, 41, 3082, 3131, 3338, 3387, 3594, 3643,
+ 79, 111, 78, 110, 69, 101, 77, 109,
+ 68, 100, 9, 32, 40, 41, 3082, 3131,
+ 3338, 3387, 3594, 3643, 83, 115, 68, 100,
+ 66, 98, 9, 32, 40, 41, 3082, 3131,
+ 3338, 3387, 3594, 3643, 76, 108, 9, 32,
+ 40, 41, 3082, 3131, 3338, 3387, 3594, 3643,
+ 9, 32, 40, 41, 2058, 2107, 9, 32,
+ 40, 41, 2058, 2107, 48, 57, 9, 32,
+ 40, 41, 2058, 2107, 48, 57, 9, 32,
+ 40, 41, 2058, 2107, 48, 57, 65, 70,
+ 97, 102, 48, 57, 65, 70, 97, 102,
+ 9, 32, 40, 41, 3082, 3131, 3338, 3387,
+ 3594, 3643, 48, 57, 65, 70, 97, 102,
+ 2058, 1920, 2175, 2058, 1920, 2175, 2058, 1920,
+ 2175, 9, 32, 40, 41, 2058, 2107, 9,
+ 32, 40, 41, 48, 2058, 2107, 49, 57,
+ 9, 32, 40, 41, 1802, 1851, 2058, 2107,
+ 48, 57, 9, 32, 40, 41, 2058, 2107,
+ 48, 57, 65, 70, 97, 102, 48, 57,
+ 65, 70, 97, 102, 9, 32, 40, 41,
+ 3082, 3131, 3338, 3387, 3594, 3643, 48, 57,
+ 65, 70, 97, 102, 2058, 1920, 2175, 2058,
+ 1920, 2175, 9, 32, 40, 41, 2058, 2107,
+ 48, 57, 2058, 1920, 2175, 97, 100, 101,
+ 105, 107, 110, 111, 112, 108, 112, 110,
32, 34, 44, 59, 9, 10, 40, 41,
- 99, 104, 32, 34, 44, 59, 9, 10,
- 40, 41, 112, 118, 52, 54, 104, 105,
- 110, 116, 32, 34, 44, 59, 9, 10,
- 40, 41, 104, 105, 110, 116, 32, 34,
- 44, 59, 9, 10, 40, 41, 101, 121,
- 48, 57, 32, 34, 44, 59, 9, 10,
- 40, 41, 48, 57, 111, 45, 100, 101,
- 102, 97, 117, 108, 116, 45, 97, 108,
- 112, 110, 32, 34, 44, 59, 9, 10,
- 40, 41, 111, 114, 116, 32, 34, 44,
- 59, 9, 10, 40, 41, 9, 32, 40,
- 41, 3082, 3131, 3338, 3387, 3594, 3643, 9,
- 32, 40, 41, 97, 101, 105, 107, 109,
- 110, 112, 3082, 3131, 3338, 3387, 3594, 3643,
- 108, 112, 110, 61, 32, 34, 59, 9,
- 10, 40, 41, 9, 32, 40, 41, 3082,
- 3131, 3338, 3387, 3594, 3643, 2058, 1920, 2175,
- 99, 104, 61, 34, 43, 47, 57, 65,
- 90, 97, 122, 43, 47, 57, 65, 90,
- 97, 122, 43, 47, 57, 65, 90, 97,
- 122, 43, 61, 47, 57, 65, 90, 97,
- 122, 43, 61, 47, 57, 65, 90, 97,
- 122, 34, 43, 47, 57, 65, 90, 97,
- 122, 9, 32, 40, 41, 3082, 3131, 3338,
- 3387, 3594, 3643, 61, 43, 47, 57, 65,
- 90, 97, 122, 43, 61, 47, 57, 65,
- 90, 97, 122, 43, 61, 47, 57, 65,
- 90, 97, 122, 9, 32, 40, 41, 43,
- 3082, 3131, 3338, 3387, 3594, 3643, 47, 57,
- 65, 90, 97, 122, 61, 112, 118, 52,
- 54, 104, 105, 110, 116, 61, 34, 46,
- 48, 57, 46, 48, 57, 34, 44, 46,
- 48, 57, 46, 48, 57, 9, 32, 40,
- 41, 44, 46, 3082, 3131, 3338, 3387, 3594,
- 3643, 48, 57, 46, 48, 57, 104, 105,
- 110, 116, 61, 34, 46, 48, 58, 65,
- 70, 97, 102, 46, 48, 58, 65, 70,
- 97, 102, 34, 44, 46, 48, 58, 65,
- 70, 97, 102, 46, 48, 58, 65, 70,
- 97, 102, 9, 32, 40, 41, 44, 46,
- 3082, 3131, 3338, 3387, 3594, 3643, 48, 58,
- 65, 70, 97, 102, 46, 48, 58, 65,
- 70, 97, 102, 101, 121, 48, 57, 9,
- 32, 40, 41, 61, 3082, 3131, 3338, 3387,
- 3594, 3643, 48, 57, 32, 59, 9, 10,
- 40, 41, 9, 32, 40, 41, 3082, 3131,
- 3338, 3387, 3594, 3643, 97, 110, 100, 97,
- 116, 111, 114, 121, 61, 34, 65, 90,
- 97, 122, 65, 90, 97, 122, 34, 44,
- 65, 90, 97, 122, 9, 32, 40, 41,
- 44, 3082, 3131, 3338, 3387, 3594, 3643, 65,
- 90, 97, 122, 111, 45, 100, 101, 102,
- 97, 117, 108, 116, 45, 97, 108, 112,
- 110, 9, 32, 40, 41, 3082, 3131, 3338,
- 3387, 3594, 3643, 111, 114, 116, 61, 34,
- 48, 57, 48, 57, 34, 48, 57, 9,
+ 111, 104, 112, 97, 116, 104, 32, 34,
+ 44, 59, 9, 10, 40, 41, 99, 104,
+ 32, 34, 44, 59, 9, 10, 40, 41,
+ 112, 118, 52, 54, 104, 105, 110, 116,
+ 32, 34, 44, 59, 9, 10, 40, 41,
+ 104, 105, 110, 116, 32, 34, 44, 59,
+ 9, 10, 40, 41, 101, 121, 48, 57,
+ 32, 34, 44, 59, 9, 10, 40, 41,
+ 48, 57, 111, 45, 100, 101, 102, 97,
+ 117, 108, 116, 45, 97, 108, 112, 110,
+ 32, 34, 44, 59, 9, 10, 40, 41,
+ 104, 116, 116, 112, 32, 34, 44, 59,
+ 9, 10, 40, 41, 111, 114, 116, 32,
+ 34, 44, 59, 9, 10, 40, 41, 9,
32, 40, 41, 3082, 3131, 3338, 3387, 3594,
- 3643, 48, 57, 9, 32, 40, 41, 3082,
- 3131, 3338, 3387, 3594, 3643, -128, 8, 11,
- 58, 60, 127, 34, 68, 69, 73, 80,
- 82, 100, 101, 105, 112, 114, 48, 57,
- 32, 59, 9, 10, 40, 41, 48, 57,
- 72, 83, 104, 115, 32, 59, 9, 10,
- 40, 41, 65, 97, 32, 45, 59, 9,
- 10, 40, 41, 78, 110, 83, 115, 69,
- 101, 67, 99, 51, 45, 83, 115, 72,
- 104, 65, 97, 49, 32, 59, 9, 10,
- 40, 41, 67, 68, 99, 100, 67, 68,
- 99, 100, 45, 71, 103, 79, 111, 83,
- 115, 84, 116, 32, 59, 9, 10, 40,
- 41, 83, 115, 65, 97, 80, 112, 50,
- 51, 53, 54, 83, 115, 72, 104, 65,
- 97, 50, 53, 54, 32, 59, 9, 10,
- 40, 41, 56, 52, 83, 115, 72, 104,
- 65, 97, 51, 56, 52, 32, 59, 9,
- 10, 40, 41, 50, 52, 53, 53, 49,
- 57, 32, 59, 9, 10, 40, 41, 52,
- 56, 32, 59, 9, 10, 40, 41, 78,
- 110, 68, 100, 73, 105, 82, 114, 69,
- 101, 67, 99, 84, 116, 32, 59, 9,
- 10, 40, 41, 82, 114, 73, 105, 86,
- 118, 65, 97, 84, 116, 69, 101, 68,
- 79, 100, 111, 78, 110, 83, 115, 32,
- 59, 9, 10, 40, 41, 73, 105, 68,
- 100, 32, 59, 9, 10, 40, 41, 83,
- 115, 65, 97, 77, 83, 109, 115, 68,
- 100, 53, 32, 59, 9, 10, 40, 41,
- 72, 104, 65, 97, 49, 50, 53, 32,
- 45, 59, 9, 10, 40, 41, 78, 110,
- 83, 115, 69, 101, 67, 99, 51, 45,
- 83, 115, 72, 104, 65, 97, 49, 32,
- 59, 9, 10, 40, 41, 53, 54, 32,
- 59, 9, 10, 40, 41, 49, 50, 32,
- 59, 9, 10, 40, 41, 65, 73, 79,
- 80, 83, 85, 97, 105, 111, 112, 115,
- 117, 48, 57, 32, 59, 9, 10, 40,
- 41, 48, 57, 67, 99, 80, 112, 75,
- 107, 73, 105, 88, 120, 32, 59, 9,
- 10, 40, 41, 65, 80, 83, 97, 112,
- 115, 67, 99, 80, 112, 75, 107, 73,
- 105, 88, 120, 32, 59, 9, 10, 40,
- 41, 71, 75, 103, 107, 80, 112, 32,
- 59, 9, 10, 40, 41, 73, 105, 88,
- 120, 32, 59, 9, 10, 40, 41, 80,
- 112, 75, 107, 73, 105, 32, 59, 9,
- 10, 40, 41, 73, 105, 68, 100, 32,
- 59, 9, 10, 40, 41, 71, 75, 103,
- 107, 80, 112, 32, 59, 9, 10, 40,
- 41, 73, 105, 88, 120, 32, 59, 9,
- 10, 40, 41, 80, 112, 75, 107, 73,
- 105, 32, 59, 9, 10, 40, 41, 82,
- 114, 73, 105, 32, 59, 9, 10, 40,
- 41, 46, 48, 57, 32, 46, 59, 9,
- 10, 40, 41, 48, 57, 42, 92, 95,
- 45, 57, 64, 90, 97, 122, 32, 59,
- 9, 10, 40, 41, 42, 92, 95, 45,
- 57, 64, 90, 97, 122, 9, 32, 40,
- 41, 2058, 2107, 9, 32, 40, 41, 42,
- 92, 95, 2058, 2107, 45, 57, 64, 90,
- 97, 122, 9, 32, 40, 41, 2058, 2107,
- 9, 32, 40, 41, 2058, 2107, 48, 57,
- 9, 32, 40, 41, 2058, 2107, 48, 57,
+ 3643, 9, 32, 40, 41, 97, 100, 101,
+ 105, 107, 109, 110, 111, 112, 3082, 3131,
+ 3338, 3387, 3594, 3643, 108, 112, 110, 61,
+ 32, 34, 59, 9, 10, 40, 41, 9,
+ 32, 40, 41, 3082, 3131, 3338, 3387, 3594,
+ 3643, 2058, 1920, 2175, 111, 104, 112, 97,
+ 116, 104, 61, 32, 34, 59, 9, 10,
+ 40, 41, 9, 32, 40, 41, 3082, 3131,
+ 3338, 3387, 3594, 3643, 9, 32, 40, 41,
+ 3082, 3131, 3338, 3387, 3594, 3643, -128, 8,
+ 11, 58, 60, 127, 34, 9, 32, 40,
+ 41, 3082, 3131, 3338, 3387, 3594, 3643, 99,
+ 104, 61, 34, 43, 47, 57, 65, 90,
+ 97, 122, 43, 47, 57, 65, 90, 97,
+ 122, 43, 47, 57, 65, 90, 97, 122,
+ 43, 61, 47, 57, 65, 90, 97, 122,
+ 43, 61, 47, 57, 65, 90, 97, 122,
+ 34, 43, 47, 57, 65, 90, 97, 122,
+ 61, 43, 47, 57, 65, 90, 97, 122,
+ 43, 61, 47, 57, 65, 90, 97, 122,
+ 43, 61, 47, 57, 65, 90, 97, 122,
+ 9, 32, 40, 41, 43, 3082, 3131, 3338,
+ 3387, 3594, 3643, 47, 57, 65, 90, 97,
+ 122, 61, 112, 118, 52, 54, 104, 105,
+ 110, 116, 61, 34, 46, 48, 57, 46,
+ 48, 57, 34, 44, 46, 48, 57, 46,
+ 48, 57, 9, 32, 40, 41, 44, 46,
+ 3082, 3131, 3338, 3387, 3594, 3643, 48, 57,
+ 46, 48, 57, 104, 105, 110, 116, 61,
+ 34, 46, 48, 58, 65, 70, 97, 102,
+ 46, 48, 58, 65, 70, 97, 102, 34,
+ 44, 46, 48, 58, 65, 70, 97, 102,
+ 46, 48, 58, 65, 70, 97, 102, 9,
+ 32, 40, 41, 44, 46, 3082, 3131, 3338,
+ 3387, 3594, 3643, 48, 58, 65, 70, 97,
+ 102, 46, 48, 58, 65, 70, 97, 102,
+ 101, 121, 48, 57, 9, 32, 40, 41,
+ 61, 3082, 3131, 3338, 3387, 3594, 3643, 48,
+ 57, 32, 59, 9, 10, 40, 41, 97,
+ 110, 100, 97, 116, 111, 114, 121, 61,
+ 34, 65, 90, 97, 122, 65, 90, 97,
+ 122, 34, 44, 65, 90, 97, 122, 9,
+ 32, 40, 41, 44, 3082, 3131, 3338, 3387,
+ 3594, 3643, 65, 90, 97, 122, 111, 45,
+ 100, 101, 102, 97, 117, 108, 116, 45,
+ 97, 108, 112, 110, 9, 32, 40, 41,
+ 3082, 3131, 3338, 3387, 3594, 3643, 104, 116,
+ 116, 112, 9, 32, 40, 41, 3082, 3131,
+ 3338, 3387, 3594, 3643, 111, 114, 116, 61,
+ 34, 48, 57, 48, 57, 34, 48, 57,
+ 9, 32, 40, 41, 3082, 3131, 3338, 3387,
+ 3594, 3643, 48, 57, 9, 32, 40, 41,
+ 3082, 3131, 3338, 3387, 3594, 3643, -128, 8,
+ 11, 58, 60, 127, 34, 68, 69, 73,
+ 80, 82, 100, 101, 105, 112, 114, 48,
+ 57, 32, 59, 9, 10, 40, 41, 48,
+ 57, 72, 83, 104, 115, 32, 59, 9,
+ 10, 40, 41, 65, 97, 32, 45, 59,
+ 9, 10, 40, 41, 78, 110, 83, 115,
+ 69, 101, 67, 99, 51, 45, 83, 115,
+ 72, 104, 65, 97, 49, 32, 59, 9,
+ 10, 40, 41, 67, 68, 99, 100, 67,
+ 68, 99, 100, 45, 71, 103, 79, 111,
+ 83, 115, 84, 116, 32, 59, 9, 10,
+ 40, 41, 83, 115, 65, 97, 80, 112,
+ 50, 51, 53, 54, 83, 115, 72, 104,
+ 65, 97, 50, 53, 54, 32, 59, 9,
+ 10, 40, 41, 56, 52, 83, 115, 72,
+ 104, 65, 97, 51, 56, 52, 32, 59,
+ 9, 10, 40, 41, 50, 52, 53, 53,
+ 49, 57, 32, 59, 9, 10, 40, 41,
+ 52, 56, 32, 59, 9, 10, 40, 41,
+ 78, 110, 68, 100, 73, 105, 82, 114,
+ 69, 101, 67, 99, 84, 116, 32, 59,
+ 9, 10, 40, 41, 82, 114, 73, 105,
+ 86, 118, 65, 97, 84, 116, 69, 101,
+ 68, 79, 100, 111, 78, 110, 83, 115,
+ 32, 59, 9, 10, 40, 41, 73, 105,
+ 68, 100, 32, 59, 9, 10, 40, 41,
+ 83, 115, 65, 97, 77, 83, 109, 115,
+ 68, 100, 53, 32, 59, 9, 10, 40,
+ 41, 72, 104, 65, 97, 49, 50, 53,
+ 32, 45, 59, 9, 10, 40, 41, 78,
+ 110, 83, 115, 69, 101, 67, 99, 51,
+ 45, 83, 115, 72, 104, 65, 97, 49,
+ 32, 59, 9, 10, 40, 41, 53, 54,
+ 32, 59, 9, 10, 40, 41, 49, 50,
+ 32, 59, 9, 10, 40, 41, 65, 73,
+ 79, 80, 83, 85, 97, 105, 111, 112,
+ 115, 117, 48, 57, 32, 59, 9, 10,
+ 40, 41, 48, 57, 67, 99, 80, 112,
+ 75, 107, 73, 105, 88, 120, 32, 59,
+ 9, 10, 40, 41, 65, 80, 83, 97,
+ 112, 115, 67, 99, 80, 112, 75, 107,
+ 73, 105, 88, 120, 32, 59, 9, 10,
+ 40, 41, 71, 75, 103, 107, 80, 112,
+ 32, 59, 9, 10, 40, 41, 73, 105,
+ 88, 120, 32, 59, 9, 10, 40, 41,
+ 80, 112, 75, 107, 73, 105, 32, 59,
+ 9, 10, 40, 41, 73, 105, 68, 100,
+ 32, 59, 9, 10, 40, 41, 71, 75,
+ 103, 107, 80, 112, 32, 59, 9, 10,
+ 40, 41, 73, 105, 88, 120, 32, 59,
+ 9, 10, 40, 41, 80, 112, 75, 107,
+ 73, 105, 32, 59, 9, 10, 40, 41,
+ 82, 114, 73, 105, 32, 59, 9, 10,
+ 40, 41, 46, 48, 57, 32, 46, 59,
+ 9, 10, 40, 41, 48, 57, 42, 92,
+ 95, 45, 57, 64, 90, 97, 122, 32,
+ 59, 9, 10, 40, 41, 42, 92, 95,
+ 45, 57, 64, 90, 97, 122, 9, 32,
+ 40, 41, 2058, 2107, 9, 32, 40, 41,
+ 42, 92, 95, 2058, 2107, 45, 57, 64,
+ 90, 97, 122, 9, 32, 40, 41, 2058,
+ 2107, 9, 32, 40, 41, 2058, 2107, 48,
+ 57, 9, 32, 40, 41, 2058, 2107, 48,
+ 57, 9, 32, 40, 41, 2058, 2107, 48,
+ 57, 9, 32, 40, 41, 68, 72, 77,
+ 83, 87, 100, 104, 109, 115, 119, 2058,
+ 2107, 48, 57, 9, 32, 40, 41, 2058,
+ 2107, 48, 57, 9, 32, 40, 41, 68,
+ 72, 77, 83, 87, 100, 104, 109, 115,
+ 119, 2058, 2107, 48, 57, 9, 32, 40,
+ 41, 2058, 2107, 48, 57, 9, 32, 40,
+ 41, 68, 72, 77, 83, 87, 100, 104,
+ 109, 115, 119, 2058, 2107, 48, 57, 9,
+ 32, 40, 41, 2058, 2107, 48, 57, 32,
+ 59, 68, 72, 77, 83, 87, 100, 104,
+ 109, 115, 119, 9, 10, 40, 41, 48,
+ 57, 32, 59, 9, 10, 40, 41, 48,
+ 57, 68, 72, 77, 83, 87, 100, 104,
+ 109, 115, 119, 48, 57, 32, 59, 9,
+ 10, 40, 41, 48, 57, 2058, 1920, 2175,
9, 32, 40, 41, 2058, 2107, 48, 57,
- 9, 32, 40, 41, 68, 72, 77, 83,
- 87, 100, 104, 109, 115, 119, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 68, 72,
- 77, 83, 87, 100, 104, 109, 115, 119,
- 2058, 2107, 48, 57, 9, 32, 40, 41,
- 2058, 2107, 48, 57, 9, 32, 40, 41,
68, 72, 77, 83, 87, 100, 104, 109,
- 115, 119, 2058, 2107, 48, 57, 9, 32,
- 40, 41, 2058, 2107, 48, 57, 32, 59,
- 68, 72, 77, 83, 87, 100, 104, 109,
- 115, 119, 9, 10, 40, 41, 48, 57,
- 32, 59, 9, 10, 40, 41, 48, 57,
- 68, 72, 77, 83, 87, 100, 104, 109,
- 115, 119, 48, 57, 32, 59, 9, 10,
- 40, 41, 48, 57, 2058, 1920, 2175, 9,
+ 115, 119, 48, 57, 9, 32, 40, 41,
+ 2058, 2107, 48, 57, 2058, 1920, 2175, 9,
32, 40, 41, 2058, 2107, 48, 57, 68,
72, 77, 83, 87, 100, 104, 109, 115,
119, 48, 57, 9, 32, 40, 41, 2058,
@@ -2747,66 +2812,67 @@ static const short _zone_scanner_trans_keys[] = {
40, 41, 2058, 2107, 48, 57, 68, 72,
77, 83, 87, 100, 104, 109, 115, 119,
48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 2058, 1920, 2175, 9, 32, 40,
- 41, 2058, 2107, 48, 57, 68, 72, 77,
- 83, 87, 100, 104, 109, 115, 119, 48,
- 57, 9, 32, 40, 41, 2058, 2107, 48,
- 57, 2058, 1920, 2175, 2058, 1920, 2175, 2058,
- 1920, 2175, 32, 59, 9, 10, 40, 41,
- 9, 32, 40, 41, 2058, 2107, 9, 32,
- 40, 41, 2058, 2107, -128, 8, 11, 58,
- 60, 127, 32, 59, 9, 10, 40, 41,
- 2058, 1920, 2175, 42, 92, 95, 45, 57,
- 64, 90, 97, 122, 9, 32, 40, 41,
- 2058, 2107, 9, 32, 40, 41, 42, 92,
- 95, 2058, 2107, 45, 57, 64, 90, 97,
- 122, 32, 59, 9, 10, 40, 41, 2058,
- 1920, 2175, 48, 57, 9, 32, 40, 41,
- 2058, 2107, 48, 57, 9, 32, 40, 41,
- 42, 92, 95, 2058, 2107, 45, 57, 64,
- 90, 97, 122, 32, 59, 9, 10, 40,
- 41, 2058, 1920, 2175, 32, 59, 9, 10,
- 40, 41, 9, 32, 40, 41, 3082, 3131,
- 3338, 3387, 3594, 3643, 9, 32, 40, 41,
- 3082, 3131, 3338, 3387, 3594, 3643, -128, 8,
- 11, 58, 60, 127, 2058, 1920, 2175, 46,
- 48, 58, 65, 70, 97, 102, 32, 46,
- 59, 9, 10, 40, 41, 48, 58, 65,
- 70, 97, 102, 48, 57, 9, 32, 40,
+ 48, 57, 2058, 1920, 2175, 2058, 1920, 2175,
+ 2058, 1920, 2175, 32, 59, 9, 10, 40,
+ 41, 9, 32, 40, 41, 2058, 2107, 9,
+ 32, 40, 41, 2058, 2107, -128, 8, 11,
+ 58, 60, 127, 32, 59, 9, 10, 40,
+ 41, 2058, 1920, 2175, 42, 92, 95, 45,
+ 57, 64, 90, 97, 122, 9, 32, 40,
+ 41, 2058, 2107, 9, 32, 40, 41, 42,
+ 92, 95, 2058, 2107, 45, 57, 64, 90,
+ 97, 122, 32, 59, 9, 10, 40, 41,
+ 2058, 1920, 2175, 48, 57, 9, 32, 40,
41, 2058, 2107, 48, 57, 9, 32, 40,
- 41, 78, 83, 2058, 2107, 48, 57, 9,
- 32, 40, 41, 2058, 2107, 48, 57, 9,
- 32, 40, 41, 78, 83, 2058, 2107, 48,
- 57, 9, 32, 40, 41, 46, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 78, 83,
- 2058, 2107, 9, 32, 40, 41, 2058, 2107,
- 9, 32, 40, 41, 2058, 2107, 48, 57,
+ 41, 42, 92, 95, 2058, 2107, 45, 57,
+ 64, 90, 97, 122, 32, 59, 9, 10,
+ 40, 41, 2058, 1920, 2175, 32, 59, 9,
+ 10, 40, 41, 9, 32, 40, 41, 3082,
+ 3131, 3338, 3387, 3594, 3643, 9, 32, 40,
+ 41, 3082, 3131, 3338, 3387, 3594, 3643, -128,
+ 8, 11, 58, 60, 127, 2058, 1920, 2175,
+ 46, 48, 58, 65, 70, 97, 102, 32,
+ 46, 59, 9, 10, 40, 41, 48, 58,
+ 65, 70, 97, 102, 48, 57, 9, 32,
+ 40, 41, 2058, 2107, 48, 57, 9, 32,
+ 40, 41, 78, 83, 2058, 2107, 48, 57,
9, 32, 40, 41, 2058, 2107, 48, 57,
- 9, 32, 40, 41, 69, 87, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 69, 87,
- 2058, 2107, 48, 57, 9, 32, 40, 41,
- 46, 2058, 2107, 48, 57, 9, 32, 40,
- 41, 69, 87, 2058, 2107, 9, 32, 40,
- 41, 2058, 2107, 9, 32, 40, 41, 45,
- 2058, 2107, 48, 57, 48, 57, 9, 32,
- 40, 41, 46, 109, 3082, 3131, 3338, 3387,
- 3594, 3643, 48, 57, 9, 32, 40, 41,
- 3082, 3131, 3338, 3387, 3594, 3643, 48, 57,
- 9, 32, 40, 41, 46, 109, 3082, 3131,
- 3338, 3387, 3594, 3643, 48, 57, 9, 32,
- 40, 41, 3082, 3131, 3338, 3387, 3594, 3643,
- 48, 57, 9, 32, 40, 41, 46, 109,
- 3082, 3131, 3338, 3387, 3594, 3643, 48, 57,
- 9, 32, 40, 41, 3082, 3131, 3338, 3387,
- 3594, 3643, 48, 57, 9, 32, 40, 41,
- 46, 109, 3082, 3131, 3338, 3387, 3594, 3643,
- 48, 57, 9, 32, 40, 41, 3082, 3131,
- 3338, 3387, 3594, 3643, 2058, 1920, 2175, 9,
- 32, 40, 41, 109, 3082, 3131, 3338, 3387,
- 3594, 3643, 48, 57, 9, 32, 40, 41,
+ 9, 32, 40, 41, 78, 83, 2058, 2107,
+ 48, 57, 9, 32, 40, 41, 46, 2058,
+ 2107, 48, 57, 9, 32, 40, 41, 78,
+ 83, 2058, 2107, 9, 32, 40, 41, 2058,
+ 2107, 9, 32, 40, 41, 2058, 2107, 48,
+ 57, 9, 32, 40, 41, 2058, 2107, 48,
+ 57, 9, 32, 40, 41, 69, 87, 2058,
+ 2107, 48, 57, 9, 32, 40, 41, 2058,
+ 2107, 48, 57, 9, 32, 40, 41, 69,
+ 87, 2058, 2107, 48, 57, 9, 32, 40,
+ 41, 46, 2058, 2107, 48, 57, 9, 32,
+ 40, 41, 69, 87, 2058, 2107, 9, 32,
+ 40, 41, 2058, 2107, 9, 32, 40, 41,
+ 45, 2058, 2107, 48, 57, 48, 57, 9,
+ 32, 40, 41, 46, 109, 3082, 3131, 3338,
+ 3387, 3594, 3643, 48, 57, 9, 32, 40,
+ 41, 3082, 3131, 3338, 3387, 3594, 3643, 48,
+ 57, 9, 32, 40, 41, 46, 109, 3082,
+ 3131, 3338, 3387, 3594, 3643, 48, 57, 9,
+ 32, 40, 41, 3082, 3131, 3338, 3387, 3594,
+ 3643, 48, 57, 9, 32, 40, 41, 46,
109, 3082, 3131, 3338, 3387, 3594, 3643, 48,
- 57, 2058, 1920, 2175, 9, 32, 40, 41,
+ 57, 9, 32, 40, 41, 3082, 3131, 3338,
+ 3387, 3594, 3643, 48, 57, 9, 32, 40,
+ 41, 46, 109, 3082, 3131, 3338, 3387, 3594,
+ 3643, 48, 57, 9, 32, 40, 41, 3082,
+ 3131, 3338, 3387, 3594, 3643, 2058, 1920, 2175,
+ 9, 32, 40, 41, 109, 3082, 3131, 3338,
+ 3387, 3594, 3643, 48, 57, 9, 32, 40,
+ 41, 109, 3082, 3131, 3338, 3387, 3594, 3643,
+ 48, 57, 2058, 1920, 2175, 9, 32, 40,
+ 41, 109, 3082, 3131, 3338, 3387, 3594, 3643,
+ 48, 57, 9, 32, 40, 41, 109, 3082,
+ 3131, 3338, 3387, 3594, 3643, 48, 57, 9,
+ 32, 40, 41, 3082, 3131, 3338, 3387, 3594,
+ 3643, 2058, 1920, 2175, 9, 32, 40, 41,
109, 3082, 3131, 3338, 3387, 3594, 3643, 48,
57, 9, 32, 40, 41, 109, 3082, 3131,
3338, 3387, 3594, 3643, 48, 57, 9, 32,
@@ -2816,285 +2882,267 @@ static const short _zone_scanner_trans_keys[] = {
9, 32, 40, 41, 109, 3082, 3131, 3338,
3387, 3594, 3643, 48, 57, 9, 32, 40,
41, 3082, 3131, 3338, 3387, 3594, 3643, 2058,
- 1920, 2175, 9, 32, 40, 41, 109, 3082,
- 3131, 3338, 3387, 3594, 3643, 48, 57, 9,
- 32, 40, 41, 109, 3082, 3131, 3338, 3387,
- 3594, 3643, 48, 57, 9, 32, 40, 41,
- 3082, 3131, 3338, 3387, 3594, 3643, 2058, 1920,
- 2175, 9, 32, 40, 41, 2058, 2107, 2058,
1920, 2175, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 2058, 1920, 2175, 2058, 1920, 2175,
2058, 1920, 2175, 9, 32, 40, 41, 2058,
- 2107, 2058, 1920, 2175, 9, 32, 40, 41,
- 2058, 2107, 48, 57, 9, 32, 40, 41,
- 2058, 2107, 48, 57, 2058, 1920, 2175, 2058,
- 1920, 2175, 48, 57, 9, 32, 40, 41,
- 2058, 2107, 48, 57, 9, 32, 40, 41,
- 2058, 2107, 48, 57, 9, 32, 40, 41,
- 2058, 2107, 48, 57, 9, 32, 40, 41,
- 2058, 2107, 48, 57, 9, 32, 40, 41,
- 2058, 2107, 48, 57, 9, 32, 40, 41,
- 42, 92, 95, 2058, 2107, 45, 57, 64,
- 90, 97, 122, 32, 59, 9, 10, 40,
- 41, 2058, 1920, 2175, 2058, 1920, 2175, 2058,
+ 2107, 48, 57, 9, 32, 40, 41, 2058,
+ 2107, 48, 57, 2058, 1920, 2175, 2058, 1920,
+ 2175, 2058, 1920, 2175, 9, 32, 40, 41,
+ 2058, 2107, 2058, 1920, 2175, 9, 32, 40,
+ 41, 2058, 2107, 48, 57, 9, 32, 40,
+ 41, 2058, 2107, 48, 57, 2058, 1920, 2175,
+ 2058, 1920, 2175, 48, 57, 9, 32, 40,
+ 41, 2058, 2107, 48, 57, 9, 32, 40,
+ 41, 2058, 2107, 48, 57, 9, 32, 40,
+ 41, 2058, 2107, 48, 57, 9, 32, 40,
+ 41, 2058, 2107, 48, 57, 9, 32, 40,
+ 41, 2058, 2107, 48, 57, 9, 32, 40,
+ 41, 42, 92, 95, 2058, 2107, 45, 57,
+ 64, 90, 97, 122, 32, 59, 9, 10,
+ 40, 41, 2058, 1920, 2175, 2058, 1920, 2175,
+ 2058, 1920, 2175, 48, 57, 9, 32, 40,
+ 41, 2058, 2107, 48, 57, 9, 32, 40,
+ 41, 2058, 2107, 48, 57, 9, 32, 40,
+ 41, 2058, 2107, 48, 57, 9, 32, 40,
+ 41, 2058, 2107, -128, 8, 11, 58, 60,
+ 127, 9, 32, 40, 41, 2058, 2107, 9,
+ 32, 40, 41, 2058, 2107, -128, 8, 11,
+ 58, 60, 127, 9, 32, 40, 41, 2058,
+ 2107, 9, 32, 40, 41, 2058, 2107, -128,
+ 8, 11, 58, 60, 127, 9, 32, 40,
+ 41, 2058, 2107, 9, 32, 40, 41, 42,
+ 92, 95, 2058, 2107, 45, 57, 64, 90,
+ 97, 122, 32, 59, 9, 10, 40, 41,
+ 2058, 1920, 2175, 2058, 1920, 2175, 2058, 1920,
+ 2175, 2058, 1920, 2175, 2058, 1920, 2175, 48,
+ 57, 65, 90, 97, 122, 9, 32, 40,
+ 41, 2058, 2107, 9, 32, 40, 41, 2058,
+ 2107, 48, 57, 9, 32, 40, 41, 2058,
+ 2107, 48, 57, 9, 32, 40, 41, 2058,
+ 2107, 48, 57, 65, 90, 97, 122, 9,
+ 32, 40, 41, 2058, 2107, 9, 32, 40,
+ 41, 43, 2058, 2107, 47, 57, 65, 90,
+ 97, 122, 2570, 2619, 2058, 1920, 2175, 2058,
+ 1920, 2175, 2058, 1920, 2175, 9, 32, 33,
+ 40, 41, 49, 50, 3082, 3131, 3338, 3387,
+ 3594, 3643, 49, 50, 58, 46, 48, 57,
+ 47, 46, 57, 48, 57, 9, 32, 40,
+ 41, 3082, 3131, 3338, 3387, 3594, 3643, 48,
+ 57, 2058, 1920, 2175, 58, 46, 48, 58,
+ 65, 70, 97, 102, 47, 46, 58, 65,
+ 70, 97, 102, 48, 57, 9, 32, 40,
+ 41, 2058, 2107, 48, 57, 9, 32, 40,
+ 41, 2058, 2107, 48, 57, 65, 90, 97,
+ 122, 9, 32, 40, 41, 2058, 2107, 9,
+ 32, 40, 41, 2058, 2107, 48, 57, 9,
+ 32, 40, 41, 2058, 2107, 48, 57, 9,
+ 32, 40, 41, 2058, 2107, 48, 57, 65,
+ 70, 97, 102, 48, 57, 65, 70, 97,
+ 102, 9, 32, 40, 41, 3082, 3131, 3338,
+ 3387, 3594, 3643, 48, 57, 65, 70, 97,
+ 102, 2058, 1920, 2175, 2058, 1920, 2175, 2058,
+ 1920, 2175, 2058, 1920, 2175, 48, 57, 9,
+ 32, 40, 41, 2058, 2107, 48, 57, 9,
+ 32, 40, 41, 2058, 2107, 48, 57, 9,
+ 32, 40, 41, 2058, 2107, 48, 57, 9,
+ 32, 40, 41, 2058, 2107, 48, 57, 65,
+ 70, 97, 102, 48, 57, 65, 70, 97,
+ 102, 9, 32, 40, 41, 3082, 3131, 3338,
+ 3387, 3594, 3643, 48, 57, 65, 70, 97,
+ 102, 2058, 1920, 2175, 2058, 1920, 2175, 2058,
1920, 2175, 48, 57, 9, 32, 40, 41,
2058, 2107, 48, 57, 9, 32, 40, 41,
+ 48, 49, 50, 51, 2058, 2107, 9, 32,
+ 40, 41, 2058, 2107, 9, 32, 40, 41,
2058, 2107, 48, 57, 9, 32, 40, 41,
2058, 2107, 48, 57, 9, 32, 40, 41,
- 2058, 2107, -128, 8, 11, 58, 60, 127,
+ 46, 2058, 2107, 7177, 7200, 7208, 7209, 7433,
+ 7456, 7464, 7465, 7689, 7712, 7720, 7721, 10506,
+ 10555, 10762, 10811, 11274, 11323, 11530, 11579, 11786,
+ 11835, 12298, 12347, 12554, 12603, 12810, 12859, 13322,
+ 13371, 13578, 13627, 13834, 13883, 4105, 4128, 4136,
+ 4137, 4139, 5130, 5179, 4143, 4153, 4161, 4186,
+ 4193, 4218, 2570, 2619, 5130, 4992, 5247, 5641,
+ 5664, 5672, 5673, 14602, 14651, 14858, 14907, 15370,
+ 15419, 15626, 15675, 15882, 15931, 6666, 6528, 6783,
+ 4139, 7177, 7200, 7208, 7209, 7433, 7456, 7464,
+ 7465, 7689, 7712, 7720, 7721, 10506, 10555, 10762,
+ 10811, 11274, 11323, 11530, 11579, 11786, 11835, 12298,
+ 12347, 12554, 12603, 12810, 12859, 13322, 13371, 13578,
+ 13627, 13834, 13883, 4143, 4153, 4161, 4186, 4193,
+ 4218, 8714, 9226, 9738, 8576, 8831, 9088, 9343,
+ 9600, 9855, 2058, 1920, 2175, 2058, 1920, 2175,
9, 32, 40, 41, 2058, 2107, 9, 32,
- 40, 41, 2058, 2107, -128, 8, 11, 58,
- 60, 127, 9, 32, 40, 41, 2058, 2107,
- 9, 32, 40, 41, 2058, 2107, -128, 8,
- 11, 58, 60, 127, 9, 32, 40, 41,
- 2058, 2107, 9, 32, 40, 41, 42, 92,
- 95, 2058, 2107, 45, 57, 64, 90, 97,
- 122, 32, 59, 9, 10, 40, 41, 2058,
- 1920, 2175, 2058, 1920, 2175, 2058, 1920, 2175,
- 2058, 1920, 2175, 2058, 1920, 2175, 48, 57,
- 65, 90, 97, 122, 9, 32, 40, 41,
+ 40, 41, 2058, 2107, 48, 57, 9, 32,
+ 40, 41, 2058, 2107, 48, 57, 9, 32,
+ 40, 41, 46, 2058, 2107, 48, 57, 46,
+ 7177, 7200, 7208, 7209, 7433, 7456, 7464, 7465,
+ 7689, 7712, 7720, 7721, 10506, 10555, 10762, 10811,
+ 11274, 11323, 11530, 11579, 11786, 11835, 12298, 12347,
+ 12554, 12603, 12810, 12859, 13322, 13371, 13578, 13627,
+ 13834, 13883, 48, 57, 2058, 1920, 2175, 2058,
+ 1920, 2175, 9, 32, 40, 41, 2058, 2107,
+ 9, 32, 40, 41, 2058, 2107, 48, 57,
+ 9, 32, 40, 41, 2058, 2107, 48, 57,
+ 9, 32, 40, 41, 46, 2058, 2107, 48,
+ 58, 65, 70, 97, 102, 46, 7177, 7200,
+ 7208, 7209, 7433, 7456, 7464, 7465, 7689, 7712,
+ 7720, 7721, 10506, 10555, 10762, 10811, 11274, 11323,
+ 11530, 11579, 11786, 11835, 12298, 12347, 12554, 12603,
+ 12810, 12859, 13322, 13371, 13578, 13627, 13834, 13883,
+ 48, 58, 65, 70, 97, 102, 2058, 1920,
+ 2175, 2058, 1920, 2175, 9, 32, 40, 41,
2058, 2107, 9, 32, 40, 41, 2058, 2107,
48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 65, 90, 97, 122, 9, 32,
- 40, 41, 2058, 2107, 9, 32, 40, 41,
- 43, 2058, 2107, 47, 57, 65, 90, 97,
- 122, 2570, 2619, 2058, 1920, 2175, 2058, 1920,
- 2175, 2058, 1920, 2175, 9, 32, 33, 40,
- 41, 49, 50, 3082, 3131, 3338, 3387, 3594,
- 3643, 49, 50, 58, 46, 48, 57, 47,
- 46, 57, 48, 57, 9, 32, 40, 41,
- 3082, 3131, 3338, 3387, 3594, 3643, 48, 57,
- 2058, 1920, 2175, 58, 46, 48, 58, 65,
- 70, 97, 102, 47, 46, 58, 65, 70,
- 97, 102, 48, 57, 9, 32, 40, 41,
- 2058, 2107, 48, 57, 9, 32, 40, 41,
+ 48, 57, 9, 32, 40, 41, 42, 92,
+ 95, 2058, 2107, 45, 57, 64, 90, 97,
+ 122, 7177, 7200, 7208, 7209, 7433, 7456, 7464,
+ 7465, 7689, 7712, 7720, 7721, 10506, 10555, 10762,
+ 10811, 11274, 11323, 11530, 11579, 11786, 11835, 12298,
+ 12347, 12554, 12603, 12810, 12859, 13322, 13371, 13578,
+ 13627, 13834, 13883, 2058, 1920, 2175, 2058, 1920,
+ 2175, 2058, 1920, 2175, 65, 67, 68, 69,
+ 72, 73, 75, 76, 77, 78, 79, 80,
+ 82, 83, 84, 85, 87, 90, 97, 99,
+ 100, 101, 104, 105, 107, 108, 109, 110,
+ 111, 112, 114, 115, 116, 117, 119, 122,
+ 9, 32, 40, 41, 65, 70, 80, 97,
+ 102, 112, 2058, 2107, 9, 32, 40, 41,
2058, 2107, 48, 57, 65, 90, 97, 122,
9, 32, 40, 41, 2058, 2107, 9, 32,
40, 41, 2058, 2107, 48, 57, 9, 32,
40, 41, 2058, 2107, 48, 57, 9, 32,
- 40, 41, 2058, 2107, 48, 57, 65, 70,
- 97, 102, 48, 57, 65, 70, 97, 102,
- 9, 32, 40, 41, 3082, 3131, 3338, 3387,
- 3594, 3643, 48, 57, 65, 70, 97, 102,
- 2058, 1920, 2175, 2058, 1920, 2175, 2058, 1920,
- 2175, 2058, 1920, 2175, 48, 57, 9, 32,
40, 41, 2058, 2107, 48, 57, 9, 32,
40, 41, 2058, 2107, 48, 57, 9, 32,
40, 41, 2058, 2107, 48, 57, 9, 32,
- 40, 41, 2058, 2107, 48, 57, 65, 70,
- 97, 102, 48, 57, 65, 70, 97, 102,
- 9, 32, 40, 41, 3082, 3131, 3338, 3387,
- 3594, 3643, 48, 57, 65, 70, 97, 102,
- 2058, 1920, 2175, 2058, 1920, 2175, 2058, 1920,
- 2175, 48, 57, 9, 32, 40, 41, 2058,
- 2107, 48, 57, 9, 32, 40, 41, 48,
- 49, 50, 51, 2058, 2107, 9, 32, 40,
- 41, 2058, 2107, 9, 32, 40, 41, 2058,
- 2107, 48, 57, 9, 32, 40, 41, 2058,
- 2107, 48, 57, 9, 32, 40, 41, 46,
- 2058, 2107, 7177, 7200, 7208, 7209, 7433, 7456,
- 7464, 7465, 7689, 7712, 7720, 7721, 10506, 10555,
- 10762, 10811, 11274, 11323, 11530, 11579, 11786, 11835,
- 12298, 12347, 12554, 12603, 12810, 12859, 13322, 13371,
- 13578, 13627, 13834, 13883, 4105, 4128, 4136, 4137,
- 4139, 5130, 5179, 4143, 4153, 4161, 4186, 4193,
- 4218, 2570, 2619, 5130, 4992, 5247, 5641, 5664,
- 5672, 5673, 14602, 14651, 14858, 14907, 15370, 15419,
- 15626, 15675, 15882, 15931, 6666, 6528, 6783, 4139,
- 7177, 7200, 7208, 7209, 7433, 7456, 7464, 7465,
- 7689, 7712, 7720, 7721, 10506, 10555, 10762, 10811,
- 11274, 11323, 11530, 11579, 11786, 11835, 12298, 12347,
- 12554, 12603, 12810, 12859, 13322, 13371, 13578, 13627,
- 13834, 13883, 4143, 4153, 4161, 4186, 4193, 4218,
- 8714, 9226, 9738, 8576, 8831, 9088, 9343, 9600,
- 9855, 2058, 1920, 2175, 2058, 1920, 2175, 9,
- 32, 40, 41, 2058, 2107, 9, 32, 40,
- 41, 2058, 2107, 48, 57, 9, 32, 40,
- 41, 2058, 2107, 48, 57, 9, 32, 40,
- 41, 46, 2058, 2107, 48, 57, 46, 7177,
- 7200, 7208, 7209, 7433, 7456, 7464, 7465, 7689,
- 7712, 7720, 7721, 10506, 10555, 10762, 10811, 11274,
- 11323, 11530, 11579, 11786, 11835, 12298, 12347, 12554,
- 12603, 12810, 12859, 13322, 13371, 13578, 13627, 13834,
- 13883, 48, 57, 2058, 1920, 2175, 2058, 1920,
- 2175, 9, 32, 40, 41, 2058, 2107, 9,
- 32, 40, 41, 2058, 2107, 48, 57, 9,
- 32, 40, 41, 2058, 2107, 48, 57, 9,
- 32, 40, 41, 46, 2058, 2107, 48, 58,
- 65, 70, 97, 102, 46, 7177, 7200, 7208,
- 7209, 7433, 7456, 7464, 7465, 7689, 7712, 7720,
- 7721, 10506, 10555, 10762, 10811, 11274, 11323, 11530,
- 11579, 11786, 11835, 12298, 12347, 12554, 12603, 12810,
- 12859, 13322, 13371, 13578, 13627, 13834, 13883, 48,
- 58, 65, 70, 97, 102, 2058, 1920, 2175,
- 2058, 1920, 2175, 9, 32, 40, 41, 2058,
- 2107, 9, 32, 40, 41, 2058, 2107, 48,
- 57, 9, 32, 40, 41, 2058, 2107, 48,
- 57, 9, 32, 40, 41, 42, 92, 95,
- 2058, 2107, 45, 57, 64, 90, 97, 122,
- 7177, 7200, 7208, 7209, 7433, 7456, 7464, 7465,
- 7689, 7712, 7720, 7721, 10506, 10555, 10762, 10811,
- 11274, 11323, 11530, 11579, 11786, 11835, 12298, 12347,
- 12554, 12603, 12810, 12859, 13322, 13371, 13578, 13627,
- 13834, 13883, 2058, 1920, 2175, 2058, 1920, 2175,
- 2058, 1920, 2175, 65, 67, 68, 69, 72,
- 73, 75, 76, 77, 78, 79, 80, 82,
- 83, 84, 85, 90, 97, 99, 100, 101,
- 104, 105, 107, 108, 109, 110, 111, 112,
- 114, 115, 116, 117, 122, 9, 32, 40,
- 41, 65, 70, 80, 97, 102, 112, 2058,
- 2107, 9, 32, 40, 41, 2058, 2107, 48,
- 57, 65, 90, 97, 122, 9, 32, 40,
- 41, 2058, 2107, 9, 32, 40, 41, 2058,
- 2107, 48, 57, 9, 32, 40, 41, 2058,
- 2107, 48, 57, 9, 32, 40, 41, 2058,
- 2107, 48, 57, 9, 32, 40, 41, 2058,
- 2107, 48, 57, 9, 32, 40, 41, 2058,
- 2107, 48, 57, 9, 32, 40, 41, 2058,
- 2107, 48, 57, 9, 32, 40, 41, 2058,
- 2107, 48, 57, 9, 32, 40, 41, 2058,
- 2107, 48, 57, 9, 32, 40, 41, 2058,
- 2107, 48, 57, 9, 32, 40, 41, 2058,
- 2107, 48, 57, 9, 32, 40, 41, 42,
- 92, 95, 2058, 2107, 45, 57, 64, 90,
- 97, 122, 9, 32, 40, 41, 2058, 2107,
- 9, 32, 40, 41, 43, 2058, 2107, 47,
- 57, 65, 90, 97, 122, 2570, 2619, 2058,
- 1920, 2175, 2058, 1920, 2175, 2058, 1920, 2175,
+ 40, 41, 2058, 2107, 48, 57, 9, 32,
+ 40, 41, 2058, 2107, 48, 57, 9, 32,
+ 40, 41, 2058, 2107, 48, 57, 9, 32,
+ 40, 41, 2058, 2107, 48, 57, 9, 32,
+ 40, 41, 2058, 2107, 48, 57, 9, 32,
+ 40, 41, 42, 92, 95, 2058, 2107, 45,
+ 57, 64, 90, 97, 122, 9, 32, 40,
+ 41, 2058, 2107, 9, 32, 40, 41, 43,
+ 2058, 2107, 47, 57, 65, 90, 97, 122,
+ 2570, 2619, 2058, 1920, 2175, 2058, 1920, 2175,
2058, 1920, 2175, 2058, 1920, 2175, 2058, 1920,
- 2175, 2058, 1920, 2175, 2058, 1920, 2175, 65,
- 97, 65, 97, 9, 32, 40, 41, 2058,
- 2107, 83, 115, 68, 100, 66, 98, 9,
- 32, 40, 41, 2058, 2107, 76, 108, 9,
- 32, 40, 41, 2058, 2107, 65, 68, 69,
- 78, 83, 97, 100, 101, 110, 115, 65,
- 97, 9, 32, 40, 41, 2058, 2107, 78,
- 83, 110, 115, 83, 115, 75, 107, 69,
- 101, 89, 121, 9, 32, 40, 41, 2058,
- 2107, 9, 32, 40, 41, 2058, 2107, 82,
- 114, 84, 116, 9, 32, 40, 41, 2058,
- 2107, 65, 97, 77, 109, 69, 101, 9,
- 32, 40, 41, 2058, 2107, 89, 121, 78,
- 110, 67, 99, 9, 32, 40, 41, 2058,
- 2107, 72, 78, 83, 104, 110, 115, 67,
- 99, 73, 105, 68, 100, 9, 32, 40,
- 41, 2058, 2107, 65, 83, 97, 115, 77,
- 109, 69, 101, 9, 32, 40, 41, 2058,
- 2107, 75, 107, 69, 101, 89, 121, 9,
- 32, 40, 41, 2058, 2107, 9, 32, 40,
- 41, 2058, 2107, 85, 117, 73, 105, 52,
- 54, 56, 9, 32, 40, 41, 2058, 2107,
- 52, 9, 32, 40, 41, 2058, 2107, 73,
- 84, 105, 116, 78, 110, 70, 102, 79,
- 111, 9, 32, 40, 41, 2058, 2107, 84,
- 116, 80, 112, 83, 115, 9, 32, 40,
- 41, 2058, 2107, 80, 112, 83, 115, 69,
- 101, 67, 99, 75, 107, 69, 101, 89,
- 121, 9, 32, 40, 41, 2058, 2107, 69,
- 88, 101, 120, 89, 121, 9, 32, 40,
- 41, 2058, 2107, 9, 32, 40, 41, 2058,
- 2107, 51, 54, 79, 80, 111, 112, 50,
- 9, 32, 40, 41, 2058, 2107, 52, 9,
- 32, 40, 41, 2058, 2107, 67, 99, 9,
- 32, 40, 41, 2058, 2107, 9, 32, 40,
- 41, 2058, 2107, 73, 88, 105, 120, 78,
- 110, 70, 102, 79, 111, 9, 32, 40,
- 41, 2058, 2107, 9, 32, 40, 41, 2058,
- 2107, 65, 73, 83, 97, 105, 115, 80,
- 112, 84, 116, 82, 114, 9, 32, 40,
- 41, 2058, 2107, 68, 100, 9, 32, 40,
- 41, 2058, 2107, 9, 32, 40, 41, 69,
- 101, 2058, 2107, 67, 99, 9, 32, 40,
- 41, 51, 2058, 2107, 9, 32, 40, 41,
- 80, 112, 2058, 2107, 65, 97, 82, 114,
- 65, 97, 77, 109, 9, 32, 40, 41,
- 2058, 2107, 80, 112, 69, 101, 78, 110,
- 80, 112, 71, 103, 80, 112, 75, 107,
- 69, 101, 89, 121, 9, 32, 40, 41,
- 2058, 2107, 84, 116, 82, 114, 9, 32,
- 40, 41, 2058, 2107, 80, 82, 84, 112,
- 114, 116, 9, 32, 40, 41, 2058, 2107,
- 83, 115, 73, 105, 71, 103, 9, 32,
+ 2175, 2058, 1920, 2175, 2058, 1920, 2175, 2058,
+ 1920, 2175, 65, 97, 65, 97, 9, 32,
+ 40, 41, 2058, 2107, 83, 115, 68, 100,
+ 66, 98, 9, 32, 40, 41, 2058, 2107,
+ 76, 108, 9, 32, 40, 41, 2058, 2107,
+ 65, 68, 69, 78, 83, 97, 100, 101,
+ 110, 115, 65, 97, 9, 32, 40, 41,
+ 2058, 2107, 78, 83, 110, 115, 83, 115,
+ 75, 107, 69, 101, 89, 121, 9, 32,
40, 41, 2058, 2107, 9, 32, 40, 41,
- 2058, 2107, 77, 79, 80, 82, 83, 86,
- 109, 111, 112, 114, 115, 118, 73, 105,
- 77, 109, 69, 101, 65, 97, 9, 32,
- 40, 41, 2058, 2107, 65, 97, 9, 32,
- 40, 41, 2058, 2107, 70, 102, 9, 32,
- 40, 41, 2058, 2107, 86, 118, 9, 32,
- 40, 41, 2058, 2107, 72, 104, 70, 102,
- 80, 112, 9, 32, 40, 41, 2058, 2107,
- 67, 99, 66, 98, 9, 32, 40, 41,
- 2058, 2107, 76, 88, 89, 108, 120, 121,
- 83, 115, 65, 97, 9, 32, 40, 41,
- 2058, 2107, 84, 116, 9, 32, 40, 41,
- 2058, 2107, 80, 112, 69, 101, 48, 57,
- 9, 32, 40, 41, 2058, 2107, 48, 57,
- 82, 114, 73, 105, 9, 32, 40, 41,
- 2058, 2107, 79, 111, 78, 110, 69, 101,
- 77, 109, 68, 100, 9, 32, 40, 41,
- 2058, 2107, 42, 92, 95, 45, 57, 64,
- 90, 97, 122, 32, 59, 9, 10, 40,
- 41, 32, 59, 9, 10, 40, 41, 48,
+ 2058, 2107, 82, 114, 84, 116, 9, 32,
+ 40, 41, 2058, 2107, 65, 97, 77, 109,
+ 69, 101, 9, 32, 40, 41, 2058, 2107,
+ 89, 121, 78, 110, 67, 99, 9, 32,
+ 40, 41, 2058, 2107, 72, 78, 83, 104,
+ 110, 115, 67, 99, 73, 105, 68, 100,
+ 9, 32, 40, 41, 2058, 2107, 65, 83,
+ 97, 115, 77, 109, 69, 101, 9, 32,
+ 40, 41, 2058, 2107, 75, 107, 69, 101,
+ 89, 121, 9, 32, 40, 41, 2058, 2107,
+ 9, 32, 40, 41, 2058, 2107, 85, 117,
+ 73, 105, 52, 54, 56, 9, 32, 40,
+ 41, 2058, 2107, 52, 9, 32, 40, 41,
+ 2058, 2107, 73, 84, 105, 116, 78, 110,
+ 70, 102, 79, 111, 9, 32, 40, 41,
+ 2058, 2107, 84, 116, 80, 112, 83, 115,
+ 9, 32, 40, 41, 2058, 2107, 80, 112,
+ 83, 115, 69, 101, 67, 99, 75, 107,
+ 69, 101, 89, 121, 9, 32, 40, 41,
+ 2058, 2107, 69, 88, 101, 120, 89, 121,
+ 9, 32, 40, 41, 2058, 2107, 9, 32,
+ 40, 41, 2058, 2107, 51, 54, 79, 80,
+ 111, 112, 50, 9, 32, 40, 41, 2058,
+ 2107, 52, 9, 32, 40, 41, 2058, 2107,
+ 67, 99, 9, 32, 40, 41, 2058, 2107,
+ 9, 32, 40, 41, 2058, 2107, 73, 88,
+ 105, 120, 78, 110, 70, 102, 79, 111,
+ 9, 32, 40, 41, 2058, 2107, 9, 32,
+ 40, 41, 2058, 2107, 65, 73, 83, 97,
+ 105, 115, 80, 112, 84, 116, 82, 114,
+ 9, 32, 40, 41, 2058, 2107, 68, 100,
+ 9, 32, 40, 41, 2058, 2107, 9, 32,
+ 40, 41, 69, 101, 2058, 2107, 67, 99,
+ 9, 32, 40, 41, 51, 2058, 2107, 9,
+ 32, 40, 41, 80, 112, 2058, 2107, 65,
+ 97, 82, 114, 65, 97, 77, 109, 9,
+ 32, 40, 41, 2058, 2107, 80, 112, 69,
+ 101, 78, 110, 80, 112, 71, 103, 80,
+ 112, 75, 107, 69, 101, 89, 121, 9,
+ 32, 40, 41, 2058, 2107, 84, 116, 82,
+ 114, 9, 32, 40, 41, 2058, 2107, 80,
+ 82, 84, 112, 114, 116, 9, 32, 40,
+ 41, 2058, 2107, 83, 115, 73, 105, 71,
+ 103, 9, 32, 40, 41, 2058, 2107, 9,
+ 32, 40, 41, 2058, 2107, 77, 79, 80,
+ 82, 83, 86, 109, 111, 112, 114, 115,
+ 118, 73, 105, 77, 109, 69, 101, 65,
+ 97, 9, 32, 40, 41, 2058, 2107, 65,
+ 97, 9, 32, 40, 41, 2058, 2107, 70,
+ 102, 9, 32, 40, 41, 2058, 2107, 86,
+ 118, 9, 32, 40, 41, 2058, 2107, 72,
+ 104, 70, 102, 80, 112, 9, 32, 40,
+ 41, 2058, 2107, 67, 99, 66, 98, 9,
+ 32, 40, 41, 2058, 2107, 76, 88, 89,
+ 108, 120, 121, 83, 115, 65, 97, 9,
+ 32, 40, 41, 2058, 2107, 84, 116, 9,
+ 32, 40, 41, 2058, 2107, 80, 112, 69,
+ 101, 48, 57, 9, 32, 40, 41, 2058,
+ 2107, 48, 57, 82, 114, 73, 105, 9,
+ 32, 40, 41, 2058, 2107, 65, 97, 76,
+ 108, 76, 108, 69, 101, 84, 116, 9,
+ 32, 40, 41, 2058, 2107, 79, 111, 78,
+ 110, 69, 101, 77, 109, 68, 100, 9,
+ 32, 40, 41, 2058, 2107, 42, 92, 95,
+ 45, 57, 64, 90, 97, 122, 32, 59,
+ 9, 10, 40, 41, 32, 59, 9, 10,
+ 40, 41, 48, 57, 9, 32, 40, 41,
+ 2058, 2107, 48, 57, 9, 32, 40, 41,
+ 2058, 2107, 48, 57, 9, 32, 40, 41,
+ 2058, 2107, 48, 57, 9, 32, 40, 41,
+ 2058, 2107, 48, 57, 65, 90, 97, 122,
+ 9, 32, 40, 41, 2058, 2107, 9, 32,
+ 40, 41, 43, 2058, 2107, 47, 57, 65,
+ 90, 97, 122, 2570, 2619, 2058, 1920, 2175,
+ 2058, 1920, 2175, 2058, 1920, 2175, 43, 47,
+ 57, 65, 90, 97, 122, 2570, 2619, 48,
57, 9, 32, 40, 41, 2058, 2107, 48,
57, 9, 32, 40, 41, 2058, 2107, 48,
57, 9, 32, 40, 41, 2058, 2107, 48,
57, 9, 32, 40, 41, 2058, 2107, 48,
- 57, 65, 90, 97, 122, 9, 32, 40,
- 41, 2058, 2107, 9, 32, 40, 41, 43,
- 2058, 2107, 47, 57, 65, 90, 97, 122,
- 2570, 2619, 2058, 1920, 2175, 2058, 1920, 2175,
- 2058, 1920, 2175, 43, 47, 57, 65, 90,
- 97, 122, 2570, 2619, 48, 57, 9, 32,
- 40, 41, 2058, 2107, 48, 57, 9, 32,
- 40, 41, 2058, 2107, 48, 57, 9, 32,
- 40, 41, 2058, 2107, 48, 57, 9, 32,
- 40, 41, 2058, 2107, 48, 57, 9, 32,
- 40, 41, 2058, 2107, 48, 57, 9, 32,
- 40, 41, 45, 2058, 2107, 48, 57, 65,
- 70, 97, 102, 9, 32, 40, 41, 2058,
- 2107, 9, 32, 40, 41, 2058, 2107, 48,
+ 57, 9, 32, 40, 41, 2058, 2107, 48,
+ 57, 9, 32, 40, 41, 45, 2058, 2107,
+ 48, 57, 65, 70, 97, 102, 9, 32,
+ 40, 41, 2058, 2107, 9, 32, 40, 41,
+ 2058, 2107, 48, 57, 65, 86, 97, 118,
+ 48, 57, 65, 86, 97, 118, 61, 48,
57, 65, 86, 97, 118, 48, 57, 65,
86, 97, 118, 61, 48, 57, 65, 86,
- 97, 118, 48, 57, 65, 86, 97, 118,
- 61, 48, 57, 65, 86, 97, 118, 61,
- 48, 57, 65, 86, 97, 118, 48, 57,
- 65, 86, 97, 118, 61, 48, 57, 65,
- 86, 97, 118, 32, 59, 9, 10, 40,
- 41, 48, 57, 65, 86, 97, 118, 32,
- 59, 9, 10, 40, 41, 61, 61, 61,
- 61, 61, 2058, 1920, 2175, 48, 57, 65,
- 70, 97, 102, 9, 32, 40, 41, 2058,
- 2107, 48, 57, 65, 70, 97, 102, 2058,
- 1920, 2175, 2058, 1920, 2175, 2058, 1920, 2175,
- 48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 45, 2058,
- 2107, 48, 57, 65, 70, 97, 102, 32,
- 59, 9, 10, 40, 41, 48, 57, 65,
- 70, 97, 102, 32, 59, 9, 10, 40,
- 41, 48, 57, 65, 70, 97, 102, 2058,
- 1920, 2175, 2058, 1920, 2175, 2058, 1920, 2175,
- 48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 65, 70, 97, 102, 48, 57,
- 65, 70, 97, 102, 9, 32, 40, 41,
- 3082, 3131, 3338, 3387, 3594, 3643, 48, 57,
- 65, 70, 97, 102, 2058, 1920, 2175, 2058,
- 1920, 2175, 2058, 1920, 2175, 2058, 1920, 2175,
- 48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 9, 32, 40, 41, 2058, 2107,
- 48, 57, 32, 59, 9, 10, 40, 41,
- 48, 57, 32, 59, 9, 10, 40, 41,
+ 97, 118, 61, 48, 57, 65, 86, 97,
+ 118, 48, 57, 65, 86, 97, 118, 61,
+ 48, 57, 65, 86, 97, 118, 32, 59,
+ 9, 10, 40, 41, 48, 57, 65, 86,
+ 97, 118, 32, 59, 9, 10, 40, 41,
+ 61, 61, 61, 61, 61, 2058, 1920, 2175,
+ 48, 57, 65, 70, 97, 102, 9, 32,
+ 40, 41, 2058, 2107, 48, 57, 65, 70,
+ 97, 102, 2058, 1920, 2175, 2058, 1920, 2175,
+ 2058, 1920, 2175, 48, 57, 9, 32, 40,
+ 41, 2058, 2107, 48, 57, 9, 32, 40,
+ 41, 2058, 2107, 48, 57, 9, 32, 40,
+ 41, 2058, 2107, 48, 57, 9, 32, 40,
+ 41, 2058, 2107, 48, 57, 9, 32, 40,
+ 41, 2058, 2107, 48, 57, 9, 32, 40,
+ 41, 45, 2058, 2107, 48, 57, 65, 70,
+ 97, 102, 32, 59, 9, 10, 40, 41,
+ 48, 57, 65, 70, 97, 102, 32, 59,
+ 9, 10, 40, 41, 48, 57, 65, 70,
+ 97, 102, 2058, 1920, 2175, 2058, 1920, 2175,
2058, 1920, 2175, 48, 57, 9, 32, 40,
41, 2058, 2107, 48, 57, 9, 32, 40,
41, 2058, 2107, 48, 57, 9, 32, 40,
@@ -3108,162 +3156,179 @@ static const short _zone_scanner_trans_keys[] = {
1920, 2175, 2058, 1920, 2175, 2058, 1920, 2175,
2058, 1920, 2175, 48, 57, 9, 32, 40,
41, 2058, 2107, 48, 57, 9, 32, 40,
- 41, 46, 2058, 2107, 48, 57, 32, 46,
- 59, 9, 10, 40, 41, 48, 57, 2058,
- 1920, 2175, 48, 57, 9, 32, 40, 41,
- 2058, 2107, 48, 57, 9, 32, 40, 41,
- 2058, 2107, 48, 57, 65, 70, 97, 102,
- 48, 57, 65, 70, 97, 102, 48, 57,
+ 41, 2058, 2107, 48, 57, 32, 59, 9,
+ 10, 40, 41, 48, 57, 32, 59, 9,
+ 10, 40, 41, 2058, 1920, 2175, 48, 57,
+ 9, 32, 40, 41, 2058, 2107, 48, 57,
+ 9, 32, 40, 41, 2058, 2107, 48, 57,
+ 9, 32, 40, 41, 2058, 2107, 48, 57,
+ 9, 32, 40, 41, 2058, 2107, 48, 57,
+ 9, 32, 40, 41, 2058, 2107, 48, 57,
+ 9, 32, 40, 41, 2058, 2107, 48, 57,
65, 70, 97, 102, 48, 57, 65, 70,
- 97, 102, 58, 48, 57, 65, 70, 97,
+ 97, 102, 9, 32, 40, 41, 3082, 3131,
+ 3338, 3387, 3594, 3643, 48, 57, 65, 70,
+ 97, 102, 2058, 1920, 2175, 2058, 1920, 2175,
+ 2058, 1920, 2175, 2058, 1920, 2175, 48, 57,
+ 9, 32, 40, 41, 2058, 2107, 48, 57,
+ 9, 32, 40, 41, 46, 2058, 2107, 48,
+ 57, 32, 46, 59, 9, 10, 40, 41,
+ 48, 57, 2058, 1920, 2175, 48, 57, 9,
+ 32, 40, 41, 2058, 2107, 48, 57, 9,
+ 32, 40, 41, 2058, 2107, 48, 57, 65,
+ 70, 97, 102, 48, 57, 65, 70, 97,
102, 48, 57, 65, 70, 97, 102, 48,
- 57, 65, 70, 97, 102, 48, 57, 65,
- 70, 97, 102, 32, 58, 59, 9, 10,
- 40, 41, 2058, 1920, 2175, 48, 57, 65,
+ 57, 65, 70, 97, 102, 58, 48, 57,
+ 65, 70, 97, 102, 48, 57, 65, 70,
+ 97, 102, 48, 57, 65, 70, 97, 102,
+ 48, 57, 65, 70, 97, 102, 32, 58,
+ 59, 9, 10, 40, 41, 2058, 1920, 2175,
+ 48, 57, 65, 70, 97, 102, 48, 57,
+ 65, 70, 97, 102, 45, 48, 57, 65,
70, 97, 102, 48, 57, 65, 70, 97,
- 102, 45, 48, 57, 65, 70, 97, 102,
- 48, 57, 65, 70, 97, 102, 32, 45,
- 59, 9, 10, 40, 41, 48, 57, 65,
+ 102, 32, 45, 59, 9, 10, 40, 41,
+ 48, 57, 65, 70, 97, 102, 48, 57,
+ 65, 70, 97, 102, 45, 48, 57, 65,
70, 97, 102, 48, 57, 65, 70, 97,
- 102, 45, 48, 57, 65, 70, 97, 102,
- 48, 57, 65, 70, 97, 102, 32, 45,
- 59, 9, 10, 40, 41, 48, 57, 9,
- 32, 40, 41, 2058, 2107, 48, 57, 9,
- 32, 40, 41, 2058, 2107, 48, 57, 9,
- 32, 40, 41, 2058, 2107, 48, 57, 9,
- 32, 40, 41, 2058, 2107, -128, 8, 11,
- 58, 60, 127, 32, 59, 9, 10, 40,
- 41, 2058, 1920, 2175, 2058, 1920, 2175, 48,
- 57, 9, 32, 40, 41, 2058, 2107, 48,
- 57, 9, 32, 40, 41, 2058, 2107, -128,
- 8, 11, 58, 60, 127, 9, 32, 40,
- 41, 2058, 2107, 9, 32, 40, 41, 2058,
- 2107, -128, 8, 11, 58, 60, 127, 32,
- 59, 9, 10, 40, 41, 2058, 1920, 2175,
- 2058, 1920, 2175, 48, 57, 9, 32, 40,
- 41, 2058, 2107, 48, 57, 9, 32, 40,
- 41, 42, 92, 95, 2058, 2107, 45, 57,
- 64, 90, 97, 122, 32, 59, 9, 10,
- 40, 41, 32, 59, 9, 10, 40, 41,
- 2058, 1920, 2175, 9, 32, 36, 40, 41,
- 42, 92, 95, 1802, 1851, 2058, 2107, 45,
- 57, 64, 90, 97, 122, 9, 32, 36,
- 40, 41, 42, 58, 92, 95, 2826, 2875,
- 3082, 3131, 3338, 3387, 3594, 3643, -128, 8,
- 11, 44, 45, 57, 60, 63, 64, 90,
- 91, 96, 97, 122, 123, 127, 9, 32,
- 36, 40, 41, 42, 65, 67, 68, 69,
- 72, 73, 75, 76, 77, 78, 79, 80,
- 82, 83, 84, 85, 90, 92, 95, 97,
- 99, 100, 101, 104, 105, 107, 108, 109,
- 110, 111, 112, 114, 115, 116, 117, 122,
- 1802, 1851, 2058, 2107, 45, 57, 64, 89,
- 98, 121, 9, 32, 36, 40, 41, 42,
- 65, 67, 68, 69, 72, 73, 75, 76,
- 77, 78, 79, 80, 82, 83, 84, 85,
+ 102, 32, 45, 59, 9, 10, 40, 41,
+ 48, 57, 9, 32, 40, 41, 2058, 2107,
+ 48, 57, 9, 32, 40, 41, 2058, 2107,
+ 48, 57, 9, 32, 40, 41, 2058, 2107,
+ 48, 57, 9, 32, 40, 41, 2058, 2107,
+ -128, 8, 11, 58, 60, 127, 32, 59,
+ 9, 10, 40, 41, 2058, 1920, 2175, 2058,
+ 1920, 2175, 48, 57, 9, 32, 40, 41,
+ 2058, 2107, 48, 57, 9, 32, 40, 41,
+ 2058, 2107, -128, 8, 11, 58, 60, 127,
+ 9, 32, 40, 41, 2058, 2107, 9, 32,
+ 40, 41, 2058, 2107, -128, 8, 11, 58,
+ 60, 127, 32, 59, 9, 10, 40, 41,
+ 2058, 1920, 2175, 2058, 1920, 2175, 48, 57,
+ 9, 32, 40, 41, 2058, 2107, 48, 57,
+ 9, 32, 40, 41, 42, 92, 95, 2058,
+ 2107, 45, 57, 64, 90, 97, 122, 32,
+ 59, 9, 10, 40, 41, 32, 59, 9,
+ 10, 40, 41, 2058, 1920, 2175, 9, 32,
+ 36, 40, 41, 42, 92, 95, 1802, 1851,
+ 2058, 2107, 45, 57, 64, 90, 97, 122,
+ 9, 32, 36, 40, 41, 42, 58, 92,
+ 95, 2826, 2875, 3082, 3131, 3338, 3387, 3594,
+ 3643, -128, 8, 11, 44, 45, 57, 60,
+ 63, 64, 90, 91, 96, 97, 122, 123,
+ 127, 9, 32, 36, 40, 41, 42, 65,
+ 67, 68, 69, 72, 73, 75, 76, 77,
+ 78, 79, 80, 82, 83, 84, 85, 87,
90, 92, 95, 97, 99, 100, 101, 104,
105, 107, 108, 109, 110, 111, 112, 114,
- 115, 116, 117, 122, 1802, 1851, 2058, 2107,
- 45, 47, 48, 57, 64, 89, 98, 121,
- 9, 32, 36, 40, 41, 42, 92, 95,
- 1802, 1851, 2058, 2107, 45, 57, 64, 90,
- 97, 122, 9, 32, 36, 40, 41, 42,
- 65, 67, 68, 69, 72, 73, 75, 76,
- 77, 78, 79, 80, 82, 83, 84, 85,
+ 115, 116, 117, 119, 122, 1802, 1851, 2058,
+ 2107, 45, 57, 64, 89, 98, 121, 9,
+ 32, 36, 40, 41, 42, 65, 67, 68,
+ 69, 72, 73, 75, 76, 77, 78, 79,
+ 80, 82, 83, 84, 85, 87, 90, 92,
+ 95, 97, 99, 100, 101, 104, 105, 107,
+ 108, 109, 110, 111, 112, 114, 115, 116,
+ 117, 119, 122, 1802, 1851, 2058, 2107, 45,
+ 47, 48, 57, 64, 89, 98, 121, 9,
+ 32, 36, 40, 41, 42, 92, 95, 1802,
+ 1851, 2058, 2107, 45, 57, 64, 90, 97,
+ 122, 9, 32, 36, 40, 41, 42, 65,
+ 67, 68, 69, 72, 73, 75, 76, 77,
+ 78, 79, 80, 82, 83, 84, 85, 87,
90, 92, 95, 97, 99, 100, 101, 104,
105, 107, 108, 109, 110, 111, 112, 114,
- 115, 116, 117, 122, 1802, 1851, 2058, 2107,
- 45, 47, 48, 57, 64, 89, 98, 121,
- 9, 32, 36, 40, 41, 42, 92, 95,
- 1802, 1851, 2058, 2107, 45, 57, 64, 90,
- 97, 122, 9, 32, 36, 40, 41, 42,
- 58, 92, 95, 2826, 2875, 3082, 3131, 3338,
- 3387, 3594, 3643, -128, 8, 11, 44, 45,
- 57, 60, 63, 64, 90, 91, 96, 97,
- 122, 123, 127, 9, 32, 36, 40, 41,
+ 115, 116, 117, 119, 122, 1802, 1851, 2058,
+ 2107, 45, 47, 48, 57, 64, 89, 98,
+ 121, 9, 32, 36, 40, 41, 42, 92,
+ 95, 1802, 1851, 2058, 2107, 45, 57, 64,
+ 90, 97, 122, 9, 32, 36, 40, 41,
+ 42, 58, 92, 95, 2826, 2875, 3082, 3131,
+ 3338, 3387, 3594, 3643, -128, 8, 11, 44,
+ 45, 57, 60, 63, 64, 90, 91, 96,
+ 97, 122, 123, 127, 9, 32, 36, 40,
+ 41, 42, 58, 65, 67, 68, 69, 72,
+ 73, 75, 76, 77, 78, 79, 80, 82,
+ 83, 84, 85, 87, 90, 92, 95, 97,
+ 99, 100, 101, 104, 105, 107, 108, 109,
+ 110, 111, 112, 114, 115, 116, 117, 119,
+ 122, 2826, 2875, 3082, 3131, 3338, 3387, 3594,
+ 3643, -128, 8, 11, 44, 45, 47, 48,
+ 57, 60, 63, 64, 89, 91, 96, 98,
+ 121, 123, 127, 9, 32, 36, 40, 41,
42, 58, 65, 67, 68, 69, 72, 73,
75, 76, 77, 78, 79, 80, 82, 83,
- 84, 85, 90, 92, 95, 97, 99, 100,
- 101, 104, 105, 107, 108, 109, 110, 111,
- 112, 114, 115, 116, 117, 122, 2826, 2875,
- 3082, 3131, 3338, 3387, 3594, 3643, -128, 8,
- 11, 44, 45, 47, 48, 57, 60, 63,
- 64, 89, 91, 96, 98, 121, 123, 127,
- 9, 32, 36, 40, 41, 42, 58, 65,
- 67, 68, 69, 72, 73, 75, 76, 77,
- 78, 79, 80, 82, 83, 84, 85, 90,
- 92, 95, 97, 99, 100, 101, 104, 105,
- 107, 108, 109, 110, 111, 112, 114, 115,
- 116, 117, 122, 2826, 2875, 3082, 3131, 3338,
- 3387, 3594, 3643, -128, 8, 11, 44, 45,
- 47, 48, 57, 60, 63, 64, 89, 91,
- 96, 98, 121, 123, 127, 32, 33, 59,
- 92, 9, 10, 35, 39, 40, 41, 42,
- 126, 9, 32, 40, 41, 42, 46, 92,
- 95, 2058, 2107, 45, 57, 65, 90, 97,
- 122, 9, 32, 40, 41, 43, 3082, 3131,
- 3338, 3387, 3594, 3643, 47, 57, 65, 90,
- 97, 122, 2058, 1920, 2175, 9, 32, 40,
- 41, 65, 67, 68, 69, 72, 73, 75,
- 76, 77, 78, 79, 80, 82, 83, 84,
- 85, 90, 97, 99, 100, 101, 104, 105,
- 107, 108, 109, 110, 111, 112, 114, 115,
- 116, 117, 122, 3082, 3131, 3338, 3387, 3594,
- 3643, 2058, 1920, 2175, 9, 32, 40, 41,
- 3082, 3131, 3338, 3387, 3594, 3643, 48, 57,
- 65, 70, 97, 102, 2058, 1920, 2175, 9,
- 32, 40, 41, 2058, 2107, 48, 57, 65,
- 70, 97, 102, 9, 32, 40, 41, 3082,
+ 84, 85, 87, 90, 92, 95, 97, 99,
+ 100, 101, 104, 105, 107, 108, 109, 110,
+ 111, 112, 114, 115, 116, 117, 119, 122,
+ 2826, 2875, 3082, 3131, 3338, 3387, 3594, 3643,
+ -128, 8, 11, 44, 45, 47, 48, 57,
+ 60, 63, 64, 89, 91, 96, 98, 121,
+ 123, 127, 32, 33, 59, 92, 9, 10,
+ 35, 39, 40, 41, 42, 126, 9, 32,
+ 40, 41, 42, 46, 92, 95, 2058, 2107,
+ 45, 57, 65, 90, 97, 122, 9, 32,
+ 40, 41, 43, 3082, 3131, 3338, 3387, 3594,
+ 3643, 47, 57, 65, 90, 97, 122, 2058,
+ 1920, 2175, 9, 32, 40, 41, 65, 67,
+ 68, 69, 72, 73, 75, 76, 77, 78,
+ 79, 80, 82, 83, 84, 85, 87, 90,
+ 97, 99, 100, 101, 104, 105, 107, 108,
+ 109, 110, 111, 112, 114, 115, 116, 117,
+ 119, 122, 3082, 3131, 3338, 3387, 3594, 3643,
+ 2058, 1920, 2175, 9, 32, 40, 41, 3082,
3131, 3338, 3387, 3594, 3643, 48, 57, 65,
- 70, 97, 102, 2058, 1920, 2175, 2058, 1920,
- 2175, 9, 32, 40, 41, 97, 101, 105,
- 107, 109, 110, 112, 3082, 3131, 3338, 3387,
- 3594, 3643, 2058, 1920, 2175, 9, 32, 40,
- 41, 3082, 3131, 3338, 3387, 3594, 3643, -128,
- 8, 11, 58, 60, 127, 2058, 1920, 2175,
- 9, 32, 40, 41, 3082, 3131, 3338, 3387,
- 3594, 3643, 2058, 1920, 2175, 9, 32, 40,
+ 70, 97, 102, 2058, 1920, 2175, 9, 32,
+ 40, 41, 2058, 2107, 48, 57, 65, 70,
+ 97, 102, 9, 32, 40, 41, 3082, 3131,
+ 3338, 3387, 3594, 3643, 48, 57, 65, 70,
+ 97, 102, 2058, 1920, 2175, 2058, 1920, 2175,
+ 9, 32, 40, 41, 97, 100, 101, 105,
+ 107, 109, 110, 111, 112, 3082, 3131, 3338,
+ 3387, 3594, 3643, 2058, 1920, 2175, 9, 32,
+ 40, 41, 3082, 3131, 3338, 3387, 3594, 3643,
+ -128, 8, 11, 58, 60, 127, 2058, 1920,
+ 2175, 9, 32, 40, 41, 3082, 3131, 3338,
+ 3387, 3594, 3643, 2058, 1920, 2175, 9, 32,
+ 40, 41, 3082, 3131, 3338, 3387, 3594, 3643,
+ 48, 57, 2058, 1920, 2175, 9, 32, 40,
41, 3082, 3131, 3338, 3387, 3594, 3643, 48,
57, 2058, 1920, 2175, 9, 32, 40, 41,
3082, 3131, 3338, 3387, 3594, 3643, 48, 57,
+ 2058, 1920, 2175, 9, 32, 33, 40, 41,
+ 49, 50, 3082, 3131, 3338, 3387, 3594, 3643,
2058, 1920, 2175, 9, 32, 40, 41, 3082,
- 3131, 3338, 3387, 3594, 3643, 48, 57, 2058,
- 1920, 2175, 9, 32, 33, 40, 41, 49,
- 50, 3082, 3131, 3338, 3387, 3594, 3643, 2058,
- 1920, 2175, 9, 32, 40, 41, 3082, 3131,
- 3338, 3387, 3594, 3643, 48, 57, 65, 70,
- 97, 102, 2058, 1920, 2175, 9, 32, 40,
- 41, 3082, 3131, 3338, 3387, 3594, 3643, 48,
- 57, 65, 70, 97, 102, 2058, 1920, 2175,
- 5641, 5664, 5672, 5673, 14602, 14651, 14858, 14907,
- 15370, 15419, 15626, 15675, 15882, 15931, 6666, 6528,
- 6783, 4105, 4128, 4136, 4137, 4139, 5130, 5179,
- 4143, 4153, 4161, 4186, 4193, 4218, 5130, 4992,
- 5247, 4139, 7177, 7200, 7208, 7209, 7433, 7456,
- 7464, 7465, 7689, 7712, 7720, 7721, 10506, 10555,
- 10762, 10811, 11274, 11323, 11530, 11579, 11786, 11835,
- 12298, 12347, 12554, 12603, 12810, 12859, 13322, 13371,
- 13578, 13627, 13834, 13883, 4143, 4153, 4161, 4186,
- 4193, 4218, 8714, 9226, 9738, 8576, 8831, 9088,
- 9343, 9600, 9855, 9, 32, 40, 41, 3082,
3131, 3338, 3387, 3594, 3643, 48, 57, 65,
70, 97, 102, 2058, 1920, 2175, 9, 32,
40, 41, 3082, 3131, 3338, 3387, 3594, 3643,
48, 57, 65, 70, 97, 102, 2058, 1920,
- 2175, 0
+ 2175, 5641, 5664, 5672, 5673, 14602, 14651, 14858,
+ 14907, 15370, 15419, 15626, 15675, 15882, 15931, 6666,
+ 6528, 6783, 4105, 4128, 4136, 4137, 4139, 5130,
+ 5179, 4143, 4153, 4161, 4186, 4193, 4218, 5130,
+ 4992, 5247, 4139, 7177, 7200, 7208, 7209, 7433,
+ 7456, 7464, 7465, 7689, 7712, 7720, 7721, 10506,
+ 10555, 10762, 10811, 11274, 11323, 11530, 11579, 11786,
+ 11835, 12298, 12347, 12554, 12603, 12810, 12859, 13322,
+ 13371, 13578, 13627, 13834, 13883, 4143, 4153, 4161,
+ 4186, 4193, 4218, 8714, 9226, 9738, 8576, 8831,
+ 9088, 9343, 9600, 9855, 9, 32, 40, 41,
+ 3082, 3131, 3338, 3387, 3594, 3643, 48, 57,
+ 65, 70, 97, 102, 2058, 1920, 2175, 9,
+ 32, 40, 41, 3082, 3131, 3338, 3387, 3594,
+ 3643, 48, 57, 65, 70, 97, 102, 2058,
+ 1920, 2175, 0
};
static const char _zone_scanner_single_lengths[] = {
- 0, 42, 16, 40, 16, 11, 8, 8,
- 1, 1, 1, 13, 13, 2, 48, 18,
- 42, 10, 2, 10, 12, 12, 4, 2,
+ 0, 44, 16, 42, 16, 11, 8, 8,
+ 1, 1, 1, 13, 13, 2, 50, 18,
+ 44, 10, 2, 10, 12, 12, 4, 2,
2, 2, 2, 10, 10, 2, 2, 10,
2, 2, 2, 10, 2, 2, 2, 10,
6, 2, 2, 2, 10, 4, 2, 2,
10, 2, 2, 2, 10, 10, 2, 2,
2, 1, 10, 1, 10, 4, 2, 2,
2, 10, 2, 2, 2, 10, 4, 6,
- 40, 2, 2, 2, 2, 2, 2, 2,
+ 42, 2, 2, 2, 2, 2, 2, 2,
10, 4, 2, 10, 10, 6, 1, 10,
1, 10, 2, 10, 10, 4, 2, 2,
2, 10, 10, 6, 2, 2, 2, 10,
@@ -3275,141 +3340,147 @@ static const char _zone_scanner_single_lengths[] = {
10, 2, 10, 2, 2, 2, 10, 2,
2, 10, 6, 2, 2, 10, 2, 10,
2, 2, 0, 10, 2, 2, 10, 2,
- 2, 2, 2, 2, 10, 1, 42, 4,
- 6, 40, 16, 6, 10, 6, 1, 1,
- 6, 2, 2, 2, 2, 2, 2, 2,
- 6, 40, 1, 16, 40, 1, 6, 10,
- 6, 1, 16, 46, 18, 13, 42, 2,
- 8, 8, 48, 18, 14, 10, 12, 12,
+ 2, 2, 2, 2, 10, 2, 2, 2,
+ 2, 2, 10, 1, 44, 4, 6, 42,
+ 16, 6, 10, 6, 1, 1, 6, 2,
+ 2, 2, 2, 2, 2, 2, 6, 42,
+ 1, 16, 42, 1, 6, 10, 6, 1,
+ 16, 48, 18, 13, 44, 2, 8, 8,
+ 50, 18, 14, 10, 12, 12, 12, 14,
+ 12, 14, 10, 10, 14, 20, 14, 10,
+ 10, 10, 2, 14, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 8, 18, 44,
+ 2, 18, 50, 18, 14, 10, 12, 12,
12, 14, 12, 14, 10, 10, 14, 20,
- 14, 10, 10, 2, 14, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 8, 18,
- 42, 2, 18, 48, 18, 14, 10, 12,
- 12, 12, 14, 12, 14, 10, 10, 14,
- 20, 14, 10, 10, 9, 42, 12, 12,
+ 14, 10, 10, 10, 9, 44, 12, 12,
12, 12, 2, 2, 10, 2, 2, 2,
10, 2, 10, 2, 8, 8, 12, 12,
- 12, 12, 1, 48, 12, 12, 16, 12,
+ 12, 12, 1, 50, 12, 12, 16, 12,
8, 10, 10, 10, 12, 10, 12, 8,
- 8, 12, 18, 12, 8, 8, 2, 2,
- 10, 2, 3, 1, 1, 5, 6, 6,
- 0, 0, 0, 6, 2, 2, 2, 4,
- 0, 0, 0, 4, 6, 6, 2, 0,
- 0, 0, 6, 6, 6, 18, 8, 1,
- 8, 10, 8, 1, 6, 10, 4, 12,
- 8, 1, 0, 0, 0, 4, 8, 1,
- 6, 6, 8, 12, 4, 12, 8, 1,
- 0, 0, 0, 4, 8, 2, 10, 1,
- 1, 1, 1, 2, 2, 11, 1, 1,
- 10, 44, 16, 2, 2, 10, 1, 10,
- 2, 10, 4, 2, 2, 2, 2, 10,
- 10, 2, 2, 10, 2, 2, 2, 10,
- 2, 2, 2, 10, 6, 2, 2, 2,
- 10, 4, 2, 2, 10, 2, 2, 2,
- 10, 10, 2, 2, 2, 1, 10, 1,
- 10, 4, 2, 2, 2, 10, 2, 2,
- 2, 10, 2, 2, 2, 2, 2, 2,
- 2, 10, 4, 2, 10, 10, 6, 1,
- 10, 1, 10, 2, 10, 10, 4, 2,
- 2, 2, 10, 10, 6, 2, 2, 2,
- 10, 2, 10, 12, 2, 11, 12, 2,
- 2, 2, 2, 10, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 10, 2, 2,
- 10, 6, 10, 2, 2, 2, 10, 10,
- 12, 2, 2, 2, 2, 10, 2, 10,
- 2, 10, 2, 10, 2, 2, 2, 10,
- 2, 2, 10, 6, 2, 2, 10, 2,
- 10, 2, 2, 0, 10, 2, 2, 10,
- 2, 2, 2, 2, 2, 10, 2, 2,
- 2, 10, 2, 10, 6, 6, 6, 6,
- 0, 10, 1, 1, 1, 6, 7, 8,
- 6, 0, 10, 1, 1, 6, 1, 6,
- 1, 1, 1, 4, 1, 1, 4, 1,
- 1, 2, 1, 1, 1, 1, 4, 1,
- 1, 1, 1, 4, 1, 1, 0, 4,
+ 8, 12, 18, 12, 8, 8, 8, 2,
+ 2, 10, 2, 3, 1, 1, 5, 6,
+ 6, 0, 0, 0, 6, 2, 2, 2,
+ 4, 0, 0, 0, 4, 6, 6, 2,
+ 0, 0, 0, 6, 6, 6, 18, 8,
+ 1, 8, 10, 8, 1, 6, 10, 4,
+ 12, 8, 1, 0, 0, 0, 4, 8,
+ 1, 6, 6, 8, 12, 4, 12, 8,
+ 1, 0, 0, 0, 4, 8, 2, 10,
+ 1, 1, 1, 1, 2, 2, 11, 1,
+ 1, 10, 46, 16, 2, 2, 10, 1,
+ 10, 2, 10, 4, 2, 2, 2, 2,
+ 10, 10, 2, 2, 10, 2, 2, 2,
+ 10, 2, 2, 2, 10, 6, 2, 2,
+ 2, 10, 4, 2, 2, 10, 2, 2,
+ 2, 10, 10, 2, 2, 2, 1, 10,
+ 1, 10, 4, 2, 2, 2, 10, 2,
+ 2, 2, 10, 2, 2, 2, 2, 2,
+ 2, 2, 10, 4, 2, 10, 10, 6,
+ 1, 10, 1, 10, 2, 10, 10, 4,
+ 2, 2, 2, 10, 10, 6, 2, 2,
+ 2, 10, 2, 10, 12, 2, 11, 12,
+ 2, 2, 2, 2, 10, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 10, 2,
+ 2, 10, 6, 10, 2, 2, 2, 10,
+ 10, 12, 2, 2, 2, 2, 10, 2,
+ 10, 2, 10, 2, 10, 2, 2, 2,
+ 10, 2, 2, 10, 6, 2, 2, 10,
+ 2, 10, 2, 2, 0, 10, 2, 2,
+ 10, 2, 2, 2, 2, 2, 10, 2,
+ 2, 2, 2, 2, 10, 2, 2, 2,
+ 10, 2, 10, 6, 6, 6, 6, 0,
+ 10, 1, 1, 1, 6, 7, 8, 6,
+ 0, 10, 1, 1, 6, 1, 8, 1,
+ 1, 1, 4, 1, 1, 1, 1, 1,
+ 1, 4, 1, 1, 4, 1, 1, 2,
+ 1, 1, 1, 1, 4, 1, 1, 1,
+ 1, 4, 1, 1, 0, 4, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 4, 1, 1, 1,
+ 1, 4, 1, 1, 1, 4, 10, 19,
+ 1, 1, 1, 1, 3, 10, 1, 1,
+ 1, 1, 1, 1, 1, 1, 3, 10,
+ 10, 1, 10, 1, 1, 1, 2, 1,
+ 1, 2, 2, 2, 1, 1, 2, 2,
+ 11, 1, 1, 1, 2, 1, 1, 1,
+ 1, 1, 2, 1, 3, 1, 12, 1,
+ 1, 1, 1, 1, 1, 2, 1, 3,
+ 1, 12, 1, 1, 1, 0, 11, 2,
1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 4, 1,
- 1, 1, 4, 10, 17, 1, 1, 1,
- 1, 3, 10, 1, 1, 1, 1, 2,
- 1, 1, 2, 2, 2, 10, 1, 1,
- 2, 2, 11, 1, 1, 1, 2, 1,
- 1, 1, 1, 1, 2, 1, 3, 1,
- 12, 1, 1, 1, 1, 1, 1, 2,
- 1, 3, 1, 12, 1, 1, 1, 0,
- 11, 2, 10, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 0, 2, 0,
- 11, 0, 1, 1, 1, 1, 1, 1,
+ 1, 1, 0, 2, 0, 11, 0, 1,
1, 1, 1, 1, 1, 1, 1, 1,
- 10, 1, 1, 1, 1, 1, 0, 1,
- 10, 10, 1, 10, 2, 4, 2, 2,
- 3, 2, 2, 2, 2, 1, 1, 2,
- 2, 2, 1, 2, 4, 4, 1, 2,
+ 1, 1, 1, 1, 1, 10, 1, 1,
+ 1, 1, 10, 1, 1, 1, 1, 1,
+ 0, 1, 10, 10, 1, 10, 2, 4,
+ 2, 2, 3, 2, 2, 2, 2, 1,
+ 1, 2, 2, 2, 1, 2, 4, 4,
+ 1, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 1, 1, 2, 2, 2, 1,
+ 1, 1, 2, 1, 1, 2, 2, 2,
+ 1, 1, 1, 2, 2, 1, 1, 1,
+ 1, 2, 1, 1, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
- 1, 1, 2, 2, 2, 1, 1, 1,
- 2, 1, 1, 2, 2, 2, 1, 1,
- 1, 2, 2, 1, 1, 1, 1, 2,
- 1, 1, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 4, 2, 2, 2, 2,
+ 2, 2, 2, 2, 4, 2, 1, 2,
+ 2, 2, 3, 3, 2, 2, 2, 2,
+ 1, 1, 2, 2, 2, 1, 2, 1,
+ 1, 2, 1, 1, 2, 12, 2, 2,
+ 2, 2, 2, 2, 2, 6, 2, 2,
+ 2, 2, 2, 2, 4, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 4, 2, 2, 2, 2, 2, 2,
- 2, 2, 4, 2, 1, 2, 2, 2,
- 3, 3, 2, 2, 2, 2, 1, 1,
- 2, 2, 2, 1, 2, 1, 1, 2,
- 1, 1, 2, 12, 2, 2, 2, 2,
- 2, 2, 2, 6, 2, 2, 2, 2,
- 2, 2, 4, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 4,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 1, 3, 3, 2,
- 3, 6, 9, 6, 6, 6, 6, 16,
- 6, 16, 6, 16, 6, 12, 2, 10,
- 2, 1, 6, 10, 6, 1, 6, 10,
- 6, 1, 6, 10, 6, 1, 1, 1,
- 2, 6, 6, 2, 1, 3, 6, 9,
- 2, 1, 0, 6, 9, 2, 1, 2,
- 10, 10, 1, 1, 3, 0, 6, 8,
- 6, 8, 7, 8, 6, 6, 6, 8,
- 6, 8, 7, 8, 6, 7, 0, 12,
- 10, 12, 10, 12, 10, 12, 10, 1,
- 11, 11, 1, 11, 11, 10, 1, 11,
- 11, 10, 1, 11, 11, 10, 1, 6,
- 1, 6, 6, 1, 1, 1, 6, 1,
- 6, 6, 1, 1, 0, 6, 6, 6,
- 6, 6, 9, 2, 1, 1, 1, 0,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 9, 2, 1, 1, 1, 1, 1,
- 0, 6, 6, 6, 6, 6, 7, 2,
- 1, 1, 1, 13, 2, 1, 1, 1,
- 0, 10, 1, 1, 1, 1, 0, 6,
- 6, 6, 6, 6, 6, 0, 10, 1,
- 1, 1, 1, 0, 6, 6, 6, 6,
- 0, 10, 1, 1, 1, 0, 6, 10,
- 6, 6, 6, 7, 34, 7, 2, 1,
- 14, 1, 35, 3, 1, 1, 6, 6,
- 6, 7, 35, 1, 1, 6, 6, 6,
- 7, 35, 1, 1, 6, 6, 6, 9,
- 34, 1, 1, 1, 34, 12, 6, 6,
+ 2, 2, 2, 2, 2, 2, 1, 3,
+ 3, 2, 3, 6, 9, 6, 6, 6,
+ 6, 16, 6, 16, 6, 16, 6, 12,
+ 2, 10, 2, 1, 6, 10, 6, 1,
+ 6, 10, 6, 1, 6, 10, 6, 1,
+ 1, 1, 2, 6, 6, 2, 1, 3,
+ 6, 9, 2, 1, 0, 6, 9, 2,
+ 1, 2, 10, 10, 1, 1, 3, 0,
+ 6, 8, 6, 8, 7, 8, 6, 6,
+ 6, 8, 6, 8, 7, 8, 6, 7,
+ 0, 12, 10, 12, 10, 12, 10, 12,
+ 10, 1, 11, 11, 1, 11, 11, 10,
+ 1, 11, 11, 10, 1, 11, 11, 10,
+ 1, 6, 1, 6, 6, 1, 1, 1,
+ 6, 1, 6, 6, 1, 1, 0, 6,
+ 6, 6, 6, 6, 9, 2, 1, 1,
+ 1, 0, 6, 6, 6, 6, 6, 6,
+ 6, 6, 6, 9, 2, 1, 1, 1,
+ 1, 1, 0, 6, 6, 6, 6, 6,
+ 7, 2, 1, 1, 1, 13, 2, 1,
+ 1, 1, 0, 10, 1, 1, 1, 1,
+ 0, 6, 6, 6, 6, 6, 6, 0,
+ 10, 1, 1, 1, 1, 0, 6, 6,
+ 6, 6, 0, 10, 1, 1, 1, 0,
+ 6, 10, 6, 6, 6, 7, 34, 7,
+ 2, 1, 14, 1, 35, 3, 1, 1,
+ 6, 6, 6, 7, 35, 1, 1, 6,
+ 6, 6, 7, 35, 1, 1, 6, 6,
+ 6, 9, 34, 1, 1, 1, 36, 12,
6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 9, 6, 7, 2, 1, 1,
- 1, 1, 1, 1, 1, 1, 2, 2,
- 6, 2, 2, 2, 6, 2, 6, 10,
- 2, 6, 4, 2, 2, 2, 2, 6,
- 6, 2, 2, 6, 2, 2, 2, 6,
- 2, 2, 2, 6, 6, 2, 2, 2,
- 6, 4, 2, 2, 6, 2, 2, 2,
- 6, 6, 2, 2, 2, 1, 6, 1,
- 6, 4, 2, 2, 2, 6, 2, 2,
- 2, 6, 2, 2, 2, 2, 2, 2,
- 2, 6, 4, 2, 6, 6, 6, 1,
- 6, 1, 6, 2, 6, 6, 4, 2,
- 2, 2, 6, 6, 6, 2, 2, 2,
- 6, 2, 6, 8, 2, 7, 8, 2,
+ 6, 6, 6, 6, 9, 6, 7, 2,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 2, 2, 6, 2, 2, 2, 6, 2,
+ 6, 10, 2, 6, 4, 2, 2, 2,
+ 2, 6, 6, 2, 2, 6, 2, 2,
+ 2, 6, 2, 2, 2, 6, 6, 2,
+ 2, 2, 6, 4, 2, 2, 6, 2,
+ 2, 2, 6, 6, 2, 2, 2, 1,
+ 6, 1, 6, 4, 2, 2, 2, 6,
2, 2, 2, 6, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 6, 2, 2,
- 6, 6, 6, 2, 2, 2, 6, 6,
- 12, 2, 2, 2, 2, 6, 2, 6,
- 2, 6, 2, 6, 2, 2, 2, 6,
- 2, 2, 6, 6, 2, 2, 6, 2,
- 6, 2, 2, 0, 6, 2, 2, 6,
+ 2, 2, 2, 6, 4, 2, 6, 6,
+ 6, 1, 6, 1, 6, 2, 6, 6,
+ 4, 2, 2, 2, 6, 6, 6, 2,
+ 2, 2, 6, 2, 6, 8, 2, 7,
+ 8, 2, 2, 2, 2, 6, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 6,
+ 2, 2, 6, 6, 6, 2, 2, 2,
+ 6, 6, 12, 2, 2, 2, 2, 6,
+ 2, 6, 2, 6, 2, 6, 2, 2,
+ 2, 6, 2, 2, 6, 6, 2, 2,
+ 6, 2, 6, 2, 2, 0, 6, 2,
+ 2, 6, 2, 2, 2, 2, 2, 6,
2, 2, 2, 2, 2, 6, 3, 2,
2, 0, 6, 6, 6, 6, 6, 7,
2, 1, 1, 1, 1, 2, 0, 6,
@@ -3428,11 +3499,11 @@ static const char _zone_scanner_single_lengths[] = {
0, 0, 1, 0, 0, 3, 0, 6,
6, 6, 6, 2, 1, 1, 0, 6,
6, 6, 6, 2, 1, 1, 0, 6,
- 9, 2, 2, 1, 12, 17, 46, 46,
- 12, 46, 12, 17, 51, 51, 0, 0,
+ 9, 2, 2, 1, 12, 17, 48, 48,
+ 12, 48, 12, 17, 53, 53, 0, 0,
0, 0, 4, 0, 0, 0, 10, 0,
- 11, 1, 0, 44, 1, 0, 10, 1,
- 6, 0, 10, 1, 1, 0, 0, 17,
+ 11, 1, 0, 46, 1, 0, 10, 1,
+ 6, 0, 10, 1, 1, 0, 0, 19,
1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 10, 1, 0, 0, 10, 1,
10, 1, 10, 1, 10, 1, 0, 0,
@@ -3465,33 +3536,34 @@ static const char _zone_scanner_range_lengths[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 1, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 1, 0,
- 0, 1, 1, 1, 1, 1, 1, 0,
- 0, 0, 0, 0, 0, 0, 0, 2,
- 0, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 0, 4, 0, 3, 1, 2,
- 3, 3, 4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2, 0, 0, 0, 0,
- 0, 0, 2, 0, 0, 2, 0, 1,
- 1, 2, 0, 4, 0, 0, 0, 0,
+ 0, 0, 0, 1, 1, 0, 0, 1,
+ 1, 1, 1, 1, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2, 0, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 0, 4, 0, 3, 1, 2, 3, 3,
+ 4, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2, 0, 0, 0, 0, 0,
+ 0, 2, 0, 0, 2, 0, 1, 1,
+ 2, 0, 4, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3, 1, 1, 1,
2, 2, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2, 3, 3, 2, 2,
2, 2, 1, 4, 1, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2, 2,
- 0, 2, 3, 0, 0, 3, 5, 5,
- 1, 1, 1, 5, 2, 2, 2, 4,
- 3, 1, 1, 4, 1, 1, 2, 3,
- 1, 1, 1, 0, 1, 1, 0, 0,
- 1, 1, 1, 1, 0, 3, 3, 3,
- 0, 0, 1, 1, 1, 3, 0, 1,
- 0, 3, 0, 3, 3, 3, 0, 0,
- 1, 1, 1, 3, 0, 2, 3, 1,
- 1, 3, 3, 3, 3, 3, 1, 0,
- 0, 0, 0, 0, 0, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 2,
+ 2, 0, 2, 3, 0, 0, 3, 5,
+ 5, 1, 1, 1, 5, 2, 2, 2,
+ 4, 3, 1, 1, 4, 1, 1, 2,
+ 3, 1, 1, 1, 0, 1, 1, 0,
+ 0, 1, 1, 1, 1, 0, 3, 3,
+ 3, 0, 0, 1, 1, 1, 3, 0,
+ 1, 0, 3, 0, 3, 3, 3, 0,
+ 0, 1, 1, 1, 3, 0, 2, 3,
+ 1, 1, 3, 3, 3, 3, 3, 1,
+ 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -3509,78 +3581,82 @@ static const char _zone_scanner_range_lengths[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1, 1, 0, 0, 0,
+ 0, 0, 0, 0, 1, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 1, 3,
- 3, 3, 1, 1, 1, 0, 1, 1,
- 3, 3, 3, 1, 1, 1, 1, 0,
- 0, 0, 0, 2, 0, 0, 2, 0,
- 0, 0, 0, 0, 0, 0, 2, 0,
- 0, 0, 0, 2, 0, 0, 1, 3,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2, 0,
+ 0, 0, 0, 0, 1, 1, 3, 3,
+ 3, 1, 1, 1, 0, 1, 1, 3,
+ 3, 3, 1, 1, 1, 1, 0, 0,
0, 0, 2, 0, 0, 0, 0, 0,
- 0, 2, 0, 1, 0, 0, 0, 3,
- 3, 3, 3, 3, 3, 0, 0, 3,
- 3, 3, 3, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 1, 1, 1,
- 1, 1, 0, 0, 0, 0, 0, 3,
- 3, 3, 3, 3, 3, 0, 0, 1,
- 1, 2, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 2, 0, 2,
- 0, 2, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 1, 1,
- 1, 3, 0, 1, 3, 0, 2, 0,
- 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 2, 0, 0, 0, 0,
- 0, 0, 0, 2, 0, 0, 0, 0,
+ 0, 2, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 2, 0, 0, 0,
+ 0, 2, 0, 0, 1, 3, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 2, 0, 0, 0, 0, 0, 0, 0,
- 0, 2, 0, 0, 0, 0, 0, 2,
- 0, 0, 2, 0, 0, 0, 0, 0,
- 0, 0, 2, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 2,
+ 0, 0, 0, 0, 2, 0, 0, 0,
+ 0, 2, 0, 0, 0, 2, 0, 0,
+ 0, 0, 0, 0, 2, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0,
+ 3, 0, 0, 0, 0, 0, 3, 3,
+ 3, 3, 3, 3, 0, 3, 3, 3,
+ 3, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 1, 1, 1, 1, 1,
+ 0, 0, 0, 0, 0, 3, 3, 3,
+ 3, 3, 3, 0, 0, 1, 1, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 2, 2, 0, 2, 0, 2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 1,
+ 1, 1, 1, 3, 0, 1, 3, 0,
+ 2, 0, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2, 0, 0,
- 0, 2, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 2,
- 0, 0, 2, 1, 3, 0, 0, 0,
+ 0, 0, 0, 0, 0, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2, 0, 0, 0, 0, 0,
- 0, 2, 0, 0, 2, 0, 0, 2,
- 0, 0, 0, 2, 0, 0, 2, 0,
+ 0, 0, 0, 2, 0, 0, 0, 0,
0, 2, 0, 0, 2, 0, 0, 0,
- 2, 0, 0, 2, 1, 3, 3, 2,
- 3, 0, 3, 0, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 3, 3, 1,
- 3, 1, 1, 1, 1, 1, 1, 1,
+ 0, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0,
+ 0, 2, 0, 0, 0, 0, 0, 2,
+ 0, 0, 0, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 2, 0,
+ 0, 2, 0, 0, 2, 1, 3, 0,
+ 0, 0, 0, 0, 2, 0, 0, 0,
+ 0, 0, 0, 2, 0, 0, 2, 0,
+ 0, 2, 0, 0, 0, 2, 0, 0,
+ 2, 0, 0, 2, 0, 0, 2, 0,
+ 0, 0, 2, 0, 0, 2, 1, 3,
+ 3, 2, 3, 0, 3, 0, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 3,
+ 3, 1, 3, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
- 2, 0, 3, 2, 1, 3, 0, 3,
- 2, 1, 1, 1, 3, 2, 1, 2,
- 0, 3, 1, 3, 5, 1, 1, 1,
- 1, 1, 1, 0, 0, 1, 1, 1,
- 1, 1, 1, 0, 0, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 0, 1,
- 1, 1, 1, 1, 1, 0, 1, 1,
- 1, 0, 1, 1, 1, 0, 1, 0,
- 1, 1, 1, 1, 1, 1, 0, 1,
+ 1, 1, 2, 0, 3, 2, 1, 3,
+ 0, 3, 2, 1, 1, 1, 3, 2,
+ 1, 2, 0, 3, 1, 3, 5, 1,
+ 1, 1, 1, 1, 1, 0, 0, 1,
+ 1, 1, 1, 1, 1, 0, 0, 1,
1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 3, 2, 1, 1, 1, 1,
- 1, 1, 1, 3, 0, 3, 0, 3,
- 0, 3, 2, 1, 1, 1, 1, 1,
- 3, 0, 1, 1, 3, 0, 3, 0,
- 1, 1, 1, 0, 0, 0, 1, 1,
- 1, 1, 1, 0, 3, 3, 1, 1,
- 3, 0, 1, 1, 3, 3, 3, 1,
- 1, 1, 1, 1, 1, 1, 1, 3,
- 3, 3, 1, 1, 1, 1, 1, 0,
- 0, 1, 1, 0, 0, 3, 0, 1,
- 0, 1, 3, 3, 1, 1, 0, 1,
- 1, 1, 1, 1, 1, 0, 1, 1,
- 3, 3, 1, 1, 0, 1, 1, 3,
- 0, 1, 1, 1, 0, 0, 3, 0,
+ 0, 1, 1, 1, 1, 1, 1, 0,
+ 1, 1, 1, 0, 1, 1, 1, 0,
+ 1, 0, 1, 1, 1, 1, 1, 1,
+ 0, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 3, 2, 1, 1,
+ 1, 1, 1, 1, 1, 3, 0, 3,
+ 0, 3, 0, 3, 2, 1, 1, 1,
+ 1, 1, 3, 0, 1, 1, 3, 0,
+ 3, 0, 1, 1, 1, 0, 0, 0,
+ 1, 1, 1, 1, 1, 0, 3, 3,
+ 1, 1, 3, 0, 1, 1, 3, 3,
+ 3, 1, 1, 1, 1, 1, 1, 1,
+ 1, 3, 3, 3, 1, 1, 1, 1,
+ 1, 0, 0, 1, 1, 0, 0, 3,
+ 0, 1, 0, 1, 3, 3, 1, 1,
+ 0, 1, 1, 1, 1, 1, 1, 0,
+ 1, 1, 3, 3, 1, 1, 0, 1,
+ 1, 3, 0, 1, 1, 1, 0, 0,
+ 3, 0, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 3, 0, 3, 0,
1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 3, 0, 3, 0, 1, 1,
- 1, 1, 1, 1, 1, 1, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -3599,7 +3675,8 @@ static const char _zone_scanner_range_lengths[] = {
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3, 2,
2, 1, 1, 1, 1, 3, 0, 3,
0, 1, 1, 1, 3, 0, 1, 1,
@@ -3634,2703 +3711,2766 @@ static const char _zone_scanner_range_lengths[] = {
};
static const short _zone_scanner_index_offsets[] = {
- 0, 0, 44, 62, 103, 120, 135, 144,
- 153, 155, 157, 160, 177, 194, 199, 252,
- 272, 315, 326, 329, 340, 354, 368, 373,
- 376, 379, 382, 385, 396, 407, 410, 413,
- 424, 427, 430, 433, 444, 447, 450, 453,
- 464, 471, 474, 477, 480, 491, 496, 499,
- 502, 513, 516, 519, 522, 533, 544, 547,
- 550, 553, 555, 566, 568, 579, 584, 587,
- 590, 593, 604, 607, 610, 613, 624, 629,
- 636, 677, 680, 683, 686, 689, 692, 695,
- 698, 709, 714, 717, 728, 739, 746, 748,
- 759, 761, 772, 775, 786, 797, 802, 805,
- 808, 811, 822, 833, 840, 843, 846, 849,
- 860, 863, 874, 887, 890, 902, 915, 918,
- 921, 924, 927, 938, 941, 944, 947, 950,
- 953, 956, 959, 962, 965, 976, 979, 982,
- 993, 1000, 1011, 1014, 1017, 1020, 1031, 1042,
- 1055, 1058, 1061, 1064, 1067, 1078, 1081, 1092,
- 1095, 1106, 1109, 1120, 1123, 1126, 1129, 1140,
- 1143, 1146, 1157, 1164, 1167, 1170, 1181, 1184,
- 1195, 1198, 1201, 1203, 1215, 1218, 1221, 1232,
- 1235, 1238, 1241, 1244, 1247, 1258, 1261, 1305,
- 1310, 1317, 1359, 1377, 1385, 1397, 1405, 1408,
- 1410, 1417, 1420, 1423, 1426, 1429, 1432, 1435,
- 1440, 1447, 1489, 1492, 1510, 1552, 1555, 1563,
- 1575, 1583, 1586, 1603, 1654, 1673, 1690, 1734,
- 1739, 1751, 1763, 1816, 1835, 1850, 1861, 1874,
- 1887, 1900, 1915, 1928, 1943, 1954, 1965, 1980,
- 2001, 2016, 2027, 2038, 2043, 2058, 2061, 2064,
- 2067, 2070, 2073, 2078, 2081, 2084, 2089, 2098,
- 2118, 2162, 2167, 2186, 2239, 2258, 2273, 2284,
- 2297, 2310, 2323, 2338, 2351, 2366, 2377, 2388,
- 2403, 2424, 2439, 2450, 2461, 2474, 2518, 2532,
- 2546, 2561, 2576, 2579, 2582, 2593, 2596, 2599,
- 2602, 2613, 2616, 2627, 2632, 2644, 2656, 2671,
- 2686, 2701, 2716, 2719, 2772, 2786, 2800, 2817,
- 2830, 2839, 2850, 2861, 2872, 2885, 2896, 2909,
- 2918, 2927, 2940, 2959, 2972, 2981, 2990, 2995,
- 3000, 3011, 3016, 3023, 3025, 3027, 3036, 3048,
- 3060, 3062, 3064, 3066, 3078, 3083, 3088, 3093,
- 3102, 3106, 3108, 3110, 3119, 3127, 3135, 3140,
- 3144, 3146, 3148, 3156, 3163, 3171, 3191, 3200,
- 3202, 3212, 3224, 3234, 3237, 3244, 3258, 3266,
- 3282, 3291, 3293, 3295, 3297, 3299, 3307, 3316,
- 3319, 3326, 3336, 3345, 3361, 3369, 3385, 3394,
- 3396, 3398, 3400, 3402, 3410, 3419, 3424, 3438,
- 3441, 3444, 3449, 3454, 3460, 3466, 3481, 3484,
- 3486, 3497, 3542, 3559, 3562, 3565, 3576, 3579,
- 3590, 3593, 3604, 3609, 3612, 3615, 3618, 3621,
- 3632, 3643, 3646, 3649, 3660, 3663, 3666, 3669,
- 3680, 3683, 3686, 3689, 3700, 3707, 3710, 3713,
- 3716, 3727, 3732, 3735, 3738, 3749, 3752, 3755,
- 3758, 3769, 3780, 3783, 3786, 3789, 3791, 3802,
- 3804, 3815, 3820, 3823, 3826, 3829, 3840, 3843,
- 3846, 3849, 3860, 3863, 3866, 3869, 3872, 3875,
- 3878, 3881, 3892, 3897, 3900, 3911, 3922, 3929,
- 3931, 3942, 3944, 3955, 3958, 3969, 3980, 3985,
- 3988, 3991, 3994, 4005, 4016, 4023, 4026, 4029,
- 4032, 4043, 4046, 4057, 4070, 4073, 4085, 4098,
- 4101, 4104, 4107, 4110, 4121, 4124, 4127, 4130,
- 4133, 4136, 4139, 4142, 4145, 4148, 4159, 4162,
- 4165, 4176, 4183, 4194, 4197, 4200, 4203, 4214,
- 4225, 4238, 4241, 4244, 4247, 4250, 4261, 4264,
- 4275, 4278, 4289, 4292, 4303, 4306, 4309, 4312,
- 4323, 4326, 4329, 4340, 4347, 4350, 4353, 4364,
- 4367, 4378, 4381, 4384, 4386, 4398, 4401, 4404,
- 4415, 4418, 4421, 4424, 4427, 4430, 4441, 4444,
- 4447, 4450, 4461, 4464, 4475, 4482, 4490, 4498,
- 4508, 4512, 4526, 4529, 4532, 4535, 4542, 4551,
- 4561, 4571, 4575, 4589, 4592, 4595, 4603, 4606,
- 4613, 4615, 4617, 4619, 4626, 4628, 4630, 4637,
- 4639, 4641, 4644, 4646, 4648, 4650, 4652, 4659,
- 4661, 4663, 4665, 4667, 4674, 4676, 4678, 4680,
- 4688, 4690, 4692, 4694, 4696, 4698, 4700, 4702,
- 4704, 4706, 4708, 4710, 4712, 4714, 4716, 4723,
- 4725, 4727, 4729, 4736, 4747, 4765, 4767, 4769,
- 4771, 4773, 4779, 4790, 4793, 4795, 4797, 4799,
- 4805, 4810, 4815, 4821, 4827, 4833, 4844, 4846,
- 4851, 4857, 4863, 4878, 4880, 4882, 4884, 4887,
- 4889, 4891, 4893, 4895, 4897, 4901, 4904, 4909,
- 4912, 4926, 4929, 4931, 4933, 4935, 4937, 4939,
- 4945, 4950, 4957, 4962, 4978, 4983, 4985, 4987,
- 4989, 5002, 5007, 5018, 5020, 5022, 5024, 5026,
- 5028, 5030, 5032, 5034, 5036, 5040, 5043, 5046,
- 5049, 5061, 5064, 5066, 5068, 5070, 5072, 5074,
- 5076, 5078, 5080, 5082, 5084, 5086, 5088, 5090,
- 5092, 5103, 5105, 5107, 5109, 5111, 5114, 5116,
- 5119, 5131, 5145, 5147, 5159, 5165, 5170, 5175,
- 5178, 5184, 5187, 5190, 5193, 5196, 5198, 5200,
- 5203, 5206, 5209, 5211, 5216, 5221, 5226, 5228,
- 5231, 5234, 5237, 5240, 5245, 5248, 5251, 5254,
- 5257, 5259, 5261, 5264, 5267, 5270, 5272, 5274,
- 5276, 5281, 5283, 5285, 5288, 5291, 5294, 5296,
- 5298, 5300, 5305, 5308, 5310, 5312, 5314, 5316,
- 5321, 5323, 5325, 5330, 5333, 5336, 5339, 5342,
- 5345, 5348, 5351, 5356, 5359, 5362, 5365, 5368,
- 5371, 5374, 5379, 5382, 5385, 5390, 5393, 5396,
- 5401, 5404, 5407, 5412, 5415, 5417, 5422, 5425,
- 5428, 5432, 5438, 5441, 5444, 5447, 5450, 5452,
- 5454, 5457, 5460, 5463, 5465, 5470, 5472, 5474,
- 5479, 5481, 5483, 5488, 5502, 5508, 5511, 5514,
- 5517, 5520, 5523, 5528, 5535, 5538, 5541, 5544,
- 5547, 5550, 5555, 5560, 5563, 5568, 5571, 5574,
- 5579, 5582, 5585, 5588, 5593, 5596, 5599, 5604,
- 5609, 5612, 5617, 5620, 5623, 5628, 5631, 5634,
- 5637, 5642, 5645, 5648, 5653, 5656, 5663, 5670,
- 5675, 5682, 5689, 5702, 5709, 5717, 5725, 5733,
- 5751, 5759, 5777, 5785, 5803, 5811, 5827, 5833,
- 5845, 5851, 5854, 5862, 5874, 5882, 5885, 5893,
- 5905, 5913, 5916, 5924, 5936, 5944, 5947, 5950,
- 5953, 5958, 5965, 5975, 5980, 5983, 5990, 5997,
- 6010, 6015, 6018, 6020, 6028, 6041, 6046, 6049,
- 6054, 6065, 6079, 6082, 6087, 6096, 6098, 6106,
- 6116, 6124, 6134, 6143, 6152, 6159, 6167, 6175,
- 6185, 6193, 6203, 6212, 6221, 6228, 6237, 6239,
- 6253, 6265, 6279, 6291, 6305, 6317, 6331, 6342,
- 6345, 6358, 6371, 6374, 6387, 6400, 6411, 6414,
- 6427, 6440, 6451, 6454, 6467, 6480, 6491, 6494,
- 6501, 6504, 6512, 6520, 6523, 6526, 6529, 6536,
- 6539, 6547, 6555, 6558, 6561, 6563, 6571, 6579,
- 6587, 6595, 6603, 6616, 6621, 6624, 6627, 6630,
- 6632, 6640, 6648, 6656, 6666, 6673, 6683, 6690,
- 6700, 6707, 6720, 6725, 6728, 6731, 6734, 6737,
- 6740, 6744, 6751, 6759, 6767, 6777, 6784, 6795,
- 6798, 6801, 6804, 6807, 6821, 6824, 6826, 6829,
- 6832, 6834, 6846, 6849, 6851, 6856, 6861, 6863,
- 6871, 6881, 6888, 6896, 6904, 6914, 6918, 6932,
- 6935, 6938, 6941, 6944, 6946, 6954, 6962, 6970,
- 6980, 6984, 6998, 7001, 7004, 7007, 7009, 7017,
- 7028, 7035, 7043, 7051, 7059, 7094, 7105, 7108,
- 7111, 7126, 7129, 7168, 7175, 7178, 7181, 7188,
- 7196, 7204, 7213, 7250, 7253, 7256, 7263, 7271,
- 7279, 7290, 7329, 7332, 7335, 7342, 7350, 7358,
- 7371, 7406, 7409, 7412, 7415, 7450, 7463, 7473,
- 7480, 7488, 7496, 7504, 7512, 7520, 7528, 7536,
- 7544, 7552, 7560, 7573, 7580, 7591, 7594, 7597,
- 7600, 7603, 7606, 7609, 7612, 7615, 7618, 7621,
- 7624, 7631, 7634, 7637, 7640, 7647, 7650, 7657,
- 7668, 7671, 7678, 7683, 7686, 7689, 7692, 7695,
- 7702, 7709, 7712, 7715, 7722, 7725, 7728, 7731,
- 7738, 7741, 7744, 7747, 7754, 7761, 7764, 7767,
- 7770, 7777, 7782, 7785, 7788, 7795, 7798, 7801,
- 7804, 7811, 7818, 7821, 7824, 7827, 7829, 7836,
- 7838, 7845, 7850, 7853, 7856, 7859, 7866, 7869,
- 7872, 7875, 7882, 7885, 7888, 7891, 7894, 7897,
- 7900, 7903, 7910, 7915, 7918, 7925, 7932, 7939,
- 7941, 7948, 7950, 7957, 7960, 7967, 7974, 7979,
- 7982, 7985, 7988, 7995, 8002, 8009, 8012, 8015,
- 8018, 8025, 8028, 8035, 8044, 8047, 8055, 8064,
- 8067, 8070, 8073, 8076, 8083, 8086, 8089, 8092,
- 8095, 8098, 8101, 8104, 8107, 8110, 8117, 8120,
- 8123, 8130, 8137, 8144, 8147, 8150, 8153, 8160,
- 8167, 8180, 8183, 8186, 8189, 8192, 8199, 8202,
- 8209, 8212, 8219, 8222, 8229, 8232, 8235, 8238,
- 8245, 8248, 8251, 8258, 8265, 8268, 8271, 8278,
- 8281, 8288, 8291, 8294, 8296, 8304, 8307, 8310,
- 8317, 8320, 8323, 8326, 8329, 8332, 8339, 8346,
- 8351, 8356, 8358, 8366, 8374, 8382, 8392, 8399,
- 8410, 8413, 8416, 8419, 8422, 8427, 8430, 8432,
- 8440, 8448, 8456, 8464, 8472, 8483, 8490, 8500,
- 8504, 8509, 8513, 8518, 8523, 8527, 8532, 8540,
- 8545, 8547, 8549, 8551, 8553, 8555, 8558, 8562,
- 8572, 8575, 8578, 8581, 8583, 8591, 8599, 8607,
- 8615, 8623, 8634, 8639, 8643, 8651, 8654, 8657,
- 8660, 8662, 8670, 8678, 8686, 8694, 8702, 8712,
- 8716, 8730, 8733, 8736, 8739, 8742, 8744, 8752,
- 8760, 8766, 8771, 8774, 8776, 8784, 8792, 8800,
- 8808, 8816, 8826, 8830, 8844, 8847, 8850, 8853,
- 8856, 8858, 8866, 8875, 8882, 8885, 8887, 8895,
- 8905, 8909, 8913, 8917, 8919, 8923, 8927, 8931,
- 8935, 8941, 8944, 8948, 8952, 8954, 8958, 8962,
- 8968, 8972, 8976, 8978, 8982, 8986, 8992, 8994,
- 9002, 9010, 9018, 9028, 9033, 9036, 9039, 9041,
- 9049, 9059, 9066, 9076, 9081, 9084, 9087, 9089,
- 9097, 9110, 9115, 9120, 9123, 9139, 9165, 9215,
- 9266, 9282, 9333, 9349, 9375, 9436, 9497, 9498,
- 9499, 9500, 9501, 9510, 9511, 9512, 9513, 9527,
- 9528, 9543, 9546, 9547, 9592, 9595, 9596, 9610,
- 9613, 9623, 9624, 9638, 9641, 9644, 9645, 9646,
- 9664, 9667, 9668, 9669, 9670, 9671, 9672, 9673,
- 9674, 9675, 9676, 9690, 9693, 9694, 9695, 9706,
- 9709, 9721, 9724, 9736, 9739, 9751, 9754, 9755,
- 9756, 9757, 9758, 9772, 9775, 9776, 9790, 9793,
- 9794, 9808, 9811, 9812, 9827, 9830, 9841, 9844,
- 9883, 9890, 9891, 9892, 9893, 9894, 9895, 9896,
- 9897, 9911, 9914, 9915, 9916, 9930, 9933, 9934,
- 9935, 9936, 9937, 9938, 9939
+ 0, 0, 46, 64, 107, 124, 139, 148,
+ 157, 159, 161, 164, 181, 198, 203, 258,
+ 278, 323, 334, 337, 348, 362, 376, 381,
+ 384, 387, 390, 393, 404, 415, 418, 421,
+ 432, 435, 438, 441, 452, 455, 458, 461,
+ 472, 479, 482, 485, 488, 499, 504, 507,
+ 510, 521, 524, 527, 530, 541, 552, 555,
+ 558, 561, 563, 574, 576, 587, 592, 595,
+ 598, 601, 612, 615, 618, 621, 632, 637,
+ 644, 687, 690, 693, 696, 699, 702, 705,
+ 708, 719, 724, 727, 738, 749, 756, 758,
+ 769, 771, 782, 785, 796, 807, 812, 815,
+ 818, 821, 832, 843, 850, 853, 856, 859,
+ 870, 873, 884, 897, 900, 912, 925, 928,
+ 931, 934, 937, 948, 951, 954, 957, 960,
+ 963, 966, 969, 972, 975, 986, 989, 992,
+ 1003, 1010, 1021, 1024, 1027, 1030, 1041, 1052,
+ 1065, 1068, 1071, 1074, 1077, 1088, 1091, 1102,
+ 1105, 1116, 1119, 1130, 1133, 1136, 1139, 1150,
+ 1153, 1156, 1167, 1174, 1177, 1180, 1191, 1194,
+ 1205, 1208, 1211, 1213, 1225, 1228, 1231, 1242,
+ 1245, 1248, 1251, 1254, 1257, 1268, 1271, 1274,
+ 1277, 1280, 1283, 1294, 1297, 1343, 1348, 1355,
+ 1399, 1417, 1425, 1437, 1445, 1448, 1450, 1457,
+ 1460, 1463, 1466, 1469, 1472, 1475, 1480, 1487,
+ 1531, 1534, 1552, 1596, 1599, 1607, 1619, 1627,
+ 1630, 1647, 1700, 1719, 1736, 1782, 1787, 1799,
+ 1811, 1866, 1885, 1900, 1911, 1924, 1937, 1950,
+ 1965, 1978, 1993, 2004, 2015, 2030, 2051, 2066,
+ 2077, 2088, 2099, 2104, 2119, 2122, 2125, 2128,
+ 2131, 2134, 2139, 2142, 2145, 2150, 2159, 2179,
+ 2225, 2230, 2249, 2304, 2323, 2338, 2349, 2362,
+ 2375, 2388, 2403, 2416, 2431, 2442, 2453, 2468,
+ 2489, 2504, 2515, 2526, 2537, 2550, 2596, 2610,
+ 2624, 2639, 2654, 2657, 2660, 2671, 2674, 2677,
+ 2680, 2691, 2694, 2705, 2710, 2722, 2734, 2749,
+ 2764, 2779, 2794, 2797, 2852, 2866, 2880, 2897,
+ 2910, 2919, 2930, 2941, 2952, 2965, 2976, 2989,
+ 2998, 3007, 3020, 3039, 3052, 3061, 3070, 3079,
+ 3084, 3089, 3100, 3105, 3112, 3114, 3116, 3125,
+ 3137, 3149, 3151, 3153, 3155, 3167, 3172, 3177,
+ 3182, 3191, 3195, 3197, 3199, 3208, 3216, 3224,
+ 3229, 3233, 3235, 3237, 3245, 3252, 3260, 3280,
+ 3289, 3291, 3301, 3313, 3323, 3326, 3333, 3347,
+ 3355, 3371, 3380, 3382, 3384, 3386, 3388, 3396,
+ 3405, 3408, 3415, 3425, 3434, 3450, 3458, 3474,
+ 3483, 3485, 3487, 3489, 3491, 3499, 3508, 3513,
+ 3527, 3530, 3533, 3538, 3543, 3549, 3555, 3570,
+ 3573, 3575, 3586, 3633, 3650, 3653, 3656, 3667,
+ 3670, 3681, 3684, 3695, 3700, 3703, 3706, 3709,
+ 3712, 3723, 3734, 3737, 3740, 3751, 3754, 3757,
+ 3760, 3771, 3774, 3777, 3780, 3791, 3798, 3801,
+ 3804, 3807, 3818, 3823, 3826, 3829, 3840, 3843,
+ 3846, 3849, 3860, 3871, 3874, 3877, 3880, 3882,
+ 3893, 3895, 3906, 3911, 3914, 3917, 3920, 3931,
+ 3934, 3937, 3940, 3951, 3954, 3957, 3960, 3963,
+ 3966, 3969, 3972, 3983, 3988, 3991, 4002, 4013,
+ 4020, 4022, 4033, 4035, 4046, 4049, 4060, 4071,
+ 4076, 4079, 4082, 4085, 4096, 4107, 4114, 4117,
+ 4120, 4123, 4134, 4137, 4148, 4161, 4164, 4176,
+ 4189, 4192, 4195, 4198, 4201, 4212, 4215, 4218,
+ 4221, 4224, 4227, 4230, 4233, 4236, 4239, 4250,
+ 4253, 4256, 4267, 4274, 4285, 4288, 4291, 4294,
+ 4305, 4316, 4329, 4332, 4335, 4338, 4341, 4352,
+ 4355, 4366, 4369, 4380, 4383, 4394, 4397, 4400,
+ 4403, 4414, 4417, 4420, 4431, 4438, 4441, 4444,
+ 4455, 4458, 4469, 4472, 4475, 4477, 4489, 4492,
+ 4495, 4506, 4509, 4512, 4515, 4518, 4521, 4532,
+ 4535, 4538, 4541, 4544, 4547, 4558, 4561, 4564,
+ 4567, 4578, 4581, 4592, 4599, 4607, 4615, 4625,
+ 4629, 4643, 4646, 4649, 4652, 4659, 4668, 4678,
+ 4688, 4692, 4706, 4709, 4712, 4720, 4723, 4732,
+ 4734, 4736, 4738, 4745, 4747, 4749, 4751, 4753,
+ 4755, 4757, 4764, 4766, 4768, 4775, 4777, 4779,
+ 4782, 4784, 4786, 4788, 4790, 4797, 4799, 4801,
+ 4803, 4805, 4812, 4814, 4816, 4818, 4826, 4828,
+ 4830, 4832, 4834, 4836, 4838, 4840, 4842, 4844,
+ 4846, 4848, 4850, 4852, 4854, 4861, 4863, 4865,
+ 4867, 4869, 4876, 4878, 4880, 4882, 4889, 4900,
+ 4920, 4922, 4924, 4926, 4928, 4934, 4945, 4948,
+ 4950, 4952, 4954, 4956, 4958, 4960, 4962, 4968,
+ 4979, 4993, 4995, 5006, 5008, 5010, 5012, 5018,
+ 5023, 5028, 5034, 5040, 5046, 5048, 5053, 5059,
+ 5065, 5080, 5082, 5084, 5086, 5089, 5091, 5093,
+ 5095, 5097, 5099, 5103, 5106, 5111, 5114, 5128,
+ 5131, 5133, 5135, 5137, 5139, 5141, 5147, 5152,
+ 5159, 5164, 5180, 5185, 5187, 5189, 5191, 5204,
+ 5209, 5211, 5213, 5215, 5217, 5219, 5221, 5223,
+ 5225, 5227, 5231, 5234, 5237, 5240, 5252, 5255,
+ 5257, 5259, 5261, 5263, 5265, 5267, 5269, 5271,
+ 5273, 5275, 5277, 5279, 5281, 5283, 5294, 5296,
+ 5298, 5300, 5302, 5313, 5315, 5317, 5319, 5321,
+ 5324, 5326, 5329, 5341, 5355, 5357, 5369, 5375,
+ 5380, 5385, 5388, 5394, 5397, 5400, 5403, 5406,
+ 5408, 5410, 5413, 5416, 5419, 5421, 5426, 5431,
+ 5436, 5438, 5441, 5444, 5447, 5450, 5455, 5458,
+ 5461, 5464, 5467, 5469, 5471, 5474, 5477, 5480,
+ 5482, 5484, 5486, 5491, 5493, 5495, 5498, 5501,
+ 5504, 5506, 5508, 5510, 5515, 5518, 5520, 5522,
+ 5524, 5526, 5531, 5533, 5535, 5540, 5543, 5546,
+ 5549, 5552, 5555, 5558, 5561, 5566, 5569, 5572,
+ 5575, 5578, 5581, 5584, 5589, 5592, 5595, 5600,
+ 5603, 5606, 5611, 5614, 5617, 5622, 5625, 5627,
+ 5632, 5635, 5638, 5642, 5648, 5651, 5654, 5657,
+ 5660, 5662, 5664, 5667, 5670, 5673, 5675, 5680,
+ 5682, 5684, 5689, 5691, 5693, 5698, 5712, 5718,
+ 5721, 5724, 5727, 5730, 5733, 5738, 5745, 5748,
+ 5751, 5754, 5757, 5760, 5765, 5770, 5773, 5778,
+ 5781, 5784, 5789, 5792, 5795, 5798, 5803, 5806,
+ 5809, 5814, 5819, 5822, 5827, 5830, 5833, 5838,
+ 5841, 5844, 5847, 5852, 5855, 5858, 5863, 5866,
+ 5873, 5880, 5885, 5892, 5899, 5912, 5919, 5927,
+ 5935, 5943, 5961, 5969, 5987, 5995, 6013, 6021,
+ 6037, 6043, 6055, 6061, 6064, 6072, 6084, 6092,
+ 6095, 6103, 6115, 6123, 6126, 6134, 6146, 6154,
+ 6157, 6160, 6163, 6168, 6175, 6185, 6190, 6193,
+ 6200, 6207, 6220, 6225, 6228, 6230, 6238, 6251,
+ 6256, 6259, 6264, 6275, 6289, 6292, 6297, 6306,
+ 6308, 6316, 6326, 6334, 6344, 6353, 6362, 6369,
+ 6377, 6385, 6395, 6403, 6413, 6422, 6431, 6438,
+ 6447, 6449, 6463, 6475, 6489, 6501, 6515, 6527,
+ 6541, 6552, 6555, 6568, 6581, 6584, 6597, 6610,
+ 6621, 6624, 6637, 6650, 6661, 6664, 6677, 6690,
+ 6701, 6704, 6711, 6714, 6722, 6730, 6733, 6736,
+ 6739, 6746, 6749, 6757, 6765, 6768, 6771, 6773,
+ 6781, 6789, 6797, 6805, 6813, 6826, 6831, 6834,
+ 6837, 6840, 6842, 6850, 6858, 6866, 6876, 6883,
+ 6893, 6900, 6910, 6917, 6930, 6935, 6938, 6941,
+ 6944, 6947, 6950, 6954, 6961, 6969, 6977, 6987,
+ 6994, 7005, 7008, 7011, 7014, 7017, 7031, 7034,
+ 7036, 7039, 7042, 7044, 7056, 7059, 7061, 7066,
+ 7071, 7073, 7081, 7091, 7098, 7106, 7114, 7124,
+ 7128, 7142, 7145, 7148, 7151, 7154, 7156, 7164,
+ 7172, 7180, 7190, 7194, 7208, 7211, 7214, 7217,
+ 7219, 7227, 7238, 7245, 7253, 7261, 7269, 7304,
+ 7315, 7318, 7321, 7336, 7339, 7378, 7385, 7388,
+ 7391, 7398, 7406, 7414, 7423, 7460, 7463, 7466,
+ 7473, 7481, 7489, 7500, 7539, 7542, 7545, 7552,
+ 7560, 7568, 7581, 7616, 7619, 7622, 7625, 7662,
+ 7675, 7685, 7692, 7700, 7708, 7716, 7724, 7732,
+ 7740, 7748, 7756, 7764, 7772, 7785, 7792, 7803,
+ 7806, 7809, 7812, 7815, 7818, 7821, 7824, 7827,
+ 7830, 7833, 7836, 7843, 7846, 7849, 7852, 7859,
+ 7862, 7869, 7880, 7883, 7890, 7895, 7898, 7901,
+ 7904, 7907, 7914, 7921, 7924, 7927, 7934, 7937,
+ 7940, 7943, 7950, 7953, 7956, 7959, 7966, 7973,
+ 7976, 7979, 7982, 7989, 7994, 7997, 8000, 8007,
+ 8010, 8013, 8016, 8023, 8030, 8033, 8036, 8039,
+ 8041, 8048, 8050, 8057, 8062, 8065, 8068, 8071,
+ 8078, 8081, 8084, 8087, 8094, 8097, 8100, 8103,
+ 8106, 8109, 8112, 8115, 8122, 8127, 8130, 8137,
+ 8144, 8151, 8153, 8160, 8162, 8169, 8172, 8179,
+ 8186, 8191, 8194, 8197, 8200, 8207, 8214, 8221,
+ 8224, 8227, 8230, 8237, 8240, 8247, 8256, 8259,
+ 8267, 8276, 8279, 8282, 8285, 8288, 8295, 8298,
+ 8301, 8304, 8307, 8310, 8313, 8316, 8319, 8322,
+ 8329, 8332, 8335, 8342, 8349, 8356, 8359, 8362,
+ 8365, 8372, 8379, 8392, 8395, 8398, 8401, 8404,
+ 8411, 8414, 8421, 8424, 8431, 8434, 8441, 8444,
+ 8447, 8450, 8457, 8460, 8463, 8470, 8477, 8480,
+ 8483, 8490, 8493, 8500, 8503, 8506, 8508, 8516,
+ 8519, 8522, 8529, 8532, 8535, 8538, 8541, 8544,
+ 8551, 8554, 8557, 8560, 8563, 8566, 8573, 8580,
+ 8585, 8590, 8592, 8600, 8608, 8616, 8626, 8633,
+ 8644, 8647, 8650, 8653, 8656, 8661, 8664, 8666,
+ 8674, 8682, 8690, 8698, 8706, 8717, 8724, 8734,
+ 8738, 8743, 8747, 8752, 8757, 8761, 8766, 8774,
+ 8779, 8781, 8783, 8785, 8787, 8789, 8792, 8796,
+ 8806, 8809, 8812, 8815, 8817, 8825, 8833, 8841,
+ 8849, 8857, 8868, 8873, 8877, 8885, 8888, 8891,
+ 8894, 8896, 8904, 8912, 8920, 8928, 8936, 8946,
+ 8950, 8964, 8967, 8970, 8973, 8976, 8978, 8986,
+ 8994, 9000, 9005, 9008, 9010, 9018, 9026, 9034,
+ 9042, 9050, 9060, 9064, 9078, 9081, 9084, 9087,
+ 9090, 9092, 9100, 9109, 9116, 9119, 9121, 9129,
+ 9139, 9143, 9147, 9151, 9153, 9157, 9161, 9165,
+ 9169, 9175, 9178, 9182, 9186, 9188, 9192, 9196,
+ 9202, 9206, 9210, 9212, 9216, 9220, 9226, 9228,
+ 9236, 9244, 9252, 9262, 9267, 9270, 9273, 9275,
+ 9283, 9293, 9300, 9310, 9315, 9318, 9321, 9323,
+ 9331, 9344, 9349, 9354, 9357, 9373, 9399, 9451,
+ 9504, 9520, 9573, 9589, 9615, 9678, 9741, 9742,
+ 9743, 9744, 9745, 9754, 9755, 9756, 9757, 9771,
+ 9772, 9787, 9790, 9791, 9838, 9841, 9842, 9856,
+ 9859, 9869, 9870, 9884, 9887, 9890, 9891, 9892,
+ 9912, 9915, 9916, 9917, 9918, 9919, 9920, 9921,
+ 9922, 9923, 9924, 9938, 9941, 9942, 9943, 9954,
+ 9957, 9969, 9972, 9984, 9987, 9999, 10002, 10003,
+ 10004, 10005, 10006, 10020, 10023, 10024, 10038, 10041,
+ 10042, 10056, 10059, 10060, 10075, 10078, 10089, 10092,
+ 10131, 10138, 10139, 10140, 10141, 10142, 10143, 10144,
+ 10145, 10159, 10162, 10163, 10164, 10178, 10181, 10182,
+ 10183, 10184, 10185, 10186, 10187
};
static const short _zone_scanner_indicies[] = {
1, 1, 2, 3, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 4, 0, 27, 27, 28, 29,
- 31, 32, 33, 34, 35, 31, 32, 33,
- 34, 35, 36, 37, 30, 26, 39, 39,
- 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 42, 43, 44, 45, 46,
+ 17, 18, 19, 20, 21, 22, 5, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 4, 0, 28, 28,
+ 29, 30, 32, 33, 34, 35, 36, 32,
+ 33, 34, 35, 36, 37, 38, 31, 27,
+ 40, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 38, 62,
- 62, 63, 64, 65, 66, 67, 65, 66,
- 67, 68, 69, 70, 70, 71, 72, 61,
- 74, 74, 76, 77, 78, 79, 80, 73,
- 73, 81, 82, 73, 73, 73, 75, 84,
- 84, 85, 86, 87, 88, 87, 88, 83,
- 90, 90, 91, 92, 93, 94, 93, 94,
- 89, 96, 95, 98, 97, 100, 99, 75,
- 101, 101, 102, 103, 78, 87, 88, 87,
- 104, 105, 106, 87, 107, 73, 73, 73,
- 83, 108, 108, 109, 110, 78, 93, 94,
- 93, 111, 112, 113, 93, 114, 73, 73,
- 73, 83, 96, 116, 95, 115, 83, 117,
- 117, 119, 120, 73, 122, 123, 124, 125,
- 126, 127, 128, 129, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, 78, 122, 123,
- 124, 125, 126, 127, 128, 129, 130, 131,
- 132, 133, 134, 135, 136, 137, 138, 22,
- 23, 139, 140, 141, 142, 143, 144, 73,
- 73, 121, 73, 118, 146, 146, 147, 148,
- 31, 32, 33, 34, 35, 31, 32, 33,
- 34, 35, 87, 88, 149, 150, 30, 145,
- 152, 152, 153, 154, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 42, 43, 44,
+ 55, 56, 57, 58, 59, 60, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 93, 94,
- 155, 156, 151, 157, 158, 159, 160, 161,
- 157, 158, 159, 160, 161, 38, 162, 162,
- 38, 163, 163, 164, 165, 166, 167, 168,
- 168, 169, 170, 61, 84, 87, 84, 85,
- 86, 88, 171, 87, 171, 172, 173, 174,
- 99, 83, 90, 93, 90, 91, 92, 94,
- 175, 93, 175, 176, 177, 178, 99, 83,
- 179, 180, 179, 180, 38, 181, 181, 38,
- 182, 182, 38, 183, 183, 38, 184, 184,
- 38, 185, 185, 186, 187, 188, 189, 190,
- 190, 191, 192, 61, 193, 193, 194, 195,
- 196, 197, 198, 198, 199, 200, 61, 201,
- 201, 38, 202, 202, 38, 203, 203, 204,
- 205, 206, 207, 208, 208, 209, 210, 61,
- 211, 211, 38, 212, 212, 38, 213, 213,
- 38, 214, 214, 215, 216, 217, 218, 219,
- 219, 220, 221, 61, 222, 222, 38, 223,
- 223, 38, 224, 224, 38, 225, 225, 226,
- 227, 228, 229, 230, 230, 231, 232, 61,
- 233, 234, 235, 233, 234, 235, 38, 236,
- 236, 38, 237, 237, 38, 238, 238, 38,
- 239, 239, 240, 241, 242, 243, 244, 244,
- 245, 246, 61, 247, 248, 247, 248, 38,
- 249, 249, 38, 250, 250, 38, 251, 251,
- 252, 253, 254, 255, 256, 256, 257, 258,
- 61, 259, 259, 38, 260, 260, 38, 261,
- 261, 38, 262, 262, 263, 264, 265, 266,
- 267, 267, 268, 269, 61, 270, 270, 271,
- 272, 273, 274, 275, 275, 276, 277, 61,
- 278, 278, 38, 279, 279, 38, 280, 281,
- 38, 282, 38, 283, 283, 284, 285, 286,
- 287, 288, 288, 289, 290, 61, 291, 38,
- 292, 292, 293, 294, 295, 296, 297, 297,
- 298, 299, 61, 300, 301, 300, 301, 38,
- 302, 302, 38, 303, 303, 38, 304, 304,
- 38, 305, 305, 306, 307, 308, 309, 310,
- 310, 311, 312, 61, 313, 313, 38, 314,
- 314, 38, 315, 315, 38, 316, 316, 317,
- 318, 319, 320, 321, 321, 322, 323, 61,
- 324, 325, 324, 325, 38, 326, 326, 327,
- 328, 329, 330, 38, 331, 331, 332, 333,
- 334, 335, 336, 337, 338, 339, 340, 341,
- 342, 343, 344, 345, 346, 347, 348, 349,
- 350, 334, 335, 336, 337, 338, 339, 340,
- 341, 342, 343, 344, 345, 346, 347, 348,
- 349, 350, 351, 352, 38, 325, 325, 38,
- 353, 353, 38, 354, 354, 38, 355, 355,
- 38, 356, 356, 38, 357, 357, 38, 358,
- 358, 38, 359, 359, 360, 361, 362, 363,
- 364, 364, 365, 366, 61, 367, 368, 367,
- 368, 38, 369, 369, 38, 370, 370, 371,
- 372, 373, 374, 375, 375, 376, 377, 61,
- 378, 378, 379, 380, 381, 382, 383, 383,
- 384, 385, 61, 386, 387, 388, 389, 388,
- 389, 38, 390, 38, 391, 391, 392, 393,
- 394, 395, 396, 396, 397, 398, 61, 399,
- 38, 400, 400, 401, 402, 403, 404, 405,
- 405, 406, 407, 61, 408, 408, 38, 409,
- 409, 410, 411, 412, 413, 414, 414, 415,
- 416, 61, 417, 417, 418, 419, 420, 421,
- 422, 422, 423, 424, 61, 425, 426, 425,
- 426, 38, 427, 427, 38, 428, 428, 38,
- 429, 429, 38, 430, 430, 431, 432, 433,
- 434, 435, 435, 436, 437, 61, 438, 438,
- 439, 440, 441, 442, 443, 443, 444, 445,
- 61, 446, 447, 448, 446, 447, 448, 38,
- 449, 449, 38, 450, 450, 38, 451, 451,
- 38, 452, 452, 453, 454, 455, 456, 457,
- 457, 458, 459, 61, 460, 460, 38, 461,
- 461, 462, 463, 464, 465, 466, 466, 467,
- 468, 61, 469, 469, 470, 471, 472, 472,
- 473, 474, 475, 475, 476, 477, 61, 478,
- 478, 38, 479, 479, 480, 481, 482, 483,
- 484, 485, 485, 486, 487, 61, 488, 488,
- 489, 490, 491, 491, 492, 493, 494, 494,
- 495, 496, 61, 497, 497, 38, 498, 498,
- 38, 499, 499, 38, 500, 500, 38, 501,
- 501, 502, 503, 504, 505, 506, 506, 507,
- 508, 61, 509, 509, 38, 510, 510, 38,
- 511, 511, 38, 512, 512, 38, 513, 513,
- 38, 514, 514, 38, 515, 515, 38, 516,
- 516, 38, 517, 517, 38, 518, 518, 519,
- 520, 521, 522, 523, 523, 524, 525, 61,
- 526, 526, 38, 527, 527, 38, 528, 528,
- 529, 530, 531, 532, 533, 533, 534, 535,
- 61, 536, 537, 538, 536, 537, 538, 38,
- 539, 539, 540, 541, 542, 543, 544, 544,
- 545, 546, 61, 547, 547, 38, 548, 548,
- 38, 549, 549, 38, 550, 550, 551, 552,
- 553, 554, 555, 555, 556, 557, 61, 558,
- 558, 559, 560, 561, 562, 563, 563, 564,
- 565, 61, 566, 567, 568, 569, 570, 571,
- 566, 567, 568, 569, 570, 571, 38, 572,
- 572, 38, 573, 573, 38, 574, 574, 38,
- 575, 575, 38, 576, 576, 577, 578, 579,
- 580, 581, 581, 582, 583, 61, 584, 584,
- 38, 585, 585, 586, 587, 588, 589, 590,
- 590, 591, 592, 61, 593, 593, 38, 594,
- 594, 595, 596, 597, 598, 599, 599, 600,
- 601, 61, 602, 602, 38, 603, 603, 604,
- 605, 606, 607, 608, 608, 609, 610, 61,
- 611, 611, 38, 612, 612, 38, 613, 613,
- 38, 614, 614, 615, 616, 617, 618, 619,
- 619, 620, 621, 61, 622, 622, 38, 623,
- 623, 38, 624, 624, 625, 626, 627, 628,
- 629, 629, 630, 631, 61, 632, 633, 634,
- 632, 633, 634, 38, 635, 635, 38, 636,
- 636, 38, 637, 637, 638, 639, 640, 641,
- 642, 642, 643, 644, 61, 645, 645, 38,
- 646, 646, 647, 648, 649, 650, 651, 651,
- 652, 653, 61, 654, 654, 38, 655, 655,
- 38, 657, 656, 659, 659, 660, 661, 663,
- 664, 665, 665, 666, 667, 662, 658, 668,
- 668, 38, 669, 669, 38, 670, 670, 671,
- 672, 673, 674, 675, 675, 676, 677, 61,
- 678, 678, 38, 679, 679, 38, 680, 680,
- 38, 681, 681, 38, 682, 682, 38, 683,
- 683, 684, 685, 686, 687, 688, 688, 689,
- 690, 61, 692, 691, 38, 693, 693, 694,
- 695, 5, 6, 7, 8, 9, 10, 11,
- 12, 13, 14, 15, 16, 17, 18, 19,
- 20, 21, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 696, 697, 4,
- 0, 698, 325, 698, 325, 38, 699, 699,
- 700, 701, 702, 703, 38, 704, 704, 705,
- 706, 708, 709, 710, 711, 712, 713, 714,
- 715, 716, 717, 718, 719, 720, 721, 722,
- 723, 724, 708, 709, 710, 711, 712, 713,
- 714, 715, 716, 717, 718, 719, 720, 721,
- 722, 723, 724, 725, 726, 707, 656, 727,
- 727, 728, 729, 731, 732, 733, 734, 735,
- 731, 732, 733, 734, 735, 736, 737, 730,
- 26, 727, 727, 728, 729, 736, 737, 738,
- 26, 740, 741, 742, 743, 744, 740, 741,
- 742, 743, 744, 739, 26, 745, 745, 746,
- 747, 749, 750, 748, 26, 752, 751, 38,
- 754, 753, 756, 757, 758, 756, 757, 758,
- 755, 759, 759, 755, 760, 760, 755, 761,
- 761, 755, 762, 762, 755, 763, 763, 755,
- 764, 764, 755, 765, 765, 765, 765, 755,
- 767, 767, 768, 769, 770, 771, 766, 772,
- 772, 773, 774, 5, 6, 7, 8, 9,
+ 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 39, 64, 64, 65, 66, 67,
+ 68, 69, 67, 68, 69, 70, 71, 72,
+ 72, 73, 74, 63, 76, 76, 78, 79,
+ 80, 81, 82, 75, 75, 83, 84, 75,
+ 75, 75, 77, 86, 86, 87, 88, 89,
+ 90, 89, 90, 85, 92, 92, 93, 94,
+ 95, 96, 95, 96, 91, 98, 97, 100,
+ 99, 102, 101, 77, 103, 103, 104, 105,
+ 80, 89, 90, 89, 106, 107, 108, 89,
+ 109, 75, 75, 75, 85, 110, 110, 111,
+ 112, 80, 95, 96, 95, 113, 114, 115,
+ 95, 116, 75, 75, 75, 85, 98, 118,
+ 97, 117, 85, 119, 119, 121, 122, 75,
+ 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, 80, 124, 125, 126, 127, 128,
+ 129, 130, 131, 132, 133, 134, 135, 136,
+ 137, 138, 139, 140, 141, 23, 24, 142,
+ 143, 144, 145, 146, 147, 75, 75, 123,
+ 75, 120, 149, 149, 150, 151, 32, 33,
+ 34, 35, 36, 32, 33, 34, 35, 36,
+ 89, 90, 152, 153, 31, 148, 155, 155,
+ 156, 157, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 59, 60, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 95, 96,
+ 158, 159, 154, 160, 161, 162, 163, 164,
+ 160, 161, 162, 163, 164, 39, 165, 165,
+ 39, 166, 166, 167, 168, 169, 170, 171,
+ 171, 172, 173, 63, 86, 89, 86, 87,
+ 88, 90, 174, 89, 174, 175, 176, 177,
+ 101, 85, 92, 95, 92, 93, 94, 96,
+ 178, 95, 178, 179, 180, 181, 101, 85,
+ 182, 183, 182, 183, 39, 184, 184, 39,
+ 185, 185, 39, 186, 186, 39, 187, 187,
+ 39, 188, 188, 189, 190, 191, 192, 193,
+ 193, 194, 195, 63, 196, 196, 197, 198,
+ 199, 200, 201, 201, 202, 203, 63, 204,
+ 204, 39, 205, 205, 39, 206, 206, 207,
+ 208, 209, 210, 211, 211, 212, 213, 63,
+ 214, 214, 39, 215, 215, 39, 216, 216,
+ 39, 217, 217, 218, 219, 220, 221, 222,
+ 222, 223, 224, 63, 225, 225, 39, 226,
+ 226, 39, 227, 227, 39, 228, 228, 229,
+ 230, 231, 232, 233, 233, 234, 235, 63,
+ 236, 237, 238, 236, 237, 238, 39, 239,
+ 239, 39, 240, 240, 39, 241, 241, 39,
+ 242, 242, 243, 244, 245, 246, 247, 247,
+ 248, 249, 63, 250, 251, 250, 251, 39,
+ 252, 252, 39, 253, 253, 39, 254, 254,
+ 255, 256, 257, 258, 259, 259, 260, 261,
+ 63, 262, 262, 39, 263, 263, 39, 264,
+ 264, 39, 265, 265, 266, 267, 268, 269,
+ 270, 270, 271, 272, 63, 273, 273, 274,
+ 275, 276, 277, 278, 278, 279, 280, 63,
+ 281, 281, 39, 282, 282, 39, 283, 284,
+ 39, 285, 39, 286, 286, 287, 288, 289,
+ 290, 291, 291, 292, 293, 63, 294, 39,
+ 295, 295, 296, 297, 298, 299, 300, 300,
+ 301, 302, 63, 303, 304, 303, 304, 39,
+ 305, 305, 39, 306, 306, 39, 307, 307,
+ 39, 308, 308, 309, 310, 311, 312, 313,
+ 313, 314, 315, 63, 316, 316, 39, 317,
+ 317, 39, 318, 318, 39, 319, 319, 320,
+ 321, 322, 323, 324, 324, 325, 326, 63,
+ 327, 328, 327, 328, 39, 329, 329, 330,
+ 331, 332, 333, 39, 334, 334, 335, 336,
+ 337, 338, 339, 340, 341, 342, 343, 344,
+ 345, 346, 347, 348, 349, 350, 351, 352,
+ 353, 354, 337, 338, 339, 340, 341, 342,
+ 343, 344, 345, 346, 347, 348, 349, 350,
+ 351, 352, 353, 354, 355, 356, 39, 328,
+ 328, 39, 357, 357, 39, 358, 358, 39,
+ 359, 359, 39, 360, 360, 39, 361, 361,
+ 39, 362, 362, 39, 363, 363, 364, 365,
+ 366, 367, 368, 368, 369, 370, 63, 371,
+ 372, 371, 372, 39, 373, 373, 39, 374,
+ 374, 375, 376, 377, 378, 379, 379, 380,
+ 381, 63, 382, 382, 383, 384, 385, 386,
+ 387, 387, 388, 389, 63, 390, 391, 392,
+ 393, 392, 393, 39, 394, 39, 395, 395,
+ 396, 397, 398, 399, 400, 400, 401, 402,
+ 63, 403, 39, 404, 404, 405, 406, 407,
+ 408, 409, 409, 410, 411, 63, 412, 412,
+ 39, 413, 413, 414, 415, 416, 417, 418,
+ 418, 419, 420, 63, 421, 421, 422, 423,
+ 424, 425, 426, 426, 427, 428, 63, 429,
+ 430, 429, 430, 39, 431, 431, 39, 432,
+ 432, 39, 433, 433, 39, 434, 434, 435,
+ 436, 437, 438, 439, 439, 440, 441, 63,
+ 442, 442, 443, 444, 445, 446, 447, 447,
+ 448, 449, 63, 450, 451, 452, 450, 451,
+ 452, 39, 453, 453, 39, 454, 454, 39,
+ 455, 455, 39, 456, 456, 457, 458, 459,
+ 460, 461, 461, 462, 463, 63, 464, 464,
+ 39, 465, 465, 466, 467, 468, 469, 470,
+ 470, 471, 472, 63, 473, 473, 474, 475,
+ 476, 476, 477, 478, 479, 479, 480, 481,
+ 63, 482, 482, 39, 483, 483, 484, 485,
+ 486, 487, 488, 489, 489, 490, 491, 63,
+ 492, 492, 493, 494, 495, 495, 496, 497,
+ 498, 498, 499, 500, 63, 501, 501, 39,
+ 502, 502, 39, 503, 503, 39, 504, 504,
+ 39, 505, 505, 506, 507, 508, 509, 510,
+ 510, 511, 512, 63, 513, 513, 39, 514,
+ 514, 39, 515, 515, 39, 516, 516, 39,
+ 517, 517, 39, 518, 518, 39, 519, 519,
+ 39, 520, 520, 39, 521, 521, 39, 522,
+ 522, 523, 524, 525, 526, 527, 527, 528,
+ 529, 63, 530, 530, 39, 531, 531, 39,
+ 532, 532, 533, 534, 535, 536, 537, 537,
+ 538, 539, 63, 540, 541, 542, 540, 541,
+ 542, 39, 543, 543, 544, 545, 546, 547,
+ 548, 548, 549, 550, 63, 551, 551, 39,
+ 552, 552, 39, 553, 553, 39, 554, 554,
+ 555, 556, 557, 558, 559, 559, 560, 561,
+ 63, 562, 562, 563, 564, 565, 566, 567,
+ 567, 568, 569, 63, 570, 571, 572, 573,
+ 574, 575, 570, 571, 572, 573, 574, 575,
+ 39, 576, 576, 39, 577, 577, 39, 578,
+ 578, 39, 579, 579, 39, 580, 580, 581,
+ 582, 583, 584, 585, 585, 586, 587, 63,
+ 588, 588, 39, 589, 589, 590, 591, 592,
+ 593, 594, 594, 595, 596, 63, 597, 597,
+ 39, 598, 598, 599, 600, 601, 602, 603,
+ 603, 604, 605, 63, 606, 606, 39, 607,
+ 607, 608, 609, 610, 611, 612, 612, 613,
+ 614, 63, 615, 615, 39, 616, 616, 39,
+ 617, 617, 39, 618, 618, 619, 620, 621,
+ 622, 623, 623, 624, 625, 63, 626, 626,
+ 39, 627, 627, 39, 628, 628, 629, 630,
+ 631, 632, 633, 633, 634, 635, 63, 636,
+ 637, 638, 636, 637, 638, 39, 639, 639,
+ 39, 640, 640, 39, 641, 641, 642, 643,
+ 644, 645, 646, 646, 647, 648, 63, 649,
+ 649, 39, 650, 650, 651, 652, 653, 654,
+ 655, 655, 656, 657, 63, 658, 658, 39,
+ 659, 659, 39, 661, 660, 663, 663, 664,
+ 665, 667, 668, 669, 669, 670, 671, 666,
+ 662, 672, 672, 39, 673, 673, 39, 674,
+ 674, 675, 676, 677, 678, 679, 679, 680,
+ 681, 63, 682, 682, 39, 683, 683, 39,
+ 684, 684, 39, 685, 685, 39, 686, 686,
+ 39, 687, 687, 688, 689, 690, 691, 692,
+ 692, 693, 694, 63, 695, 695, 39, 696,
+ 696, 39, 697, 697, 39, 698, 698, 39,
+ 699, 699, 39, 700, 700, 701, 702, 703,
+ 704, 705, 705, 706, 707, 63, 709, 708,
+ 39, 710, 710, 711, 712, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 713, 714, 4, 0, 715,
+ 328, 715, 328, 39, 716, 716, 717, 718,
+ 719, 720, 39, 721, 721, 722, 723, 725,
+ 726, 727, 728, 729, 730, 731, 732, 733,
+ 734, 735, 736, 737, 738, 739, 740, 741,
+ 742, 725, 726, 727, 728, 729, 730, 731,
+ 732, 733, 734, 735, 736, 737, 738, 739,
+ 740, 741, 742, 743, 744, 724, 660, 745,
+ 745, 746, 747, 749, 750, 751, 752, 753,
+ 749, 750, 751, 752, 753, 754, 755, 748,
+ 27, 745, 745, 746, 747, 754, 755, 756,
+ 27, 758, 759, 760, 761, 762, 758, 759,
+ 760, 761, 762, 757, 27, 763, 763, 764,
+ 765, 767, 768, 766, 27, 770, 769, 39,
+ 772, 771, 774, 775, 776, 774, 775, 776,
+ 773, 777, 777, 773, 778, 778, 773, 779,
+ 779, 773, 780, 780, 773, 781, 781, 773,
+ 782, 782, 773, 783, 783, 783, 783, 773,
+ 785, 785, 786, 787, 788, 789, 784, 790,
+ 790, 791, 792, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 5, 6, 7, 8,
+ 18, 19, 20, 21, 22, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 793,
+ 794, 4, 660, 797, 795, 796, 799, 799,
+ 800, 801, 32, 33, 34, 35, 36, 32,
+ 33, 34, 35, 36, 802, 803, 31, 798,
+ 804, 804, 805, 806, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16,
- 17, 18, 19, 20, 21, 775, 776, 4,
- 656, 779, 777, 778, 781, 781, 782, 783,
- 31, 32, 33, 34, 35, 31, 32, 33,
- 34, 35, 784, 785, 30, 780, 786, 786,
- 787, 788, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 789, 790, 4, 656,
- 792, 791, 38, 27, 27, 28, 29, 36,
- 37, 793, 26, 795, 796, 797, 798, 799,
- 795, 796, 797, 798, 799, 794, 26, 800,
- 800, 801, 802, 804, 805, 803, 26, 807,
- 806, 38, 809, 809, 810, 811, 65, 66,
- 67, 65, 66, 67, 812, 813, 70, 70,
- 814, 815, 808, 816, 816, 817, 818, 73,
- 122, 123, 124, 125, 126, 127, 128, 129,
- 130, 131, 132, 133, 134, 135, 136, 137,
- 138, 78, 122, 123, 124, 125, 126, 127,
- 128, 129, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, 819, 820, 73, 73, 821,
- 822, 73, 73, 121, 73, 658, 824, 824,
- 825, 826, 65, 66, 67, 65, 66, 67,
- 87, 88, 827, 828, 829, 830, 831, 832,
- 823, 833, 833, 834, 835, 78, 93, 94,
- 836, 111, 112, 113, 837, 114, 73, 73,
- 73, 83, 838, 838, 839, 840, 5, 6,
+ 17, 18, 19, 20, 21, 22, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 5,
- 6, 7, 8, 9, 10, 11, 12, 13,
- 14, 15, 16, 17, 18, 19, 20, 21,
- 93, 94, 841, 842, 4, 0, 96, 844,
- 95, 843, 89, 845, 845, 846, 847, 848,
- 849, 848, 849, 95, 95, 95, 83, 850,
- 850, 851, 852, 96, 853, 96, 853, 95,
- 95, 95, 89, 854, 854, 855, 856, 73,
- 122, 123, 124, 125, 126, 127, 128, 129,
- 130, 131, 132, 133, 134, 135, 136, 137,
- 138, 78, 122, 123, 124, 125, 126, 127,
+ 15, 16, 17, 18, 19, 20, 21, 22,
+ 807, 808, 4, 660, 810, 809, 39, 28,
+ 28, 29, 30, 37, 38, 811, 27, 813,
+ 814, 815, 816, 817, 813, 814, 815, 816,
+ 817, 812, 27, 818, 818, 819, 820, 822,
+ 823, 821, 27, 825, 824, 39, 827, 827,
+ 828, 829, 67, 68, 69, 67, 68, 69,
+ 830, 831, 72, 72, 832, 833, 826, 834,
+ 834, 835, 836, 75, 124, 125, 126, 127,
128, 129, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, 93, 94, 841, 857, 112,
- 113, 841, 858, 73, 73, 121, 73, 118,
- 84, 84, 85, 86, 157, 158, 159, 160,
- 161, 157, 158, 159, 160, 161, 87, 88,
- 87, 88, 823, 84, 84, 85, 86, 233,
- 234, 235, 233, 234, 235, 87, 88, 87,
- 88, 823, 84, 84, 85, 86, 278, 278,
- 87, 88, 87, 88, 823, 84, 84, 85,
- 86, 300, 301, 300, 301, 87, 88, 87,
- 88, 823, 84, 84, 85, 86, 698, 325,
- 698, 325, 87, 88, 87, 88, 823, 84,
- 84, 85, 86, 367, 368, 367, 368, 87,
- 88, 87, 88, 823, 84, 84, 85, 86,
- 386, 387, 388, 389, 388, 389, 87, 88,
- 87, 88, 823, 84, 84, 85, 86, 425,
- 426, 425, 426, 87, 88, 87, 88, 823,
- 84, 84, 85, 86, 446, 447, 448, 446,
- 447, 448, 87, 88, 87, 88, 823, 84,
- 84, 85, 86, 509, 509, 87, 88, 87,
- 88, 823, 84, 84, 85, 86, 526, 526,
- 87, 88, 87, 88, 823, 84, 84, 85,
- 86, 536, 537, 538, 536, 537, 538, 87,
- 88, 87, 88, 823, 84, 84, 85, 86,
- 566, 567, 568, 569, 570, 571, 566, 567,
- 568, 569, 570, 571, 87, 88, 87, 88,
- 823, 84, 84, 85, 86, 632, 633, 634,
- 632, 633, 634, 87, 88, 87, 88, 823,
- 84, 84, 85, 86, 668, 668, 87, 88,
- 87, 88, 823, 84, 84, 85, 86, 678,
- 678, 87, 88, 87, 88, 823, 96, 860,
- 95, 859, 83, 84, 84, 85, 86, 756,
- 757, 758, 756, 757, 758, 87, 88, 87,
- 88, 861, 862, 862, 755, 863, 863, 755,
- 864, 864, 755, 865, 865, 755, 866, 866,
- 755, 867, 867, 867, 867, 755, 868, 868,
- 755, 869, 869, 755, 870, 870, 870, 870,
- 755, 872, 872, 873, 874, 87, 88, 875,
- 876, 871, 878, 878, 879, 880, 31, 32,
- 33, 34, 35, 31, 32, 33, 34, 35,
- 87, 88, 881, 882, 30, 877, 883, 883,
- 884, 885, 5, 6, 7, 8, 9, 10,
- 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 5, 6, 7, 8, 9,
- 10, 11, 12, 13, 14, 15, 16, 17,
- 18, 19, 20, 21, 93, 94, 886, 887,
- 4, 0, 96, 889, 95, 888, 151, 891,
- 891, 892, 893, 65, 66, 67, 65, 66,
- 67, 87, 88, 894, 895, 829, 830, 896,
- 897, 890, 898, 898, 899, 900, 73, 122,
- 123, 124, 125, 126, 127, 128, 129, 130,
- 131, 132, 133, 134, 135, 136, 137, 138,
- 78, 122, 123, 124, 125, 126, 127, 128,
- 129, 130, 131, 132, 133, 134, 135, 136,
- 137, 138, 93, 94, 901, 857, 112, 113,
- 902, 858, 73, 73, 121, 73, 118, 872,
- 872, 873, 874, 157, 158, 159, 160, 161,
- 157, 158, 159, 160, 161, 87, 88, 875,
- 876, 890, 872, 872, 873, 874, 233, 234,
- 235, 233, 234, 235, 87, 88, 875, 876,
- 890, 872, 872, 873, 874, 278, 278, 87,
- 88, 875, 876, 890, 872, 872, 873, 874,
- 300, 301, 300, 301, 87, 88, 875, 876,
- 890, 872, 872, 873, 874, 698, 325, 698,
- 325, 87, 88, 875, 876, 890, 872, 872,
- 873, 874, 367, 368, 367, 368, 87, 88,
- 875, 876, 890, 872, 872, 873, 874, 386,
- 387, 388, 389, 388, 389, 87, 88, 875,
- 876, 890, 872, 872, 873, 874, 425, 426,
- 425, 426, 87, 88, 875, 876, 890, 872,
- 872, 873, 874, 446, 447, 448, 446, 447,
- 448, 87, 88, 875, 876, 890, 872, 872,
- 873, 874, 509, 509, 87, 88, 875, 876,
- 890, 872, 872, 873, 874, 526, 526, 87,
- 88, 875, 876, 890, 872, 872, 873, 874,
- 536, 537, 538, 536, 537, 538, 87, 88,
- 875, 876, 890, 872, 872, 873, 874, 566,
- 567, 568, 569, 570, 571, 566, 567, 568,
- 569, 570, 571, 87, 88, 875, 876, 890,
- 872, 872, 873, 874, 632, 633, 634, 632,
- 633, 634, 87, 88, 875, 876, 890, 872,
- 872, 873, 874, 668, 668, 87, 88, 875,
- 876, 890, 872, 872, 873, 874, 678, 678,
- 87, 88, 875, 876, 890, 903, 903, 98,
- 905, 906, 97, 97, 907, 908, 97, 97,
- 97, 904, 909, 909, 910, 911, 5, 6,
+ 136, 137, 138, 139, 140, 141, 80, 124,
+ 125, 126, 127, 128, 129, 130, 131, 132,
+ 133, 134, 135, 136, 137, 138, 139, 140,
+ 141, 837, 838, 75, 75, 839, 840, 75,
+ 75, 123, 75, 662, 842, 842, 843, 844,
+ 67, 68, 69, 67, 68, 69, 89, 90,
+ 845, 846, 847, 848, 849, 850, 841, 851,
+ 851, 852, 853, 80, 95, 96, 854, 113,
+ 114, 115, 855, 116, 75, 75, 75, 85,
+ 856, 856, 857, 858, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14,
- 15, 16, 17, 18, 19, 20, 21, 5,
+ 15, 16, 17, 18, 19, 20, 21, 22,
+ 95, 96, 859, 860, 4, 0, 98, 862,
+ 97, 861, 91, 863, 863, 864, 865, 866,
+ 867, 866, 867, 97, 97, 97, 85, 868,
+ 868, 869, 870, 98, 871, 98, 871, 97,
+ 97, 97, 91, 872, 872, 873, 874, 75,
+ 124, 125, 126, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139,
+ 140, 141, 80, 124, 125, 126, 127, 128,
+ 129, 130, 131, 132, 133, 134, 135, 136,
+ 137, 138, 139, 140, 141, 95, 96, 859,
+ 875, 114, 115, 859, 876, 75, 75, 123,
+ 75, 120, 86, 86, 87, 88, 160, 161,
+ 162, 163, 164, 160, 161, 162, 163, 164,
+ 89, 90, 89, 90, 841, 86, 86, 87,
+ 88, 236, 237, 238, 236, 237, 238, 89,
+ 90, 89, 90, 841, 86, 86, 87, 88,
+ 281, 281, 89, 90, 89, 90, 841, 86,
+ 86, 87, 88, 303, 304, 303, 304, 89,
+ 90, 89, 90, 841, 86, 86, 87, 88,
+ 715, 328, 715, 328, 89, 90, 89, 90,
+ 841, 86, 86, 87, 88, 371, 372, 371,
+ 372, 89, 90, 89, 90, 841, 86, 86,
+ 87, 88, 390, 391, 392, 393, 392, 393,
+ 89, 90, 89, 90, 841, 86, 86, 87,
+ 88, 429, 430, 429, 430, 89, 90, 89,
+ 90, 841, 86, 86, 87, 88, 450, 451,
+ 452, 450, 451, 452, 89, 90, 89, 90,
+ 841, 86, 86, 87, 88, 513, 513, 89,
+ 90, 89, 90, 841, 86, 86, 87, 88,
+ 530, 530, 89, 90, 89, 90, 841, 86,
+ 86, 87, 88, 540, 541, 542, 540, 541,
+ 542, 89, 90, 89, 90, 841, 86, 86,
+ 87, 88, 570, 571, 572, 573, 574, 575,
+ 570, 571, 572, 573, 574, 575, 89, 90,
+ 89, 90, 841, 86, 86, 87, 88, 636,
+ 637, 638, 636, 637, 638, 89, 90, 89,
+ 90, 841, 86, 86, 87, 88, 672, 672,
+ 89, 90, 89, 90, 841, 86, 86, 87,
+ 88, 682, 682, 89, 90, 89, 90, 841,
+ 86, 86, 87, 88, 695, 695, 89, 90,
+ 89, 90, 841, 98, 878, 97, 877, 85,
+ 86, 86, 87, 88, 774, 775, 776, 774,
+ 775, 776, 89, 90, 89, 90, 879, 880,
+ 880, 773, 881, 881, 773, 882, 882, 773,
+ 883, 883, 773, 884, 884, 773, 885, 885,
+ 885, 885, 773, 886, 886, 773, 887, 887,
+ 773, 888, 888, 888, 888, 773, 890, 890,
+ 891, 892, 89, 90, 893, 894, 889, 896,
+ 896, 897, 898, 32, 33, 34, 35, 36,
+ 32, 33, 34, 35, 36, 89, 90, 899,
+ 900, 31, 895, 901, 901, 902, 903, 5,
6, 7, 8, 9, 10, 11, 12, 13,
14, 15, 16, 17, 18, 19, 20, 21,
- 87, 88, 912, 913, 4, 118, 84, 87,
- 84, 85, 86, 88, 914, 915, 914, 916,
- 917, 918, 777, 83, 90, 93, 90, 91,
- 92, 94, 919, 844, 919, 920, 921, 922,
- 777, 89, 845, 848, 845, 846, 847, 849,
- 923, 915, 923, 924, 925, 926, 95, 859,
- 83, 850, 96, 850, 851, 852, 853, 927,
- 844, 927, 928, 929, 930, 95, 859, 83,
- 931, 931, 38, 932, 932, 38, 933, 933,
- 934, 935, 936, 937, 938, 938, 939, 940,
- 61, 941, 941, 38, 942, 942, 38, 943,
- 943, 38, 944, 944, 945, 946, 947, 948,
- 949, 949, 950, 951, 61, 952, 952, 38,
- 953, 953, 954, 955, 956, 957, 958, 958,
- 959, 960, 61, 754, 962, 753, 961, 83,
- 963, 963, 964, 965, 966, 849, 966, 849,
- 753, 753, 753, 83, 967, 967, 968, 969,
- 970, 853, 970, 853, 753, 753, 753, 89,
- 963, 966, 963, 964, 965, 849, 971, 915,
- 971, 972, 973, 926, 753, 961, 83, 967,
- 970, 967, 968, 969, 853, 974, 844, 974,
- 975, 976, 930, 753, 961, 83, 845, 848,
- 845, 846, 847, 849, 977, 848, 977, 978,
- 979, 174, 95, 115, 83, 850, 96, 850,
- 851, 852, 853, 980, 96, 980, 981, 982,
- 178, 95, 115, 83, 984, 983, 75, 985,
- 985, 986, 987, 73, 122, 123, 124, 125,
+ 22, 5, 6, 7, 8, 9, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19,
+ 20, 21, 22, 95, 96, 904, 905, 4,
+ 0, 98, 907, 97, 906, 154, 909, 909,
+ 910, 911, 67, 68, 69, 67, 68, 69,
+ 89, 90, 912, 913, 847, 848, 914, 915,
+ 908, 916, 916, 917, 918, 75, 124, 125,
126, 127, 128, 129, 130, 131, 132, 133,
- 134, 135, 136, 137, 138, 78, 122, 123,
- 124, 125, 126, 127, 128, 129, 130, 131,
- 132, 133, 134, 135, 136, 137, 138, 87,
- 88, 912, 988, 105, 106, 912, 989, 73,
- 73, 121, 73, 118, 84, 87, 84, 85,
- 86, 88, 990, 915, 990, 991, 992, 926,
- 983, 83, 90, 93, 90, 91, 92, 94,
- 993, 844, 993, 994, 995, 930, 983, 83,
- 767, 767, 768, 769, 157, 158, 159, 160,
- 161, 157, 158, 159, 160, 161, 770, 771,
- 996, 767, 767, 768, 769, 233, 234, 235,
- 233, 234, 235, 770, 771, 996, 767, 767,
- 768, 769, 278, 278, 770, 771, 996, 767,
- 767, 768, 769, 300, 301, 300, 301, 770,
- 771, 996, 767, 767, 768, 769, 698, 325,
- 698, 325, 770, 771, 996, 767, 767, 768,
- 769, 367, 368, 367, 368, 770, 771, 996,
- 767, 767, 768, 769, 386, 387, 388, 389,
- 388, 389, 770, 771, 996, 767, 767, 768,
- 769, 425, 426, 425, 426, 770, 771, 996,
- 767, 767, 768, 769, 446, 447, 448, 446,
- 447, 448, 770, 771, 996, 767, 767, 768,
- 769, 509, 509, 770, 771, 996, 767, 767,
- 768, 769, 526, 526, 770, 771, 996, 767,
- 767, 768, 769, 536, 537, 538, 536, 537,
- 538, 770, 771, 996, 767, 767, 768, 769,
- 566, 567, 568, 569, 570, 571, 566, 567,
- 568, 569, 570, 571, 770, 771, 996, 767,
- 767, 768, 769, 632, 633, 634, 632, 633,
- 634, 770, 771, 996, 767, 767, 768, 769,
- 668, 668, 770, 771, 996, 767, 767, 768,
- 769, 678, 678, 770, 771, 996, 754, 998,
- 753, 997, 89, 754, 1000, 753, 999, 151,
- 767, 767, 768, 769, 324, 325, 324, 325,
- 770, 771, 996, 96, 1002, 95, 1001, 151,
- 1004, 1005, 1006, 1003, 1003, 1003, 778, 1008,
- 1007, 1010, 1009, 1012, 1013, 1014, 1015, 1012,
- 1012, 1012, 1012, 1011, 1016, 1017, 1018, 1016,
- 1019, 1017, 1016, 1016, 1017, 1017, 1017, 1011,
- 1020, 1021, 1021, 1020, 1022, 1021, 1020, 1020,
- 1021, 1021, 1021, 1011, 1023, 1017, 1025, 1024,
- 1026, 1024, 1027, 1028, 1029, 1027, 1030, 1028,
- 1027, 1027, 1028, 1028, 1028, 1024, 1020, 1020,
- 1020, 1020, 1011, 1031, 1031, 1031, 1031, 1011,
- 1034, 1035, 1033, 1033, 1032, 1036, 1037, 1036,
- 1039, 1036, 1037, 1038, 1037, 1032, 1033, 1041,
- 1033, 1040, 1042, 1040, 1043, 1040, 1044, 1045,
- 1044, 1047, 1044, 1045, 1046, 1045, 1040, 1048,
- 1048, 1050, 1048, 1051, 1048, 1049, 1032, 1052,
- 1052, 1054, 1052, 1055, 1052, 1053, 1032, 1057,
- 1057, 1057, 1057, 1056, 1049, 1058, 1049, 1040,
- 1059, 1040, 1060, 1040, 1061, 1061, 1063, 1061,
- 1064, 1061, 1062, 1040, 1066, 1066, 1067, 1068,
- 1069, 1070, 1065, 1066, 1066, 1067, 1068, 1069,
- 1070, 1072, 1071, 1074, 1074, 1075, 1076, 1078,
- 1079, 1080, 1081, 1082, 1078, 1079, 1080, 1081,
- 1082, 1083, 1084, 1083, 1084, 1077, 1073, 1086,
- 1086, 1087, 1088, 1089, 1090, 1089, 1090, 1085,
- 1092, 1091, 1074, 1074, 1075, 1076, 1083, 1084,
- 1083, 1084, 1093, 1073, 1096, 1097, 1098, 1099,
- 1100, 1096, 1097, 1098, 1099, 1100, 1095, 1094,
- 1101, 1101, 1102, 1103, 1105, 1106, 1105, 1106,
- 1104, 1073, 1108, 1107, 1065, 1110, 1110, 1111,
- 1112, 1113, 1114, 1109, 1110, 1110, 1111, 1112,
- 1115, 1116, 1117, 1115, 1113, 1114, 1115, 1115,
- 1115, 1109, 1118, 1119, 1120, 1118, 1118, 1118,
- 1118, 1109, 1122, 1122, 1123, 1124, 1125, 1125,
- 1126, 1125, 1127, 1128, 1127, 1128, 1125, 1125,
- 1125, 1121, 1129, 1129, 1130, 1131, 1132, 1133,
- 1132, 1133, 1121, 1135, 1134, 1136, 1118, 1138,
- 1137, 1139, 1137, 1140, 1141, 1142, 1140, 1140,
- 1140, 1140, 1137, 1122, 1122, 1123, 1124, 1127,
- 1128, 1127, 1128, 1121, 1144, 1143, 1109, 1145,
- 1145, 1146, 1147, 1148, 1149, 778, 1145, 1145,
- 1146, 1147, 1148, 1149, 1150, 1150, 1150, 1151,
- 1153, 1153, 1154, 1155, 1156, 1157, 1156, 1158,
- 1152, 1160, 1160, 1161, 1162, 1163, 1164, 1165,
- 1163, 1166, 1167, 1166, 1168, 1163, 1163, 1163,
- 1159, 1170, 1171, 1172, 1170, 1170, 1170, 1170,
- 1169, 1173, 1173, 1174, 1175, 1176, 1176, 1177,
- 1176, 1178, 1179, 1178, 1179, 1176, 1176, 1176,
- 1159, 1180, 1180, 1181, 1182, 1166, 1167, 1166,
- 1167, 89, 1184, 1183, 1185, 1170, 1187, 1186,
- 1188, 1186, 1189, 1190, 1191, 1189, 1189, 1189,
- 1189, 1186, 1173, 1173, 1174, 1175, 1178, 1179,
- 1178, 1179, 1159, 1184, 1193, 1183, 1192, 89,
- 1194, 1194, 1195, 1196, 1163, 1164, 1165, 1163,
- 1197, 1198, 1163, 1163, 1163, 1169, 1200, 1199,
- 778, 1202, 1201, 778, 1204, 1204, 1204, 1204,
- 1203, 1205, 1205, 1205, 1205, 1203, 1206, 1207,
- 1206, 1206, 1206, 1203, 1208, 1209, 1208, 1208,
- 1208, 1203, 1209, 1209, 1210, 1211, 1204, 1212,
- 1213, 1214, 1214, 1215, 1216, 1204, 1204, 1204,
- 1203, 1218, 1217, 1203, 1209, 1203, 1220, 1220,
- 1221, 1222, 1223, 1224, 1225, 1225, 1226, 1227,
- 1219, 1228, 1228, 1229, 1230, 1231, 1232, 1233,
- 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241,
- 1242, 1243, 1244, 1245, 1246, 1247, 1231, 1232,
- 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240,
- 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248,
- 1249, 1250, 1250, 1251, 1252, 1219, 1253, 1253,
- 1254, 1255, 1256, 1257, 1258, 1256, 1257, 1258,
- 1259, 1260, 1261, 1261, 1262, 1263, 1219, 1264,
- 1264, 1219, 1265, 1265, 1219, 1266, 1266, 1267,
- 1268, 1269, 1270, 1271, 1271, 1272, 1273, 1219,
- 1275, 1274, 1219, 1276, 1277, 1278, 1279, 1280,
- 1276, 1277, 1278, 1279, 1280, 1219, 1281, 1281,
- 1219, 1282, 1282, 1283, 1284, 1285, 1286, 1287,
- 1287, 1288, 1289, 1219, 1290, 1291, 1290, 1291,
- 1219, 1292, 1292, 1219, 1293, 1293, 1219, 1294,
- 1294, 1219, 1295, 1295, 1219, 1296, 1296, 1297,
- 1298, 1299, 1300, 1301, 1301, 1302, 1303, 1219,
- 1304, 1304, 1305, 1306, 1307, 1308, 1309, 1309,
- 1310, 1311, 1219, 1312, 1312, 1219, 1313, 1313,
- 1219, 1314, 1314, 1315, 1316, 1317, 1318, 1319,
- 1319, 1320, 1321, 1219, 1322, 1322, 1219, 1323,
- 1323, 1219, 1324, 1324, 1219, 1325, 1325, 1326,
- 1327, 1328, 1329, 1330, 1330, 1331, 1332, 1219,
- 1333, 1333, 1219, 1334, 1334, 1219, 1335, 1335,
- 1219, 1336, 1336, 1337, 1338, 1339, 1340, 1341,
- 1341, 1342, 1343, 1219, 1344, 1345, 1346, 1344,
- 1345, 1346, 1219, 1347, 1347, 1219, 1348, 1348,
- 1219, 1349, 1349, 1219, 1350, 1350, 1351, 1352,
- 1353, 1354, 1355, 1355, 1356, 1357, 1219, 1358,
- 1359, 1358, 1359, 1219, 1360, 1360, 1219, 1361,
- 1361, 1219, 1362, 1362, 1363, 1364, 1365, 1366,
- 1367, 1367, 1368, 1369, 1219, 1370, 1370, 1219,
- 1371, 1371, 1219, 1372, 1372, 1219, 1373, 1373,
- 1374, 1375, 1376, 1377, 1378, 1378, 1379, 1380,
- 1219, 1381, 1381, 1382, 1383, 1384, 1385, 1386,
- 1386, 1387, 1388, 1219, 1389, 1389, 1219, 1390,
- 1390, 1219, 1391, 1392, 1219, 1393, 1219, 1394,
- 1394, 1395, 1396, 1397, 1398, 1399, 1399, 1400,
- 1401, 1219, 1402, 1219, 1403, 1403, 1404, 1405,
- 1406, 1407, 1408, 1408, 1409, 1410, 1219, 1411,
- 1412, 1411, 1412, 1219, 1413, 1413, 1219, 1414,
- 1414, 1219, 1415, 1415, 1219, 1416, 1416, 1417,
- 1418, 1419, 1420, 1421, 1421, 1422, 1423, 1219,
- 1424, 1424, 1219, 1425, 1425, 1219, 1426, 1426,
- 1219, 1427, 1427, 1428, 1429, 1430, 1431, 1432,
- 1432, 1433, 1434, 1219, 1435, 1435, 1219, 1436,
- 1436, 1219, 1437, 1437, 1219, 1438, 1438, 1219,
- 1439, 1439, 1219, 1440, 1440, 1219, 1441, 1441,
- 1219, 1442, 1442, 1443, 1444, 1445, 1446, 1447,
- 1447, 1448, 1449, 1219, 1450, 1451, 1450, 1451,
- 1219, 1452, 1452, 1219, 1453, 1453, 1454, 1455,
- 1456, 1457, 1458, 1458, 1459, 1460, 1219, 1461,
- 1461, 1462, 1463, 1464, 1465, 1466, 1466, 1467,
- 1468, 1219, 1469, 1470, 1471, 1472, 1471, 1472,
- 1219, 1473, 1219, 1474, 1474, 1475, 1476, 1477,
- 1478, 1479, 1479, 1480, 1481, 1219, 1482, 1219,
- 1483, 1483, 1484, 1485, 1486, 1487, 1488, 1488,
- 1489, 1490, 1219, 1491, 1491, 1219, 1492, 1492,
- 1493, 1494, 1495, 1496, 1497, 1497, 1498, 1499,
- 1219, 1500, 1500, 1501, 1502, 1503, 1504, 1505,
- 1505, 1506, 1507, 1219, 1508, 1509, 1508, 1509,
- 1219, 1510, 1510, 1219, 1511, 1511, 1219, 1512,
- 1512, 1219, 1513, 1513, 1514, 1515, 1516, 1517,
- 1518, 1518, 1519, 1520, 1219, 1521, 1521, 1522,
- 1523, 1524, 1525, 1526, 1526, 1527, 1528, 1219,
- 1529, 1530, 1531, 1529, 1530, 1531, 1219, 1532,
- 1532, 1219, 1533, 1533, 1219, 1534, 1534, 1219,
- 1535, 1535, 1536, 1537, 1538, 1539, 1540, 1540,
- 1541, 1542, 1219, 1543, 1543, 1219, 1544, 1544,
- 1545, 1546, 1547, 1548, 1549, 1549, 1550, 1551,
- 1219, 1552, 1552, 1553, 1554, 1555, 1555, 1556,
- 1557, 1558, 1558, 1559, 1560, 1219, 1561, 1561,
- 1219, 1562, 1562, 1563, 1564, 1565, 1566, 1567,
- 1568, 1568, 1569, 1570, 1219, 1571, 1571, 1572,
- 1573, 1574, 1574, 1575, 1576, 1577, 1577, 1578,
- 1579, 1219, 1580, 1580, 1219, 1581, 1581, 1219,
- 1582, 1582, 1219, 1583, 1583, 1219, 1584, 1584,
- 1585, 1586, 1587, 1588, 1589, 1589, 1590, 1591,
- 1219, 1592, 1592, 1219, 1593, 1593, 1219, 1594,
- 1594, 1219, 1595, 1595, 1219, 1596, 1596, 1219,
- 1597, 1597, 1219, 1598, 1598, 1219, 1599, 1599,
- 1219, 1600, 1600, 1219, 1601, 1601, 1602, 1603,
- 1604, 1605, 1606, 1606, 1607, 1608, 1219, 1609,
- 1609, 1219, 1610, 1610, 1219, 1611, 1611, 1612,
- 1613, 1614, 1615, 1616, 1616, 1617, 1618, 1219,
- 1619, 1620, 1621, 1619, 1620, 1621, 1219, 1622,
- 1622, 1623, 1624, 1625, 1626, 1627, 1627, 1628,
- 1629, 1219, 1630, 1630, 1219, 1631, 1631, 1219,
- 1632, 1632, 1219, 1633, 1633, 1634, 1635, 1636,
- 1637, 1638, 1638, 1639, 1640, 1219, 1641, 1641,
- 1642, 1643, 1644, 1645, 1646, 1646, 1647, 1648,
- 1219, 1649, 1650, 1651, 1652, 1653, 1654, 1649,
- 1650, 1651, 1652, 1653, 1654, 1219, 1655, 1655,
- 1219, 1656, 1656, 1219, 1657, 1657, 1219, 1658,
- 1658, 1219, 1659, 1659, 1660, 1661, 1662, 1663,
- 1664, 1664, 1665, 1666, 1219, 1667, 1667, 1219,
- 1668, 1668, 1669, 1670, 1671, 1672, 1673, 1673,
- 1674, 1675, 1219, 1676, 1676, 1219, 1677, 1677,
- 1678, 1679, 1680, 1681, 1682, 1682, 1683, 1684,
- 1219, 1685, 1685, 1219, 1686, 1686, 1687, 1688,
- 1689, 1690, 1691, 1691, 1692, 1693, 1219, 1694,
- 1694, 1219, 1695, 1695, 1219, 1696, 1696, 1219,
- 1697, 1697, 1698, 1699, 1700, 1701, 1702, 1702,
- 1703, 1704, 1219, 1705, 1705, 1219, 1706, 1706,
- 1219, 1707, 1707, 1708, 1709, 1710, 1711, 1712,
- 1712, 1713, 1714, 1219, 1715, 1716, 1717, 1715,
- 1716, 1717, 1219, 1718, 1718, 1219, 1719, 1719,
- 1219, 1720, 1720, 1721, 1722, 1723, 1724, 1725,
- 1725, 1726, 1727, 1219, 1728, 1728, 1219, 1729,
- 1729, 1730, 1731, 1732, 1733, 1734, 1734, 1735,
- 1736, 1219, 1737, 1737, 1219, 1738, 1738, 1219,
- 1739, 1219, 1740, 1740, 1741, 1742, 1744, 1745,
- 1746, 1746, 1747, 1748, 1743, 1219, 1749, 1749,
- 1219, 1750, 1750, 1219, 1751, 1751, 1752, 1753,
- 1754, 1755, 1756, 1756, 1757, 1758, 1219, 1759,
- 1759, 1219, 1760, 1760, 1219, 1761, 1761, 1219,
- 1762, 1762, 1219, 1763, 1763, 1219, 1764, 1764,
- 1765, 1766, 1767, 1768, 1769, 1769, 1770, 1771,
- 1219, 1772, 1772, 1219, 1773, 1773, 1219, 1774,
- 1774, 1219, 1775, 1775, 1776, 1777, 1778, 1779,
- 1780, 1780, 1781, 1782, 1219, 1783, 1783, 1219,
- 1784, 1784, 1785, 1786, 1787, 1788, 1789, 1789,
- 1790, 1791, 1219, 1793, 1793, 1794, 1795, 1796,
- 1797, 1792, 1793, 1793, 1794, 1795, 1796, 1797,
- 1799, 1798, 1800, 1800, 1801, 1802, 1804, 1805,
- 1803, 1798, 1807, 1807, 1808, 1809, 1811, 1812,
- 1810, 1810, 1810, 1806, 1813, 1813, 1813, 1806,
- 1814, 1814, 1815, 1816, 1817, 1818, 1819, 1819,
- 1820, 1821, 1810, 1810, 1810, 1806, 1823, 1822,
- 1806, 1825, 1824, 1792, 1827, 1826, 1792, 1828,
- 1828, 1829, 1830, 1831, 1832, 1792, 1828, 1828,
- 1829, 1830, 1833, 1831, 1832, 1834, 1798, 1835,
- 1835, 1836, 1837, 1839, 1839, 1840, 1841, 1838,
- 1798, 1842, 1842, 1843, 1844, 1846, 1847, 1845,
- 1845, 1845, 1806, 1848, 1848, 1848, 1806, 1849,
- 1849, 1850, 1851, 1852, 1853, 1854, 1854, 1855,
- 1856, 1845, 1845, 1845, 1806, 1858, 1857, 1806,
- 1860, 1859, 1792, 1861, 1861, 1862, 1863, 1864,
- 1865, 1838, 1798, 1867, 1866, 1792, 1869, 1870,
- 1871, 1872, 1873, 1874, 1868, 1875, 1868, 1876,
- 1868, 1877, 1868, 1878, 1878, 1878, 1878, 1878,
- 1878, 1868, 1879, 1868, 1880, 1868, 1881, 1881,
- 1881, 1881, 1881, 1881, 1868, 1882, 1868, 1883,
- 1868, 1884, 1885, 1868, 1886, 1868, 1887, 1868,
- 1888, 1868, 1889, 1868, 1890, 1890, 1890, 1890,
- 1890, 1890, 1868, 1891, 1868, 1892, 1868, 1893,
- 1868, 1894, 1868, 1895, 1895, 1895, 1895, 1895,
- 1895, 1868, 1896, 1868, 1897, 1868, 1899, 1898,
- 1900, 1900, 1900, 1900, 1900, 1900, 1901, 1898,
- 1902, 1868, 1903, 1868, 1904, 1868, 1905, 1868,
- 1906, 1868, 1907, 1868, 1908, 1868, 1909, 1868,
- 1910, 1868, 1911, 1868, 1912, 1868, 1913, 1868,
- 1914, 1868, 1915, 1868, 1916, 1916, 1916, 1916,
- 1916, 1916, 1868, 1917, 1868, 1918, 1868, 1919,
- 1868, 1920, 1920, 1920, 1920, 1920, 1920, 1868,
- 1922, 1922, 1923, 1924, 1925, 1926, 1927, 1927,
- 1928, 1929, 1921, 1930, 1930, 1931, 1932, 1933,
- 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941,
- 1942, 1942, 1943, 1944, 1921, 1945, 1921, 1946,
- 1921, 1947, 1921, 1948, 1921, 1921, 1950, 1921,
- 1921, 1921, 1949, 1951, 1951, 1952, 1953, 1954,
- 1955, 1956, 1956, 1957, 1958, 1921, 1960, 1959,
- 1921, 1961, 1921, 1962, 1921, 1963, 1921, 1964,
- 1965, 1965, 1965, 1965, 1921, 1966, 1966, 1966,
- 1966, 1921, 1967, 1967, 1967, 1967, 1921, 1968,
- 1969, 1968, 1968, 1968, 1921, 1970, 1971, 1970,
- 1970, 1970, 1921, 1972, 1973, 1973, 1973, 1973,
- 1921, 1974, 1974, 1975, 1976, 1977, 1978, 1979,
- 1979, 1980, 1981, 1921, 1971, 1921, 1982, 1982,
- 1982, 1982, 1921, 1983, 1984, 1983, 1983, 1983,
- 1921, 1985, 1986, 1985, 1985, 1985, 1921, 1987,
- 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1993,
- 1994, 1995, 1990, 1990, 1990, 1921, 1986, 1921,
- 1996, 1921, 1997, 1921, 1998, 1999, 1921, 2000,
- 1921, 2001, 1921, 2002, 1921, 2003, 1921, 2004,
- 1921, 2006, 2007, 2007, 2005, 2008, 2008, 2005,
- 2009, 2010, 2011, 2011, 2005, 2012, 2012, 2005,
- 2013, 2013, 2014, 2015, 2016, 2017, 2018, 2019,
- 2020, 2020, 2021, 2022, 2017, 2005, 2023, 2023,
- 2005, 2024, 1921, 2025, 1921, 2026, 1921, 2027,
- 1921, 2028, 1921, 2029, 2030, 2030, 2030, 2030,
- 2005, 2031, 2031, 2031, 2031, 2005, 2032, 2033,
- 2034, 2034, 2034, 2034, 2005, 2035, 2035, 2035,
- 2035, 2005, 2036, 2036, 2037, 2038, 2039, 2040,
- 2041, 2042, 2043, 2043, 2044, 2045, 2040, 2040,
- 2040, 2005, 2046, 2046, 2046, 2046, 2005, 2047,
- 1921, 2048, 1921, 2050, 2049, 2051, 2051, 2052,
- 2053, 2055, 2056, 2057, 2058, 2058, 2059, 2060,
- 2054, 2049, 1921, 1921, 1921, 1921, 2061, 1987,
- 1987, 1988, 1989, 1991, 1992, 1993, 1993, 1994,
- 1995, 1921, 2062, 1921, 2063, 1921, 2064, 1921,
- 2065, 1921, 2066, 1921, 2067, 1921, 2068, 1921,
- 2069, 1921, 2070, 1921, 2071, 2072, 2072, 1921,
- 2073, 2073, 1921, 2074, 2075, 1921, 2076, 2076,
- 1921, 2077, 2077, 2078, 2079, 2080, 2081, 2082,
- 2083, 2083, 2084, 2085, 1921, 2086, 2086, 1921,
- 2087, 1921, 2088, 1921, 2089, 1921, 2090, 1921,
- 2091, 1921, 2092, 1921, 2093, 1921, 2094, 1921,
- 2095, 1921, 2096, 1921, 2097, 1921, 2098, 1921,
- 2099, 1921, 2100, 1921, 2101, 2101, 2102, 2103,
- 2104, 2105, 2106, 2106, 2107, 2108, 1921, 2109,
- 1921, 2110, 1921, 2111, 1921, 2112, 1921, 2113,
- 2114, 2049, 2115, 2049, 2116, 2117, 2049, 2118,
- 2118, 2119, 2120, 2122, 2123, 2124, 2124, 2125,
- 2126, 2121, 2049, 1951, 1951, 1952, 1953, 1954,
- 1955, 1956, 1956, 1957, 1958, 2127, 2127, 2127,
- 1921, 2128, 1921, 2131, 2132, 2133, 2134, 2135,
- 2131, 2132, 2133, 2134, 2135, 2130, 2129, 2136,
- 2136, 2136, 2136, 2137, 2129, 2138, 2139, 2138,
- 2139, 2129, 2140, 2140, 2140, 2140, 2129, 2141,
- 2141, 2129, 2142, 2143, 2142, 2142, 2142, 2129,
- 2144, 2144, 2129, 2145, 2145, 2129, 2146, 2146,
- 2129, 2147, 2147, 2129, 2148, 2129, 2149, 2129,
- 2150, 2150, 2129, 2151, 2151, 2129, 2152, 2152,
- 2129, 2153, 2129, 2154, 2154, 2154, 2154, 2129,
- 2155, 2156, 2155, 2156, 2129, 2157, 2158, 2157,
- 2158, 2129, 2159, 2129, 2160, 2160, 2129, 2161,
- 2161, 2129, 2162, 2162, 2129, 2163, 2163, 2129,
- 2164, 2164, 2164, 2164, 2129, 2165, 2165, 2129,
- 2166, 2166, 2129, 2167, 2167, 2129, 2168, 2169,
- 2129, 2170, 2129, 2171, 2129, 2172, 2172, 2129,
- 2173, 2173, 2129, 2174, 2174, 2129, 2175, 2129,
- 2176, 2129, 2177, 2129, 2178, 2178, 2178, 2178,
- 2129, 2179, 2129, 2180, 2129, 2181, 2181, 2129,
- 2182, 2182, 2129, 2183, 2183, 2129, 2184, 2129,
- 2185, 2129, 2186, 2129, 2187, 2187, 2187, 2187,
- 2129, 2188, 2189, 2129, 2190, 2129, 2191, 2129,
- 2192, 2129, 2193, 2129, 2194, 2194, 2194, 2194,
- 2129, 2195, 2129, 2196, 2129, 2197, 2197, 2197,
- 2197, 2129, 2198, 2198, 2129, 2199, 2199, 2129,
- 2200, 2200, 2129, 2201, 2201, 2129, 2202, 2202,
- 2129, 2203, 2203, 2129, 2204, 2204, 2129, 2205,
- 2205, 2205, 2205, 2129, 2206, 2206, 2129, 2207,
- 2207, 2129, 2208, 2208, 2129, 2209, 2209, 2129,
- 2210, 2210, 2129, 2211, 2211, 2129, 2212, 2213,
- 2212, 2213, 2129, 2214, 2214, 2129, 2215, 2215,
- 2129, 2216, 2216, 2216, 2216, 2129, 2217, 2217,
- 2129, 2218, 2218, 2129, 2219, 2219, 2219, 2219,
- 2129, 2220, 2220, 2129, 2221, 2221, 2129, 2222,
- 2223, 2222, 2223, 2129, 2224, 2224, 2129, 2225,
- 2129, 2226, 2226, 2226, 2226, 2129, 2227, 2227,
- 2129, 2228, 2228, 2129, 2229, 2230, 2231, 2129,
- 2232, 2233, 2232, 2232, 2232, 2129, 2234, 2234,
- 2129, 2235, 2235, 2129, 2236, 2236, 2129, 2237,
- 2237, 2129, 2238, 2129, 2239, 2129, 2240, 2240,
- 2129, 2241, 2241, 2129, 2242, 2242, 2129, 2243,
- 2129, 2244, 2244, 2244, 2244, 2129, 2245, 2129,
- 2246, 2129, 2247, 2247, 2247, 2247, 2129, 2248,
- 2129, 2249, 2129, 2250, 2250, 2250, 2250, 2129,
- 2253, 2254, 2255, 2256, 2257, 2258, 2253, 2254,
- 2255, 2256, 2257, 2258, 2252, 2251, 2259, 2259,
- 2259, 2259, 2260, 2251, 2261, 2261, 2251, 2262,
- 2262, 2251, 2263, 2263, 2251, 2264, 2264, 2251,
- 2265, 2265, 2251, 2266, 2266, 2266, 2266, 2251,
- 2267, 2268, 2269, 2267, 2268, 2269, 2251, 2270,
- 2270, 2251, 2271, 2271, 2251, 2272, 2272, 2251,
- 2273, 2273, 2251, 2274, 2274, 2251, 2275, 2275,
- 2275, 2275, 2251, 2276, 2277, 2276, 2277, 2251,
- 2278, 2278, 2251, 2279, 2279, 2279, 2279, 2251,
- 2280, 2280, 2251, 2281, 2281, 2251, 2282, 2282,
- 2282, 2282, 2251, 2283, 2283, 2251, 2284, 2284,
- 2251, 2285, 2285, 2251, 2286, 2286, 2286, 2286,
- 2251, 2287, 2287, 2251, 2288, 2288, 2251, 2289,
- 2289, 2289, 2289, 2251, 2290, 2291, 2290, 2291,
- 2251, 2292, 2292, 2251, 2293, 2293, 2293, 2293,
- 2251, 2294, 2294, 2251, 2295, 2295, 2251, 2296,
- 2296, 2296, 2296, 2251, 2297, 2297, 2251, 2298,
- 2298, 2251, 2299, 2299, 2251, 2300, 2300, 2300,
- 2300, 2251, 2301, 2301, 2251, 2302, 2302, 2251,
- 2303, 2303, 2303, 2303, 2251, 2305, 2305, 2304,
- 2306, 2307, 2306, 2306, 2306, 2307, 2304, 2308,
- 2308, 2308, 2308, 2308, 2308, 75, 2309, 2309,
- 2309, 2309, 75, 2310, 2310, 2310, 2310, 2310,
- 2310, 75, 2311, 2311, 2312, 2313, 2314, 2315,
- 75, 2316, 2316, 2317, 2318, 2319, 2319, 2319,
- 2320, 2321, 2319, 2319, 2319, 75, 2322, 2322,
- 2323, 2324, 2325, 2326, 75, 2328, 2328, 2329,
- 2330, 2332, 2333, 2331, 2327, 2334, 2334, 2335,
- 2336, 2338, 2339, 2337, 2327, 2340, 2340, 2341,
- 2342, 2344, 2345, 2343, 2327, 2347, 2347, 2348,
- 2349, 2351, 2352, 2353, 2354, 2355, 2351, 2352,
- 2353, 2354, 2355, 2356, 2357, 2350, 2346, 2358,
- 2358, 2359, 2360, 2362, 2363, 2361, 2327, 2364,
- 2364, 2365, 2366, 2368, 2369, 2370, 2371, 2372,
- 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2367,
- 2346, 2375, 2375, 2376, 2377, 2379, 2380, 2378,
- 2327, 2381, 2381, 2382, 2383, 2385, 2386, 2387,
- 2388, 2389, 2385, 2386, 2387, 2388, 2389, 2390,
- 2391, 2384, 2346, 2392, 2392, 2393, 2394, 2396,
- 2397, 2395, 2327, 2398, 2398, 2400, 2401, 2402,
- 2403, 2404, 2400, 2401, 2402, 2403, 2404, 2398,
- 2398, 2399, 2346, 2398, 2398, 2398, 2398, 2405,
- 2346, 2407, 2408, 2409, 2410, 2411, 2407, 2408,
- 2409, 2410, 2411, 2406, 2346, 2412, 2412, 2412,
- 2412, 2413, 2346, 2415, 2414, 75, 2381, 2381,
- 2382, 2383, 2390, 2391, 2416, 2346, 2418, 2419,
- 2420, 2421, 2422, 2418, 2419, 2420, 2421, 2422,
- 2417, 2346, 2423, 2423, 2424, 2425, 2427, 2428,
- 2426, 2346, 2430, 2429, 75, 2364, 2364, 2365,
- 2366, 2373, 2374, 2431, 2346, 2433, 2434, 2435,
- 2436, 2437, 2433, 2434, 2435, 2436, 2437, 2432,
- 2346, 2438, 2438, 2439, 2440, 2442, 2443, 2441,
- 2346, 2445, 2444, 75, 2347, 2347, 2348, 2349,
- 2356, 2357, 2446, 2346, 2448, 2449, 2450, 2451,
- 2452, 2448, 2449, 2450, 2451, 2452, 2447, 2346,
- 2453, 2453, 2454, 2455, 2457, 2458, 2456, 2346,
- 2460, 2459, 75, 2462, 2461, 75, 2464, 2463,
- 75, 75, 75, 75, 75, 2465, 2466, 2466,
- 2467, 2468, 2469, 2470, 75, 2472, 2472, 2473,
- 2474, 2475, 2476, 2471, 2471, 2471, 75, 2477,
- 2477, 2477, 2477, 75, 2479, 2478, 75, 2480,
- 2480, 2480, 2480, 2480, 2480, 75, 2481, 2481,
- 2482, 2483, 2484, 2485, 75, 2486, 2486, 2487,
- 2488, 2489, 2489, 2489, 2490, 2491, 2489, 2489,
- 2489, 75, 2492, 2492, 2492, 2492, 75, 2494,
- 2493, 75, 2495, 2327, 2496, 2496, 2497, 2498,
- 2500, 2501, 2499, 2327, 2502, 2502, 2503, 2504,
- 2505, 2505, 2505, 2506, 2507, 2505, 2505, 2505,
- 75, 2508, 2508, 2508, 2508, 75, 2510, 2509,
- 75, 2512, 2512, 2512, 2512, 2511, 2513, 2513,
- 2514, 2515, 2516, 2517, 2518, 2518, 2519, 2520,
- 2512, 2522, 2522, 2523, 2524, 2525, 2526, 2527,
- 2527, 2528, 2529, 2521, 2521, 2521, 2512, 2531,
- 2530, 2512, 2532, 2532, 2532, 2532, 2304, 2533,
- 2534, 2533, 2533, 2533, 2534, 2534, 2534, 2304,
- 2536, 2535, 2537, 2537, 2538, 2539, 2541, 2542,
- 2540, 2535, 2543, 2543, 2544, 2545, 2547, 2548,
- 2549, 2550, 2546, 2535, 2551, 2551, 2552, 2553,
- 2555, 2556, 2554, 2535, 2557, 2557, 2558, 2559,
- 2547, 2548, 2561, 2562, 2560, 2535, 2563, 2563,
- 2564, 2565, 2566, 2568, 2569, 2567, 2535, 2570,
- 2570, 2571, 2572, 2547, 2548, 2573, 2574, 2535,
- 2575, 2575, 2576, 2577, 2578, 2579, 2535, 2575,
- 2575, 2576, 2577, 2578, 2579, 2580, 2535, 2581,
- 2581, 2582, 2583, 2585, 2586, 2584, 2535, 2587,
- 2587, 2588, 2589, 2591, 2592, 2593, 2594, 2590,
- 2535, 2595, 2595, 2596, 2597, 2599, 2600, 2598,
- 2535, 2601, 2601, 2602, 2603, 2591, 2592, 2605,
- 2606, 2604, 2535, 2607, 2607, 2608, 2609, 2610,
- 2612, 2613, 2611, 2535, 2614, 2614, 2615, 2616,
- 2591, 2592, 2617, 2618, 2535, 2619, 2619, 2620,
- 2621, 2622, 2623, 2535, 2619, 2619, 2620, 2621,
- 2624, 2622, 2623, 2625, 2535, 2626, 2535, 2627,
- 2627, 2628, 2629, 2630, 2632, 2633, 2634, 2635,
- 2635, 2636, 2637, 2631, 2535, 2638, 2638, 2639,
- 2640, 2642, 2643, 2644, 2644, 2645, 2646, 2641,
- 2535, 2647, 2647, 2648, 2649, 2650, 2652, 2653,
- 2654, 2655, 2655, 2656, 2657, 2651, 2535, 2658,
- 2658, 2659, 2660, 2662, 2663, 2644, 2644, 2664,
- 2665, 2661, 2535, 2666, 2666, 2667, 2668, 2669,
- 2671, 2672, 2673, 2674, 2674, 2675, 2676, 2670,
- 2535, 2677, 2677, 2678, 2679, 2681, 2682, 2644,
- 2644, 2683, 2684, 2680, 2535, 2685, 2685, 2686,
- 2687, 2688, 2685, 2690, 2691, 2692, 2692, 2693,
- 2694, 2689, 2535, 2695, 2695, 2696, 2697, 2698,
- 2699, 2644, 2644, 2700, 2701, 2535, 2703, 2702,
- 2535, 2704, 2704, 2705, 2706, 2704, 2708, 2709,
- 2710, 2710, 2711, 2712, 2707, 2535, 2685, 2685,
- 2686, 2687, 2685, 2690, 2691, 2692, 2692, 2693,
- 2694, 2713, 2535, 2715, 2714, 2535, 2716, 2716,
- 2717, 2718, 2720, 2721, 2722, 2723, 2723, 2724,
- 2725, 2719, 2535, 2666, 2666, 2667, 2668, 2671,
- 2672, 2673, 2674, 2674, 2675, 2676, 2726, 2535,
- 2677, 2677, 2678, 2679, 2681, 2682, 2644, 2644,
- 2683, 2684, 2535, 2728, 2727, 2535, 2729, 2729,
- 2730, 2731, 2733, 2734, 2735, 2736, 2736, 2737,
- 2738, 2732, 2535, 2647, 2647, 2648, 2649, 2652,
- 2653, 2654, 2655, 2655, 2656, 2657, 2739, 2535,
- 2658, 2658, 2659, 2660, 2662, 2663, 2644, 2644,
- 2664, 2665, 2535, 2741, 2740, 2535, 2742, 2742,
- 2743, 2744, 2746, 2747, 2748, 2749, 2749, 2750,
- 2751, 2745, 2535, 2627, 2627, 2628, 2629, 2632,
- 2633, 2634, 2635, 2635, 2636, 2637, 2752, 2535,
- 2638, 2638, 2639, 2640, 2642, 2643, 2644, 2644,
- 2645, 2646, 2535, 2754, 2753, 2535, 2755, 2755,
- 2756, 2757, 2758, 2759, 2535, 2761, 2760, 2535,
- 2762, 2762, 2763, 2764, 2766, 2767, 2765, 2535,
- 2607, 2607, 2608, 2609, 2612, 2613, 2768, 2535,
- 2770, 2769, 2535, 2772, 2771, 2535, 2774, 2773,
- 2535, 2775, 2775, 2776, 2777, 2778, 2779, 2535,
- 2781, 2780, 2535, 2782, 2782, 2783, 2784, 2786,
- 2787, 2785, 2535, 2563, 2563, 2564, 2565, 2568,
- 2569, 2788, 2535, 2790, 2789, 2535, 2792, 2791,
- 2535, 2793, 2327, 2794, 2794, 2795, 2796, 2798,
- 2799, 2797, 2327, 2800, 2800, 2801, 2802, 2804,
- 2805, 2803, 2327, 2806, 2806, 2807, 2808, 2810,
- 2811, 2809, 2327, 2812, 2812, 2813, 2814, 2816,
- 2817, 2815, 2327, 2818, 2818, 2819, 2820, 2822,
- 2823, 2821, 2327, 2824, 2824, 2825, 2826, 2827,
- 2827, 2827, 2828, 2829, 2827, 2827, 2827, 75,
- 2830, 2830, 2830, 2830, 75, 2832, 2831, 75,
- 2834, 2833, 75, 2836, 2835, 75, 2837, 2327,
- 2838, 2838, 2839, 2840, 2842, 2843, 2841, 2327,
- 2844, 2844, 2845, 2846, 2848, 2849, 2847, 2327,
- 2850, 2850, 2851, 2852, 2854, 2855, 2853, 2327,
- 2857, 2857, 2858, 2859, 2860, 2861, 2856, 2856,
- 2856, 75, 2862, 2862, 2863, 2864, 2865, 2866,
- 75, 2868, 2868, 2869, 2870, 2871, 2872, 2867,
- 2867, 2867, 75, 2873, 2873, 2874, 2875, 2876,
- 2877, 75, 2879, 2879, 2880, 2881, 2882, 2883,
- 2878, 2878, 2878, 75, 2884, 2884, 2885, 2886,
- 2887, 2888, 75, 2889, 2889, 2890, 2891, 2892,
- 2892, 2892, 2893, 2894, 2892, 2892, 2892, 75,
- 2895, 2895, 2895, 2895, 75, 2897, 2896, 75,
- 2899, 2898, 75, 2901, 2900, 75, 2903, 2902,
- 75, 2905, 2904, 75, 2906, 2906, 2906, 75,
- 2907, 2907, 2908, 2909, 2910, 2911, 75, 2907,
- 2907, 2908, 2909, 2910, 2911, 2912, 2327, 2913,
- 2913, 2914, 2915, 2917, 2918, 2916, 2327, 2919,
- 2919, 2920, 2921, 2923, 2924, 2922, 2922, 2922,
- 75, 2925, 2925, 2926, 2927, 2928, 2929, 75,
- 2925, 2925, 2926, 2927, 2930, 2928, 2929, 2930,
- 2930, 2930, 75, 2931, 2931, 75, 2933, 2932,
- 75, 2935, 2934, 75, 2937, 2936, 75, 2939,
- 2939, 2940, 2941, 2942, 2943, 2944, 2945, 2946,
- 2947, 2947, 2948, 2949, 2938, 2950, 2951, 2938,
- 2952, 2938, 2954, 2954, 2953, 2956, 2955, 2953,
- 2957, 2938, 2958, 2958, 2959, 2960, 2962, 2963,
- 2964, 2964, 2965, 2966, 2961, 2938, 2968, 2967,
- 75, 2969, 2938, 2970, 2970, 2970, 2970, 2953,
- 2972, 2971, 2971, 2971, 2953, 2973, 2327, 2974,
- 2974, 2975, 2976, 2978, 2979, 2977, 2327, 2980,
- 2980, 2981, 2982, 2984, 2985, 2983, 2983, 2983,
- 75, 2986, 2986, 2987, 2988, 2989, 2990, 75,
- 2986, 2986, 2987, 2988, 2989, 2990, 2991, 2327,
- 2992, 2992, 2993, 2994, 2996, 2997, 2995, 2327,
- 2999, 2999, 3000, 3001, 3003, 3004, 3002, 3002,
- 3002, 2998, 3005, 3005, 3005, 2998, 3006, 3006,
- 3007, 3008, 3009, 3010, 3011, 3011, 3012, 3013,
- 3002, 3002, 3002, 2998, 3015, 3014, 2998, 3017,
- 3016, 75, 3019, 3018, 75, 3021, 3020, 75,
- 3022, 2327, 3023, 3023, 3024, 3025, 3027, 3028,
- 3026, 2327, 3029, 3029, 3030, 3031, 3033, 3034,
- 3032, 2327, 3035, 3035, 3036, 3037, 3039, 3040,
- 3038, 2327, 3041, 3041, 3042, 3043, 3045, 3046,
- 3044, 3044, 3044, 2998, 3047, 3047, 3047, 2998,
- 3048, 3048, 3049, 3050, 3051, 3052, 3053, 3053,
- 3054, 3055, 3044, 3044, 3044, 2998, 3057, 3056,
- 2998, 3059, 3058, 75, 3061, 3060, 75, 3062,
- 2327, 3063, 3063, 3064, 3065, 3067, 3068, 3066,
- 2327, 3070, 3070, 3071, 3072, 3073, 3074, 3075,
- 3076, 3077, 3078, 3069, 3079, 3079, 3080, 3081,
- 3082, 3083, 3069, 3079, 3079, 3080, 3081, 3082,
- 3083, 3085, 3084, 3086, 3086, 3087, 3088, 3090,
- 3091, 3089, 3084, 3092, 3092, 3093, 3094, 3095,
- 3096, 3097, 3069, 3099, 3099, 3100, 3101, 3102,
- 3102, 3103, 3104, 3105, 3105, 3106, 3107, 3108,
- 3108, 3108, 3108, 3109, 3110, 3108, 3108, 3111,
- 3112, 3113, 3114, 3108, 3108, 3115, 3116, 3117,
- 3118, 3108, 3108, 3119, 3120, 3098, 3099, 3099,
- 3100, 3101, 3122, 3109, 3110, 3122, 3122, 3122,
- 3121, 3108, 3108, 3121, 3124, 3123, 3121, 3102,
- 3102, 3103, 3104, 3108, 3108, 3108, 3108, 3113,
- 3114, 3108, 3108, 3115, 3116, 3121, 3126, 3125,
- 3121, 3122, 3099, 3099, 3100, 3101, 3102, 3102,
- 3103, 3104, 3105, 3105, 3106, 3107, 3108, 3108,
- 3108, 3108, 3109, 3110, 3108, 3108, 3111, 3112,
- 3113, 3114, 3108, 3108, 3115, 3116, 3117, 3118,
- 3108, 3108, 3119, 3120, 3122, 3122, 3122, 3121,
- 3124, 3126, 3128, 3123, 3125, 3127, 3121, 3130,
- 3129, 3069, 3132, 3131, 3069, 3133, 3133, 3134,
- 3135, 3136, 3137, 3069, 3133, 3133, 3134, 3135,
- 3136, 3137, 3138, 3084, 3139, 3139, 3140, 3141,
- 3143, 3144, 3142, 3084, 3146, 3146, 3147, 3148,
- 3149, 3150, 3151, 3149, 3145, 3153, 3154, 3154,
- 3155, 3156, 3157, 3157, 3158, 3159, 3160, 3160,
- 3161, 3162, 3163, 3163, 3163, 3163, 3164, 3165,
- 3163, 3163, 3166, 3167, 3168, 3169, 3163, 3163,
- 3170, 3171, 3172, 3173, 3163, 3163, 3174, 3175,
- 3153, 3152, 3177, 3176, 3069, 3179, 3178, 3069,
- 3180, 3180, 3181, 3182, 3183, 3184, 3069, 3180,
- 3180, 3181, 3182, 3183, 3184, 3185, 3084, 3186,
- 3186, 3187, 3188, 3190, 3191, 3189, 3084, 3192,
- 3192, 3193, 3194, 3195, 3196, 3197, 3195, 3195,
- 3195, 3145, 3198, 3199, 3199, 3200, 3201, 3202,
- 3202, 3203, 3204, 3205, 3205, 3206, 3207, 3208,
- 3208, 3208, 3208, 3209, 3210, 3208, 3208, 3211,
- 3212, 3213, 3214, 3208, 3208, 3215, 3216, 3217,
- 3218, 3208, 3208, 3219, 3220, 3198, 3198, 3198,
- 3152, 3222, 3221, 3069, 3224, 3223, 3069, 3225,
- 3225, 3226, 3227, 3228, 3229, 3069, 3225, 3225,
- 3226, 3227, 3228, 3229, 3230, 3084, 3231, 3231,
- 3232, 3233, 3235, 3236, 3234, 3084, 3237, 3237,
- 3238, 3239, 3240, 3240, 3240, 3241, 3242, 3240,
- 3240, 3240, 3069, 3243, 3243, 3244, 3245, 3246,
- 3246, 3247, 3248, 3249, 3249, 3250, 3251, 3252,
- 3252, 3252, 3252, 3253, 3254, 3252, 3252, 3255,
- 3256, 3257, 3258, 3252, 3252, 3259, 3260, 3261,
- 3262, 3252, 3252, 3263, 3264, 3098, 3266, 3265,
- 3069, 3268, 3267, 3069, 3270, 3269, 75, 3272,
- 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280,
- 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288,
- 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279,
- 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287,
- 3288, 3271, 3289, 3289, 3290, 3291, 3292, 3293,
- 3294, 3292, 3293, 3294, 3295, 3296, 3271, 3297,
- 3297, 3298, 3299, 3301, 3302, 3300, 3300, 3300,
- 75, 3303, 3303, 3304, 3305, 3306, 3307, 75,
- 3303, 3303, 3304, 3305, 3306, 3307, 3308, 2327,
- 3309, 3309, 3310, 3311, 3313, 3314, 3312, 2327,
- 3315, 3315, 3316, 3317, 3319, 3320, 3318, 2327,
- 3321, 3321, 3322, 3323, 3325, 3326, 3324, 2327,
- 3328, 3328, 3329, 3330, 3332, 3333, 3331, 3327,
- 3334, 3334, 3335, 3336, 3338, 3339, 3337, 3327,
- 3340, 3340, 3341, 3342, 3344, 3345, 3343, 3327,
- 3346, 3346, 3347, 3348, 3350, 3351, 3349, 3327,
- 3352, 3352, 3353, 3354, 3356, 3357, 3355, 2327,
- 3358, 3358, 3359, 3360, 3362, 3363, 3361, 2327,
- 3364, 3364, 3365, 3366, 3367, 3367, 3367, 3368,
- 3369, 3367, 3367, 3367, 75, 3370, 3370, 3371,
- 3372, 3373, 3374, 75, 3375, 3375, 3376, 3377,
- 3378, 3379, 3380, 3378, 3378, 3378, 75, 3381,
- 3381, 75, 3383, 3382, 75, 3385, 3384, 75,
- 3387, 3386, 75, 3389, 3388, 75, 3391, 3390,
- 75, 3393, 3392, 75, 3395, 3394, 75, 3397,
- 3396, 75, 3398, 3398, 3271, 3399, 3399, 3271,
- 3400, 3400, 3401, 3402, 3403, 3404, 3271, 3405,
- 3405, 3271, 3406, 3406, 3271, 3407, 3407, 3271,
- 3408, 3408, 3409, 3410, 3411, 3412, 3271, 3413,
- 3413, 3271, 3414, 3414, 3415, 3416, 3417, 3418,
- 3271, 3419, 3420, 3421, 3422, 3423, 3419, 3420,
- 3421, 3422, 3423, 3271, 3424, 3424, 3271, 3425,
- 3425, 3426, 3427, 3428, 3429, 3271, 3430, 3431,
- 3430, 3431, 3271, 3432, 3432, 3271, 3433, 3433,
- 3271, 3434, 3434, 3271, 3435, 3435, 3271, 3436,
- 3436, 3437, 3438, 3439, 3440, 3271, 3441, 3441,
- 3442, 3443, 3444, 3445, 3271, 3446, 3446, 3271,
- 3447, 3447, 3271, 3448, 3448, 3449, 3450, 3451,
- 3452, 3271, 3453, 3453, 3271, 3454, 3454, 3271,
- 3455, 3455, 3271, 3456, 3456, 3457, 3458, 3459,
- 3460, 3271, 3461, 3461, 3271, 3462, 3462, 3271,
- 3463, 3463, 3271, 3464, 3464, 3465, 3466, 3467,
- 3468, 3271, 3469, 3470, 3471, 3469, 3470, 3471,
- 3271, 3472, 3472, 3271, 3473, 3473, 3271, 3474,
- 3474, 3271, 3475, 3475, 3476, 3477, 3478, 3479,
- 3271, 3480, 3481, 3480, 3481, 3271, 3482, 3482,
- 3271, 3483, 3483, 3271, 3484, 3484, 3485, 3486,
- 3487, 3488, 3271, 3489, 3489, 3271, 3490, 3490,
- 3271, 3491, 3491, 3271, 3492, 3492, 3493, 3494,
- 3495, 3496, 3271, 3497, 3497, 3498, 3499, 3500,
- 3501, 3271, 3502, 3502, 3271, 3503, 3503, 3271,
- 3504, 3505, 3271, 3506, 3271, 3507, 3507, 3508,
- 3509, 3510, 3511, 3271, 3512, 3271, 3513, 3513,
- 3514, 3515, 3516, 3517, 3271, 3518, 3519, 3518,
- 3519, 3271, 3520, 3520, 3271, 3521, 3521, 3271,
- 3522, 3522, 3271, 3523, 3523, 3524, 3525, 3526,
- 3527, 3271, 3528, 3528, 3271, 3529, 3529, 3271,
- 3530, 3530, 3271, 3531, 3531, 3532, 3533, 3534,
- 3535, 3271, 3536, 3536, 3271, 3537, 3537, 3271,
- 3538, 3538, 3271, 3539, 3539, 3271, 3540, 3540,
- 3271, 3541, 3541, 3271, 3542, 3542, 3271, 3543,
- 3543, 3544, 3545, 3546, 3547, 3271, 3548, 3549,
- 3548, 3549, 3271, 3550, 3550, 3271, 3551, 3551,
- 3552, 3553, 3554, 3555, 3271, 3556, 3556, 3557,
- 3558, 3559, 3560, 3271, 3561, 3562, 3563, 3564,
- 3563, 3564, 3271, 3565, 3271, 3566, 3566, 3567,
- 3568, 3569, 3570, 3271, 3571, 3271, 3572, 3572,
- 3573, 3574, 3575, 3576, 3271, 3577, 3577, 3271,
- 3578, 3578, 3579, 3580, 3581, 3582, 3271, 3583,
- 3583, 3584, 3585, 3586, 3587, 3271, 3588, 3589,
- 3588, 3589, 3271, 3590, 3590, 3271, 3591, 3591,
- 3271, 3592, 3592, 3271, 3593, 3593, 3594, 3595,
- 3596, 3597, 3271, 3598, 3598, 3599, 3600, 3601,
- 3602, 3271, 3603, 3604, 3605, 3603, 3604, 3605,
- 3271, 3606, 3606, 3271, 3607, 3607, 3271, 3608,
- 3608, 3271, 3609, 3609, 3610, 3611, 3612, 3613,
- 3271, 3614, 3614, 3271, 3615, 3615, 3616, 3617,
- 3618, 3619, 3271, 3620, 3620, 3621, 3622, 3623,
- 3623, 3624, 3625, 3271, 3626, 3626, 3271, 3627,
- 3627, 3628, 3629, 3630, 3631, 3632, 3271, 3633,
- 3633, 3634, 3635, 3636, 3636, 3637, 3638, 3271,
- 3639, 3639, 3271, 3640, 3640, 3271, 3641, 3641,
- 3271, 3642, 3642, 3271, 3643, 3643, 3644, 3645,
- 3646, 3647, 3271, 3648, 3648, 3271, 3649, 3649,
- 3271, 3650, 3650, 3271, 3651, 3651, 3271, 3652,
- 3652, 3271, 3653, 3653, 3271, 3654, 3654, 3271,
- 3655, 3655, 3271, 3656, 3656, 3271, 3657, 3657,
- 3658, 3659, 3660, 3661, 3271, 3662, 3662, 3271,
- 3663, 3663, 3271, 3664, 3664, 3665, 3666, 3667,
- 3668, 3271, 3669, 3670, 3671, 3669, 3670, 3671,
- 3271, 3672, 3672, 3673, 3674, 3675, 3676, 3271,
- 3677, 3677, 3271, 3678, 3678, 3271, 3679, 3679,
- 3271, 3680, 3680, 3681, 3682, 3683, 3684, 3271,
- 3685, 3685, 3686, 3687, 3688, 3689, 3271, 3690,
- 3691, 3692, 3693, 3694, 3695, 3690, 3691, 3692,
- 3693, 3694, 3695, 3271, 3696, 3696, 3271, 3697,
- 3697, 3271, 3698, 3698, 3271, 3699, 3699, 3271,
- 3700, 3700, 3701, 3702, 3703, 3704, 3271, 3705,
- 3705, 3271, 3706, 3706, 3707, 3708, 3709, 3710,
- 3271, 3711, 3711, 3271, 3712, 3712, 3713, 3714,
- 3715, 3716, 3271, 3717, 3717, 3271, 3718, 3718,
- 3719, 3720, 3721, 3722, 3271, 3723, 3723, 3271,
- 3724, 3724, 3271, 3725, 3725, 3271, 3726, 3726,
- 3727, 3728, 3729, 3730, 3271, 3731, 3731, 3271,
- 3732, 3732, 3271, 3733, 3733, 3734, 3735, 3736,
- 3737, 3271, 3738, 3739, 3740, 3738, 3739, 3740,
- 3271, 3741, 3741, 3271, 3742, 3742, 3271, 3743,
- 3743, 3744, 3745, 3746, 3747, 3271, 3748, 3748,
- 3271, 3749, 3749, 3750, 3751, 3752, 3753, 3271,
- 3754, 3754, 3271, 3755, 3755, 3271, 3757, 3756,
- 3758, 3758, 3759, 3760, 3762, 3763, 3761, 3756,
- 3764, 3764, 3271, 3765, 3765, 3271, 3766, 3766,
- 3767, 3768, 3769, 3770, 3271, 3771, 3771, 3271,
- 3772, 3772, 3271, 3773, 3773, 3271, 3774, 3774,
- 3271, 3775, 3775, 3271, 3776, 3776, 3777, 3778,
- 3779, 3780, 3271, 3781, 3781, 3781, 3781, 3781,
- 3781, 75, 3782, 3782, 3782, 3782, 75, 3783,
- 3783, 3783, 3783, 75, 3784, 2327, 3785, 3785,
- 3786, 3787, 3789, 3790, 3788, 2327, 3791, 3791,
- 3792, 3793, 3795, 3796, 3794, 2327, 3797, 3797,
- 3798, 3799, 3801, 3802, 3800, 2327, 3803, 3803,
- 3804, 3805, 3807, 3808, 3806, 3806, 3806, 75,
- 3809, 3809, 3810, 3811, 3812, 3813, 75, 3809,
- 3809, 3810, 3811, 3814, 3812, 3813, 3814, 3814,
- 3814, 75, 3815, 3815, 75, 3817, 3816, 75,
- 3819, 3818, 75, 3821, 3820, 75, 3822, 3822,
- 3822, 3822, 75, 3823, 3823, 75, 3824, 2327,
- 3825, 3825, 3826, 3827, 3829, 3830, 3828, 2327,
- 3831, 3831, 3832, 3833, 3835, 3836, 3834, 2327,
- 3837, 3837, 3838, 3839, 3841, 3842, 3840, 2327,
- 3843, 3843, 3844, 3845, 3847, 3848, 3846, 2327,
- 3849, 3849, 3850, 3851, 3853, 3854, 3852, 2327,
- 3855, 3855, 3856, 3857, 3858, 3860, 3861, 3859,
- 3859, 3859, 2998, 3862, 3862, 3863, 3864, 3865,
- 3866, 2998, 3868, 3868, 3869, 3870, 3872, 3873,
- 3871, 3871, 3871, 3867, 3874, 3874, 3874, 3867,
- 3876, 3875, 3875, 3875, 3867, 3877, 3877, 3877,
- 3867, 3879, 3878, 3878, 3878, 3867, 3881, 3880,
- 3880, 3880, 3867, 3882, 3882, 3882, 3867, 3884,
- 3883, 3883, 3883, 3867, 3885, 3885, 3885, 3885,
- 3886, 3886, 3886, 3867, 3887, 3887, 3887, 3887,
- 75, 3888, 3867, 3884, 3867, 3881, 3867, 3889,
- 3867, 3879, 3867, 3891, 3890, 75, 3892, 3892,
- 3892, 2998, 3862, 3862, 3863, 3864, 3865, 3866,
- 3893, 3893, 3893, 2998, 3895, 3894, 75, 3897,
- 3896, 75, 3899, 3898, 75, 3900, 2327, 3901,
- 3901, 3902, 3903, 3905, 3906, 3904, 2327, 3907,
- 3907, 3908, 3909, 3911, 3912, 3910, 2327, 3913,
- 3913, 3914, 3915, 3917, 3918, 3916, 2327, 3919,
- 3919, 3920, 3921, 3923, 3924, 3922, 2327, 3925,
- 3925, 3926, 3927, 3929, 3930, 3928, 2327, 3931,
- 3931, 3932, 3933, 3934, 3936, 3937, 3935, 3935,
- 3935, 2998, 3938, 3938, 3938, 3938, 2998, 3939,
- 3939, 3939, 2998, 3938, 3938, 3938, 3938, 3940,
- 3940, 3940, 2998, 3942, 3941, 75, 3944, 3943,
- 75, 3946, 3945, 75, 3947, 2327, 3948, 3948,
- 3949, 3950, 3952, 3953, 3951, 2327, 3954, 3954,
- 3955, 3956, 3958, 3959, 3957, 2327, 3960, 3960,
- 3961, 3962, 3964, 3965, 3963, 2327, 3966, 3966,
- 3967, 3968, 3970, 3971, 3969, 2327, 3972, 3972,
- 3973, 3974, 3976, 3977, 3975, 2327, 3978, 3978,
- 3979, 3980, 3982, 3983, 3981, 3981, 3981, 2998,
- 3984, 3984, 3984, 2998, 3985, 3985, 3986, 3987,
- 3988, 3989, 3990, 3990, 3991, 3992, 3981, 3981,
- 3981, 2998, 3994, 3993, 2998, 3996, 3995, 75,
- 3998, 3997, 75, 4000, 3999, 75, 4001, 2327,
- 4002, 4002, 4003, 4004, 4006, 4007, 4005, 2327,
- 4008, 4008, 4009, 4010, 4012, 4013, 4011, 2327,
- 4014, 4014, 4014, 4014, 4015, 2327, 4016, 4016,
- 4016, 4016, 75, 4018, 4017, 75, 4019, 2327,
- 4020, 4020, 4021, 4022, 4024, 4025, 4023, 2327,
- 4026, 4026, 4027, 4028, 4030, 4031, 4029, 2327,
- 4032, 4032, 4033, 4034, 4036, 4037, 4035, 2327,
- 4038, 4038, 4039, 4040, 4042, 4043, 4041, 2327,
- 4044, 4044, 4045, 4046, 4048, 4049, 4047, 2327,
- 4050, 4050, 4051, 4052, 4054, 4055, 4053, 4053,
- 4053, 2998, 4056, 4056, 4056, 2998, 4057, 4057,
- 4058, 4059, 4060, 4061, 4062, 4062, 4063, 4064,
- 4053, 4053, 4053, 2998, 4066, 4065, 2998, 4068,
- 4067, 75, 4070, 4069, 75, 4072, 4071, 75,
- 4073, 2327, 4074, 4074, 4075, 4076, 4078, 4079,
- 4077, 2327, 4080, 4080, 4081, 4082, 4083, 4084,
- 4085, 4083, 2304, 4086, 4087, 4086, 4086, 4086,
- 4087, 2304, 4089, 4088, 75, 4090, 2327, 4091,
- 4091, 4092, 4093, 4095, 4096, 4094, 2327, 4097,
- 4097, 4098, 4099, 4101, 4102, 4100, 4100, 4100,
- 2998, 4103, 4103, 4103, 2998, 4104, 4104, 4104,
- 2998, 4105, 4105, 4105, 2998, 4107, 4106, 4108,
- 4108, 4108, 2998, 4109, 4109, 4109, 2998, 4110,
- 4110, 4110, 2998, 4111, 4111, 4111, 2998, 4113,
- 4107, 4113, 4113, 4113, 4112, 4115, 4114, 75,
- 4116, 4116, 4116, 2998, 4117, 4117, 4117, 2998,
- 4119, 4118, 4120, 4120, 4120, 2998, 4121, 4121,
- 4121, 2998, 4122, 4119, 4122, 4122, 4122, 4118,
- 4123, 4123, 4123, 2998, 4124, 4124, 4124, 2998,
- 4125, 4118, 4126, 4126, 4126, 2998, 4127, 4127,
- 4127, 2998, 4128, 4125, 4128, 4128, 4128, 4118,
- 4129, 2327, 4130, 4130, 4131, 4132, 4134, 4135,
- 4133, 2327, 4136, 4136, 4137, 4138, 4140, 4141,
- 4139, 2327, 4142, 4142, 4143, 4144, 4146, 4147,
- 4145, 2327, 4149, 4149, 4150, 4151, 4152, 4153,
- 4148, 4148, 4148, 75, 4154, 4154, 4154, 4154,
- 75, 4156, 4155, 75, 4158, 4157, 75, 4159,
- 2327, 4160, 4160, 4161, 4162, 4164, 4165, 4163,
- 2327, 4167, 4167, 4168, 4169, 4170, 4171, 4166,
- 4166, 4166, 75, 4172, 4172, 4173, 4174, 4175,
- 4176, 75, 4178, 4178, 4179, 4180, 4181, 4182,
- 4177, 4177, 4177, 75, 4183, 4183, 4183, 4183,
- 75, 4185, 4184, 75, 4187, 4186, 75, 4188,
- 2327, 4189, 4189, 4190, 4191, 4193, 4194, 4192,
- 2327, 4195, 4195, 4196, 4197, 4198, 4198, 4198,
- 4199, 4200, 4198, 4198, 4198, 75, 4201, 4201,
- 4201, 4201, 75, 4202, 4202, 4202, 4202, 75,
- 4204, 4203, 75, 4206, 4206, 4207, 4208, 4209,
- 4210, 4210, 4210, 4211, 4212, 4213, 4214, 4210,
- 4210, 4210, 4205, 4215, 4215, 4216, 4217, 4218,
- 4219, 73, 4220, 4219, 4211, 4212, 4221, 4222,
- 4223, 4224, 4225, 4226, 73, 73, 4219, 73,
- 4219, 73, 4219, 73, 871, 4228, 4228, 4207,
- 4229, 4230, 4210, 4231, 4232, 4233, 4234, 4235,
- 4236, 4237, 4238, 4239, 4240, 4241, 4242, 4243,
- 4244, 4245, 4246, 4247, 4210, 4210, 4231, 4232,
- 4233, 4234, 4235, 4236, 4237, 4238, 4239, 4240,
- 4241, 4242, 4243, 4244, 4245, 4246, 4247, 4211,
- 4212, 4248, 4249, 4210, 4210, 4210, 4227, 4228,
- 4228, 4207, 4229, 4230, 4210, 4252, 4253, 4254,
- 4255, 4256, 4257, 4258, 4259, 4260, 4261, 4262,
- 4263, 4264, 4265, 4266, 4267, 4268, 4210, 4210,
- 4252, 4253, 4254, 4255, 4256, 4257, 4258, 4259,
- 4260, 4261, 4262, 4263, 4264, 4265, 4266, 4267,
- 4268, 4211, 4212, 4248, 4249, 4210, 4251, 4210,
- 4210, 4250, 4270, 4270, 4271, 4272, 4273, 4274,
- 4274, 4274, 4275, 4276, 4277, 4278, 4274, 4274,
- 4274, 4269, 4206, 4206, 4207, 4279, 4280, 4210,
- 4252, 4253, 4254, 4255, 4256, 4257, 4258, 4259,
- 4260, 4261, 4262, 4263, 4264, 4265, 4266, 4267,
- 4268, 4210, 4210, 4252, 4253, 4254, 4255, 4256,
- 4257, 4258, 4259, 4260, 4261, 4262, 4263, 4264,
- 4265, 4266, 4267, 4268, 4211, 4212, 4281, 4282,
- 4210, 4251, 4210, 4210, 4250, 4283, 4283, 4207,
- 4284, 4285, 4210, 4210, 4210, 87, 88, 4286,
- 4287, 4210, 4210, 4210, 871, 4288, 4288, 4216,
- 4289, 4290, 4219, 73, 4220, 4219, 87, 88,
- 4286, 4291, 105, 106, 4286, 4292, 73, 73,
- 4219, 73, 4219, 73, 4219, 73, 871, 4215,
- 4215, 4216, 4217, 4218, 4219, 73, 4295, 4296,
- 4297, 4298, 4299, 4300, 4301, 4302, 4303, 4304,
- 4305, 4306, 4307, 4308, 4309, 4310, 4311, 4220,
- 4219, 4295, 4296, 4297, 4298, 4299, 4300, 4301,
- 4302, 4303, 4304, 4305, 4306, 4307, 4308, 4309,
- 4310, 4311, 4211, 4212, 4221, 4222, 4223, 4224,
- 4225, 4226, 73, 73, 4219, 4294, 73, 4219,
- 73, 4219, 73, 4293, 4288, 4288, 4216, 4289,
- 4290, 4219, 73, 4295, 4296, 4297, 4298, 4299,
- 4300, 4301, 4302, 4303, 4304, 4305, 4306, 4307,
- 4308, 4309, 4310, 4311, 4220, 4219, 4295, 4296,
- 4297, 4298, 4299, 4300, 4301, 4302, 4303, 4304,
- 4305, 4306, 4307, 4308, 4309, 4310, 4311, 87,
- 88, 4312, 4291, 105, 106, 4312, 4292, 73,
- 73, 4219, 4294, 73, 4219, 73, 4219, 73,
- 4293, 778, 778, 778, 778, 1036, 1037, 1036,
- 1039, 1036, 1037, 1038, 1037, 1032, 778, 778,
- 778, 1194, 1194, 1195, 1196, 1163, 1164, 1165,
- 1163, 1197, 1198, 1163, 1163, 1163, 1169, 778,
- 1209, 1209, 1210, 1211, 1204, 1212, 1213, 1214,
- 1214, 1215, 1216, 1204, 1204, 1204, 1203, 1218,
- 1217, 1203, 778, 1228, 1228, 1229, 1230, 1231,
- 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239,
- 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247,
- 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238,
- 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246,
- 1247, 1248, 1249, 1250, 1250, 1251, 1252, 1219,
- 1275, 1274, 1219, 778, 1814, 1814, 1815, 1816,
- 1817, 1818, 1819, 1819, 1820, 1821, 1810, 1810,
- 1810, 1806, 1823, 1822, 1806, 1842, 1842, 1843,
- 1844, 1846, 1847, 1845, 1845, 1845, 1806, 1792,
- 1849, 1849, 1850, 1851, 1852, 1853, 1854, 1854,
- 1855, 1856, 1845, 1845, 1845, 1806, 1858, 1857,
- 1806, 1860, 1859, 1792, 778, 778, 1930, 1930,
- 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938,
- 1939, 1940, 1941, 1942, 1942, 1943, 1944, 1921,
- 1960, 1959, 1921, 778, 778, 778, 778, 778,
- 778, 778, 778, 778, 2522, 2522, 2523, 2524,
- 2525, 2526, 2527, 2527, 2528, 2529, 2521, 2521,
- 2521, 2512, 2531, 2530, 2512, 778, 778, 2695,
- 2695, 2696, 2697, 2698, 2699, 2644, 2644, 2700,
- 2701, 2535, 2703, 2702, 2535, 2677, 2677, 2678,
- 2679, 2681, 2682, 2644, 2644, 2683, 2684, 2680,
- 2535, 2715, 2714, 2535, 2658, 2658, 2659, 2660,
- 2662, 2663, 2644, 2644, 2664, 2665, 2661, 2535,
- 2728, 2727, 2535, 2638, 2638, 2639, 2640, 2642,
- 2643, 2644, 2644, 2645, 2646, 2641, 2535, 2741,
- 2740, 2535, 778, 778, 778, 778, 2939, 2939,
- 2940, 2941, 2942, 2943, 2944, 2945, 2946, 2947,
- 2947, 2948, 2949, 2938, 2968, 2967, 75, 778,
- 3006, 3006, 3007, 3008, 3009, 3010, 3011, 3011,
- 3012, 3013, 3002, 3002, 3002, 2998, 3015, 3014,
- 2998, 778, 3048, 3048, 3049, 3050, 3051, 3052,
- 3053, 3053, 3054, 3055, 3044, 3044, 3044, 2998,
- 3057, 3056, 2998, 778, 3102, 3102, 3103, 3104,
- 3108, 3108, 3108, 3108, 3113, 3114, 3108, 3108,
- 3115, 3116, 3121, 3126, 3125, 3121, 3099, 3099,
- 3100, 3101, 3122, 3109, 3110, 3122, 3122, 3122,
- 3121, 3124, 3123, 3121, 3122, 3099, 3099, 3100,
- 3101, 3102, 3102, 3103, 3104, 3105, 3105, 3106,
- 3107, 3108, 3108, 3108, 3108, 3109, 3110, 3108,
- 3108, 3111, 3112, 3113, 3114, 3108, 3108, 3115,
- 3116, 3117, 3118, 3108, 3108, 3119, 3120, 3122,
- 3122, 3122, 3121, 3124, 3126, 3128, 3123, 3125,
- 3127, 3121, 778, 778, 778, 778, 778, 778,
- 778, 3985, 3985, 3986, 3987, 3988, 3989, 3990,
- 3990, 3991, 3992, 3981, 3981, 3981, 2998, 3994,
- 3993, 2998, 778, 778, 4057, 4057, 4058, 4059,
- 4060, 4061, 4062, 4062, 4063, 4064, 4053, 4053,
- 4053, 2998, 4066, 4065, 2998, 778, 778, 778,
- 778, 778, 778, 778, 0
+ 134, 135, 136, 137, 138, 139, 140, 141,
+ 80, 124, 125, 126, 127, 128, 129, 130,
+ 131, 132, 133, 134, 135, 136, 137, 138,
+ 139, 140, 141, 95, 96, 919, 875, 114,
+ 115, 920, 876, 75, 75, 123, 75, 120,
+ 890, 890, 891, 892, 160, 161, 162, 163,
+ 164, 160, 161, 162, 163, 164, 89, 90,
+ 893, 894, 908, 890, 890, 891, 892, 236,
+ 237, 238, 236, 237, 238, 89, 90, 893,
+ 894, 908, 890, 890, 891, 892, 281, 281,
+ 89, 90, 893, 894, 908, 890, 890, 891,
+ 892, 303, 304, 303, 304, 89, 90, 893,
+ 894, 908, 890, 890, 891, 892, 715, 328,
+ 715, 328, 89, 90, 893, 894, 908, 890,
+ 890, 891, 892, 371, 372, 371, 372, 89,
+ 90, 893, 894, 908, 890, 890, 891, 892,
+ 390, 391, 392, 393, 392, 393, 89, 90,
+ 893, 894, 908, 890, 890, 891, 892, 429,
+ 430, 429, 430, 89, 90, 893, 894, 908,
+ 890, 890, 891, 892, 450, 451, 452, 450,
+ 451, 452, 89, 90, 893, 894, 908, 890,
+ 890, 891, 892, 513, 513, 89, 90, 893,
+ 894, 908, 890, 890, 891, 892, 530, 530,
+ 89, 90, 893, 894, 908, 890, 890, 891,
+ 892, 540, 541, 542, 540, 541, 542, 89,
+ 90, 893, 894, 908, 890, 890, 891, 892,
+ 570, 571, 572, 573, 574, 575, 570, 571,
+ 572, 573, 574, 575, 89, 90, 893, 894,
+ 908, 890, 890, 891, 892, 636, 637, 638,
+ 636, 637, 638, 89, 90, 893, 894, 908,
+ 890, 890, 891, 892, 672, 672, 89, 90,
+ 893, 894, 908, 890, 890, 891, 892, 682,
+ 682, 89, 90, 893, 894, 908, 890, 890,
+ 891, 892, 695, 695, 89, 90, 893, 894,
+ 908, 921, 921, 100, 923, 924, 99, 99,
+ 925, 926, 99, 99, 99, 922, 927, 927,
+ 928, 929, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18,
+ 19, 20, 21, 22, 5, 6, 7, 8,
+ 9, 10, 11, 12, 13, 14, 15, 16,
+ 17, 18, 19, 20, 21, 22, 89, 90,
+ 930, 931, 4, 120, 86, 89, 86, 87,
+ 88, 90, 932, 933, 932, 934, 935, 936,
+ 795, 85, 92, 95, 92, 93, 94, 96,
+ 937, 862, 937, 938, 939, 940, 795, 91,
+ 863, 866, 863, 864, 865, 867, 941, 933,
+ 941, 942, 943, 944, 97, 877, 85, 868,
+ 98, 868, 869, 870, 871, 945, 862, 945,
+ 946, 947, 948, 97, 877, 85, 949, 949,
+ 39, 950, 950, 39, 951, 951, 952, 953,
+ 954, 955, 956, 956, 957, 958, 63, 959,
+ 959, 39, 960, 960, 39, 961, 961, 39,
+ 962, 962, 963, 964, 965, 966, 967, 967,
+ 968, 969, 63, 970, 970, 39, 971, 971,
+ 972, 973, 974, 975, 976, 976, 977, 978,
+ 63, 772, 980, 771, 979, 85, 981, 981,
+ 982, 983, 984, 867, 984, 867, 771, 771,
+ 771, 85, 985, 985, 986, 987, 988, 871,
+ 988, 871, 771, 771, 771, 91, 981, 984,
+ 981, 982, 983, 867, 989, 933, 989, 990,
+ 991, 944, 771, 979, 85, 985, 988, 985,
+ 986, 987, 871, 992, 862, 992, 993, 994,
+ 948, 771, 979, 85, 863, 866, 863, 864,
+ 865, 867, 995, 866, 995, 996, 997, 177,
+ 97, 117, 85, 868, 98, 868, 869, 870,
+ 871, 998, 98, 998, 999, 1000, 181, 97,
+ 117, 85, 1002, 1001, 77, 1003, 1003, 1004,
+ 1005, 75, 124, 125, 126, 127, 128, 129,
+ 130, 131, 132, 133, 134, 135, 136, 137,
+ 138, 139, 140, 141, 80, 124, 125, 126,
+ 127, 128, 129, 130, 131, 132, 133, 134,
+ 135, 136, 137, 138, 139, 140, 141, 89,
+ 90, 930, 1006, 107, 108, 930, 1007, 75,
+ 75, 123, 75, 120, 86, 89, 86, 87,
+ 88, 90, 1008, 933, 1008, 1009, 1010, 944,
+ 1001, 85, 92, 95, 92, 93, 94, 96,
+ 1011, 862, 1011, 1012, 1013, 948, 1001, 85,
+ 785, 785, 786, 787, 160, 161, 162, 163,
+ 164, 160, 161, 162, 163, 164, 788, 789,
+ 1014, 785, 785, 786, 787, 236, 237, 238,
+ 236, 237, 238, 788, 789, 1014, 785, 785,
+ 786, 787, 281, 281, 788, 789, 1014, 785,
+ 785, 786, 787, 303, 304, 303, 304, 788,
+ 789, 1014, 785, 785, 786, 787, 715, 328,
+ 715, 328, 788, 789, 1014, 785, 785, 786,
+ 787, 371, 372, 371, 372, 788, 789, 1014,
+ 785, 785, 786, 787, 390, 391, 392, 393,
+ 392, 393, 788, 789, 1014, 785, 785, 786,
+ 787, 429, 430, 429, 430, 788, 789, 1014,
+ 785, 785, 786, 787, 450, 451, 452, 450,
+ 451, 452, 788, 789, 1014, 785, 785, 786,
+ 787, 513, 513, 788, 789, 1014, 785, 785,
+ 786, 787, 530, 530, 788, 789, 1014, 785,
+ 785, 786, 787, 540, 541, 542, 540, 541,
+ 542, 788, 789, 1014, 785, 785, 786, 787,
+ 570, 571, 572, 573, 574, 575, 570, 571,
+ 572, 573, 574, 575, 788, 789, 1014, 785,
+ 785, 786, 787, 636, 637, 638, 636, 637,
+ 638, 788, 789, 1014, 785, 785, 786, 787,
+ 672, 672, 788, 789, 1014, 785, 785, 786,
+ 787, 682, 682, 788, 789, 1014, 785, 785,
+ 786, 787, 695, 695, 788, 789, 1014, 772,
+ 1016, 771, 1015, 91, 772, 1018, 771, 1017,
+ 154, 785, 785, 786, 787, 327, 328, 327,
+ 328, 788, 789, 1014, 98, 1020, 97, 1019,
+ 154, 1022, 1023, 1024, 1021, 1021, 1021, 796,
+ 1026, 1025, 1028, 1027, 1030, 1031, 1032, 1033,
+ 1030, 1030, 1030, 1030, 1029, 1034, 1035, 1036,
+ 1034, 1037, 1035, 1034, 1034, 1035, 1035, 1035,
+ 1029, 1038, 1039, 1039, 1038, 1040, 1039, 1038,
+ 1038, 1039, 1039, 1039, 1029, 1041, 1035, 1043,
+ 1042, 1044, 1042, 1045, 1046, 1047, 1045, 1048,
+ 1046, 1045, 1045, 1046, 1046, 1046, 1042, 1038,
+ 1038, 1038, 1038, 1029, 1049, 1049, 1049, 1049,
+ 1029, 1052, 1053, 1051, 1051, 1050, 1054, 1055,
+ 1054, 1057, 1054, 1055, 1056, 1055, 1050, 1051,
+ 1059, 1051, 1058, 1060, 1058, 1061, 1058, 1062,
+ 1063, 1062, 1065, 1062, 1063, 1064, 1063, 1058,
+ 1066, 1066, 1068, 1066, 1069, 1066, 1067, 1050,
+ 1070, 1070, 1072, 1070, 1073, 1070, 1071, 1050,
+ 1075, 1075, 1075, 1075, 1074, 1067, 1076, 1067,
+ 1058, 1077, 1058, 1078, 1058, 1079, 1079, 1081,
+ 1079, 1082, 1079, 1080, 1058, 1084, 1084, 1085,
+ 1086, 1087, 1088, 1083, 1084, 1084, 1085, 1086,
+ 1087, 1088, 1090, 1089, 1092, 1092, 1093, 1094,
+ 1096, 1097, 1098, 1099, 1100, 1096, 1097, 1098,
+ 1099, 1100, 1101, 1102, 1101, 1102, 1095, 1091,
+ 1104, 1104, 1105, 1106, 1107, 1108, 1107, 1108,
+ 1103, 1110, 1109, 1092, 1092, 1093, 1094, 1101,
+ 1102, 1101, 1102, 1111, 1091, 1114, 1115, 1116,
+ 1117, 1118, 1114, 1115, 1116, 1117, 1118, 1113,
+ 1112, 1119, 1119, 1120, 1121, 1123, 1124, 1123,
+ 1124, 1122, 1091, 1126, 1125, 1083, 1128, 1128,
+ 1129, 1130, 1131, 1132, 1127, 1128, 1128, 1129,
+ 1130, 1133, 1134, 1135, 1133, 1131, 1132, 1133,
+ 1133, 1133, 1127, 1136, 1137, 1138, 1136, 1136,
+ 1136, 1136, 1127, 1140, 1140, 1141, 1142, 1143,
+ 1143, 1144, 1143, 1145, 1146, 1145, 1146, 1143,
+ 1143, 1143, 1139, 1147, 1147, 1148, 1149, 1150,
+ 1151, 1150, 1151, 1139, 1153, 1152, 1154, 1136,
+ 1156, 1155, 1157, 1155, 1158, 1159, 1160, 1158,
+ 1158, 1158, 1158, 1155, 1140, 1140, 1141, 1142,
+ 1145, 1146, 1145, 1146, 1139, 1162, 1161, 1127,
+ 1163, 1163, 1164, 1165, 1166, 1167, 796, 1163,
+ 1163, 1164, 1165, 1166, 1167, 1168, 1168, 1168,
+ 1169, 1171, 1171, 1172, 1173, 1174, 1175, 1174,
+ 1176, 1170, 1178, 1178, 1179, 1180, 1181, 1182,
+ 1183, 1181, 1184, 1185, 1184, 1186, 1181, 1181,
+ 1181, 1177, 1188, 1189, 1190, 1188, 1188, 1188,
+ 1188, 1187, 1191, 1191, 1192, 1193, 1194, 1194,
+ 1195, 1194, 1196, 1197, 1196, 1197, 1194, 1194,
+ 1194, 1177, 1198, 1198, 1199, 1200, 1184, 1185,
+ 1184, 1185, 91, 1202, 1201, 1203, 1188, 1205,
+ 1204, 1206, 1204, 1207, 1208, 1209, 1207, 1207,
+ 1207, 1207, 1204, 1191, 1191, 1192, 1193, 1196,
+ 1197, 1196, 1197, 1177, 1202, 1211, 1201, 1210,
+ 91, 1212, 1212, 1213, 1214, 1181, 1182, 1183,
+ 1181, 1215, 1216, 1181, 1181, 1181, 1187, 1218,
+ 1217, 796, 1220, 1219, 796, 1222, 1222, 1222,
+ 1222, 1221, 1223, 1223, 1223, 1223, 1221, 1224,
+ 1225, 1224, 1224, 1224, 1221, 1226, 1227, 1226,
+ 1226, 1226, 1221, 1227, 1227, 1228, 1229, 1222,
+ 1230, 1231, 1232, 1232, 1233, 1234, 1222, 1222,
+ 1222, 1221, 1236, 1235, 1221, 1227, 1221, 1238,
+ 1238, 1239, 1240, 1241, 1242, 1243, 1243, 1244,
+ 1245, 1237, 1246, 1246, 1247, 1248, 1249, 1250,
+ 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258,
+ 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266,
+ 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256,
+ 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264,
+ 1265, 1266, 1267, 1268, 1269, 1269, 1270, 1271,
+ 1237, 1272, 1272, 1273, 1274, 1275, 1276, 1277,
+ 1275, 1276, 1277, 1278, 1279, 1280, 1280, 1281,
+ 1282, 1237, 1283, 1283, 1237, 1284, 1284, 1237,
+ 1285, 1285, 1286, 1287, 1288, 1289, 1290, 1290,
+ 1291, 1292, 1237, 1294, 1293, 1237, 1295, 1296,
+ 1297, 1298, 1299, 1295, 1296, 1297, 1298, 1299,
+ 1237, 1300, 1300, 1237, 1301, 1301, 1302, 1303,
+ 1304, 1305, 1306, 1306, 1307, 1308, 1237, 1309,
+ 1310, 1309, 1310, 1237, 1311, 1311, 1237, 1312,
+ 1312, 1237, 1313, 1313, 1237, 1314, 1314, 1237,
+ 1315, 1315, 1316, 1317, 1318, 1319, 1320, 1320,
+ 1321, 1322, 1237, 1323, 1323, 1324, 1325, 1326,
+ 1327, 1328, 1328, 1329, 1330, 1237, 1331, 1331,
+ 1237, 1332, 1332, 1237, 1333, 1333, 1334, 1335,
+ 1336, 1337, 1338, 1338, 1339, 1340, 1237, 1341,
+ 1341, 1237, 1342, 1342, 1237, 1343, 1343, 1237,
+ 1344, 1344, 1345, 1346, 1347, 1348, 1349, 1349,
+ 1350, 1351, 1237, 1352, 1352, 1237, 1353, 1353,
+ 1237, 1354, 1354, 1237, 1355, 1355, 1356, 1357,
+ 1358, 1359, 1360, 1360, 1361, 1362, 1237, 1363,
+ 1364, 1365, 1363, 1364, 1365, 1237, 1366, 1366,
+ 1237, 1367, 1367, 1237, 1368, 1368, 1237, 1369,
+ 1369, 1370, 1371, 1372, 1373, 1374, 1374, 1375,
+ 1376, 1237, 1377, 1378, 1377, 1378, 1237, 1379,
+ 1379, 1237, 1380, 1380, 1237, 1381, 1381, 1382,
+ 1383, 1384, 1385, 1386, 1386, 1387, 1388, 1237,
+ 1389, 1389, 1237, 1390, 1390, 1237, 1391, 1391,
+ 1237, 1392, 1392, 1393, 1394, 1395, 1396, 1397,
+ 1397, 1398, 1399, 1237, 1400, 1400, 1401, 1402,
+ 1403, 1404, 1405, 1405, 1406, 1407, 1237, 1408,
+ 1408, 1237, 1409, 1409, 1237, 1410, 1411, 1237,
+ 1412, 1237, 1413, 1413, 1414, 1415, 1416, 1417,
+ 1418, 1418, 1419, 1420, 1237, 1421, 1237, 1422,
+ 1422, 1423, 1424, 1425, 1426, 1427, 1427, 1428,
+ 1429, 1237, 1430, 1431, 1430, 1431, 1237, 1432,
+ 1432, 1237, 1433, 1433, 1237, 1434, 1434, 1237,
+ 1435, 1435, 1436, 1437, 1438, 1439, 1440, 1440,
+ 1441, 1442, 1237, 1443, 1443, 1237, 1444, 1444,
+ 1237, 1445, 1445, 1237, 1446, 1446, 1447, 1448,
+ 1449, 1450, 1451, 1451, 1452, 1453, 1237, 1454,
+ 1454, 1237, 1455, 1455, 1237, 1456, 1456, 1237,
+ 1457, 1457, 1237, 1458, 1458, 1237, 1459, 1459,
+ 1237, 1460, 1460, 1237, 1461, 1461, 1462, 1463,
+ 1464, 1465, 1466, 1466, 1467, 1468, 1237, 1469,
+ 1470, 1469, 1470, 1237, 1471, 1471, 1237, 1472,
+ 1472, 1473, 1474, 1475, 1476, 1477, 1477, 1478,
+ 1479, 1237, 1480, 1480, 1481, 1482, 1483, 1484,
+ 1485, 1485, 1486, 1487, 1237, 1488, 1489, 1490,
+ 1491, 1490, 1491, 1237, 1492, 1237, 1493, 1493,
+ 1494, 1495, 1496, 1497, 1498, 1498, 1499, 1500,
+ 1237, 1501, 1237, 1502, 1502, 1503, 1504, 1505,
+ 1506, 1507, 1507, 1508, 1509, 1237, 1510, 1510,
+ 1237, 1511, 1511, 1512, 1513, 1514, 1515, 1516,
+ 1516, 1517, 1518, 1237, 1519, 1519, 1520, 1521,
+ 1522, 1523, 1524, 1524, 1525, 1526, 1237, 1527,
+ 1528, 1527, 1528, 1237, 1529, 1529, 1237, 1530,
+ 1530, 1237, 1531, 1531, 1237, 1532, 1532, 1533,
+ 1534, 1535, 1536, 1537, 1537, 1538, 1539, 1237,
+ 1540, 1540, 1541, 1542, 1543, 1544, 1545, 1545,
+ 1546, 1547, 1237, 1548, 1549, 1550, 1548, 1549,
+ 1550, 1237, 1551, 1551, 1237, 1552, 1552, 1237,
+ 1553, 1553, 1237, 1554, 1554, 1555, 1556, 1557,
+ 1558, 1559, 1559, 1560, 1561, 1237, 1562, 1562,
+ 1237, 1563, 1563, 1564, 1565, 1566, 1567, 1568,
+ 1568, 1569, 1570, 1237, 1571, 1571, 1572, 1573,
+ 1574, 1574, 1575, 1576, 1577, 1577, 1578, 1579,
+ 1237, 1580, 1580, 1237, 1581, 1581, 1582, 1583,
+ 1584, 1585, 1586, 1587, 1587, 1588, 1589, 1237,
+ 1590, 1590, 1591, 1592, 1593, 1593, 1594, 1595,
+ 1596, 1596, 1597, 1598, 1237, 1599, 1599, 1237,
+ 1600, 1600, 1237, 1601, 1601, 1237, 1602, 1602,
+ 1237, 1603, 1603, 1604, 1605, 1606, 1607, 1608,
+ 1608, 1609, 1610, 1237, 1611, 1611, 1237, 1612,
+ 1612, 1237, 1613, 1613, 1237, 1614, 1614, 1237,
+ 1615, 1615, 1237, 1616, 1616, 1237, 1617, 1617,
+ 1237, 1618, 1618, 1237, 1619, 1619, 1237, 1620,
+ 1620, 1621, 1622, 1623, 1624, 1625, 1625, 1626,
+ 1627, 1237, 1628, 1628, 1237, 1629, 1629, 1237,
+ 1630, 1630, 1631, 1632, 1633, 1634, 1635, 1635,
+ 1636, 1637, 1237, 1638, 1639, 1640, 1638, 1639,
+ 1640, 1237, 1641, 1641, 1642, 1643, 1644, 1645,
+ 1646, 1646, 1647, 1648, 1237, 1649, 1649, 1237,
+ 1650, 1650, 1237, 1651, 1651, 1237, 1652, 1652,
+ 1653, 1654, 1655, 1656, 1657, 1657, 1658, 1659,
+ 1237, 1660, 1660, 1661, 1662, 1663, 1664, 1665,
+ 1665, 1666, 1667, 1237, 1668, 1669, 1670, 1671,
+ 1672, 1673, 1668, 1669, 1670, 1671, 1672, 1673,
+ 1237, 1674, 1674, 1237, 1675, 1675, 1237, 1676,
+ 1676, 1237, 1677, 1677, 1237, 1678, 1678, 1679,
+ 1680, 1681, 1682, 1683, 1683, 1684, 1685, 1237,
+ 1686, 1686, 1237, 1687, 1687, 1688, 1689, 1690,
+ 1691, 1692, 1692, 1693, 1694, 1237, 1695, 1695,
+ 1237, 1696, 1696, 1697, 1698, 1699, 1700, 1701,
+ 1701, 1702, 1703, 1237, 1704, 1704, 1237, 1705,
+ 1705, 1706, 1707, 1708, 1709, 1710, 1710, 1711,
+ 1712, 1237, 1713, 1713, 1237, 1714, 1714, 1237,
+ 1715, 1715, 1237, 1716, 1716, 1717, 1718, 1719,
+ 1720, 1721, 1721, 1722, 1723, 1237, 1724, 1724,
+ 1237, 1725, 1725, 1237, 1726, 1726, 1727, 1728,
+ 1729, 1730, 1731, 1731, 1732, 1733, 1237, 1734,
+ 1735, 1736, 1734, 1735, 1736, 1237, 1737, 1737,
+ 1237, 1738, 1738, 1237, 1739, 1739, 1740, 1741,
+ 1742, 1743, 1744, 1744, 1745, 1746, 1237, 1747,
+ 1747, 1237, 1748, 1748, 1749, 1750, 1751, 1752,
+ 1753, 1753, 1754, 1755, 1237, 1756, 1756, 1237,
+ 1757, 1757, 1237, 1758, 1237, 1759, 1759, 1760,
+ 1761, 1763, 1764, 1765, 1765, 1766, 1767, 1762,
+ 1237, 1768, 1768, 1237, 1769, 1769, 1237, 1770,
+ 1770, 1771, 1772, 1773, 1774, 1775, 1775, 1776,
+ 1777, 1237, 1778, 1778, 1237, 1779, 1779, 1237,
+ 1780, 1780, 1237, 1781, 1781, 1237, 1782, 1782,
+ 1237, 1783, 1783, 1784, 1785, 1786, 1787, 1788,
+ 1788, 1789, 1790, 1237, 1791, 1791, 1237, 1792,
+ 1792, 1237, 1793, 1793, 1237, 1794, 1794, 1237,
+ 1795, 1795, 1237, 1796, 1796, 1797, 1798, 1799,
+ 1800, 1801, 1801, 1802, 1803, 1237, 1804, 1804,
+ 1237, 1805, 1805, 1237, 1806, 1806, 1237, 1807,
+ 1807, 1808, 1809, 1810, 1811, 1812, 1812, 1813,
+ 1814, 1237, 1815, 1815, 1237, 1816, 1816, 1817,
+ 1818, 1819, 1820, 1821, 1821, 1822, 1823, 1237,
+ 1825, 1825, 1826, 1827, 1828, 1829, 1824, 1825,
+ 1825, 1826, 1827, 1828, 1829, 1831, 1830, 1832,
+ 1832, 1833, 1834, 1836, 1837, 1835, 1830, 1839,
+ 1839, 1840, 1841, 1843, 1844, 1842, 1842, 1842,
+ 1838, 1845, 1845, 1845, 1838, 1846, 1846, 1847,
+ 1848, 1849, 1850, 1851, 1851, 1852, 1853, 1842,
+ 1842, 1842, 1838, 1855, 1854, 1838, 1857, 1856,
+ 1824, 1859, 1858, 1824, 1860, 1860, 1861, 1862,
+ 1863, 1864, 1824, 1860, 1860, 1861, 1862, 1865,
+ 1863, 1864, 1866, 1830, 1867, 1867, 1868, 1869,
+ 1871, 1871, 1872, 1873, 1870, 1830, 1874, 1874,
+ 1875, 1876, 1878, 1879, 1877, 1877, 1877, 1838,
+ 1880, 1880, 1880, 1838, 1881, 1881, 1882, 1883,
+ 1884, 1885, 1886, 1886, 1887, 1888, 1877, 1877,
+ 1877, 1838, 1890, 1889, 1838, 1892, 1891, 1824,
+ 1893, 1893, 1894, 1895, 1896, 1897, 1870, 1830,
+ 1899, 1898, 1824, 1901, 1902, 1903, 1904, 1905,
+ 1906, 1907, 1908, 1900, 1909, 1900, 1910, 1900,
+ 1911, 1900, 1912, 1912, 1912, 1912, 1912, 1912,
+ 1900, 1913, 1900, 1914, 1900, 1915, 1900, 1916,
+ 1900, 1917, 1900, 1918, 1900, 1919, 1919, 1919,
+ 1919, 1919, 1919, 1900, 1920, 1900, 1921, 1900,
+ 1922, 1922, 1922, 1922, 1922, 1922, 1900, 1923,
+ 1900, 1924, 1900, 1925, 1926, 1900, 1927, 1900,
+ 1928, 1900, 1929, 1900, 1930, 1900, 1931, 1931,
+ 1931, 1931, 1931, 1931, 1900, 1932, 1900, 1933,
+ 1900, 1934, 1900, 1935, 1900, 1936, 1936, 1936,
+ 1936, 1936, 1936, 1900, 1937, 1900, 1938, 1900,
+ 1940, 1939, 1941, 1941, 1941, 1941, 1941, 1941,
+ 1942, 1939, 1943, 1900, 1944, 1900, 1945, 1900,
+ 1946, 1900, 1947, 1900, 1948, 1900, 1949, 1900,
+ 1950, 1900, 1951, 1900, 1952, 1900, 1953, 1900,
+ 1954, 1900, 1955, 1900, 1956, 1900, 1957, 1957,
+ 1957, 1957, 1957, 1957, 1900, 1958, 1900, 1959,
+ 1900, 1960, 1900, 1961, 1900, 1962, 1962, 1962,
+ 1962, 1962, 1962, 1900, 1963, 1900, 1964, 1900,
+ 1965, 1900, 1966, 1966, 1966, 1966, 1966, 1966,
+ 1900, 1968, 1968, 1969, 1970, 1971, 1972, 1973,
+ 1973, 1974, 1975, 1967, 1976, 1976, 1977, 1978,
+ 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986,
+ 1987, 1988, 1989, 1990, 1990, 1991, 1992, 1967,
+ 1993, 1967, 1994, 1967, 1995, 1967, 1996, 1967,
+ 1967, 1998, 1967, 1967, 1967, 1997, 1999, 1999,
+ 2000, 2001, 2002, 2003, 2004, 2004, 2005, 2006,
+ 1967, 2008, 2007, 1967, 2009, 1967, 2010, 1967,
+ 2011, 1967, 2012, 1967, 2013, 1967, 2014, 1967,
+ 2015, 1967, 1967, 2017, 1967, 1967, 1967, 2016,
+ 2018, 2018, 2019, 2020, 2021, 2022, 2023, 2023,
+ 2024, 2025, 1967, 2018, 2018, 2019, 2020, 2021,
+ 2022, 2023, 2023, 2024, 2025, 2026, 2026, 2026,
+ 1967, 2027, 1967, 2028, 2028, 2029, 2030, 2031,
+ 2032, 2033, 2033, 2034, 2035, 1967, 2036, 1967,
+ 2037, 1967, 2038, 1967, 2039, 2040, 2040, 2040,
+ 2040, 1967, 2041, 2041, 2041, 2041, 1967, 2042,
+ 2042, 2042, 2042, 1967, 2043, 2044, 2043, 2043,
+ 2043, 1967, 2045, 2046, 2045, 2045, 2045, 1967,
+ 2027, 2047, 2047, 2047, 2047, 1967, 2046, 1967,
+ 2048, 2048, 2048, 2048, 1967, 2049, 2050, 2049,
+ 2049, 2049, 1967, 2051, 2052, 2051, 2051, 2051,
+ 1967, 2018, 2018, 2019, 2020, 2053, 2021, 2022,
+ 2023, 2023, 2024, 2025, 2053, 2053, 2053, 1967,
+ 2052, 1967, 2054, 1967, 2055, 1967, 2056, 2057,
+ 1967, 2058, 1967, 2059, 1967, 2060, 1967, 2061,
+ 1967, 2062, 1967, 2064, 2065, 2065, 2063, 2066,
+ 2066, 2063, 2067, 2068, 2069, 2069, 2063, 2070,
+ 2070, 2063, 2071, 2071, 2072, 2073, 2074, 2075,
+ 2076, 2077, 2078, 2078, 2079, 2080, 2075, 2063,
+ 2081, 2081, 2063, 2082, 1967, 2083, 1967, 2084,
+ 1967, 2085, 1967, 2086, 1967, 2087, 2088, 2088,
+ 2088, 2088, 2063, 2089, 2089, 2089, 2089, 2063,
+ 2090, 2091, 2092, 2092, 2092, 2092, 2063, 2093,
+ 2093, 2093, 2093, 2063, 2094, 2094, 2095, 2096,
+ 2097, 2098, 2099, 2100, 2101, 2101, 2102, 2103,
+ 2098, 2098, 2098, 2063, 2104, 2104, 2104, 2104,
+ 2063, 2105, 1967, 2106, 1967, 2108, 2107, 2109,
+ 2109, 2110, 2111, 2113, 2114, 2115, 2116, 2116,
+ 2117, 2118, 2112, 2107, 1967, 1967, 1967, 1967,
+ 2016, 2119, 1967, 2120, 1967, 2121, 1967, 2122,
+ 1967, 2123, 1967, 2124, 1967, 2125, 1967, 2126,
+ 1967, 2127, 1967, 2128, 2129, 2129, 1967, 2130,
+ 2130, 1967, 2131, 2132, 1967, 2133, 2133, 1967,
+ 2134, 2134, 2135, 2136, 2137, 2138, 2139, 2140,
+ 2140, 2141, 2142, 1967, 2143, 2143, 1967, 2144,
+ 1967, 2145, 1967, 2146, 1967, 2147, 1967, 2148,
+ 1967, 2149, 1967, 2150, 1967, 2151, 1967, 2152,
+ 1967, 2153, 1967, 2154, 1967, 2155, 1967, 2156,
+ 1967, 2157, 1967, 2158, 2158, 2159, 2160, 2161,
+ 2162, 2163, 2163, 2164, 2165, 1967, 2166, 1967,
+ 2167, 1967, 2168, 1967, 2169, 1967, 2170, 2170,
+ 2171, 2172, 2173, 2174, 2175, 2175, 2176, 2177,
+ 1967, 2178, 1967, 2179, 1967, 2180, 1967, 2181,
+ 1967, 2182, 2183, 2107, 2184, 2107, 2185, 2186,
+ 2107, 2187, 2187, 2188, 2189, 2191, 2192, 2193,
+ 2193, 2194, 2195, 2190, 2107, 1999, 1999, 2000,
+ 2001, 2002, 2003, 2004, 2004, 2005, 2006, 2196,
+ 2196, 2196, 1967, 2197, 1967, 2200, 2201, 2202,
+ 2203, 2204, 2200, 2201, 2202, 2203, 2204, 2199,
+ 2198, 2205, 2205, 2205, 2205, 2206, 2198, 2207,
+ 2208, 2207, 2208, 2198, 2209, 2209, 2209, 2209,
+ 2198, 2210, 2210, 2198, 2211, 2212, 2211, 2211,
+ 2211, 2198, 2213, 2213, 2198, 2214, 2214, 2198,
+ 2215, 2215, 2198, 2216, 2216, 2198, 2217, 2198,
+ 2218, 2198, 2219, 2219, 2198, 2220, 2220, 2198,
+ 2221, 2221, 2198, 2222, 2198, 2223, 2223, 2223,
+ 2223, 2198, 2224, 2225, 2224, 2225, 2198, 2226,
+ 2227, 2226, 2227, 2198, 2228, 2198, 2229, 2229,
+ 2198, 2230, 2230, 2198, 2231, 2231, 2198, 2232,
+ 2232, 2198, 2233, 2233, 2233, 2233, 2198, 2234,
+ 2234, 2198, 2235, 2235, 2198, 2236, 2236, 2198,
+ 2237, 2238, 2198, 2239, 2198, 2240, 2198, 2241,
+ 2241, 2198, 2242, 2242, 2198, 2243, 2243, 2198,
+ 2244, 2198, 2245, 2198, 2246, 2198, 2247, 2247,
+ 2247, 2247, 2198, 2248, 2198, 2249, 2198, 2250,
+ 2250, 2198, 2251, 2251, 2198, 2252, 2252, 2198,
+ 2253, 2198, 2254, 2198, 2255, 2198, 2256, 2256,
+ 2256, 2256, 2198, 2257, 2258, 2198, 2259, 2198,
+ 2260, 2198, 2261, 2198, 2262, 2198, 2263, 2263,
+ 2263, 2263, 2198, 2264, 2198, 2265, 2198, 2266,
+ 2266, 2266, 2266, 2198, 2267, 2267, 2198, 2268,
+ 2268, 2198, 2269, 2269, 2198, 2270, 2270, 2198,
+ 2271, 2271, 2198, 2272, 2272, 2198, 2273, 2273,
+ 2198, 2274, 2274, 2274, 2274, 2198, 2275, 2275,
+ 2198, 2276, 2276, 2198, 2277, 2277, 2198, 2278,
+ 2278, 2198, 2279, 2279, 2198, 2280, 2280, 2198,
+ 2281, 2282, 2281, 2282, 2198, 2283, 2283, 2198,
+ 2284, 2284, 2198, 2285, 2285, 2285, 2285, 2198,
+ 2286, 2286, 2198, 2287, 2287, 2198, 2288, 2288,
+ 2288, 2288, 2198, 2289, 2289, 2198, 2290, 2290,
+ 2198, 2291, 2292, 2291, 2292, 2198, 2293, 2293,
+ 2198, 2294, 2198, 2295, 2295, 2295, 2295, 2198,
+ 2296, 2296, 2198, 2297, 2297, 2198, 2298, 2299,
+ 2300, 2198, 2301, 2302, 2301, 2301, 2301, 2198,
+ 2303, 2303, 2198, 2304, 2304, 2198, 2305, 2305,
+ 2198, 2306, 2306, 2198, 2307, 2198, 2308, 2198,
+ 2309, 2309, 2198, 2310, 2310, 2198, 2311, 2311,
+ 2198, 2312, 2198, 2313, 2313, 2313, 2313, 2198,
+ 2314, 2198, 2315, 2198, 2316, 2316, 2316, 2316,
+ 2198, 2317, 2198, 2318, 2198, 2319, 2319, 2319,
+ 2319, 2198, 2322, 2323, 2324, 2325, 2326, 2327,
+ 2322, 2323, 2324, 2325, 2326, 2327, 2321, 2320,
+ 2328, 2328, 2328, 2328, 2329, 2320, 2330, 2330,
+ 2320, 2331, 2331, 2320, 2332, 2332, 2320, 2333,
+ 2333, 2320, 2334, 2334, 2320, 2335, 2335, 2335,
+ 2335, 2320, 2336, 2337, 2338, 2336, 2337, 2338,
+ 2320, 2339, 2339, 2320, 2340, 2340, 2320, 2341,
+ 2341, 2320, 2342, 2342, 2320, 2343, 2343, 2320,
+ 2344, 2344, 2344, 2344, 2320, 2345, 2346, 2345,
+ 2346, 2320, 2347, 2347, 2320, 2348, 2348, 2348,
+ 2348, 2320, 2349, 2349, 2320, 2350, 2350, 2320,
+ 2351, 2351, 2351, 2351, 2320, 2352, 2352, 2320,
+ 2353, 2353, 2320, 2354, 2354, 2320, 2355, 2355,
+ 2355, 2355, 2320, 2356, 2356, 2320, 2357, 2357,
+ 2320, 2358, 2358, 2358, 2358, 2320, 2359, 2360,
+ 2359, 2360, 2320, 2361, 2361, 2320, 2362, 2362,
+ 2362, 2362, 2320, 2363, 2363, 2320, 2364, 2364,
+ 2320, 2365, 2365, 2365, 2365, 2320, 2366, 2366,
+ 2320, 2367, 2367, 2320, 2368, 2368, 2320, 2369,
+ 2369, 2369, 2369, 2320, 2370, 2370, 2320, 2371,
+ 2371, 2320, 2372, 2372, 2372, 2372, 2320, 2374,
+ 2374, 2373, 2375, 2376, 2375, 2375, 2375, 2376,
+ 2373, 2377, 2377, 2377, 2377, 2377, 2377, 77,
+ 2378, 2378, 2378, 2378, 77, 2379, 2379, 2379,
+ 2379, 2379, 2379, 77, 2380, 2380, 2381, 2382,
+ 2383, 2384, 77, 2385, 2385, 2386, 2387, 2388,
+ 2388, 2388, 2389, 2390, 2388, 2388, 2388, 77,
+ 2391, 2391, 2392, 2393, 2394, 2395, 77, 2397,
+ 2397, 2398, 2399, 2401, 2402, 2400, 2396, 2403,
+ 2403, 2404, 2405, 2407, 2408, 2406, 2396, 2409,
+ 2409, 2410, 2411, 2413, 2414, 2412, 2396, 2416,
+ 2416, 2417, 2418, 2420, 2421, 2422, 2423, 2424,
+ 2420, 2421, 2422, 2423, 2424, 2425, 2426, 2419,
+ 2415, 2427, 2427, 2428, 2429, 2431, 2432, 2430,
+ 2396, 2433, 2433, 2434, 2435, 2437, 2438, 2439,
+ 2440, 2441, 2437, 2438, 2439, 2440, 2441, 2442,
+ 2443, 2436, 2415, 2444, 2444, 2445, 2446, 2448,
+ 2449, 2447, 2396, 2450, 2450, 2451, 2452, 2454,
+ 2455, 2456, 2457, 2458, 2454, 2455, 2456, 2457,
+ 2458, 2459, 2460, 2453, 2415, 2461, 2461, 2462,
+ 2463, 2465, 2466, 2464, 2396, 2467, 2467, 2469,
+ 2470, 2471, 2472, 2473, 2469, 2470, 2471, 2472,
+ 2473, 2467, 2467, 2468, 2415, 2467, 2467, 2467,
+ 2467, 2474, 2415, 2476, 2477, 2478, 2479, 2480,
+ 2476, 2477, 2478, 2479, 2480, 2475, 2415, 2481,
+ 2481, 2481, 2481, 2482, 2415, 2484, 2483, 77,
+ 2450, 2450, 2451, 2452, 2459, 2460, 2485, 2415,
+ 2487, 2488, 2489, 2490, 2491, 2487, 2488, 2489,
+ 2490, 2491, 2486, 2415, 2492, 2492, 2493, 2494,
+ 2496, 2497, 2495, 2415, 2499, 2498, 77, 2433,
+ 2433, 2434, 2435, 2442, 2443, 2500, 2415, 2502,
+ 2503, 2504, 2505, 2506, 2502, 2503, 2504, 2505,
+ 2506, 2501, 2415, 2507, 2507, 2508, 2509, 2511,
+ 2512, 2510, 2415, 2514, 2513, 77, 2416, 2416,
+ 2417, 2418, 2425, 2426, 2515, 2415, 2517, 2518,
+ 2519, 2520, 2521, 2517, 2518, 2519, 2520, 2521,
+ 2516, 2415, 2522, 2522, 2523, 2524, 2526, 2527,
+ 2525, 2415, 2529, 2528, 77, 2531, 2530, 77,
+ 2533, 2532, 77, 77, 77, 77, 77, 2534,
+ 2535, 2535, 2536, 2537, 2538, 2539, 77, 2541,
+ 2541, 2542, 2543, 2544, 2545, 2540, 2540, 2540,
+ 77, 2546, 2546, 2546, 2546, 77, 2548, 2547,
+ 77, 2549, 2549, 2549, 2549, 2549, 2549, 77,
+ 2550, 2550, 2551, 2552, 2553, 2554, 77, 2555,
+ 2555, 2556, 2557, 2558, 2558, 2558, 2559, 2560,
+ 2558, 2558, 2558, 77, 2561, 2561, 2561, 2561,
+ 77, 2563, 2562, 77, 2564, 2396, 2565, 2565,
+ 2566, 2567, 2569, 2570, 2568, 2396, 2571, 2571,
+ 2572, 2573, 2574, 2574, 2574, 2575, 2576, 2574,
+ 2574, 2574, 77, 2577, 2577, 2577, 2577, 77,
+ 2579, 2578, 77, 2581, 2581, 2581, 2581, 2580,
+ 2582, 2582, 2583, 2584, 2585, 2586, 2587, 2587,
+ 2588, 2589, 2581, 2591, 2591, 2592, 2593, 2594,
+ 2595, 2596, 2596, 2597, 2598, 2590, 2590, 2590,
+ 2581, 2600, 2599, 2581, 2601, 2601, 2601, 2601,
+ 2373, 2602, 2603, 2602, 2602, 2602, 2603, 2603,
+ 2603, 2373, 2605, 2604, 2606, 2606, 2607, 2608,
+ 2610, 2611, 2609, 2604, 2612, 2612, 2613, 2614,
+ 2616, 2617, 2618, 2619, 2615, 2604, 2620, 2620,
+ 2621, 2622, 2624, 2625, 2623, 2604, 2626, 2626,
+ 2627, 2628, 2616, 2617, 2630, 2631, 2629, 2604,
+ 2632, 2632, 2633, 2634, 2635, 2637, 2638, 2636,
+ 2604, 2639, 2639, 2640, 2641, 2616, 2617, 2642,
+ 2643, 2604, 2644, 2644, 2645, 2646, 2647, 2648,
+ 2604, 2644, 2644, 2645, 2646, 2647, 2648, 2649,
+ 2604, 2650, 2650, 2651, 2652, 2654, 2655, 2653,
+ 2604, 2656, 2656, 2657, 2658, 2660, 2661, 2662,
+ 2663, 2659, 2604, 2664, 2664, 2665, 2666, 2668,
+ 2669, 2667, 2604, 2670, 2670, 2671, 2672, 2660,
+ 2661, 2674, 2675, 2673, 2604, 2676, 2676, 2677,
+ 2678, 2679, 2681, 2682, 2680, 2604, 2683, 2683,
+ 2684, 2685, 2660, 2661, 2686, 2687, 2604, 2688,
+ 2688, 2689, 2690, 2691, 2692, 2604, 2688, 2688,
+ 2689, 2690, 2693, 2691, 2692, 2694, 2604, 2695,
+ 2604, 2696, 2696, 2697, 2698, 2699, 2701, 2702,
+ 2703, 2704, 2704, 2705, 2706, 2700, 2604, 2707,
+ 2707, 2708, 2709, 2711, 2712, 2713, 2713, 2714,
+ 2715, 2710, 2604, 2716, 2716, 2717, 2718, 2719,
+ 2721, 2722, 2723, 2724, 2724, 2725, 2726, 2720,
+ 2604, 2727, 2727, 2728, 2729, 2731, 2732, 2713,
+ 2713, 2733, 2734, 2730, 2604, 2735, 2735, 2736,
+ 2737, 2738, 2740, 2741, 2742, 2743, 2743, 2744,
+ 2745, 2739, 2604, 2746, 2746, 2747, 2748, 2750,
+ 2751, 2713, 2713, 2752, 2753, 2749, 2604, 2754,
+ 2754, 2755, 2756, 2757, 2754, 2759, 2760, 2761,
+ 2761, 2762, 2763, 2758, 2604, 2764, 2764, 2765,
+ 2766, 2767, 2768, 2713, 2713, 2769, 2770, 2604,
+ 2772, 2771, 2604, 2773, 2773, 2774, 2775, 2773,
+ 2777, 2778, 2779, 2779, 2780, 2781, 2776, 2604,
+ 2754, 2754, 2755, 2756, 2754, 2759, 2760, 2761,
+ 2761, 2762, 2763, 2782, 2604, 2784, 2783, 2604,
+ 2785, 2785, 2786, 2787, 2789, 2790, 2791, 2792,
+ 2792, 2793, 2794, 2788, 2604, 2735, 2735, 2736,
+ 2737, 2740, 2741, 2742, 2743, 2743, 2744, 2745,
+ 2795, 2604, 2746, 2746, 2747, 2748, 2750, 2751,
+ 2713, 2713, 2752, 2753, 2604, 2797, 2796, 2604,
+ 2798, 2798, 2799, 2800, 2802, 2803, 2804, 2805,
+ 2805, 2806, 2807, 2801, 2604, 2716, 2716, 2717,
+ 2718, 2721, 2722, 2723, 2724, 2724, 2725, 2726,
+ 2808, 2604, 2727, 2727, 2728, 2729, 2731, 2732,
+ 2713, 2713, 2733, 2734, 2604, 2810, 2809, 2604,
+ 2811, 2811, 2812, 2813, 2815, 2816, 2817, 2818,
+ 2818, 2819, 2820, 2814, 2604, 2696, 2696, 2697,
+ 2698, 2701, 2702, 2703, 2704, 2704, 2705, 2706,
+ 2821, 2604, 2707, 2707, 2708, 2709, 2711, 2712,
+ 2713, 2713, 2714, 2715, 2604, 2823, 2822, 2604,
+ 2824, 2824, 2825, 2826, 2827, 2828, 2604, 2830,
+ 2829, 2604, 2831, 2831, 2832, 2833, 2835, 2836,
+ 2834, 2604, 2676, 2676, 2677, 2678, 2681, 2682,
+ 2837, 2604, 2839, 2838, 2604, 2841, 2840, 2604,
+ 2843, 2842, 2604, 2844, 2844, 2845, 2846, 2847,
+ 2848, 2604, 2850, 2849, 2604, 2851, 2851, 2852,
+ 2853, 2855, 2856, 2854, 2604, 2632, 2632, 2633,
+ 2634, 2637, 2638, 2857, 2604, 2859, 2858, 2604,
+ 2861, 2860, 2604, 2862, 2396, 2863, 2863, 2864,
+ 2865, 2867, 2868, 2866, 2396, 2869, 2869, 2870,
+ 2871, 2873, 2874, 2872, 2396, 2875, 2875, 2876,
+ 2877, 2879, 2880, 2878, 2396, 2881, 2881, 2882,
+ 2883, 2885, 2886, 2884, 2396, 2887, 2887, 2888,
+ 2889, 2891, 2892, 2890, 2396, 2893, 2893, 2894,
+ 2895, 2896, 2896, 2896, 2897, 2898, 2896, 2896,
+ 2896, 77, 2899, 2899, 2899, 2899, 77, 2901,
+ 2900, 77, 2903, 2902, 77, 2905, 2904, 77,
+ 2906, 2396, 2907, 2907, 2908, 2909, 2911, 2912,
+ 2910, 2396, 2913, 2913, 2914, 2915, 2917, 2918,
+ 2916, 2396, 2919, 2919, 2920, 2921, 2923, 2924,
+ 2922, 2396, 2926, 2926, 2927, 2928, 2929, 2930,
+ 2925, 2925, 2925, 77, 2931, 2931, 2932, 2933,
+ 2934, 2935, 77, 2937, 2937, 2938, 2939, 2940,
+ 2941, 2936, 2936, 2936, 77, 2942, 2942, 2943,
+ 2944, 2945, 2946, 77, 2948, 2948, 2949, 2950,
+ 2951, 2952, 2947, 2947, 2947, 77, 2953, 2953,
+ 2954, 2955, 2956, 2957, 77, 2958, 2958, 2959,
+ 2960, 2961, 2961, 2961, 2962, 2963, 2961, 2961,
+ 2961, 77, 2964, 2964, 2964, 2964, 77, 2966,
+ 2965, 77, 2968, 2967, 77, 2970, 2969, 77,
+ 2972, 2971, 77, 2974, 2973, 77, 2975, 2975,
+ 2975, 77, 2976, 2976, 2977, 2978, 2979, 2980,
+ 77, 2976, 2976, 2977, 2978, 2979, 2980, 2981,
+ 2396, 2982, 2982, 2983, 2984, 2986, 2987, 2985,
+ 2396, 2988, 2988, 2989, 2990, 2992, 2993, 2991,
+ 2991, 2991, 77, 2994, 2994, 2995, 2996, 2997,
+ 2998, 77, 2994, 2994, 2995, 2996, 2999, 2997,
+ 2998, 2999, 2999, 2999, 77, 3000, 3000, 77,
+ 3002, 3001, 77, 3004, 3003, 77, 3006, 3005,
+ 77, 3008, 3008, 3009, 3010, 3011, 3012, 3013,
+ 3014, 3015, 3016, 3016, 3017, 3018, 3007, 3019,
+ 3020, 3007, 3021, 3007, 3023, 3023, 3022, 3025,
+ 3024, 3022, 3026, 3007, 3027, 3027, 3028, 3029,
+ 3031, 3032, 3033, 3033, 3034, 3035, 3030, 3007,
+ 3037, 3036, 77, 3038, 3007, 3039, 3039, 3039,
+ 3039, 3022, 3041, 3040, 3040, 3040, 3022, 3042,
+ 2396, 3043, 3043, 3044, 3045, 3047, 3048, 3046,
+ 2396, 3049, 3049, 3050, 3051, 3053, 3054, 3052,
+ 3052, 3052, 77, 3055, 3055, 3056, 3057, 3058,
+ 3059, 77, 3055, 3055, 3056, 3057, 3058, 3059,
+ 3060, 2396, 3061, 3061, 3062, 3063, 3065, 3066,
+ 3064, 2396, 3068, 3068, 3069, 3070, 3072, 3073,
+ 3071, 3071, 3071, 3067, 3074, 3074, 3074, 3067,
+ 3075, 3075, 3076, 3077, 3078, 3079, 3080, 3080,
+ 3081, 3082, 3071, 3071, 3071, 3067, 3084, 3083,
+ 3067, 3086, 3085, 77, 3088, 3087, 77, 3090,
+ 3089, 77, 3091, 2396, 3092, 3092, 3093, 3094,
+ 3096, 3097, 3095, 2396, 3098, 3098, 3099, 3100,
+ 3102, 3103, 3101, 2396, 3104, 3104, 3105, 3106,
+ 3108, 3109, 3107, 2396, 3110, 3110, 3111, 3112,
+ 3114, 3115, 3113, 3113, 3113, 3067, 3116, 3116,
+ 3116, 3067, 3117, 3117, 3118, 3119, 3120, 3121,
+ 3122, 3122, 3123, 3124, 3113, 3113, 3113, 3067,
+ 3126, 3125, 3067, 3128, 3127, 77, 3130, 3129,
+ 77, 3131, 2396, 3132, 3132, 3133, 3134, 3136,
+ 3137, 3135, 2396, 3139, 3139, 3140, 3141, 3142,
+ 3143, 3144, 3145, 3146, 3147, 3138, 3148, 3148,
+ 3149, 3150, 3151, 3152, 3138, 3148, 3148, 3149,
+ 3150, 3151, 3152, 3154, 3153, 3155, 3155, 3156,
+ 3157, 3159, 3160, 3158, 3153, 3161, 3161, 3162,
+ 3163, 3164, 3165, 3166, 3138, 3168, 3168, 3169,
+ 3170, 3171, 3171, 3172, 3173, 3174, 3174, 3175,
+ 3176, 3177, 3177, 3177, 3177, 3178, 3179, 3177,
+ 3177, 3180, 3181, 3182, 3183, 3177, 3177, 3184,
+ 3185, 3186, 3187, 3177, 3177, 3188, 3189, 3167,
+ 3168, 3168, 3169, 3170, 3191, 3178, 3179, 3191,
+ 3191, 3191, 3190, 3177, 3177, 3190, 3193, 3192,
+ 3190, 3171, 3171, 3172, 3173, 3177, 3177, 3177,
+ 3177, 3182, 3183, 3177, 3177, 3184, 3185, 3190,
+ 3195, 3194, 3190, 3191, 3168, 3168, 3169, 3170,
+ 3171, 3171, 3172, 3173, 3174, 3174, 3175, 3176,
+ 3177, 3177, 3177, 3177, 3178, 3179, 3177, 3177,
+ 3180, 3181, 3182, 3183, 3177, 3177, 3184, 3185,
+ 3186, 3187, 3177, 3177, 3188, 3189, 3191, 3191,
+ 3191, 3190, 3193, 3195, 3197, 3192, 3194, 3196,
+ 3190, 3199, 3198, 3138, 3201, 3200, 3138, 3202,
+ 3202, 3203, 3204, 3205, 3206, 3138, 3202, 3202,
+ 3203, 3204, 3205, 3206, 3207, 3153, 3208, 3208,
+ 3209, 3210, 3212, 3213, 3211, 3153, 3215, 3215,
+ 3216, 3217, 3218, 3219, 3220, 3218, 3214, 3222,
+ 3223, 3223, 3224, 3225, 3226, 3226, 3227, 3228,
+ 3229, 3229, 3230, 3231, 3232, 3232, 3232, 3232,
+ 3233, 3234, 3232, 3232, 3235, 3236, 3237, 3238,
+ 3232, 3232, 3239, 3240, 3241, 3242, 3232, 3232,
+ 3243, 3244, 3222, 3221, 3246, 3245, 3138, 3248,
+ 3247, 3138, 3249, 3249, 3250, 3251, 3252, 3253,
+ 3138, 3249, 3249, 3250, 3251, 3252, 3253, 3254,
+ 3153, 3255, 3255, 3256, 3257, 3259, 3260, 3258,
+ 3153, 3261, 3261, 3262, 3263, 3264, 3265, 3266,
+ 3264, 3264, 3264, 3214, 3267, 3268, 3268, 3269,
+ 3270, 3271, 3271, 3272, 3273, 3274, 3274, 3275,
+ 3276, 3277, 3277, 3277, 3277, 3278, 3279, 3277,
+ 3277, 3280, 3281, 3282, 3283, 3277, 3277, 3284,
+ 3285, 3286, 3287, 3277, 3277, 3288, 3289, 3267,
+ 3267, 3267, 3221, 3291, 3290, 3138, 3293, 3292,
+ 3138, 3294, 3294, 3295, 3296, 3297, 3298, 3138,
+ 3294, 3294, 3295, 3296, 3297, 3298, 3299, 3153,
+ 3300, 3300, 3301, 3302, 3304, 3305, 3303, 3153,
+ 3306, 3306, 3307, 3308, 3309, 3309, 3309, 3310,
+ 3311, 3309, 3309, 3309, 3138, 3312, 3312, 3313,
+ 3314, 3315, 3315, 3316, 3317, 3318, 3318, 3319,
+ 3320, 3321, 3321, 3321, 3321, 3322, 3323, 3321,
+ 3321, 3324, 3325, 3326, 3327, 3321, 3321, 3328,
+ 3329, 3330, 3331, 3321, 3321, 3332, 3333, 3167,
+ 3335, 3334, 3138, 3337, 3336, 3138, 3339, 3338,
+ 77, 3341, 3342, 3343, 3344, 3345, 3346, 3347,
+ 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355,
+ 3356, 3357, 3358, 3341, 3342, 3343, 3344, 3345,
+ 3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353,
+ 3354, 3355, 3356, 3357, 3358, 3340, 3359, 3359,
+ 3360, 3361, 3362, 3363, 3364, 3362, 3363, 3364,
+ 3365, 3366, 3340, 3367, 3367, 3368, 3369, 3371,
+ 3372, 3370, 3370, 3370, 77, 3373, 3373, 3374,
+ 3375, 3376, 3377, 77, 3373, 3373, 3374, 3375,
+ 3376, 3377, 3378, 2396, 3379, 3379, 3380, 3381,
+ 3383, 3384, 3382, 2396, 3385, 3385, 3386, 3387,
+ 3389, 3390, 3388, 2396, 3391, 3391, 3392, 3393,
+ 3395, 3396, 3394, 2396, 3398, 3398, 3399, 3400,
+ 3402, 3403, 3401, 3397, 3404, 3404, 3405, 3406,
+ 3408, 3409, 3407, 3397, 3410, 3410, 3411, 3412,
+ 3414, 3415, 3413, 3397, 3416, 3416, 3417, 3418,
+ 3420, 3421, 3419, 3397, 3422, 3422, 3423, 3424,
+ 3426, 3427, 3425, 2396, 3428, 3428, 3429, 3430,
+ 3432, 3433, 3431, 2396, 3434, 3434, 3435, 3436,
+ 3437, 3437, 3437, 3438, 3439, 3437, 3437, 3437,
+ 77, 3440, 3440, 3441, 3442, 3443, 3444, 77,
+ 3445, 3445, 3446, 3447, 3448, 3449, 3450, 3448,
+ 3448, 3448, 77, 3451, 3451, 77, 3453, 3452,
+ 77, 3455, 3454, 77, 3457, 3456, 77, 3459,
+ 3458, 77, 3461, 3460, 77, 3463, 3462, 77,
+ 3465, 3464, 77, 3467, 3466, 77, 3468, 3468,
+ 3340, 3469, 3469, 3340, 3470, 3470, 3471, 3472,
+ 3473, 3474, 3340, 3475, 3475, 3340, 3476, 3476,
+ 3340, 3477, 3477, 3340, 3478, 3478, 3479, 3480,
+ 3481, 3482, 3340, 3483, 3483, 3340, 3484, 3484,
+ 3485, 3486, 3487, 3488, 3340, 3489, 3490, 3491,
+ 3492, 3493, 3489, 3490, 3491, 3492, 3493, 3340,
+ 3494, 3494, 3340, 3495, 3495, 3496, 3497, 3498,
+ 3499, 3340, 3500, 3501, 3500, 3501, 3340, 3502,
+ 3502, 3340, 3503, 3503, 3340, 3504, 3504, 3340,
+ 3505, 3505, 3340, 3506, 3506, 3507, 3508, 3509,
+ 3510, 3340, 3511, 3511, 3512, 3513, 3514, 3515,
+ 3340, 3516, 3516, 3340, 3517, 3517, 3340, 3518,
+ 3518, 3519, 3520, 3521, 3522, 3340, 3523, 3523,
+ 3340, 3524, 3524, 3340, 3525, 3525, 3340, 3526,
+ 3526, 3527, 3528, 3529, 3530, 3340, 3531, 3531,
+ 3340, 3532, 3532, 3340, 3533, 3533, 3340, 3534,
+ 3534, 3535, 3536, 3537, 3538, 3340, 3539, 3540,
+ 3541, 3539, 3540, 3541, 3340, 3542, 3542, 3340,
+ 3543, 3543, 3340, 3544, 3544, 3340, 3545, 3545,
+ 3546, 3547, 3548, 3549, 3340, 3550, 3551, 3550,
+ 3551, 3340, 3552, 3552, 3340, 3553, 3553, 3340,
+ 3554, 3554, 3555, 3556, 3557, 3558, 3340, 3559,
+ 3559, 3340, 3560, 3560, 3340, 3561, 3561, 3340,
+ 3562, 3562, 3563, 3564, 3565, 3566, 3340, 3567,
+ 3567, 3568, 3569, 3570, 3571, 3340, 3572, 3572,
+ 3340, 3573, 3573, 3340, 3574, 3575, 3340, 3576,
+ 3340, 3577, 3577, 3578, 3579, 3580, 3581, 3340,
+ 3582, 3340, 3583, 3583, 3584, 3585, 3586, 3587,
+ 3340, 3588, 3589, 3588, 3589, 3340, 3590, 3590,
+ 3340, 3591, 3591, 3340, 3592, 3592, 3340, 3593,
+ 3593, 3594, 3595, 3596, 3597, 3340, 3598, 3598,
+ 3340, 3599, 3599, 3340, 3600, 3600, 3340, 3601,
+ 3601, 3602, 3603, 3604, 3605, 3340, 3606, 3606,
+ 3340, 3607, 3607, 3340, 3608, 3608, 3340, 3609,
+ 3609, 3340, 3610, 3610, 3340, 3611, 3611, 3340,
+ 3612, 3612, 3340, 3613, 3613, 3614, 3615, 3616,
+ 3617, 3340, 3618, 3619, 3618, 3619, 3340, 3620,
+ 3620, 3340, 3621, 3621, 3622, 3623, 3624, 3625,
+ 3340, 3626, 3626, 3627, 3628, 3629, 3630, 3340,
+ 3631, 3632, 3633, 3634, 3633, 3634, 3340, 3635,
+ 3340, 3636, 3636, 3637, 3638, 3639, 3640, 3340,
+ 3641, 3340, 3642, 3642, 3643, 3644, 3645, 3646,
+ 3340, 3647, 3647, 3340, 3648, 3648, 3649, 3650,
+ 3651, 3652, 3340, 3653, 3653, 3654, 3655, 3656,
+ 3657, 3340, 3658, 3659, 3658, 3659, 3340, 3660,
+ 3660, 3340, 3661, 3661, 3340, 3662, 3662, 3340,
+ 3663, 3663, 3664, 3665, 3666, 3667, 3340, 3668,
+ 3668, 3669, 3670, 3671, 3672, 3340, 3673, 3674,
+ 3675, 3673, 3674, 3675, 3340, 3676, 3676, 3340,
+ 3677, 3677, 3340, 3678, 3678, 3340, 3679, 3679,
+ 3680, 3681, 3682, 3683, 3340, 3684, 3684, 3340,
+ 3685, 3685, 3686, 3687, 3688, 3689, 3340, 3690,
+ 3690, 3691, 3692, 3693, 3693, 3694, 3695, 3340,
+ 3696, 3696, 3340, 3697, 3697, 3698, 3699, 3700,
+ 3701, 3702, 3340, 3703, 3703, 3704, 3705, 3706,
+ 3706, 3707, 3708, 3340, 3709, 3709, 3340, 3710,
+ 3710, 3340, 3711, 3711, 3340, 3712, 3712, 3340,
+ 3713, 3713, 3714, 3715, 3716, 3717, 3340, 3718,
+ 3718, 3340, 3719, 3719, 3340, 3720, 3720, 3340,
+ 3721, 3721, 3340, 3722, 3722, 3340, 3723, 3723,
+ 3340, 3724, 3724, 3340, 3725, 3725, 3340, 3726,
+ 3726, 3340, 3727, 3727, 3728, 3729, 3730, 3731,
+ 3340, 3732, 3732, 3340, 3733, 3733, 3340, 3734,
+ 3734, 3735, 3736, 3737, 3738, 3340, 3739, 3740,
+ 3741, 3739, 3740, 3741, 3340, 3742, 3742, 3743,
+ 3744, 3745, 3746, 3340, 3747, 3747, 3340, 3748,
+ 3748, 3340, 3749, 3749, 3340, 3750, 3750, 3751,
+ 3752, 3753, 3754, 3340, 3755, 3755, 3756, 3757,
+ 3758, 3759, 3340, 3760, 3761, 3762, 3763, 3764,
+ 3765, 3760, 3761, 3762, 3763, 3764, 3765, 3340,
+ 3766, 3766, 3340, 3767, 3767, 3340, 3768, 3768,
+ 3340, 3769, 3769, 3340, 3770, 3770, 3771, 3772,
+ 3773, 3774, 3340, 3775, 3775, 3340, 3776, 3776,
+ 3777, 3778, 3779, 3780, 3340, 3781, 3781, 3340,
+ 3782, 3782, 3783, 3784, 3785, 3786, 3340, 3787,
+ 3787, 3340, 3788, 3788, 3789, 3790, 3791, 3792,
+ 3340, 3793, 3793, 3340, 3794, 3794, 3340, 3795,
+ 3795, 3340, 3796, 3796, 3797, 3798, 3799, 3800,
+ 3340, 3801, 3801, 3340, 3802, 3802, 3340, 3803,
+ 3803, 3804, 3805, 3806, 3807, 3340, 3808, 3809,
+ 3810, 3808, 3809, 3810, 3340, 3811, 3811, 3340,
+ 3812, 3812, 3340, 3813, 3813, 3814, 3815, 3816,
+ 3817, 3340, 3818, 3818, 3340, 3819, 3819, 3820,
+ 3821, 3822, 3823, 3340, 3824, 3824, 3340, 3825,
+ 3825, 3340, 3827, 3826, 3828, 3828, 3829, 3830,
+ 3832, 3833, 3831, 3826, 3834, 3834, 3340, 3835,
+ 3835, 3340, 3836, 3836, 3837, 3838, 3839, 3840,
+ 3340, 3841, 3841, 3340, 3842, 3842, 3340, 3843,
+ 3843, 3340, 3844, 3844, 3340, 3845, 3845, 3340,
+ 3846, 3846, 3847, 3848, 3849, 3850, 3340, 3851,
+ 3851, 3340, 3852, 3852, 3340, 3853, 3853, 3340,
+ 3854, 3854, 3340, 3855, 3855, 3340, 3856, 3856,
+ 3857, 3858, 3859, 3860, 3340, 3861, 3861, 3861,
+ 3861, 3861, 3861, 77, 3862, 3862, 3862, 3862,
+ 77, 3863, 3863, 3863, 3863, 77, 3864, 2396,
+ 3865, 3865, 3866, 3867, 3869, 3870, 3868, 2396,
+ 3871, 3871, 3872, 3873, 3875, 3876, 3874, 2396,
+ 3877, 3877, 3878, 3879, 3881, 3882, 3880, 2396,
+ 3883, 3883, 3884, 3885, 3887, 3888, 3886, 3886,
+ 3886, 77, 3889, 3889, 3890, 3891, 3892, 3893,
+ 77, 3889, 3889, 3890, 3891, 3894, 3892, 3893,
+ 3894, 3894, 3894, 77, 3895, 3895, 77, 3897,
+ 3896, 77, 3899, 3898, 77, 3901, 3900, 77,
+ 3902, 3902, 3902, 3902, 77, 3903, 3903, 77,
+ 3904, 2396, 3905, 3905, 3906, 3907, 3909, 3910,
+ 3908, 2396, 3911, 3911, 3912, 3913, 3915, 3916,
+ 3914, 2396, 3917, 3917, 3918, 3919, 3921, 3922,
+ 3920, 2396, 3923, 3923, 3924, 3925, 3927, 3928,
+ 3926, 2396, 3929, 3929, 3930, 3931, 3933, 3934,
+ 3932, 2396, 3935, 3935, 3936, 3937, 3938, 3940,
+ 3941, 3939, 3939, 3939, 3067, 3942, 3942, 3943,
+ 3944, 3945, 3946, 3067, 3948, 3948, 3949, 3950,
+ 3952, 3953, 3951, 3951, 3951, 3947, 3954, 3954,
+ 3954, 3947, 3956, 3955, 3955, 3955, 3947, 3957,
+ 3957, 3957, 3947, 3959, 3958, 3958, 3958, 3947,
+ 3961, 3960, 3960, 3960, 3947, 3962, 3962, 3962,
+ 3947, 3964, 3963, 3963, 3963, 3947, 3965, 3965,
+ 3965, 3965, 3966, 3966, 3966, 3947, 3967, 3967,
+ 3967, 3967, 77, 3968, 3947, 3964, 3947, 3961,
+ 3947, 3969, 3947, 3959, 3947, 3971, 3970, 77,
+ 3972, 3972, 3972, 3067, 3942, 3942, 3943, 3944,
+ 3945, 3946, 3973, 3973, 3973, 3067, 3975, 3974,
+ 77, 3977, 3976, 77, 3979, 3978, 77, 3980,
+ 2396, 3981, 3981, 3982, 3983, 3985, 3986, 3984,
+ 2396, 3987, 3987, 3988, 3989, 3991, 3992, 3990,
+ 2396, 3993, 3993, 3994, 3995, 3997, 3998, 3996,
+ 2396, 3999, 3999, 4000, 4001, 4003, 4004, 4002,
+ 2396, 4005, 4005, 4006, 4007, 4009, 4010, 4008,
+ 2396, 4011, 4011, 4012, 4013, 4014, 4016, 4017,
+ 4015, 4015, 4015, 3067, 4018, 4018, 4018, 4018,
+ 3067, 4019, 4019, 4019, 3067, 4018, 4018, 4018,
+ 4018, 4020, 4020, 4020, 3067, 4022, 4021, 77,
+ 4024, 4023, 77, 4026, 4025, 77, 4027, 2396,
+ 4028, 4028, 4029, 4030, 4032, 4033, 4031, 2396,
+ 4034, 4034, 4035, 4036, 4038, 4039, 4037, 2396,
+ 4040, 4040, 4041, 4042, 4044, 4045, 4043, 2396,
+ 4046, 4046, 4047, 4048, 4050, 4051, 4049, 2396,
+ 4052, 4052, 4053, 4054, 4056, 4057, 4055, 2396,
+ 4058, 4058, 4059, 4060, 4062, 4063, 4061, 4061,
+ 4061, 3067, 4064, 4064, 4064, 3067, 4065, 4065,
+ 4066, 4067, 4068, 4069, 4070, 4070, 4071, 4072,
+ 4061, 4061, 4061, 3067, 4074, 4073, 3067, 4076,
+ 4075, 77, 4078, 4077, 77, 4080, 4079, 77,
+ 4081, 2396, 4082, 4082, 4083, 4084, 4086, 4087,
+ 4085, 2396, 4088, 4088, 4089, 4090, 4092, 4093,
+ 4091, 2396, 4094, 4094, 4094, 4094, 4095, 2396,
+ 4096, 4096, 4096, 4096, 77, 4098, 4097, 77,
+ 4099, 2396, 4100, 4100, 4101, 4102, 4104, 4105,
+ 4103, 2396, 4106, 4106, 4107, 4108, 4110, 4111,
+ 4109, 2396, 4112, 4112, 4113, 4114, 4116, 4117,
+ 4115, 2396, 4118, 4118, 4119, 4120, 4122, 4123,
+ 4121, 2396, 4124, 4124, 4125, 4126, 4128, 4129,
+ 4127, 2396, 4130, 4130, 4131, 4132, 4134, 4135,
+ 4133, 4133, 4133, 3067, 4136, 4136, 4136, 3067,
+ 4137, 4137, 4138, 4139, 4140, 4141, 4142, 4142,
+ 4143, 4144, 4133, 4133, 4133, 3067, 4146, 4145,
+ 3067, 4148, 4147, 77, 4150, 4149, 77, 4152,
+ 4151, 77, 4153, 2396, 4154, 4154, 4155, 4156,
+ 4158, 4159, 4157, 2396, 4160, 4160, 4161, 4162,
+ 4163, 4164, 4165, 4163, 2373, 4166, 4167, 4166,
+ 4166, 4166, 4167, 2373, 4169, 4168, 77, 4170,
+ 2396, 4171, 4171, 4172, 4173, 4175, 4176, 4174,
+ 2396, 4177, 4177, 4178, 4179, 4181, 4182, 4180,
+ 4180, 4180, 3067, 4183, 4183, 4183, 3067, 4184,
+ 4184, 4184, 3067, 4185, 4185, 4185, 3067, 4187,
+ 4186, 4188, 4188, 4188, 3067, 4189, 4189, 4189,
+ 3067, 4190, 4190, 4190, 3067, 4191, 4191, 4191,
+ 3067, 4193, 4187, 4193, 4193, 4193, 4192, 4195,
+ 4194, 77, 4196, 4196, 4196, 3067, 4197, 4197,
+ 4197, 3067, 4199, 4198, 4200, 4200, 4200, 3067,
+ 4201, 4201, 4201, 3067, 4202, 4199, 4202, 4202,
+ 4202, 4198, 4203, 4203, 4203, 3067, 4204, 4204,
+ 4204, 3067, 4205, 4198, 4206, 4206, 4206, 3067,
+ 4207, 4207, 4207, 3067, 4208, 4205, 4208, 4208,
+ 4208, 4198, 4209, 2396, 4210, 4210, 4211, 4212,
+ 4214, 4215, 4213, 2396, 4216, 4216, 4217, 4218,
+ 4220, 4221, 4219, 2396, 4222, 4222, 4223, 4224,
+ 4226, 4227, 4225, 2396, 4229, 4229, 4230, 4231,
+ 4232, 4233, 4228, 4228, 4228, 77, 4234, 4234,
+ 4234, 4234, 77, 4236, 4235, 77, 4238, 4237,
+ 77, 4239, 2396, 4240, 4240, 4241, 4242, 4244,
+ 4245, 4243, 2396, 4247, 4247, 4248, 4249, 4250,
+ 4251, 4246, 4246, 4246, 77, 4252, 4252, 4253,
+ 4254, 4255, 4256, 77, 4258, 4258, 4259, 4260,
+ 4261, 4262, 4257, 4257, 4257, 77, 4263, 4263,
+ 4263, 4263, 77, 4265, 4264, 77, 4267, 4266,
+ 77, 4268, 2396, 4269, 4269, 4270, 4271, 4273,
+ 4274, 4272, 2396, 4275, 4275, 4276, 4277, 4278,
+ 4278, 4278, 4279, 4280, 4278, 4278, 4278, 77,
+ 4281, 4281, 4281, 4281, 77, 4282, 4282, 4282,
+ 4282, 77, 4284, 4283, 77, 4286, 4286, 4287,
+ 4288, 4289, 4290, 4290, 4290, 4291, 4292, 4293,
+ 4294, 4290, 4290, 4290, 4285, 4295, 4295, 4296,
+ 4297, 4298, 4299, 75, 4300, 4299, 4291, 4292,
+ 4301, 4302, 4303, 4304, 4305, 4306, 75, 75,
+ 4299, 75, 4299, 75, 4299, 75, 889, 4308,
+ 4308, 4287, 4309, 4310, 4290, 4311, 4312, 4313,
+ 4314, 4315, 4316, 4317, 4318, 4319, 4320, 4321,
+ 4322, 4323, 4324, 4325, 4326, 4327, 4328, 4290,
+ 4290, 4311, 4312, 4313, 4314, 4315, 4316, 4317,
+ 4318, 4319, 4320, 4321, 4322, 4323, 4324, 4325,
+ 4326, 4327, 4328, 4291, 4292, 4329, 4330, 4290,
+ 4290, 4290, 4307, 4308, 4308, 4287, 4309, 4310,
+ 4290, 4333, 4334, 4335, 4336, 4337, 4338, 4339,
+ 4340, 4341, 4342, 4343, 4344, 4345, 4346, 4347,
+ 4348, 4349, 4350, 4290, 4290, 4333, 4334, 4335,
+ 4336, 4337, 4338, 4339, 4340, 4341, 4342, 4343,
+ 4344, 4345, 4346, 4347, 4348, 4349, 4350, 4291,
+ 4292, 4329, 4330, 4290, 4332, 4290, 4290, 4331,
+ 4352, 4352, 4353, 4354, 4355, 4356, 4356, 4356,
+ 4357, 4358, 4359, 4360, 4356, 4356, 4356, 4351,
+ 4286, 4286, 4287, 4361, 4362, 4290, 4333, 4334,
+ 4335, 4336, 4337, 4338, 4339, 4340, 4341, 4342,
+ 4343, 4344, 4345, 4346, 4347, 4348, 4349, 4350,
+ 4290, 4290, 4333, 4334, 4335, 4336, 4337, 4338,
+ 4339, 4340, 4341, 4342, 4343, 4344, 4345, 4346,
+ 4347, 4348, 4349, 4350, 4291, 4292, 4363, 4364,
+ 4290, 4332, 4290, 4290, 4331, 4365, 4365, 4287,
+ 4366, 4367, 4290, 4290, 4290, 89, 90, 4368,
+ 4369, 4290, 4290, 4290, 889, 4370, 4370, 4296,
+ 4371, 4372, 4299, 75, 4300, 4299, 89, 90,
+ 4368, 4373, 107, 108, 4368, 4374, 75, 75,
+ 4299, 75, 4299, 75, 4299, 75, 889, 4295,
+ 4295, 4296, 4297, 4298, 4299, 75, 4377, 4378,
+ 4379, 4380, 4381, 4382, 4383, 4384, 4385, 4386,
+ 4387, 4388, 4389, 4390, 4391, 4392, 4393, 4394,
+ 4300, 4299, 4377, 4378, 4379, 4380, 4381, 4382,
+ 4383, 4384, 4385, 4386, 4387, 4388, 4389, 4390,
+ 4391, 4392, 4393, 4394, 4291, 4292, 4301, 4302,
+ 4303, 4304, 4305, 4306, 75, 75, 4299, 4376,
+ 75, 4299, 75, 4299, 75, 4375, 4370, 4370,
+ 4296, 4371, 4372, 4299, 75, 4377, 4378, 4379,
+ 4380, 4381, 4382, 4383, 4384, 4385, 4386, 4387,
+ 4388, 4389, 4390, 4391, 4392, 4393, 4394, 4300,
+ 4299, 4377, 4378, 4379, 4380, 4381, 4382, 4383,
+ 4384, 4385, 4386, 4387, 4388, 4389, 4390, 4391,
+ 4392, 4393, 4394, 89, 90, 4395, 4373, 107,
+ 108, 4395, 4374, 75, 75, 4299, 4376, 75,
+ 4299, 75, 4299, 75, 4375, 796, 796, 796,
+ 796, 1054, 1055, 1054, 1057, 1054, 1055, 1056,
+ 1055, 1050, 796, 796, 796, 1212, 1212, 1213,
+ 1214, 1181, 1182, 1183, 1181, 1215, 1216, 1181,
+ 1181, 1181, 1187, 796, 1227, 1227, 1228, 1229,
+ 1222, 1230, 1231, 1232, 1232, 1233, 1234, 1222,
+ 1222, 1222, 1221, 1236, 1235, 1221, 796, 1246,
+ 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253,
+ 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261,
+ 1262, 1263, 1264, 1265, 1266, 1249, 1250, 1251,
+ 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259,
+ 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267,
+ 1268, 1269, 1269, 1270, 1271, 1237, 1294, 1293,
+ 1237, 796, 1846, 1846, 1847, 1848, 1849, 1850,
+ 1851, 1851, 1852, 1853, 1842, 1842, 1842, 1838,
+ 1855, 1854, 1838, 1874, 1874, 1875, 1876, 1878,
+ 1879, 1877, 1877, 1877, 1838, 1824, 1881, 1881,
+ 1882, 1883, 1884, 1885, 1886, 1886, 1887, 1888,
+ 1877, 1877, 1877, 1838, 1890, 1889, 1838, 1892,
+ 1891, 1824, 796, 796, 1976, 1976, 1977, 1978,
+ 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986,
+ 1987, 1988, 1989, 1990, 1990, 1991, 1992, 1967,
+ 2008, 2007, 1967, 796, 796, 796, 796, 796,
+ 796, 796, 796, 796, 2591, 2591, 2592, 2593,
+ 2594, 2595, 2596, 2596, 2597, 2598, 2590, 2590,
+ 2590, 2581, 2600, 2599, 2581, 796, 796, 2764,
+ 2764, 2765, 2766, 2767, 2768, 2713, 2713, 2769,
+ 2770, 2604, 2772, 2771, 2604, 2746, 2746, 2747,
+ 2748, 2750, 2751, 2713, 2713, 2752, 2753, 2749,
+ 2604, 2784, 2783, 2604, 2727, 2727, 2728, 2729,
+ 2731, 2732, 2713, 2713, 2733, 2734, 2730, 2604,
+ 2797, 2796, 2604, 2707, 2707, 2708, 2709, 2711,
+ 2712, 2713, 2713, 2714, 2715, 2710, 2604, 2810,
+ 2809, 2604, 796, 796, 796, 796, 3008, 3008,
+ 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016,
+ 3016, 3017, 3018, 3007, 3037, 3036, 77, 796,
+ 3075, 3075, 3076, 3077, 3078, 3079, 3080, 3080,
+ 3081, 3082, 3071, 3071, 3071, 3067, 3084, 3083,
+ 3067, 796, 3117, 3117, 3118, 3119, 3120, 3121,
+ 3122, 3122, 3123, 3124, 3113, 3113, 3113, 3067,
+ 3126, 3125, 3067, 796, 3171, 3171, 3172, 3173,
+ 3177, 3177, 3177, 3177, 3182, 3183, 3177, 3177,
+ 3184, 3185, 3190, 3195, 3194, 3190, 3168, 3168,
+ 3169, 3170, 3191, 3178, 3179, 3191, 3191, 3191,
+ 3190, 3193, 3192, 3190, 3191, 3168, 3168, 3169,
+ 3170, 3171, 3171, 3172, 3173, 3174, 3174, 3175,
+ 3176, 3177, 3177, 3177, 3177, 3178, 3179, 3177,
+ 3177, 3180, 3181, 3182, 3183, 3177, 3177, 3184,
+ 3185, 3186, 3187, 3177, 3177, 3188, 3189, 3191,
+ 3191, 3191, 3190, 3193, 3195, 3197, 3192, 3194,
+ 3196, 3190, 796, 796, 796, 796, 796, 796,
+ 796, 4065, 4065, 4066, 4067, 4068, 4069, 4070,
+ 4070, 4071, 4072, 4061, 4061, 4061, 3067, 4074,
+ 4073, 3067, 796, 796, 4137, 4137, 4138, 4139,
+ 4140, 4141, 4142, 4142, 4143, 4144, 4133, 4133,
+ 4133, 3067, 4146, 4145, 3067, 796, 796, 796,
+ 796, 796, 796, 796, 0
};
static const short _zone_scanner_trans_targs[] = {
0, 1, 1, 1, 2, 4, 17, 40,
- 54, 61, 175, 81, 85, 93, 99, 115,
- 125, 128, 135, 154, 164, 167, 1396, 183,
- 1401, 302, 0, 3, 3, 3, 2, 198,
- 198, 198, 198, 198, 3, 201, 0, 3,
- 3, 3, 4, 17, 40, 54, 61, 70,
- 81, 85, 93, 99, 115, 125, 128, 135,
- 154, 164, 167, 3, 201, 0, 5, 5,
- 5, 266, 269, 273, 5, 10, 6, 11,
- 20, 6, 5, 0, 5, 5, 9, 5,
- 10, 11, 20, 0, 7, 7, 7, 1396,
- 8, 0, 7, 7, 7, 1396, 8, 8,
- 1396, 6, 6, 10, 5, 12, 12, 12,
- 13, 1402, 208, 280, 12, 12, 12, 13,
- 1402, 208, 280, 13, 1397, 14, 0, 14,
- 14, 15, 204, 211, 212, 213, 214, 215,
- 216, 217, 218, 219, 220, 221, 222, 223,
- 224, 225, 226, 1404, 275, 1402, 276, 1405,
- 278, 0, 16, 16, 16, 1398, 305, 0,
- 16, 16, 16, 1398, 305, 18, 22, 29,
- 32, 36, 19, 5, 5, 5, 5, 10,
- 6, 11, 20, 21, 21, 21, 13, 21,
- 21, 21, 13, 23, 28, 24, 25, 26,
- 27, 5, 5, 5, 5, 10, 6, 11,
- 20, 5, 5, 5, 5, 10, 6, 11,
- 20, 30, 31, 5, 5, 5, 5, 10,
- 6, 11, 20, 33, 34, 35, 5, 5,
- 5, 5, 10, 6, 11, 20, 37, 38,
- 39, 5, 5, 5, 5, 10, 6, 11,
- 20, 41, 45, 53, 42, 43, 44, 5,
- 5, 5, 5, 10, 6, 11, 20, 46,
- 49, 47, 48, 5, 5, 5, 5, 10,
- 6, 11, 20, 50, 51, 52, 5, 5,
- 5, 5, 10, 6, 11, 20, 5, 5,
- 5, 5, 10, 6, 11, 20, 55, 56,
- 57, 59, 58, 5, 5, 5, 5, 10,
- 6, 11, 20, 60, 5, 5, 5, 5,
- 10, 6, 11, 20, 62, 66, 63, 64,
- 65, 5, 5, 5, 5, 10, 6, 11,
- 20, 67, 68, 69, 5, 5, 5, 5,
- 10, 6, 11, 20, 71, 74, 72, 72,
- 72, 72, 173, 72, 72, 72, 4, 17,
- 40, 54, 61, 73, 81, 85, 93, 99,
- 115, 125, 128, 135, 154, 164, 167, 72,
- 173, 75, 76, 77, 78, 79, 80, 5,
- 5, 5, 5, 10, 6, 11, 20, 82,
- 84, 83, 5, 5, 5, 5, 10, 6,
- 11, 20, 5, 5, 5, 5, 10, 6,
- 11, 20, 86, 88, 90, 92, 87, 5,
- 5, 5, 5, 10, 6, 11, 20, 89,
- 5, 5, 5, 5, 10, 6, 11, 20,
- 91, 5, 5, 5, 5, 10, 6, 11,
+ 54, 61, 181, 81, 85, 93, 99, 115,
+ 125, 128, 135, 154, 164, 167, 173, 1444,
+ 189, 1449, 311, 0, 3, 3, 3, 2,
+ 204, 204, 204, 204, 204, 3, 207, 0,
+ 3, 3, 3, 4, 17, 40, 54, 61,
+ 70, 81, 85, 93, 99, 115, 125, 128,
+ 135, 154, 164, 167, 173, 3, 207, 0,
+ 5, 5, 5, 274, 277, 281, 5, 10,
+ 6, 11, 20, 6, 5, 0, 5, 5,
+ 9, 5, 10, 11, 20, 0, 7, 7,
+ 7, 1444, 8, 0, 7, 7, 7, 1444,
+ 8, 8, 1444, 6, 6, 10, 5, 12,
+ 12, 12, 13, 1450, 214, 288, 12, 12,
+ 12, 13, 1450, 214, 288, 13, 1445, 14,
+ 0, 14, 14, 15, 210, 217, 218, 219,
+ 220, 221, 222, 223, 224, 225, 226, 227,
+ 228, 229, 230, 231, 232, 233, 1452, 283,
+ 1450, 284, 1453, 286, 0, 16, 16, 16,
+ 1446, 314, 0, 16, 16, 16, 1446, 314,
+ 18, 22, 29, 32, 36, 19, 5, 5,
+ 5, 5, 10, 6, 11, 20, 21, 21,
+ 21, 13, 21, 21, 21, 13, 23, 28,
+ 24, 25, 26, 27, 5, 5, 5, 5,
+ 10, 6, 11, 20, 5, 5, 5, 5,
+ 10, 6, 11, 20, 30, 31, 5, 5,
+ 5, 5, 10, 6, 11, 20, 33, 34,
+ 35, 5, 5, 5, 5, 10, 6, 11,
+ 20, 37, 38, 39, 5, 5, 5, 5,
+ 10, 6, 11, 20, 41, 45, 53, 42,
+ 43, 44, 5, 5, 5, 5, 10, 6,
+ 11, 20, 46, 49, 47, 48, 5, 5,
+ 5, 5, 10, 6, 11, 20, 50, 51,
+ 52, 5, 5, 5, 5, 10, 6, 11,
20, 5, 5, 5, 5, 10, 6, 11,
- 20, 94, 98, 95, 96, 97, 5, 5,
+ 20, 55, 56, 57, 59, 58, 5, 5,
+ 5, 5, 10, 6, 11, 20, 60, 5,
+ 5, 5, 5, 10, 6, 11, 20, 62,
+ 66, 63, 64, 65, 5, 5, 5, 5,
+ 10, 6, 11, 20, 67, 68, 69, 5,
+ 5, 5, 5, 10, 6, 11, 20, 71,
+ 74, 72, 72, 72, 72, 179, 72, 72,
+ 72, 4, 17, 40, 54, 61, 73, 81,
+ 85, 93, 99, 115, 125, 128, 135, 154,
+ 164, 167, 173, 72, 179, 75, 76, 77,
+ 78, 79, 80, 5, 5, 5, 5, 10,
+ 6, 11, 20, 82, 84, 83, 5, 5,
5, 5, 10, 6, 11, 20, 5, 5,
- 5, 5, 10, 6, 11, 20, 100, 104,
- 106, 101, 102, 103, 5, 5, 5, 5,
- 10, 6, 11, 20, 105, 5, 5, 5,
+ 5, 5, 10, 6, 11, 20, 86, 88,
+ 90, 92, 87, 5, 5, 5, 5, 10,
+ 6, 11, 20, 89, 5, 5, 5, 5,
+ 10, 6, 11, 20, 91, 5, 5, 5,
5, 10, 6, 11, 20, 5, 5, 5,
- 107, 5, 10, 6, 11, 20, 108, 5,
- 5, 5, 109, 5, 10, 6, 11, 20,
- 5, 5, 5, 110, 5, 10, 6, 11,
- 20, 111, 112, 113, 114, 5, 5, 5,
- 5, 10, 6, 11, 20, 116, 117, 118,
- 119, 120, 121, 122, 123, 124, 5, 5,
- 5, 5, 10, 6, 11, 20, 126, 127,
- 5, 5, 5, 5, 10, 6, 11, 20,
- 129, 130, 134, 5, 5, 5, 5, 10,
- 6, 11, 20, 131, 132, 133, 5, 5,
- 5, 5, 10, 6, 11, 20, 5, 5,
- 5, 5, 10, 6, 11, 20, 136, 141,
- 143, 145, 147, 151, 137, 138, 139, 140,
- 5, 5, 5, 5, 10, 6, 11, 20,
- 142, 5, 5, 5, 5, 10, 6, 11,
- 20, 144, 5, 5, 5, 5, 10, 6,
- 11, 20, 146, 5, 5, 5, 5, 10,
- 6, 11, 20, 148, 149, 150, 5, 5,
- 5, 5, 10, 6, 11, 20, 152, 153,
- 5, 5, 5, 5, 10, 6, 11, 20,
- 155, 158, 160, 156, 157, 5, 5, 5,
- 5, 10, 6, 11, 20, 159, 5, 5,
- 5, 5, 10, 6, 11, 20, 161, 162,
- 0, 163, 0, 5, 5, 5, 163, 5,
- 10, 6, 11, 20, 165, 166, 5, 5,
- 5, 5, 10, 6, 11, 20, 168, 169,
- 170, 171, 172, 5, 5, 5, 5, 10,
- 6, 11, 20, 173, 72, 174, 174, 174,
- 1399, 303, 176, 177, 177, 177, 177, 182,
- 177, 177, 177, 178, 4, 17, 40, 54,
- 61, 73, 81, 85, 93, 99, 115, 125,
- 128, 135, 154, 164, 167, 177, 182, 72,
- 72, 72, 178, 179, 179, 179, 179, 179,
- 72, 173, 180, 180, 181, 181, 181, 181,
- 181, 72, 72, 72, 180, 72, 173, 182,
- 177, 183, 1396, 0, 185, 229, 235, 186,
- 187, 188, 189, 190, 191, 1400, 0, 193,
- 193, 193, 193, 194, 193, 193, 193, 193,
- 194, 194, 0, 193, 0, 196, 196, 196,
- 196, 197, 196, 196, 196, 196, 197, 197,
- 196, 199, 199, 200, 200, 200, 200, 200,
- 3, 3, 3, 199, 3, 201, 201, 3,
- 0, 203, 203, 203, 203, 282, 283, 284,
- 203, 203, 203, 203, 282, 283, 284, 0,
- 205, 205, 205, 1397, 13, 1402, 208, 1403,
- 280, 205, 205, 205, 1397, 1403, 206, 206,
- 206, 1401, 207, 207, 1401, 209, 209, 209,
- 1396, 8, 209, 209, 209, 8, 210, 210,
- 210, 227, 264, 227, 1404, 0, 230, 231,
- 232, 233, 234, 1400, 236, 237, 1400, 0,
- 206, 206, 206, 1401, 207, 0, 240, 240,
- 240, 1399, 241, 240, 240, 240, 1399, 241,
- 241, 1399, 0, 243, 243, 243, 1404, 227,
- 1405, 264, 243, 243, 243, 1404, 1405, 261,
- 0, 261, 261, 261, 262, 206, 206, 206,
- 1401, 207, 263, 1401, 263, 263, 207, 263,
- 263, 263, 207, 265, 265, 265, 227, 265,
- 265, 265, 227, 267, 268, 5, 5, 5,
- 5, 10, 6, 11, 20, 270, 271, 272,
+ 5, 10, 6, 11, 20, 94, 98, 95,
+ 96, 97, 5, 5, 5, 5, 10, 6,
+ 11, 20, 5, 5, 5, 5, 10, 6,
+ 11, 20, 100, 104, 106, 101, 102, 103,
5, 5, 5, 5, 10, 6, 11, 20,
- 274, 5, 5, 5, 5, 10, 6, 11,
- 20, 275, 1404, 277, 277, 277, 1396, 277,
- 277, 277, 1396, 279, 279, 279, 279, 279,
- 279, 281, 281, 281, 281, 281, 281, 282,
- 203, 210, 210, 210, 227, 264, 285, 285,
- 285, 285, 285, 285, 0, 302, 1401, 303,
- 1399, 305, 1398, 306, 1406, 306, 306, 308,
- 1407, 308, 1407, 0, 310, 316, 317, 312,
- 1408, 310, 311, 312, 1408, 310, 312, 313,
- 0, 314, 315, 1408, 310, 311, 312, 1408,
- 0, 319, 324, 320, 1409, 319, 1410, 320,
- 0, 321, 322, 323, 1409, 319, 1410, 320,
- 324, 325, 326, 327, 324, 325, 326, 327,
- 0, 1409, 328, 329, 330, 324, 325, 326,
- 327, 0, 332, 332, 332, 332, 339, 0,
- 333, 0, 334, 334, 334, 333, 336, 336,
- 336, 336, 336, 1411, 335, 0, 334, 334,
- 334, 1411, 335, 335, 1411, 337, 0, 337,
- 338, 338, 338, 338, 338, 334, 334, 334,
- 337, 1411, 335, 339, 332, 0, 341, 341,
- 341, 341, 351, 342, 350, 346, 342, 343,
- 346, 0, 344, 344, 344, 342, 346, 1412,
- 345, 344, 344, 344, 1412, 345, 345, 1412,
- 347, 0, 348, 349, 342, 343, 346, 351,
- 341, 353, 353, 353, 353, 368, 354, 0,
- 0, 355, 355, 355, 1413, 359, 365, 0,
- 355, 355, 355, 356, 364, 360, 1413, 359,
- 365, 0, 356, 357, 360, 358, 358, 358,
- 356, 360, 1413, 359, 358, 358, 358, 359,
- 1413, 361, 0, 362, 363, 356, 357, 360,
- 365, 1414, 366, 366, 366, 366, 367, 367,
- 366, 368, 353, 0, 370, 371, 372, 375,
- 373, 373, 373, 373, 373, 374, 1415, 1416,
- 1417, 374, 373, 0, 377, 377, 377, 377,
- 382, 1418, 1419, 1420, 377, 377, 377, 378,
- 383, 404, 418, 425, 434, 442, 446, 454,
- 460, 476, 486, 489, 496, 515, 525, 528,
- 377, 382, 1418, 1419, 1420, 377, 377, 377,
- 379, 534, 538, 377, 382, 1418, 1419, 1420,
- 380, 381, 377, 377, 377, 377, 382, 1418,
- 1419, 1420, 382, 377, 384, 386, 393, 396,
- 400, 385, 377, 377, 377, 377, 382, 1418,
- 1419, 1420, 387, 392, 388, 389, 390, 391,
- 377, 377, 377, 377, 382, 1418, 1419, 1420,
- 377, 377, 377, 377, 382, 1418, 1419, 1420,
- 394, 395, 377, 377, 377, 377, 382, 1418,
- 1419, 1420, 397, 398, 399, 377, 377, 377,
- 377, 382, 1418, 1419, 1420, 401, 402, 403,
- 377, 377, 377, 377, 382, 1418, 1419, 1420,
- 405, 409, 417, 406, 407, 408, 377, 377,
- 377, 377, 382, 1418, 1419, 1420, 410, 413,
- 411, 412, 377, 377, 377, 377, 382, 1418,
- 1419, 1420, 414, 415, 416, 377, 377, 377,
- 377, 382, 1418, 1419, 1420, 377, 377, 377,
- 377, 382, 1418, 1419, 1420, 419, 420, 421,
- 423, 422, 377, 377, 377, 377, 382, 1418,
- 1419, 1420, 424, 377, 377, 377, 377, 382,
- 1418, 1419, 1420, 426, 430, 427, 428, 429,
- 377, 377, 377, 377, 382, 1418, 1419, 1420,
- 431, 432, 433, 377, 377, 377, 377, 382,
- 1418, 1419, 1420, 435, 436, 437, 438, 439,
- 440, 441, 377, 377, 377, 377, 382, 1418,
- 1419, 1420, 443, 445, 444, 377, 377, 377,
- 377, 382, 1418, 1419, 1420, 377, 377, 377,
- 377, 382, 1418, 1419, 1420, 447, 449, 451,
- 453, 448, 377, 377, 377, 377, 382, 1418,
- 1419, 1420, 450, 377, 377, 377, 377, 382,
- 1418, 1419, 1420, 452, 377, 377, 377, 377,
- 382, 1418, 1419, 1420, 377, 377, 377, 377,
- 382, 1418, 1419, 1420, 455, 459, 456, 457,
- 458, 377, 377, 377, 377, 382, 1418, 1419,
- 1420, 377, 377, 377, 377, 382, 1418, 1419,
- 1420, 461, 465, 467, 462, 463, 464, 377,
- 377, 377, 377, 382, 1418, 1419, 1420, 466,
- 377, 377, 377, 377, 382, 1418, 1419, 1420,
- 377, 377, 377, 468, 377, 382, 1418, 1419,
- 1420, 469, 377, 377, 377, 470, 377, 382,
- 1418, 1419, 1420, 377, 377, 377, 471, 377,
- 382, 1418, 1419, 1420, 472, 473, 474, 475,
- 377, 377, 377, 377, 382, 1418, 1419, 1420,
- 477, 478, 479, 480, 481, 482, 483, 484,
- 485, 377, 377, 377, 377, 382, 1418, 1419,
- 1420, 487, 488, 377, 377, 377, 377, 382,
- 1418, 1419, 1420, 490, 491, 495, 377, 377,
- 377, 377, 382, 1418, 1419, 1420, 492, 493,
- 494, 377, 377, 377, 377, 382, 1418, 1419,
- 1420, 377, 377, 377, 377, 382, 1418, 1419,
- 1420, 497, 502, 504, 506, 508, 512, 498,
- 499, 500, 501, 377, 377, 377, 377, 382,
- 1418, 1419, 1420, 503, 377, 377, 377, 377,
- 382, 1418, 1419, 1420, 505, 377, 377, 377,
- 377, 382, 1418, 1419, 1420, 507, 377, 377,
- 377, 377, 382, 1418, 1419, 1420, 509, 510,
- 511, 377, 377, 377, 377, 382, 1418, 1419,
- 1420, 513, 514, 377, 377, 377, 377, 382,
- 1418, 1419, 1420, 516, 519, 521, 517, 518,
- 377, 377, 377, 377, 382, 1418, 1419, 1420,
- 520, 377, 377, 377, 377, 382, 1418, 1419,
- 1420, 522, 523, 524, 377, 377, 377, 524,
- 377, 382, 1418, 1419, 1420, 526, 527, 377,
- 377, 377, 377, 382, 1418, 1419, 1420, 529,
- 530, 531, 532, 533, 377, 377, 377, 377,
- 382, 1418, 1419, 1420, 535, 536, 537, 377,
- 377, 377, 377, 382, 1418, 1419, 1420, 539,
- 377, 377, 377, 377, 382, 1418, 1419, 1420,
- 0, 541, 541, 541, 541, 548, 0, 542,
- 543, 543, 543, 542, 543, 547, 0, 543,
- 543, 543, 544, 543, 547, 545, 545, 545,
- 545, 545, 546, 1421, 1422, 1423, 546, 545,
- 547, 543, 548, 541, 550, 550, 550, 550,
- 558, 551, 557, 1424, 1424, 1424, 557, 1425,
- 1424, 1428, 552, 552, 552, 553, 552, 556,
- 554, 554, 554, 554, 554, 555, 1425, 1426,
- 1427, 555, 554, 556, 552, 552, 552, 552,
- 552, 556, 558, 550, 0, 560, 564, 567,
- 580, 584, 599, 561, 562, 563, 1429, 565,
- 566, 1429, 568, 569, 570, 575, 571, 572,
- 573, 574, 1429, 576, 577, 578, 579, 1429,
- 581, 582, 0, 583, 1429, 583, 585, 586,
- 587, 588, 589, 590, 591, 592, 593, 594,
- 595, 596, 597, 598, 1429, 600, 601, 602,
- 1429, 0, 604, 604, 604, 604, 611, 1430,
- 1431, 1432, 604, 604, 604, 605, 612, 628,
- 653, 659, 674, 689, 604, 611, 1430, 1431,
- 1432, 606, 607, 608, 609, 610, 697, 604,
- 604, 604, 604, 611, 1430, 1431, 1432, 611,
- 604, 613, 614, 615, 616, 623, 617, 618,
- 619, 622, 620, 620, 621, 617, 604, 604,
- 604, 604, 611, 1430, 1431, 1432, 624, 625,
- 627, 626, 626, 604, 604, 604, 623, 604,
- 611, 1430, 1431, 1432, 629, 630, 631, 642,
- 632, 633, 634, 635, 636, 0, 637, 640,
- 638, 621, 639, 638, 638, 604, 604, 604,
- 641, 640, 604, 611, 1430, 1431, 1432, 640,
- 643, 644, 645, 646, 647, 648, 651, 649,
- 621, 650, 649, 649, 604, 604, 604, 652,
- 651, 604, 611, 1430, 1431, 1432, 651, 654,
- 655, 0, 656, 604, 604, 604, 656, 657,
- 604, 611, 1430, 1431, 1432, 658, 660, 661,
- 662, 663, 664, 665, 666, 667, 668, 669,
- 672, 670, 621, 671, 670, 604, 604, 604,
- 673, 604, 611, 1430, 1431, 1432, 672, 675,
- 676, 677, 678, 679, 680, 681, 682, 683,
- 684, 685, 686, 687, 688, 604, 604, 604,
- 604, 611, 1430, 1431, 1432, 690, 691, 692,
- 693, 694, 696, 695, 621, 695, 604, 604,
- 604, 696, 604, 611, 1430, 1431, 1432, 698,
- 621, 0, 700, 701, 716, 755, 763, 776,
- 1433, 700, 702, 703, 1433, 704, 1433, 705,
- 706, 707, 708, 709, 710, 711, 712, 713,
- 714, 715, 1433, 717, 746, 718, 724, 719,
- 720, 721, 722, 723, 1433, 725, 726, 727,
- 728, 737, 729, 730, 731, 732, 733, 734,
- 735, 736, 1433, 738, 739, 740, 741, 742,
- 743, 744, 745, 1433, 747, 752, 748, 749,
- 750, 751, 1433, 753, 754, 1433, 756, 757,
- 758, 759, 760, 761, 762, 1433, 764, 765,
- 766, 767, 768, 769, 770, 773, 771, 772,
- 1433, 774, 775, 1433, 777, 778, 779, 782,
- 780, 781, 1433, 783, 784, 785, 797, 800,
- 1433, 786, 787, 788, 789, 790, 791, 792,
- 793, 794, 795, 796, 1433, 798, 799, 1433,
- 801, 802, 1433, 0, 804, 805, 811, 828,
- 831, 837, 841, 1434, 804, 806, 807, 808,
- 809, 810, 1434, 812, 818, 824, 813, 814,
- 815, 816, 817, 1434, 819, 821, 820, 1434,
- 822, 823, 1434, 825, 826, 827, 1434, 829,
- 830, 1434, 832, 834, 833, 1434, 835, 836,
- 1434, 838, 839, 840, 1434, 842, 843, 1434,
- 0, 845, 1435, 845, 847, 1436, 849, 850,
- 850, 850, 850, 879, 850, 850, 850, 851,
- 850, 879, 852, 852, 852, 852, 878, 0,
- 852, 852, 852, 853, 852, 878, 854, 854,
- 854, 853, 854, 877, 854, 854, 854, 855,
- 854, 877, 0, 856, 856, 856, 855, 874,
- 874, 874, 874, 874, 856, 873, 856, 856,
- 856, 857, 856, 873, 858, 858, 858, 857,
- 870, 870, 870, 870, 870, 858, 869, 858,
- 858, 858, 859, 858, 869, 860, 860, 860,
- 859, 866, 866, 866, 866, 866, 860, 865,
- 860, 860, 860, 861, 860, 865, 1437, 861,
- 862, 862, 862, 862, 862, 863, 863, 864,
- 864, 864, 864, 864, 1437, 863, 865, 860,
- 867, 867, 868, 868, 868, 868, 868, 860,
- 860, 860, 867, 860, 865, 869, 858, 871,
- 871, 872, 872, 872, 872, 872, 858, 858,
- 858, 871, 858, 869, 873, 856, 875, 875,
- 876, 876, 876, 876, 876, 856, 856, 856,
- 875, 856, 873, 877, 854, 878, 852, 879,
- 850, 881, 882, 882, 882, 882, 884, 883,
- 882, 882, 882, 882, 884, 1438, 884, 882,
- 886, 887, 887, 887, 887, 889, 887, 887,
- 887, 888, 887, 889, 1439, 889, 887, 891,
- 892, 892, 892, 891, 892, 894, 892, 892,
- 892, 893, 892, 894, 1440, 894, 892, 896,
- 0, 897, 897, 897, 897, 898, 1441, 1442,
- 1443, 896, 897, 897, 897, 897, 898, 1441,
- 1442, 1443, 898, 897, 900, 1444, 900, 0,
- 902, 903, 903, 903, 902, 903, 955, 903,
- 903, 903, 904, 908, 950, 903, 955, 905,
- 905, 905, 904, 905, 954, 905, 905, 905,
- 906, 905, 954, 907, 907, 907, 952, 906,
- 907, 951, 907, 907, 907, 907, 951, 909,
- 909, 909, 909, 949, 910, 911, 911, 911,
- 910, 911, 948, 911, 911, 911, 912, 916,
- 943, 911, 948, 913, 913, 913, 912, 913,
- 947, 913, 913, 913, 914, 913, 947, 915,
- 915, 915, 945, 914, 915, 944, 915, 915,
- 915, 915, 944, 917, 917, 917, 917, 942,
- 918, 919, 919, 920, 920, 920, 939, 919,
- 941, 920, 938, 1445, 1452, 1453, 920, 920,
- 920, 921, 920, 938, 1445, 1452, 1453, 922,
- 922, 922, 935, 921, 937, 922, 934, 1445,
- 1450, 1451, 922, 922, 922, 923, 922, 934,
- 1450, 1451, 924, 924, 924, 931, 923, 933,
- 924, 930, 1445, 1448, 1449, 924, 924, 924,
- 925, 924, 930, 1448, 1449, 926, 926, 926,
- 928, 925, 926, 927, 1445, 1446, 1447, 926,
- 926, 926, 926, 927, 1446, 1447, 927, 926,
- 926, 926, 926, 929, 926, 927, 1445, 1446,
- 1447, 929, 930, 924, 924, 924, 924, 932,
- 933, 924, 930, 1445, 1448, 1449, 932, 934,
- 922, 922, 922, 922, 936, 937, 922, 934,
- 1445, 1450, 1451, 936, 938, 920, 920, 920,
- 920, 940, 941, 920, 938, 1445, 1452, 1453,
- 940, 942, 917, 917, 917, 917, 917, 942,
- 944, 915, 915, 915, 915, 946, 915, 944,
- 946, 947, 913, 948, 911, 949, 909, 909,
- 909, 909, 909, 949, 951, 907, 907, 907,
- 907, 953, 907, 951, 953, 954, 905, 955,
- 903, 957, 958, 958, 958, 957, 958, 966,
- 958, 958, 958, 959, 958, 966, 960, 960,
- 960, 959, 960, 965, 960, 960, 960, 961,
- 960, 965, 962, 962, 962, 961, 962, 964,
- 962, 962, 962, 963, 962, 964, 1454, 964,
- 962, 965, 960, 966, 958, 968, 969, 969,
- 969, 968, 969, 983, 969, 969, 969, 970,
- 969, 983, 971, 971, 971, 970, 971, 982,
- 972, 971, 971, 971, 971, 982, 973, 973,
- 973, 973, 981, 974, 973, 973, 973, 973,
- 981, 975, 975, 975, 975, 980, 976, 975,
- 975, 975, 975, 980, 977, 977, 977, 977,
- 979, 977, 977, 977, 978, 977, 979, 1455,
- 979, 977, 980, 975, 981, 973, 982, 971,
- 983, 969, 985, 986, 986, 986, 986, 994,
- 987, 988, 988, 988, 987, 988, 993, 988,
- 988, 988, 989, 988, 993, 990, 990, 990,
- 990, 992, 991, 1456, 992, 990, 993, 988,
- 994, 986, 0, 995, 996, 995, 995, 997,
- 1003, 995, 1002, 1457, 1458, 1459, 997, 1003,
- 998, 0, 999, 999, 1000, 1001, 995, 995,
- 995, 1001, 995, 1002, 1457, 1458, 1459, 1002,
- 995, 1004, 1005, 1005, 1000, 1007, 1008, 1008,
- 1008, 1007, 1008, 1018, 1008, 1008, 1008, 1009,
- 1008, 1018, 1010, 1010, 1010, 1010, 1017, 1011,
- 1012, 1012, 1012, 1011, 1012, 1016, 0, 1012,
- 1012, 1012, 1013, 1012, 1016, 1014, 1014, 1014,
- 1014, 1014, 1015, 1460, 1461, 1462, 1015, 1014,
- 1016, 1012, 1017, 1010, 1018, 1008, 1020, 1021,
- 1021, 1021, 1020, 1021, 1028, 1021, 1021, 1021,
- 1022, 1021, 1028, 1023, 1023, 1023, 1022, 1023,
- 1027, 1023, 1023, 1023, 1024, 1023, 1027, 1025,
- 1025, 1025, 1025, 1025, 1026, 1463, 1464, 1465,
- 1026, 1025, 1027, 1023, 1028, 1021, 1030, 1031,
- 1031, 1031, 1030, 1031, 1067, 0, 1031, 1031,
- 1031, 1032, 1046, 1053, 1060, 1031, 1067, 1033,
- 1033, 1033, 1033, 1045, 0, 1034, 1035, 1035,
- 1035, 1034, 1035, 1044, 1035, 1035, 1035, 1036,
- 1035, 1044, 0, 1037, 1037, 1037, 1040, 1040,
- 1040, 1042, 1042, 1042, 1466, 1037, 1039, 1469,
- 1470, 1040, 1041, 1467, 1468, 1042, 1043, 1471,
- 1472, 0, 1038, 1039, 1037, 1041, 1040, 1043,
- 1042, 1044, 1035, 1045, 1033, 1047, 1047, 1047,
- 1047, 1052, 1048, 1049, 1049, 1049, 1048, 1049,
- 1051, 0, 1049, 1049, 1049, 1050, 1049, 1051,
- 0, 1050, 1037, 1037, 1037, 1040, 1040, 1040,
- 1042, 1042, 1042, 1466, 1037, 1039, 1469, 1470,
- 1040, 1041, 1467, 1468, 1042, 1043, 1471, 1472,
- 1051, 1049, 1052, 1047, 1054, 1054, 1054, 1054,
- 1059, 1055, 1056, 1056, 1056, 1055, 1056, 1058,
- 1056, 1056, 1056, 1057, 1056, 1058, 1057, 1037,
- 1037, 1037, 1040, 1040, 1040, 1042, 1042, 1042,
- 1466, 1037, 1039, 1469, 1470, 1040, 1041, 1467,
- 1468, 1042, 1043, 1471, 1472, 1058, 1056, 1059,
- 1054, 1061, 1061, 1061, 1061, 1066, 1062, 1063,
- 1063, 1063, 1062, 1063, 1065, 1063, 1063, 1063,
- 1064, 1063, 1065, 1037, 1037, 1037, 1040, 1040,
- 1040, 1042, 1042, 1042, 1466, 1037, 1039, 1469,
- 1470, 1040, 1041, 1467, 1468, 1042, 1043, 1471,
- 1472, 1065, 1063, 1066, 1061, 1067, 1031, 0,
- 1069, 1103, 1124, 1138, 1145, 1154, 1162, 1166,
- 1174, 1180, 1196, 1206, 1209, 1216, 1235, 1245,
- 1248, 1070, 1070, 1070, 1094, 1097, 1101, 1070,
- 1093, 1070, 1070, 1070, 1071, 1070, 1093, 1072,
- 1072, 1072, 1072, 1092, 1073, 1074, 1074, 1074,
- 1073, 1074, 1091, 1074, 1074, 1074, 1075, 1074,
- 1091, 1076, 1076, 1076, 1075, 1076, 1090, 0,
- 1076, 1076, 1076, 1077, 1076, 1090, 1078, 1078,
- 1078, 1077, 1078, 1089, 1078, 1078, 1078, 1079,
- 1078, 1089, 1080, 1080, 1080, 1079, 1080, 1088,
- 1080, 1080, 1080, 1081, 1080, 1088, 1082, 1082,
- 1082, 1081, 1082, 1087, 1082, 1082, 1082, 1083,
- 1082, 1087, 1084, 1084, 1084, 1084, 1086, 1084,
- 1084, 1084, 1085, 1084, 1086, 1473, 1086, 1084,
- 1087, 1082, 1088, 1080, 1089, 1078, 1090, 1076,
- 1091, 1074, 1092, 1072, 1093, 1070, 1095, 1096,
- 1070, 1070, 1070, 1070, 1093, 1098, 1099, 1100,
- 1070, 1070, 1070, 1070, 1093, 1102, 1070, 1070,
- 1070, 1070, 1093, 1104, 1106, 1113, 1116, 1120,
- 1105, 1070, 1070, 1070, 1070, 1093, 1107, 1112,
- 1108, 1109, 1110, 1111, 1070, 1070, 1070, 1070,
- 1093, 1070, 1070, 1070, 1070, 1093, 1114, 1115,
- 1070, 1070, 1070, 1070, 1093, 1117, 1118, 1119,
- 1070, 1070, 1070, 1070, 1093, 1121, 1122, 1123,
- 1070, 1070, 1070, 1070, 1093, 1125, 1129, 1137,
- 1126, 1127, 1128, 1070, 1070, 1070, 1070, 1093,
- 1130, 1133, 1131, 1132, 1070, 1070, 1070, 1070,
- 1093, 1134, 1135, 1136, 1070, 1070, 1070, 1070,
- 1093, 1070, 1070, 1070, 1070, 1093, 1139, 1140,
- 1141, 1143, 1142, 1070, 1070, 1070, 1070, 1093,
- 1144, 1070, 1070, 1070, 1070, 1093, 1146, 1150,
- 1147, 1148, 1149, 1070, 1070, 1070, 1070, 1093,
- 1151, 1152, 1153, 1070, 1070, 1070, 1070, 1093,
- 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1070,
- 1070, 1070, 1070, 1093, 1163, 1165, 1164, 1070,
- 1070, 1070, 1070, 1093, 1070, 1070, 1070, 1070,
- 1093, 1167, 1169, 1171, 1173, 1168, 1070, 1070,
- 1070, 1070, 1093, 1170, 1070, 1070, 1070, 1070,
- 1093, 1172, 1070, 1070, 1070, 1070, 1093, 1070,
- 1070, 1070, 1070, 1093, 1175, 1179, 1176, 1177,
- 1178, 1070, 1070, 1070, 1070, 1093, 1070, 1070,
- 1070, 1070, 1093, 1181, 1185, 1187, 1182, 1183,
- 1184, 1070, 1070, 1070, 1070, 1093, 1186, 1070,
- 1070, 1070, 1070, 1093, 1070, 1070, 1070, 1188,
- 1070, 1093, 1189, 1070, 1070, 1070, 1190, 1070,
- 1093, 1070, 1070, 1070, 1191, 1070, 1093, 1192,
- 1193, 1194, 1195, 1070, 1070, 1070, 1070, 1093,
- 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204,
- 1205, 1070, 1070, 1070, 1070, 1093, 1207, 1208,
- 1070, 1070, 1070, 1070, 1093, 1210, 1211, 1215,
- 1070, 1070, 1070, 1070, 1093, 1212, 1213, 1214,
- 1070, 1070, 1070, 1070, 1093, 1070, 1070, 1070,
- 1070, 1093, 1217, 1222, 1224, 1226, 1228, 1232,
- 1218, 1219, 1220, 1221, 1070, 1070, 1070, 1070,
- 1093, 1223, 1070, 1070, 1070, 1070, 1093, 1225,
- 1070, 1070, 1070, 1070, 1093, 1227, 1070, 1070,
- 1070, 1070, 1093, 1229, 1230, 1231, 1070, 1070,
- 1070, 1070, 1093, 1233, 1234, 1070, 1070, 1070,
- 1070, 1093, 1236, 1239, 1241, 1237, 1238, 1070,
- 1070, 1070, 1070, 1093, 1240, 1070, 1070, 1070,
- 1070, 1093, 1242, 1243, 0, 1244, 1070, 1070,
- 1070, 1244, 1070, 1093, 1246, 1247, 1070, 1070,
- 1070, 1070, 1093, 1249, 1250, 1251, 1252, 1253,
- 1070, 1070, 1070, 1070, 1093, 1255, 1256, 1474,
- 1258, 1259, 1259, 1259, 1258, 1259, 1267, 1259,
- 1259, 1259, 1260, 1259, 1267, 1261, 1261, 1261,
- 1260, 1261, 1266, 1261, 1261, 1261, 1262, 1261,
- 1266, 1263, 1263, 1263, 1263, 1265, 1264, 1475,
- 1265, 1263, 1266, 1261, 1267, 1259, 1269, 1476,
- 1271, 1272, 1272, 1272, 1271, 1272, 1298, 1272,
- 1272, 1272, 1273, 1272, 1298, 1274, 1274, 1274,
- 1273, 1274, 1297, 1274, 1274, 1274, 1275, 1274,
- 1297, 1276, 1276, 1276, 1275, 1276, 1296, 1276,
- 1276, 1276, 1277, 1294, 1276, 1296, 1278, 1278,
- 1278, 1278, 1293, 0, 1278, 1278, 1278, 1279,
- 1278, 1293, 1280, 1281, 1291, 1282, 1283, 1290,
- 1284, 1288, 1285, 1286, 1286, 1287, 1279, 1477,
- 1289, 1292, 1293, 1278, 1295, 1294, 1296, 1276,
- 1297, 1274, 1298, 1272, 1300, 1301, 1301, 1301,
- 1300, 1301, 1311, 1301, 1301, 1301, 1302, 1301,
- 1311, 1303, 1303, 1303, 1302, 1303, 1310, 1303,
- 1303, 1303, 1304, 1303, 1310, 1305, 1305, 1305,
- 1304, 1305, 1309, 1305, 1305, 1305, 1306, 1307,
- 1305, 1309, 1478, 1308, 1307, 1309, 1305, 1310,
- 1303, 1311, 1301, 1313, 1314, 1314, 1314, 1313,
- 1314, 1324, 1314, 1314, 1314, 1315, 1314, 1324,
- 1316, 1316, 1316, 1315, 1316, 1323, 1316, 1316,
- 1316, 1317, 1316, 1323, 1318, 1318, 1318, 1317,
- 1318, 1322, 1318, 1318, 1318, 1319, 1318, 1322,
- 1320, 1320, 1320, 1320, 1320, 1321, 1479, 1480,
- 1481, 1321, 1320, 1322, 1318, 1323, 1316, 1324,
- 1314, 1326, 1327, 1327, 1327, 1326, 1327, 1330,
- 1327, 1327, 1327, 1328, 1327, 1330, 1329, 1328,
- 1482, 1330, 1327, 1332, 1333, 1333, 1333, 1332,
- 1333, 1343, 1333, 1333, 1333, 1334, 1333, 1343,
- 1335, 1335, 1335, 1334, 1335, 1342, 1335, 1335,
- 1335, 1336, 1335, 1342, 1337, 1337, 1337, 1336,
- 1337, 1341, 1337, 1337, 1337, 1338, 1337, 1341,
- 1339, 1339, 1339, 1339, 1339, 1340, 1483, 1484,
- 1485, 1340, 1339, 1341, 1337, 1342, 1335, 1343,
- 1333, 1345, 1346, 1346, 1346, 1345, 1346, 1348,
- 1346, 1346, 1346, 1347, 1346, 1348, 1486, 1347,
- 1348, 1346, 1350, 1351, 1351, 1351, 1350, 1351,
- 1361, 1351, 1351, 1351, 1352, 1351, 1361, 1353,
- 1354, 1355, 0, 1356, 1357, 1358, 1359, 1360,
- 0, 1487, 1361, 1351, 1363, 1364, 0, 1365,
- 1366, 1367, 1488, 1369, 1370, 1371, 1372, 1373,
- 1489, 1375, 1376, 1376, 1376, 1375, 1376, 1381,
- 1376, 1376, 1376, 1377, 1376, 1381, 1378, 1378,
- 1378, 1377, 1378, 1380, 1379, 1378, 1378, 1378,
- 1378, 1380, 1490, 1380, 1378, 1381, 1376, 1383,
- 1384, 1384, 1384, 1383, 1384, 1389, 1385, 1384,
- 1384, 1384, 1384, 1389, 1386, 1386, 1386, 1386,
- 1388, 1387, 1386, 1386, 1386, 1386, 1388, 1491,
- 1388, 1386, 1389, 1384, 1391, 1392, 1392, 1392,
- 1391, 1392, 1395, 1392, 1392, 1392, 1393, 1392,
- 1395, 1394, 1492, 1395, 1392, 0, 1, 184,
- 1, 1, 192, 1396, 183, 1401, 302, 14,
- 228, 14, 14, 238, 260, 1404, 275, 1402,
- 276, 1405, 278, 0, 174, 174, 174, 202,
- 286, 287, 288, 289, 304, 291, 292, 293,
- 294, 295, 296, 297, 298, 299, 300, 301,
- 1399, 303, 0, 195, 202, 286, 287, 288,
- 289, 290, 291, 292, 293, 294, 295, 296,
- 297, 298, 299, 300, 301, 0, 1, 184,
- 1, 1, 192, 1396, 183, 1401, 302, 1,
- 1, 1401, 302, 206, 206, 206, 1401, 207,
- 210, 210, 210, 227, 264, 0, 239, 242,
- 244, 245, 246, 247, 248, 249, 250, 251,
- 252, 253, 254, 255, 256, 257, 258, 259,
- 1401
+ 105, 5, 5, 5, 5, 10, 6, 11,
+ 20, 5, 5, 5, 107, 5, 10, 6,
+ 11, 20, 108, 5, 5, 5, 109, 5,
+ 10, 6, 11, 20, 5, 5, 5, 110,
+ 5, 10, 6, 11, 20, 111, 112, 113,
+ 114, 5, 5, 5, 5, 10, 6, 11,
+ 20, 116, 117, 118, 119, 120, 121, 122,
+ 123, 124, 5, 5, 5, 5, 10, 6,
+ 11, 20, 126, 127, 5, 5, 5, 5,
+ 10, 6, 11, 20, 129, 130, 134, 5,
+ 5, 5, 5, 10, 6, 11, 20, 131,
+ 132, 133, 5, 5, 5, 5, 10, 6,
+ 11, 20, 5, 5, 5, 5, 10, 6,
+ 11, 20, 136, 141, 143, 145, 147, 151,
+ 137, 138, 139, 140, 5, 5, 5, 5,
+ 10, 6, 11, 20, 142, 5, 5, 5,
+ 5, 10, 6, 11, 20, 144, 5, 5,
+ 5, 5, 10, 6, 11, 20, 146, 5,
+ 5, 5, 5, 10, 6, 11, 20, 148,
+ 149, 150, 5, 5, 5, 5, 10, 6,
+ 11, 20, 152, 153, 5, 5, 5, 5,
+ 10, 6, 11, 20, 155, 158, 160, 156,
+ 157, 5, 5, 5, 5, 10, 6, 11,
+ 20, 159, 5, 5, 5, 5, 10, 6,
+ 11, 20, 161, 162, 0, 163, 0, 5,
+ 5, 5, 163, 5, 10, 6, 11, 20,
+ 165, 166, 5, 5, 5, 5, 10, 6,
+ 11, 20, 168, 169, 170, 171, 172, 5,
+ 5, 5, 5, 10, 6, 11, 20, 174,
+ 175, 176, 177, 178, 5, 5, 5, 5,
+ 10, 6, 11, 20, 179, 72, 180, 180,
+ 180, 1447, 312, 182, 183, 183, 183, 183,
+ 188, 183, 183, 183, 184, 4, 17, 40,
+ 54, 61, 73, 81, 85, 93, 99, 115,
+ 125, 128, 135, 154, 164, 167, 173, 183,
+ 188, 72, 72, 72, 184, 185, 185, 185,
+ 185, 185, 72, 179, 186, 186, 187, 187,
+ 187, 187, 187, 72, 72, 72, 186, 72,
+ 179, 188, 183, 189, 1444, 0, 191, 236,
+ 242, 192, 193, 194, 195, 196, 197, 1448,
+ 0, 199, 199, 199, 199, 200, 199, 199,
+ 199, 199, 200, 200, 0, 199, 0, 202,
+ 202, 202, 202, 203, 202, 202, 202, 202,
+ 203, 203, 202, 205, 205, 206, 206, 206,
+ 206, 206, 3, 3, 3, 205, 3, 207,
+ 207, 3, 0, 209, 209, 209, 209, 290,
+ 291, 292, 209, 209, 209, 209, 290, 291,
+ 292, 0, 211, 211, 211, 1445, 13, 1450,
+ 214, 1451, 288, 211, 211, 211, 1445, 1451,
+ 212, 212, 212, 1449, 213, 213, 1449, 215,
+ 215, 215, 1444, 8, 215, 215, 215, 8,
+ 216, 216, 216, 234, 272, 234, 1452, 0,
+ 237, 238, 239, 240, 241, 1448, 243, 244,
+ 1448, 0, 212, 212, 212, 1449, 213, 0,
+ 247, 247, 247, 1447, 248, 247, 247, 247,
+ 1447, 248, 248, 1447, 0, 250, 250, 250,
+ 1452, 234, 1453, 272, 250, 250, 250, 1452,
+ 1453, 269, 0, 269, 269, 269, 270, 212,
+ 212, 212, 1449, 213, 271, 1449, 271, 271,
+ 213, 271, 271, 271, 213, 273, 273, 273,
+ 234, 273, 273, 273, 234, 275, 276, 5,
+ 5, 5, 5, 10, 6, 11, 20, 278,
+ 279, 280, 5, 5, 5, 5, 10, 6,
+ 11, 20, 282, 5, 5, 5, 5, 10,
+ 6, 11, 20, 283, 1452, 285, 285, 285,
+ 1444, 285, 285, 285, 1444, 287, 287, 287,
+ 287, 287, 287, 289, 289, 289, 289, 289,
+ 289, 290, 209, 216, 216, 216, 234, 272,
+ 293, 293, 293, 293, 293, 293, 0, 311,
+ 1449, 312, 1447, 314, 1446, 315, 1454, 315,
+ 315, 317, 1455, 317, 1455, 0, 319, 325,
+ 326, 321, 1456, 319, 320, 321, 1456, 319,
+ 321, 322, 0, 323, 324, 1456, 319, 320,
+ 321, 1456, 0, 328, 333, 329, 1457, 328,
+ 1458, 329, 0, 330, 331, 332, 1457, 328,
+ 1458, 329, 333, 334, 335, 336, 333, 334,
+ 335, 336, 0, 1457, 337, 338, 339, 333,
+ 334, 335, 336, 0, 341, 341, 341, 341,
+ 348, 0, 342, 0, 343, 343, 343, 342,
+ 345, 345, 345, 345, 345, 1459, 344, 0,
+ 343, 343, 343, 1459, 344, 344, 1459, 346,
+ 0, 346, 347, 347, 347, 347, 347, 343,
+ 343, 343, 346, 1459, 344, 348, 341, 0,
+ 350, 350, 350, 350, 360, 351, 359, 355,
+ 351, 352, 355, 0, 353, 353, 353, 351,
+ 355, 1460, 354, 353, 353, 353, 1460, 354,
+ 354, 1460, 356, 0, 357, 358, 351, 352,
+ 355, 360, 350, 362, 362, 362, 362, 377,
+ 363, 0, 0, 364, 364, 364, 1461, 368,
+ 374, 0, 364, 364, 364, 365, 373, 369,
+ 1461, 368, 374, 0, 365, 366, 369, 367,
+ 367, 367, 365, 369, 1461, 368, 367, 367,
+ 367, 368, 1461, 370, 0, 371, 372, 365,
+ 366, 369, 374, 1462, 375, 375, 375, 375,
+ 376, 376, 375, 377, 362, 0, 379, 380,
+ 381, 384, 382, 382, 382, 382, 382, 383,
+ 1463, 1464, 1465, 383, 382, 0, 386, 386,
+ 386, 386, 391, 1466, 1467, 1468, 386, 386,
+ 386, 387, 392, 413, 427, 434, 443, 451,
+ 455, 463, 469, 485, 495, 498, 505, 524,
+ 534, 537, 543, 386, 391, 1466, 1467, 1468,
+ 386, 386, 386, 388, 549, 553, 386, 391,
+ 1466, 1467, 1468, 389, 390, 386, 386, 386,
+ 386, 391, 1466, 1467, 1468, 391, 386, 393,
+ 395, 402, 405, 409, 394, 386, 386, 386,
+ 386, 391, 1466, 1467, 1468, 396, 401, 397,
+ 398, 399, 400, 386, 386, 386, 386, 391,
+ 1466, 1467, 1468, 386, 386, 386, 386, 391,
+ 1466, 1467, 1468, 403, 404, 386, 386, 386,
+ 386, 391, 1466, 1467, 1468, 406, 407, 408,
+ 386, 386, 386, 386, 391, 1466, 1467, 1468,
+ 410, 411, 412, 386, 386, 386, 386, 391,
+ 1466, 1467, 1468, 414, 418, 426, 415, 416,
+ 417, 386, 386, 386, 386, 391, 1466, 1467,
+ 1468, 419, 422, 420, 421, 386, 386, 386,
+ 386, 391, 1466, 1467, 1468, 423, 424, 425,
+ 386, 386, 386, 386, 391, 1466, 1467, 1468,
+ 386, 386, 386, 386, 391, 1466, 1467, 1468,
+ 428, 429, 430, 432, 431, 386, 386, 386,
+ 386, 391, 1466, 1467, 1468, 433, 386, 386,
+ 386, 386, 391, 1466, 1467, 1468, 435, 439,
+ 436, 437, 438, 386, 386, 386, 386, 391,
+ 1466, 1467, 1468, 440, 441, 442, 386, 386,
+ 386, 386, 391, 1466, 1467, 1468, 444, 445,
+ 446, 447, 448, 449, 450, 386, 386, 386,
+ 386, 391, 1466, 1467, 1468, 452, 454, 453,
+ 386, 386, 386, 386, 391, 1466, 1467, 1468,
+ 386, 386, 386, 386, 391, 1466, 1467, 1468,
+ 456, 458, 460, 462, 457, 386, 386, 386,
+ 386, 391, 1466, 1467, 1468, 459, 386, 386,
+ 386, 386, 391, 1466, 1467, 1468, 461, 386,
+ 386, 386, 386, 391, 1466, 1467, 1468, 386,
+ 386, 386, 386, 391, 1466, 1467, 1468, 464,
+ 468, 465, 466, 467, 386, 386, 386, 386,
+ 391, 1466, 1467, 1468, 386, 386, 386, 386,
+ 391, 1466, 1467, 1468, 470, 474, 476, 471,
+ 472, 473, 386, 386, 386, 386, 391, 1466,
+ 1467, 1468, 475, 386, 386, 386, 386, 391,
+ 1466, 1467, 1468, 386, 386, 386, 477, 386,
+ 391, 1466, 1467, 1468, 478, 386, 386, 386,
+ 479, 386, 391, 1466, 1467, 1468, 386, 386,
+ 386, 480, 386, 391, 1466, 1467, 1468, 481,
+ 482, 483, 484, 386, 386, 386, 386, 391,
+ 1466, 1467, 1468, 486, 487, 488, 489, 490,
+ 491, 492, 493, 494, 386, 386, 386, 386,
+ 391, 1466, 1467, 1468, 496, 497, 386, 386,
+ 386, 386, 391, 1466, 1467, 1468, 499, 500,
+ 504, 386, 386, 386, 386, 391, 1466, 1467,
+ 1468, 501, 502, 503, 386, 386, 386, 386,
+ 391, 1466, 1467, 1468, 386, 386, 386, 386,
+ 391, 1466, 1467, 1468, 506, 511, 513, 515,
+ 517, 521, 507, 508, 509, 510, 386, 386,
+ 386, 386, 391, 1466, 1467, 1468, 512, 386,
+ 386, 386, 386, 391, 1466, 1467, 1468, 514,
+ 386, 386, 386, 386, 391, 1466, 1467, 1468,
+ 516, 386, 386, 386, 386, 391, 1466, 1467,
+ 1468, 518, 519, 520, 386, 386, 386, 386,
+ 391, 1466, 1467, 1468, 522, 523, 386, 386,
+ 386, 386, 391, 1466, 1467, 1468, 525, 528,
+ 530, 526, 527, 386, 386, 386, 386, 391,
+ 1466, 1467, 1468, 529, 386, 386, 386, 386,
+ 391, 1466, 1467, 1468, 531, 532, 533, 386,
+ 386, 386, 533, 386, 391, 1466, 1467, 1468,
+ 535, 536, 386, 386, 386, 386, 391, 1466,
+ 1467, 1468, 538, 539, 540, 541, 542, 386,
+ 386, 386, 386, 391, 1466, 1467, 1468, 544,
+ 545, 546, 547, 548, 386, 386, 386, 386,
+ 391, 1466, 1467, 1468, 550, 551, 552, 386,
+ 386, 386, 386, 391, 1466, 1467, 1468, 554,
+ 386, 386, 386, 386, 391, 1466, 1467, 1468,
+ 0, 556, 556, 556, 556, 563, 0, 557,
+ 558, 558, 558, 557, 558, 562, 0, 558,
+ 558, 558, 559, 558, 562, 560, 560, 560,
+ 560, 560, 561, 1469, 1470, 1471, 561, 560,
+ 562, 558, 563, 556, 565, 565, 565, 565,
+ 573, 566, 572, 1472, 1472, 1472, 572, 1473,
+ 1472, 1476, 567, 567, 567, 568, 567, 571,
+ 569, 569, 569, 569, 569, 570, 1473, 1474,
+ 1475, 570, 569, 571, 567, 567, 567, 567,
+ 567, 571, 573, 565, 0, 575, 579, 586,
+ 589, 602, 606, 621, 626, 576, 577, 578,
+ 1477, 580, 581, 582, 583, 584, 585, 1477,
+ 587, 588, 1477, 590, 591, 592, 597, 593,
+ 594, 595, 596, 1477, 598, 599, 600, 601,
+ 1477, 603, 604, 0, 605, 1477, 605, 607,
+ 608, 609, 610, 611, 612, 613, 614, 615,
+ 616, 617, 618, 619, 620, 1477, 622, 623,
+ 624, 625, 1477, 627, 628, 629, 1477, 0,
+ 631, 631, 631, 631, 638, 1478, 1479, 1480,
+ 631, 631, 631, 632, 639, 651, 666, 691,
+ 696, 711, 726, 731, 631, 638, 1478, 1479,
+ 1480, 633, 634, 635, 636, 637, 739, 631,
+ 631, 631, 631, 638, 1478, 1479, 1480, 638,
+ 631, 640, 641, 642, 643, 644, 645, 646,
+ 647, 648, 631, 631, 631, 631, 638, 1478,
+ 1479, 1480, 649, 650, 631, 631, 631, 631,
+ 638, 1478, 1479, 1480, 652, 653, 654, 655,
+ 661, 656, 657, 658, 660, 659, 659, 656,
+ 662, 663, 665, 664, 664, 661, 667, 668,
+ 669, 680, 670, 671, 672, 673, 674, 0,
+ 675, 678, 676, 650, 677, 676, 676, 631,
+ 631, 631, 679, 678, 631, 638, 1478, 1479,
+ 1480, 678, 681, 682, 683, 684, 685, 686,
+ 689, 687, 650, 688, 687, 687, 631, 631,
+ 631, 690, 689, 631, 638, 1478, 1479, 1480,
+ 689, 692, 693, 0, 694, 631, 631, 631,
+ 694, 695, 631, 638, 1478, 1479, 1480, 697,
+ 698, 699, 700, 701, 702, 703, 704, 705,
+ 706, 709, 707, 650, 708, 707, 631, 631,
+ 631, 710, 631, 638, 1478, 1479, 1480, 709,
+ 712, 713, 714, 715, 716, 717, 718, 719,
+ 720, 721, 722, 723, 724, 725, 631, 631,
+ 631, 631, 638, 1478, 1479, 1480, 727, 728,
+ 729, 730, 631, 631, 631, 631, 638, 1478,
+ 1479, 1480, 732, 733, 734, 735, 736, 738,
+ 737, 650, 737, 631, 631, 631, 738, 631,
+ 638, 1478, 1479, 1480, 740, 650, 0, 742,
+ 743, 758, 797, 805, 818, 1481, 742, 744,
+ 745, 1481, 746, 1481, 747, 748, 749, 750,
+ 751, 752, 753, 754, 755, 756, 757, 1481,
+ 759, 788, 760, 766, 761, 762, 763, 764,
+ 765, 1481, 767, 768, 769, 770, 779, 771,
+ 772, 773, 774, 775, 776, 777, 778, 1481,
+ 780, 781, 782, 783, 784, 785, 786, 787,
+ 1481, 789, 794, 790, 791, 792, 793, 1481,
+ 795, 796, 1481, 798, 799, 800, 801, 802,
+ 803, 804, 1481, 806, 807, 808, 809, 810,
+ 811, 812, 815, 813, 814, 1481, 816, 817,
+ 1481, 819, 820, 821, 824, 822, 823, 1481,
+ 825, 826, 827, 839, 842, 1481, 828, 829,
+ 830, 831, 832, 833, 834, 835, 836, 837,
+ 838, 1481, 840, 841, 1481, 843, 844, 1481,
+ 0, 846, 847, 853, 870, 873, 879, 883,
+ 1482, 846, 848, 849, 850, 851, 852, 1482,
+ 854, 860, 866, 855, 856, 857, 858, 859,
+ 1482, 861, 863, 862, 1482, 864, 865, 1482,
+ 867, 868, 869, 1482, 871, 872, 1482, 874,
+ 876, 875, 1482, 877, 878, 1482, 880, 881,
+ 882, 1482, 884, 885, 1482, 0, 887, 1483,
+ 887, 889, 1484, 891, 892, 892, 892, 892,
+ 921, 892, 892, 892, 893, 892, 921, 894,
+ 894, 894, 894, 920, 0, 894, 894, 894,
+ 895, 894, 920, 896, 896, 896, 895, 896,
+ 919, 896, 896, 896, 897, 896, 919, 0,
+ 898, 898, 898, 897, 916, 916, 916, 916,
+ 916, 898, 915, 898, 898, 898, 899, 898,
+ 915, 900, 900, 900, 899, 912, 912, 912,
+ 912, 912, 900, 911, 900, 900, 900, 901,
+ 900, 911, 902, 902, 902, 901, 908, 908,
+ 908, 908, 908, 902, 907, 902, 902, 902,
+ 903, 902, 907, 1485, 903, 904, 904, 904,
+ 904, 904, 905, 905, 906, 906, 906, 906,
+ 906, 1485, 905, 907, 902, 909, 909, 910,
+ 910, 910, 910, 910, 902, 902, 902, 909,
+ 902, 907, 911, 900, 913, 913, 914, 914,
+ 914, 914, 914, 900, 900, 900, 913, 900,
+ 911, 915, 898, 917, 917, 918, 918, 918,
+ 918, 918, 898, 898, 898, 917, 898, 915,
+ 919, 896, 920, 894, 921, 892, 923, 924,
+ 924, 924, 924, 926, 925, 924, 924, 924,
+ 924, 926, 1486, 926, 924, 928, 929, 929,
+ 929, 929, 931, 929, 929, 929, 930, 929,
+ 931, 1487, 931, 929, 933, 934, 934, 934,
+ 933, 934, 936, 934, 934, 934, 935, 934,
+ 936, 1488, 936, 934, 938, 0, 939, 939,
+ 939, 939, 940, 1489, 1490, 1491, 938, 939,
+ 939, 939, 939, 940, 1489, 1490, 1491, 940,
+ 939, 942, 1492, 942, 0, 944, 945, 945,
+ 945, 944, 945, 997, 945, 945, 945, 946,
+ 950, 992, 945, 997, 947, 947, 947, 946,
+ 947, 996, 947, 947, 947, 948, 947, 996,
+ 949, 949, 949, 994, 948, 949, 993, 949,
+ 949, 949, 949, 993, 951, 951, 951, 951,
+ 991, 952, 953, 953, 953, 952, 953, 990,
+ 953, 953, 953, 954, 958, 985, 953, 990,
+ 955, 955, 955, 954, 955, 989, 955, 955,
+ 955, 956, 955, 989, 957, 957, 957, 987,
+ 956, 957, 986, 957, 957, 957, 957, 986,
+ 959, 959, 959, 959, 984, 960, 961, 961,
+ 962, 962, 962, 981, 961, 983, 962, 980,
+ 1493, 1500, 1501, 962, 962, 962, 963, 962,
+ 980, 1493, 1500, 1501, 964, 964, 964, 977,
+ 963, 979, 964, 976, 1493, 1498, 1499, 964,
+ 964, 964, 965, 964, 976, 1498, 1499, 966,
+ 966, 966, 973, 965, 975, 966, 972, 1493,
+ 1496, 1497, 966, 966, 966, 967, 966, 972,
+ 1496, 1497, 968, 968, 968, 970, 967, 968,
+ 969, 1493, 1494, 1495, 968, 968, 968, 968,
+ 969, 1494, 1495, 969, 968, 968, 968, 968,
+ 971, 968, 969, 1493, 1494, 1495, 971, 972,
+ 966, 966, 966, 966, 974, 975, 966, 972,
+ 1493, 1496, 1497, 974, 976, 964, 964, 964,
+ 964, 978, 979, 964, 976, 1493, 1498, 1499,
+ 978, 980, 962, 962, 962, 962, 982, 983,
+ 962, 980, 1493, 1500, 1501, 982, 984, 959,
+ 959, 959, 959, 959, 984, 986, 957, 957,
+ 957, 957, 988, 957, 986, 988, 989, 955,
+ 990, 953, 991, 951, 951, 951, 951, 951,
+ 991, 993, 949, 949, 949, 949, 995, 949,
+ 993, 995, 996, 947, 997, 945, 999, 1000,
+ 1000, 1000, 999, 1000, 1008, 1000, 1000, 1000,
+ 1001, 1000, 1008, 1002, 1002, 1002, 1001, 1002,
+ 1007, 1002, 1002, 1002, 1003, 1002, 1007, 1004,
+ 1004, 1004, 1003, 1004, 1006, 1004, 1004, 1004,
+ 1005, 1004, 1006, 1502, 1006, 1004, 1007, 1002,
+ 1008, 1000, 1010, 1011, 1011, 1011, 1010, 1011,
+ 1025, 1011, 1011, 1011, 1012, 1011, 1025, 1013,
+ 1013, 1013, 1012, 1013, 1024, 1014, 1013, 1013,
+ 1013, 1013, 1024, 1015, 1015, 1015, 1015, 1023,
+ 1016, 1015, 1015, 1015, 1015, 1023, 1017, 1017,
+ 1017, 1017, 1022, 1018, 1017, 1017, 1017, 1017,
+ 1022, 1019, 1019, 1019, 1019, 1021, 1019, 1019,
+ 1019, 1020, 1019, 1021, 1503, 1021, 1019, 1022,
+ 1017, 1023, 1015, 1024, 1013, 1025, 1011, 1027,
+ 1028, 1028, 1028, 1028, 1036, 1029, 1030, 1030,
+ 1030, 1029, 1030, 1035, 1030, 1030, 1030, 1031,
+ 1030, 1035, 1032, 1032, 1032, 1032, 1034, 1033,
+ 1504, 1034, 1032, 1035, 1030, 1036, 1028, 0,
+ 1037, 1038, 1037, 1037, 1039, 1045, 1037, 1044,
+ 1505, 1506, 1507, 1039, 1045, 1040, 0, 1041,
+ 1041, 1042, 1043, 1037, 1037, 1037, 1043, 1037,
+ 1044, 1505, 1506, 1507, 1044, 1037, 1046, 1047,
+ 1047, 1042, 1049, 1050, 1050, 1050, 1049, 1050,
+ 1060, 1050, 1050, 1050, 1051, 1050, 1060, 1052,
+ 1052, 1052, 1052, 1059, 1053, 1054, 1054, 1054,
+ 1053, 1054, 1058, 0, 1054, 1054, 1054, 1055,
+ 1054, 1058, 1056, 1056, 1056, 1056, 1056, 1057,
+ 1508, 1509, 1510, 1057, 1056, 1058, 1054, 1059,
+ 1052, 1060, 1050, 1062, 1063, 1063, 1063, 1062,
+ 1063, 1070, 1063, 1063, 1063, 1064, 1063, 1070,
+ 1065, 1065, 1065, 1064, 1065, 1069, 1065, 1065,
+ 1065, 1066, 1065, 1069, 1067, 1067, 1067, 1067,
+ 1067, 1068, 1511, 1512, 1513, 1068, 1067, 1069,
+ 1065, 1070, 1063, 1072, 1073, 1073, 1073, 1072,
+ 1073, 1109, 0, 1073, 1073, 1073, 1074, 1088,
+ 1095, 1102, 1073, 1109, 1075, 1075, 1075, 1075,
+ 1087, 0, 1076, 1077, 1077, 1077, 1076, 1077,
+ 1086, 1077, 1077, 1077, 1078, 1077, 1086, 0,
+ 1079, 1079, 1079, 1082, 1082, 1082, 1084, 1084,
+ 1084, 1514, 1079, 1081, 1517, 1518, 1082, 1083,
+ 1515, 1516, 1084, 1085, 1519, 1520, 0, 1080,
+ 1081, 1079, 1083, 1082, 1085, 1084, 1086, 1077,
+ 1087, 1075, 1089, 1089, 1089, 1089, 1094, 1090,
+ 1091, 1091, 1091, 1090, 1091, 1093, 0, 1091,
+ 1091, 1091, 1092, 1091, 1093, 0, 1092, 1079,
+ 1079, 1079, 1082, 1082, 1082, 1084, 1084, 1084,
+ 1514, 1079, 1081, 1517, 1518, 1082, 1083, 1515,
+ 1516, 1084, 1085, 1519, 1520, 1093, 1091, 1094,
+ 1089, 1096, 1096, 1096, 1096, 1101, 1097, 1098,
+ 1098, 1098, 1097, 1098, 1100, 1098, 1098, 1098,
+ 1099, 1098, 1100, 1099, 1079, 1079, 1079, 1082,
+ 1082, 1082, 1084, 1084, 1084, 1514, 1079, 1081,
+ 1517, 1518, 1082, 1083, 1515, 1516, 1084, 1085,
+ 1519, 1520, 1100, 1098, 1101, 1096, 1103, 1103,
+ 1103, 1103, 1108, 1104, 1105, 1105, 1105, 1104,
+ 1105, 1107, 1105, 1105, 1105, 1106, 1105, 1107,
+ 1079, 1079, 1079, 1082, 1082, 1082, 1084, 1084,
+ 1084, 1514, 1079, 1081, 1517, 1518, 1082, 1083,
+ 1515, 1516, 1084, 1085, 1519, 1520, 1107, 1105,
+ 1108, 1103, 1109, 1073, 0, 1111, 1145, 1166,
+ 1180, 1187, 1196, 1204, 1208, 1216, 1222, 1238,
+ 1248, 1251, 1258, 1277, 1287, 1290, 1296, 1112,
+ 1112, 1112, 1136, 1139, 1143, 1112, 1135, 1112,
+ 1112, 1112, 1113, 1112, 1135, 1114, 1114, 1114,
+ 1114, 1134, 1115, 1116, 1116, 1116, 1115, 1116,
+ 1133, 1116, 1116, 1116, 1117, 1116, 1133, 1118,
+ 1118, 1118, 1117, 1118, 1132, 0, 1118, 1118,
+ 1118, 1119, 1118, 1132, 1120, 1120, 1120, 1119,
+ 1120, 1131, 1120, 1120, 1120, 1121, 1120, 1131,
+ 1122, 1122, 1122, 1121, 1122, 1130, 1122, 1122,
+ 1122, 1123, 1122, 1130, 1124, 1124, 1124, 1123,
+ 1124, 1129, 1124, 1124, 1124, 1125, 1124, 1129,
+ 1126, 1126, 1126, 1126, 1128, 1126, 1126, 1126,
+ 1127, 1126, 1128, 1521, 1128, 1126, 1129, 1124,
+ 1130, 1122, 1131, 1120, 1132, 1118, 1133, 1116,
+ 1134, 1114, 1135, 1112, 1137, 1138, 1112, 1112,
+ 1112, 1112, 1135, 1140, 1141, 1142, 1112, 1112,
+ 1112, 1112, 1135, 1144, 1112, 1112, 1112, 1112,
+ 1135, 1146, 1148, 1155, 1158, 1162, 1147, 1112,
+ 1112, 1112, 1112, 1135, 1149, 1154, 1150, 1151,
+ 1152, 1153, 1112, 1112, 1112, 1112, 1135, 1112,
+ 1112, 1112, 1112, 1135, 1156, 1157, 1112, 1112,
+ 1112, 1112, 1135, 1159, 1160, 1161, 1112, 1112,
+ 1112, 1112, 1135, 1163, 1164, 1165, 1112, 1112,
+ 1112, 1112, 1135, 1167, 1171, 1179, 1168, 1169,
+ 1170, 1112, 1112, 1112, 1112, 1135, 1172, 1175,
+ 1173, 1174, 1112, 1112, 1112, 1112, 1135, 1176,
+ 1177, 1178, 1112, 1112, 1112, 1112, 1135, 1112,
+ 1112, 1112, 1112, 1135, 1181, 1182, 1183, 1185,
+ 1184, 1112, 1112, 1112, 1112, 1135, 1186, 1112,
+ 1112, 1112, 1112, 1135, 1188, 1192, 1189, 1190,
+ 1191, 1112, 1112, 1112, 1112, 1135, 1193, 1194,
+ 1195, 1112, 1112, 1112, 1112, 1135, 1197, 1198,
+ 1199, 1200, 1201, 1202, 1203, 1112, 1112, 1112,
+ 1112, 1135, 1205, 1207, 1206, 1112, 1112, 1112,
+ 1112, 1135, 1112, 1112, 1112, 1112, 1135, 1209,
+ 1211, 1213, 1215, 1210, 1112, 1112, 1112, 1112,
+ 1135, 1212, 1112, 1112, 1112, 1112, 1135, 1214,
+ 1112, 1112, 1112, 1112, 1135, 1112, 1112, 1112,
+ 1112, 1135, 1217, 1221, 1218, 1219, 1220, 1112,
+ 1112, 1112, 1112, 1135, 1112, 1112, 1112, 1112,
+ 1135, 1223, 1227, 1229, 1224, 1225, 1226, 1112,
+ 1112, 1112, 1112, 1135, 1228, 1112, 1112, 1112,
+ 1112, 1135, 1112, 1112, 1112, 1230, 1112, 1135,
+ 1231, 1112, 1112, 1112, 1232, 1112, 1135, 1112,
+ 1112, 1112, 1233, 1112, 1135, 1234, 1235, 1236,
+ 1237, 1112, 1112, 1112, 1112, 1135, 1239, 1240,
+ 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1112,
+ 1112, 1112, 1112, 1135, 1249, 1250, 1112, 1112,
+ 1112, 1112, 1135, 1252, 1253, 1257, 1112, 1112,
+ 1112, 1112, 1135, 1254, 1255, 1256, 1112, 1112,
+ 1112, 1112, 1135, 1112, 1112, 1112, 1112, 1135,
+ 1259, 1264, 1266, 1268, 1270, 1274, 1260, 1261,
+ 1262, 1263, 1112, 1112, 1112, 1112, 1135, 1265,
+ 1112, 1112, 1112, 1112, 1135, 1267, 1112, 1112,
+ 1112, 1112, 1135, 1269, 1112, 1112, 1112, 1112,
+ 1135, 1271, 1272, 1273, 1112, 1112, 1112, 1112,
+ 1135, 1275, 1276, 1112, 1112, 1112, 1112, 1135,
+ 1278, 1281, 1283, 1279, 1280, 1112, 1112, 1112,
+ 1112, 1135, 1282, 1112, 1112, 1112, 1112, 1135,
+ 1284, 1285, 0, 1286, 1112, 1112, 1112, 1286,
+ 1112, 1135, 1288, 1289, 1112, 1112, 1112, 1112,
+ 1135, 1291, 1292, 1293, 1294, 1295, 1112, 1112,
+ 1112, 1112, 1135, 1297, 1298, 1299, 1300, 1301,
+ 1112, 1112, 1112, 1112, 1135, 1303, 1304, 1522,
+ 1306, 1307, 1307, 1307, 1306, 1307, 1315, 1307,
+ 1307, 1307, 1308, 1307, 1315, 1309, 1309, 1309,
+ 1308, 1309, 1314, 1309, 1309, 1309, 1310, 1309,
+ 1314, 1311, 1311, 1311, 1311, 1313, 1312, 1523,
+ 1313, 1311, 1314, 1309, 1315, 1307, 1317, 1524,
+ 1319, 1320, 1320, 1320, 1319, 1320, 1346, 1320,
+ 1320, 1320, 1321, 1320, 1346, 1322, 1322, 1322,
+ 1321, 1322, 1345, 1322, 1322, 1322, 1323, 1322,
+ 1345, 1324, 1324, 1324, 1323, 1324, 1344, 1324,
+ 1324, 1324, 1325, 1342, 1324, 1344, 1326, 1326,
+ 1326, 1326, 1341, 0, 1326, 1326, 1326, 1327,
+ 1326, 1341, 1328, 1329, 1339, 1330, 1331, 1338,
+ 1332, 1336, 1333, 1334, 1334, 1335, 1327, 1525,
+ 1337, 1340, 1341, 1326, 1343, 1342, 1344, 1324,
+ 1345, 1322, 1346, 1320, 1348, 1349, 1349, 1349,
+ 1348, 1349, 1359, 1349, 1349, 1349, 1350, 1349,
+ 1359, 1351, 1351, 1351, 1350, 1351, 1358, 1351,
+ 1351, 1351, 1352, 1351, 1358, 1353, 1353, 1353,
+ 1352, 1353, 1357, 1353, 1353, 1353, 1354, 1355,
+ 1353, 1357, 1526, 1356, 1355, 1357, 1353, 1358,
+ 1351, 1359, 1349, 1361, 1362, 1362, 1362, 1361,
+ 1362, 1372, 1362, 1362, 1362, 1363, 1362, 1372,
+ 1364, 1364, 1364, 1363, 1364, 1371, 1364, 1364,
+ 1364, 1365, 1364, 1371, 1366, 1366, 1366, 1365,
+ 1366, 1370, 1366, 1366, 1366, 1367, 1366, 1370,
+ 1368, 1368, 1368, 1368, 1368, 1369, 1527, 1528,
+ 1529, 1369, 1368, 1370, 1366, 1371, 1364, 1372,
+ 1362, 1374, 1375, 1375, 1375, 1374, 1375, 1378,
+ 1375, 1375, 1375, 1376, 1375, 1378, 1377, 1376,
+ 1530, 1378, 1375, 1380, 1381, 1381, 1381, 1380,
+ 1381, 1391, 1381, 1381, 1381, 1382, 1381, 1391,
+ 1383, 1383, 1383, 1382, 1383, 1390, 1383, 1383,
+ 1383, 1384, 1383, 1390, 1385, 1385, 1385, 1384,
+ 1385, 1389, 1385, 1385, 1385, 1386, 1385, 1389,
+ 1387, 1387, 1387, 1387, 1387, 1388, 1531, 1532,
+ 1533, 1388, 1387, 1389, 1385, 1390, 1383, 1391,
+ 1381, 1393, 1394, 1394, 1394, 1393, 1394, 1396,
+ 1394, 1394, 1394, 1395, 1394, 1396, 1534, 1395,
+ 1396, 1394, 1398, 1399, 1399, 1399, 1398, 1399,
+ 1409, 1399, 1399, 1399, 1400, 1399, 1409, 1401,
+ 1402, 1403, 0, 1404, 1405, 1406, 1407, 1408,
+ 0, 1535, 1409, 1399, 1411, 1412, 0, 1413,
+ 1414, 1415, 1536, 1417, 1418, 1419, 1420, 1421,
+ 1537, 1423, 1424, 1424, 1424, 1423, 1424, 1429,
+ 1424, 1424, 1424, 1425, 1424, 1429, 1426, 1426,
+ 1426, 1425, 1426, 1428, 1427, 1426, 1426, 1426,
+ 1426, 1428, 1538, 1428, 1426, 1429, 1424, 1431,
+ 1432, 1432, 1432, 1431, 1432, 1437, 1433, 1432,
+ 1432, 1432, 1432, 1437, 1434, 1434, 1434, 1434,
+ 1436, 1435, 1434, 1434, 1434, 1434, 1436, 1539,
+ 1436, 1434, 1437, 1432, 1439, 1440, 1440, 1440,
+ 1439, 1440, 1443, 1440, 1440, 1440, 1441, 1440,
+ 1443, 1442, 1540, 1443, 1440, 0, 1, 190,
+ 1, 1, 198, 1444, 189, 1449, 311, 14,
+ 235, 14, 14, 245, 268, 1452, 283, 1450,
+ 284, 1453, 286, 0, 180, 180, 180, 208,
+ 294, 295, 296, 297, 313, 299, 300, 301,
+ 302, 303, 304, 305, 306, 307, 308, 309,
+ 310, 1447, 312, 0, 201, 208, 294, 295,
+ 296, 297, 298, 299, 300, 301, 302, 303,
+ 304, 305, 306, 307, 308, 309, 310, 0,
+ 1, 190, 1, 1, 198, 1444, 189, 1449,
+ 311, 1, 1, 1449, 311, 212, 212, 212,
+ 1449, 213, 216, 216, 216, 234, 272, 0,
+ 246, 249, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 1449
};
static const short _zone_scanner_trans_actions[] = {
- 2709, 0, 5, 7, 631, 802, 802, 802,
- 802, 802, 802, 802, 802, 802, 802, 802,
- 802, 802, 802, 802, 802, 802, 3, 9,
- 3, 9, 2885, 103, 820, 823, 45, 59,
- 57, 55, 0, 61, 817, 826, 413, 0,
- 5, 7, 97, 97, 97, 97, 97, 97,
+ 2742, 0, 5, 7, 637, 808, 808, 808,
+ 808, 808, 808, 808, 808, 808, 808, 808,
+ 808, 808, 808, 808, 808, 808, 808, 3,
+ 9, 3, 9, 2918, 103, 826, 829, 45,
+ 59, 57, 55, 0, 61, 823, 832, 419,
+ 0, 5, 7, 97, 97, 97, 97, 97,
97, 97, 97, 97, 97, 97, 97, 97,
- 97, 97, 97, 3, 9, 2263, 2266, 3393,
- 3397, 0, 0, 0, 3389, 3401, 3409, 5417,
- 5437, 407, 0, 405, 5, 7, 411, 3,
- 9, 421, 448, 2248, 13, 469, 472, 2553,
- 475, 15, 0, 5, 7, 2410, 9, 11,
- 2525, 2257, 409, 11, 463, 13, 430, 436,
- 445, 5412, 3369, 2505, 0, 5, 7, 9,
- 3377, 2254, 448, 11, 2521, 0, 4567, 5,
- 7, 2697, 3017, 3017, 3017, 3017, 3017, 3017,
- 3017, 3017, 3017, 3017, 3017, 3017, 3017, 3017,
- 3017, 3017, 3017, 3, 9, 2251, 2254, 421,
- 448, 6098, 829, 3021, 3025, 4812, 3029, 2260,
- 0, 5, 7, 424, 9, 0, 0, 0,
- 0, 0, 0, 2401, 4297, 4301, 4293, 4305,
- 4309, 5882, 5887, 460, 2509, 2513, 2517, 11,
- 451, 454, 457, 0, 0, 0, 0, 0,
- 0, 2365, 4057, 4061, 4053, 4065, 4069, 5762,
- 5767, 2362, 4037, 4041, 4033, 4045, 4049, 5752,
- 5757, 0, 0, 2320, 3757, 3761, 3753, 3765,
- 3769, 5612, 5617, 0, 0, 0, 2272, 3437,
- 3441, 3433, 3445, 3449, 5452, 5457, 0, 0,
- 0, 2371, 4097, 4101, 4093, 4105, 4109, 5782,
- 5787, 0, 0, 0, 0, 0, 0, 2347,
- 3937, 3941, 3933, 3945, 3949, 5702, 5707, 0,
- 0, 0, 0, 2323, 3777, 3781, 3773, 3785,
- 3789, 5622, 5627, 0, 0, 0, 2344, 3917,
- 3921, 3913, 3925, 3929, 5692, 5697, 2329, 3817,
- 3821, 3813, 3825, 3829, 5642, 5647, 0, 0,
- 0, 0, 0, 2392, 4237, 4241, 4233, 4245,
- 4249, 5852, 5857, 0, 2395, 4257, 4261, 4253,
- 4265, 4269, 5862, 5867, 0, 0, 0, 0,
- 0, 2281, 3497, 3501, 3493, 3505, 3509, 5482,
- 5487, 0, 0, 0, 2407, 4337, 4341, 4333,
- 4345, 4349, 5902, 5907, 0, 0, 101, 808,
- 811, 805, 814, 0, 5, 7, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3,
- 9, 0, 0, 0, 0, 0, 0, 2335,
- 3857, 3861, 3853, 3865, 3869, 5662, 5667, 0,
- 0, 0, 2302, 3637, 3641, 3633, 3645, 3649,
- 5552, 5557, 2317, 3737, 3741, 3733, 3745, 3749,
- 5602, 5607, 0, 0, 0, 0, 0, 2383,
- 4177, 4181, 4173, 4185, 4189, 5822, 5827, 0,
- 2386, 4197, 4201, 4193, 4205, 4209, 5832, 5837,
- 0, 2308, 3677, 3681, 3673, 3685, 3689, 5572,
- 5577, 2389, 4217, 4221, 4213, 4225, 4229, 5842,
- 5847, 0, 0, 0, 0, 0, 2284, 3517,
- 3521, 3513, 3525, 3529, 5492, 5497, 2287, 3537,
- 3541, 3533, 3545, 3549, 5502, 5507, 0, 0,
- 0, 0, 0, 0, 2314, 3717, 3721, 3713,
- 3725, 3729, 5592, 5597, 0, 2380, 4157, 4161,
- 4153, 4165, 4169, 5812, 5817, 2269, 3417, 3421,
- 0, 3413, 3425, 3429, 5442, 5447, 0, 2341,
- 3897, 3901, 0, 3893, 3905, 3909, 5682, 5687,
- 2350, 3957, 3961, 0, 3953, 3965, 3969, 5712,
- 5717, 0, 0, 0, 0, 2353, 3977, 3981,
- 3973, 3985, 3989, 5722, 5727, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 2368, 4077,
- 4081, 4073, 4085, 4089, 5772, 5777, 0, 0,
- 2278, 3477, 3481, 3473, 3485, 3489, 5472, 5477,
- 0, 0, 0, 2293, 3577, 3581, 3573, 3585,
- 3589, 5522, 5527, 0, 0, 0, 2338, 3877,
- 3881, 3873, 3885, 3889, 5672, 5677, 2299, 3617,
- 3621, 3613, 3625, 3629, 5542, 5547, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 2359, 4017, 4021, 4013, 4025, 4029, 5742, 5747,
- 0, 2275, 3457, 3461, 3453, 3465, 3469, 5462,
- 5467, 0, 2377, 4137, 4141, 4133, 4145, 4149,
- 5802, 5807, 0, 2311, 3697, 3701, 3693, 3705,
- 3709, 5582, 5587, 0, 0, 0, 2332, 3837,
- 3841, 3833, 3845, 3849, 5652, 5657, 0, 0,
- 2404, 4317, 4321, 4313, 4325, 4329, 5892, 5897,
- 0, 0, 0, 0, 0, 2356, 3997, 4001,
- 3993, 4005, 4009, 5732, 5737, 0, 2290, 3557,
- 3561, 3553, 3565, 3569, 5512, 5517, 0, 0,
- 649, 631, 2713, 721, 2861, 2865, 45, 2857,
- 2869, 2873, 4752, 4757, 0, 0, 2398, 4277,
- 4281, 4273, 4285, 4289, 5872, 5877, 0, 0,
- 0, 0, 0, 2374, 4117, 4121, 4113, 4125,
- 4129, 5792, 5797, 11, 463, 0, 5, 7,
- 3, 9, 0, 101, 808, 811, 805, 814,
- 0, 5, 7, 631, 99, 99, 99, 99,
+ 97, 97, 97, 97, 97, 3, 9, 2293,
+ 2296, 3434, 3438, 0, 0, 0, 3430, 3442,
+ 3450, 5508, 5528, 413, 0, 411, 5, 7,
+ 417, 3, 9, 427, 454, 2278, 13, 475,
+ 478, 2586, 481, 15, 0, 5, 7, 2443,
+ 9, 11, 2558, 2287, 415, 11, 469, 13,
+ 436, 442, 451, 5503, 3410, 2538, 0, 5,
+ 7, 9, 3418, 2284, 454, 11, 2554, 0,
+ 4628, 5, 7, 2730, 3050, 3050, 3050, 3050,
+ 3050, 3050, 3050, 3050, 3050, 3050, 3050, 3050,
+ 3050, 3050, 3050, 3050, 3050, 3050, 3, 9,
+ 2281, 2284, 427, 454, 6199, 835, 3054, 3058,
+ 4873, 3062, 2290, 0, 5, 7, 430, 9,
+ 0, 0, 0, 0, 0, 0, 2431, 4338,
+ 4342, 4334, 4346, 4350, 5973, 5978, 466, 2542,
+ 2546, 2550, 11, 457, 460, 463, 0, 0,
+ 0, 0, 0, 0, 2395, 4098, 4102, 4094,
+ 4106, 4110, 5853, 5858, 2392, 4078, 4082, 4074,
+ 4086, 4090, 5843, 5848, 0, 0, 2350, 3798,
+ 3802, 3794, 3806, 3810, 5703, 5708, 0, 0,
+ 0, 2302, 3478, 3482, 3474, 3486, 3490, 5543,
+ 5548, 0, 0, 0, 2401, 4138, 4142, 4134,
+ 4146, 4150, 5873, 5878, 0, 0, 0, 0,
+ 0, 0, 2377, 3978, 3982, 3974, 3986, 3990,
+ 5793, 5798, 0, 0, 0, 0, 2353, 3818,
+ 3822, 3814, 3826, 3830, 5713, 5718, 0, 0,
+ 0, 2374, 3958, 3962, 3954, 3966, 3970, 5783,
+ 5788, 2359, 3858, 3862, 3854, 3866, 3870, 5733,
+ 5738, 0, 0, 0, 0, 0, 2422, 4278,
+ 4282, 4274, 4286, 4290, 5943, 5948, 0, 2425,
+ 4298, 4302, 4294, 4306, 4310, 5953, 5958, 0,
+ 0, 0, 0, 0, 2311, 3538, 3542, 3534,
+ 3546, 3550, 5573, 5578, 0, 0, 0, 2437,
+ 4378, 4382, 4374, 4386, 4390, 5993, 5998, 0,
+ 0, 101, 814, 817, 811, 820, 0, 5,
+ 7, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 9, 0, 0, 0,
+ 0, 0, 0, 2365, 3898, 3902, 3894, 3906,
+ 3910, 5753, 5758, 0, 0, 0, 2332, 3678,
+ 3682, 3674, 3686, 3690, 5643, 5648, 2347, 3778,
+ 3782, 3774, 3786, 3790, 5693, 5698, 0, 0,
+ 0, 0, 0, 2413, 4218, 4222, 4214, 4226,
+ 4230, 5913, 5918, 0, 2416, 4238, 4242, 4234,
+ 4246, 4250, 5923, 5928, 0, 2338, 3718, 3722,
+ 3714, 3726, 3730, 5663, 5668, 2419, 4258, 4262,
+ 4254, 4266, 4270, 5933, 5938, 0, 0, 0,
+ 0, 0, 2314, 3558, 3562, 3554, 3566, 3570,
+ 5583, 5588, 2317, 3578, 3582, 3574, 3586, 3590,
+ 5593, 5598, 0, 0, 0, 0, 0, 0,
+ 2344, 3758, 3762, 3754, 3766, 3770, 5683, 5688,
+ 0, 2410, 4198, 4202, 4194, 4206, 4210, 5903,
+ 5908, 2299, 3458, 3462, 0, 3454, 3466, 3470,
+ 5533, 5538, 0, 2371, 3938, 3942, 0, 3934,
+ 3946, 3950, 5773, 5778, 2380, 3998, 4002, 0,
+ 3994, 4006, 4010, 5803, 5808, 0, 0, 0,
+ 0, 2383, 4018, 4022, 4014, 4026, 4030, 5813,
+ 5818, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 2398, 4118, 4122, 4114, 4126, 4130,
+ 5863, 5868, 0, 0, 2308, 3518, 3522, 3514,
+ 3526, 3530, 5563, 5568, 0, 0, 0, 2323,
+ 3618, 3622, 3614, 3626, 3630, 5613, 5618, 0,
+ 0, 0, 2368, 3918, 3922, 3914, 3926, 3930,
+ 5763, 5768, 2329, 3658, 3662, 3654, 3666, 3670,
+ 5633, 5638, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2389, 4058, 4062, 4054,
+ 4066, 4070, 5833, 5838, 0, 2305, 3498, 3502,
+ 3494, 3506, 3510, 5553, 5558, 0, 2407, 4178,
+ 4182, 4174, 4186, 4190, 5893, 5898, 0, 2341,
+ 3738, 3742, 3734, 3746, 3750, 5673, 5678, 0,
+ 0, 0, 2362, 3878, 3882, 3874, 3886, 3890,
+ 5743, 5748, 0, 0, 2434, 4358, 4362, 4354,
+ 4366, 4370, 5983, 5988, 0, 0, 0, 0,
+ 0, 2386, 4038, 4042, 4034, 4046, 4050, 5823,
+ 5828, 0, 2320, 3598, 3602, 3594, 3606, 3610,
+ 5603, 5608, 0, 0, 655, 637, 2746, 727,
+ 2894, 2898, 45, 2890, 2902, 2906, 4813, 4818,
+ 0, 0, 2428, 4318, 4322, 4314, 4326, 4330,
+ 5963, 5968, 0, 0, 0, 0, 0, 2440,
+ 4398, 4402, 4394, 4406, 4410, 6003, 6008, 0,
+ 0, 0, 0, 0, 2404, 4158, 4162, 4154,
+ 4166, 4170, 5883, 5888, 11, 469, 0, 5,
+ 7, 3, 9, 0, 101, 814, 817, 811,
+ 820, 0, 5, 7, 637, 99, 99, 99,
99, 99, 99, 99, 99, 99, 99, 99,
- 99, 99, 99, 99, 99, 3, 9, 103,
- 820, 823, 45, 59, 57, 55, 0, 61,
- 817, 826, 2889, 45, 59, 57, 55, 0,
- 61, 742, 2929, 2933, 4767, 2925, 2937, 11,
- 463, 11, 463, 95, 91, 91, 91, 0,
- 0, 0, 0, 0, 0, 89, 41, 39,
- 577, 580, 574, 583, 0, 5, 7, 3,
- 9, 11, 0, 463, 4552, 589, 2625, 2633,
- 2617, 2641, 0, 5, 7, 3, 9, 11,
- 463, 2889, 45, 59, 57, 55, 0, 61,
- 742, 2929, 2933, 4767, 2925, 2937, 11, 463,
- 2685, 2653, 4507, 4522, 4492, 4537, 5966, 5990,
- 0, 5, 7, 3, 9, 421, 448, 3385,
- 3405, 5422, 5427, 6182, 5432, 6354, 6194, 6347,
- 6188, 0, 5, 7, 424, 2457, 0, 5,
- 7, 424, 9, 11, 2521, 478, 2529, 2537,
- 4402, 2545, 11, 427, 433, 442, 0, 5,
- 7, 9, 448, 11, 2521, 3361, 0, 0,
- 0, 0, 0, 83, 0, 0, 79, 2677,
- 586, 2621, 2629, 4482, 2637, 6242, 2645, 4497,
- 4512, 5960, 4527, 0, 5, 7, 424, 9,
- 11, 2521, 4557, 4542, 5972, 5978, 6228, 5984,
- 6377, 6235, 0, 5, 7, 424, 2457, 2649,
- 598, 4502, 4517, 4487, 4532, 13, 430, 436,
- 2429, 445, 460, 4377, 2509, 2513, 2517, 11,
- 451, 454, 457, 460, 2509, 2513, 2517, 11,
- 451, 454, 457, 0, 0, 2305, 3657, 3661,
- 3653, 3665, 3669, 5562, 5567, 0, 0, 0,
- 2296, 3597, 3601, 3593, 3605, 3609, 5532, 5537,
- 0, 2326, 3797, 3801, 3793, 3805, 3809, 5632,
- 5637, 11, 463, 478, 2529, 2537, 4412, 11,
- 427, 433, 4353, 460, 2509, 2513, 11, 451,
- 454, 460, 2509, 2513, 11, 451, 454, 11,
- 463, 13, 430, 436, 445, 2505, 460, 2509,
- 2513, 11, 451, 454, 601, 11, 463, 11,
- 463, 11, 2521, 0, 496, 3, 7, 490,
- 2557, 17, 493, 31, 2581, 29, 0, 529,
- 2561, 21, 23, 0, 520, 499, 19, 502,
- 511, 25, 25, 4422, 505, 508, 27, 526,
- 763, 67, 0, 0, 772, 775, 2953, 73,
- 2949, 766, 71, 71, 2941, 2945, 4772, 769,
- 67, 67, 0, 0, 775, 775, 73, 73,
- 69, 1, 766, 71, 71, 2945, 2945, 769,
- 769, 77, 0, 5, 7, 3, 9, 634,
- 631, 4762, 13, 469, 472, 45, 59, 57,
- 55, 0, 61, 4407, 475, 484, 0, 5,
- 7, 2961, 9, 11, 4387, 2889, 2877, 45,
- 59, 57, 55, 0, 61, 736, 2893, 2897,
- 4767, 6104, 2901, 11, 463, 81, 0, 5,
- 7, 3, 9, 4777, 784, 2965, 21, 23,
- 0, 487, 523, 2565, 2569, 499, 19, 5912,
- 2573, 0, 5, 7, 2969, 9, 11, 4392,
- 502, 514, 25, 25, 505, 508, 27, 11,
- 463, 0, 5, 7, 3, 9, 787, 85,
- 793, 790, 2973, 2977, 6110, 2985, 2981, 799,
- 0, 5, 7, 4782, 796, 2989, 2993, 9,
- 9, 87, 21, 23, 0, 2577, 4427, 4432,
- 499, 19, 6200, 4437, 0, 5, 7, 11,
- 4397, 502, 517, 25, 25, 505, 508, 27,
- 11, 4382, 0, 5, 7, 3, 9, 11,
- 463, 11, 463, 127, 119, 121, 123, 0,
- 125, 0, 5, 7, 3, 9, 1, 418,
- 439, 11, 463, 363, 361, 2125, 2128, 2122,
- 2131, 3321, 5377, 5382, 0, 5, 7, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 3, 9, 2134, 2445, 2493, 265, 1549, 1552,
- 0, 0, 0, 1546, 1555, 3129, 4897, 4902,
- 0, 0, 291, 1705, 1708, 1702, 1711, 3181,
- 5027, 5032, 11, 463, 0, 0, 0, 0,
- 0, 0, 355, 2089, 2092, 2086, 2095, 3309,
- 5347, 5352, 0, 0, 0, 0, 0, 0,
- 331, 1945, 1948, 1942, 1951, 3261, 5227, 5232,
- 329, 1933, 1936, 1930, 1939, 3257, 5217, 5222,
- 0, 0, 301, 1765, 1768, 1762, 1771, 3201,
- 5077, 5082, 0, 0, 0, 269, 1573, 1576,
- 1570, 1579, 3137, 4917, 4922, 0, 0, 0,
- 335, 1969, 1972, 1966, 1975, 3269, 5247, 5252,
- 0, 0, 0, 0, 0, 0, 319, 1873,
- 1876, 1870, 1879, 3237, 5167, 5172, 0, 0,
- 0, 0, 303, 1777, 1780, 1774, 1783, 3205,
- 5087, 5092, 0, 0, 0, 317, 1861, 1864,
- 1858, 1867, 3233, 5157, 5162, 307, 1801, 1804,
- 1798, 1807, 3213, 5107, 5112, 0, 0, 0,
- 0, 0, 349, 2053, 2056, 2050, 2059, 3297,
- 5317, 5322, 0, 351, 2065, 2068, 2062, 2071,
- 3301, 5327, 5332, 0, 0, 0, 0, 0,
- 275, 1609, 1612, 1606, 1615, 3149, 4947, 4952,
- 0, 0, 0, 359, 2113, 2116, 2110, 2119,
- 3317, 5367, 5372, 0, 0, 0, 0, 0,
- 0, 0, 311, 1825, 1828, 1822, 1831, 3221,
- 5127, 5132, 0, 0, 0, 289, 1693, 1696,
- 1690, 1699, 3177, 5017, 5022, 299, 1753, 1756,
- 1750, 1759, 3197, 5067, 5072, 0, 0, 0,
- 0, 0, 343, 2017, 2020, 2014, 2023, 3285,
- 5287, 5292, 0, 345, 2029, 2032, 2026, 2035,
- 3289, 5297, 5302, 0, 293, 1717, 1720, 1714,
- 1723, 3185, 5037, 5042, 347, 2041, 2044, 2038,
- 2047, 3293, 5307, 5312, 0, 0, 0, 0,
- 0, 277, 1621, 1624, 1618, 1627, 3153, 4957,
- 4962, 279, 1633, 1636, 1630, 1639, 3157, 4967,
- 4972, 0, 0, 0, 0, 0, 0, 297,
- 1741, 1744, 1738, 1747, 3193, 5057, 5062, 0,
- 341, 2005, 2008, 2002, 2011, 3281, 5277, 5282,
- 267, 1561, 1564, 0, 1558, 1567, 3133, 4907,
- 4912, 0, 315, 1849, 1852, 0, 1846, 1855,
- 3229, 5147, 5152, 321, 1885, 1888, 0, 1882,
- 1891, 3241, 5177, 5182, 0, 0, 0, 0,
- 323, 1897, 1900, 1894, 1903, 3245, 5187, 5192,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 333, 1957, 1960, 1954, 1963, 3265, 5237,
- 5242, 0, 0, 273, 1597, 1600, 1594, 1603,
- 3145, 4937, 4942, 0, 0, 0, 283, 1657,
- 1660, 1654, 1663, 3165, 4987, 4992, 0, 0,
- 0, 313, 1837, 1840, 1834, 1843, 3225, 5137,
- 5142, 287, 1681, 1684, 1678, 1687, 3173, 5007,
- 5012, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 327, 1921, 1924, 1918, 1927,
- 3253, 5207, 5212, 0, 271, 1585, 1588, 1582,
- 1591, 3141, 4927, 4932, 0, 339, 1993, 1996,
- 1990, 1999, 3277, 5267, 5272, 0, 295, 1729,
- 1732, 1726, 1735, 3189, 5047, 5052, 0, 0,
- 0, 309, 1813, 1816, 1810, 1819, 3217, 5117,
- 5122, 0, 0, 357, 2101, 2104, 2098, 2107,
- 3313, 5357, 5362, 0, 0, 0, 0, 0,
- 325, 1909, 1912, 1906, 1915, 3249, 5197, 5202,
- 0, 281, 1645, 1648, 1642, 1651, 3161, 4977,
- 4982, 0, 0, 631, 263, 1537, 1540, 45,
- 1534, 1543, 3125, 4887, 4892, 0, 0, 353,
- 2077, 2080, 2074, 2083, 3305, 5337, 5342, 0,
- 0, 0, 0, 0, 337, 1981, 1984, 1978,
- 1987, 3273, 5257, 5262, 0, 0, 0, 285,
- 1669, 1672, 1666, 1675, 3169, 4997, 5002, 0,
- 305, 1789, 1792, 1786, 1795, 3209, 5097, 5102,
- 377, 0, 5, 7, 3, 9, 637, 631,
- 53, 727, 730, 45, 724, 733, 3109, 0,
+ 99, 99, 99, 99, 99, 99, 99, 3,
+ 9, 103, 826, 829, 45, 59, 57, 55,
+ 0, 61, 823, 832, 2922, 45, 59, 57,
+ 55, 0, 61, 748, 2962, 2966, 4828, 2958,
+ 2970, 11, 469, 11, 469, 95, 91, 91,
+ 91, 0, 0, 0, 0, 0, 0, 89,
+ 41, 39, 583, 586, 580, 589, 0, 5,
+ 7, 3, 9, 11, 0, 469, 4613, 595,
+ 2658, 2666, 2650, 2674, 0, 5, 7, 3,
+ 9, 11, 469, 2922, 45, 59, 57, 55,
+ 0, 61, 748, 2962, 2966, 4828, 2958, 2970,
+ 11, 469, 2718, 2686, 4568, 4583, 4553, 4598,
+ 6067, 6091, 0, 5, 7, 3, 9, 427,
+ 454, 3426, 3446, 5513, 5518, 6289, 5523, 6475,
+ 6301, 6468, 6295, 0, 5, 7, 430, 2490,
+ 0, 5, 7, 430, 9, 11, 2554, 484,
+ 2562, 2570, 4463, 2578, 11, 433, 439, 448,
+ 0, 5, 7, 9, 454, 11, 2554, 3402,
+ 0, 0, 0, 0, 0, 83, 0, 0,
+ 79, 2710, 592, 2654, 2662, 4543, 2670, 6349,
+ 2678, 4558, 4573, 6061, 4588, 0, 5, 7,
+ 430, 9, 11, 2554, 4618, 4603, 6073, 6079,
+ 6335, 6085, 6498, 6342, 0, 5, 7, 430,
+ 2490, 2682, 604, 4563, 4578, 4548, 4593, 13,
+ 436, 442, 2462, 451, 466, 4438, 2542, 2546,
+ 2550, 11, 457, 460, 463, 466, 2542, 2546,
+ 2550, 11, 457, 460, 463, 0, 0, 2335,
+ 3698, 3702, 3694, 3706, 3710, 5653, 5658, 0,
+ 0, 0, 2326, 3638, 3642, 3634, 3646, 3650,
+ 5623, 5628, 0, 2356, 3838, 3842, 3834, 3846,
+ 3850, 5723, 5728, 11, 469, 484, 2562, 2570,
+ 4473, 11, 433, 439, 4414, 466, 2542, 2546,
+ 11, 457, 460, 466, 2542, 2546, 11, 457,
+ 460, 11, 469, 13, 436, 442, 451, 2538,
+ 466, 2542, 2546, 11, 457, 460, 607, 11,
+ 469, 11, 469, 11, 2554, 0, 502, 3,
+ 7, 496, 2590, 17, 499, 31, 2614, 29,
+ 0, 535, 2594, 21, 23, 0, 526, 505,
+ 19, 508, 517, 25, 25, 4483, 511, 514,
+ 27, 532, 769, 67, 0, 0, 778, 781,
+ 2986, 73, 2982, 772, 71, 71, 2974, 2978,
+ 4833, 775, 67, 67, 0, 0, 781, 781,
+ 73, 73, 69, 1, 772, 71, 71, 2978,
+ 2978, 775, 775, 77, 0, 5, 7, 3,
+ 9, 640, 637, 4823, 13, 475, 478, 45,
+ 59, 57, 55, 0, 61, 4468, 481, 490,
+ 0, 5, 7, 2994, 9, 11, 4448, 2922,
+ 2910, 45, 59, 57, 55, 0, 61, 742,
+ 2926, 2930, 4828, 6205, 2934, 11, 469, 81,
+ 0, 5, 7, 3, 9, 4838, 790, 2998,
+ 21, 23, 0, 493, 529, 2598, 2602, 505,
+ 19, 6013, 2606, 0, 5, 7, 3002, 9,
+ 11, 4453, 508, 520, 25, 25, 511, 514,
+ 27, 11, 469, 0, 5, 7, 3, 9,
+ 793, 85, 799, 796, 3006, 3010, 6211, 3018,
+ 3014, 805, 0, 5, 7, 4843, 802, 3022,
+ 3026, 9, 9, 87, 21, 23, 0, 2610,
+ 4488, 4493, 505, 19, 6307, 4498, 0, 5,
+ 7, 11, 4458, 508, 523, 25, 25, 511,
+ 514, 27, 11, 4443, 0, 5, 7, 3,
+ 9, 11, 469, 11, 469, 127, 119, 121,
+ 123, 0, 125, 0, 5, 7, 3, 9,
+ 1, 424, 445, 11, 469, 369, 367, 2155,
+ 2158, 2152, 2161, 3362, 5468, 5473, 0, 5,
+ 7, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 3, 9, 2164, 2478, 2526,
+ 269, 1567, 1570, 0, 0, 0, 1564, 1573,
+ 3166, 4978, 4983, 0, 0, 295, 1723, 1726,
+ 1720, 1729, 3218, 5108, 5113, 11, 469, 0,
+ 0, 0, 0, 0, 0, 359, 2107, 2110,
+ 2104, 2113, 3346, 5428, 5433, 0, 0, 0,
+ 0, 0, 0, 335, 1963, 1966, 1960, 1969,
+ 3298, 5308, 5313, 333, 1951, 1954, 1948, 1957,
+ 3294, 5298, 5303, 0, 0, 305, 1783, 1786,
+ 1780, 1789, 3238, 5158, 5163, 0, 0, 0,
+ 273, 1591, 1594, 1588, 1597, 3174, 4998, 5003,
+ 0, 0, 0, 339, 1987, 1990, 1984, 1993,
+ 3306, 5328, 5333, 0, 0, 0, 0, 0,
+ 0, 323, 1891, 1894, 1888, 1897, 3274, 5248,
+ 5253, 0, 0, 0, 0, 307, 1795, 1798,
+ 1792, 1801, 3242, 5168, 5173, 0, 0, 0,
+ 321, 1879, 1882, 1876, 1885, 3270, 5238, 5243,
+ 311, 1819, 1822, 1816, 1825, 3250, 5188, 5193,
+ 0, 0, 0, 0, 0, 353, 2071, 2074,
+ 2068, 2077, 3334, 5398, 5403, 0, 355, 2083,
+ 2086, 2080, 2089, 3338, 5408, 5413, 0, 0,
+ 0, 0, 0, 279, 1627, 1630, 1624, 1633,
+ 3186, 5028, 5033, 0, 0, 0, 363, 2131,
+ 2134, 2128, 2137, 3354, 5448, 5453, 0, 0,
+ 0, 0, 0, 0, 0, 315, 1843, 1846,
+ 1840, 1849, 3258, 5208, 5213, 0, 0, 0,
+ 293, 1711, 1714, 1708, 1717, 3214, 5098, 5103,
+ 303, 1771, 1774, 1768, 1777, 3234, 5148, 5153,
+ 0, 0, 0, 0, 0, 347, 2035, 2038,
+ 2032, 2041, 3322, 5368, 5373, 0, 349, 2047,
+ 2050, 2044, 2053, 3326, 5378, 5383, 0, 297,
+ 1735, 1738, 1732, 1741, 3222, 5118, 5123, 351,
+ 2059, 2062, 2056, 2065, 3330, 5388, 5393, 0,
+ 0, 0, 0, 0, 281, 1639, 1642, 1636,
+ 1645, 3190, 5038, 5043, 283, 1651, 1654, 1648,
+ 1657, 3194, 5048, 5053, 0, 0, 0, 0,
+ 0, 0, 301, 1759, 1762, 1756, 1765, 3230,
+ 5138, 5143, 0, 345, 2023, 2026, 2020, 2029,
+ 3318, 5358, 5363, 271, 1579, 1582, 0, 1576,
+ 1585, 3170, 4988, 4993, 0, 319, 1867, 1870,
+ 0, 1864, 1873, 3266, 5228, 5233, 325, 1903,
+ 1906, 0, 1900, 1909, 3278, 5258, 5263, 0,
+ 0, 0, 0, 327, 1915, 1918, 1912, 1921,
+ 3282, 5268, 5273, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 337, 1975, 1978, 1972,
+ 1981, 3302, 5318, 5323, 0, 0, 277, 1615,
+ 1618, 1612, 1621, 3182, 5018, 5023, 0, 0,
+ 0, 287, 1675, 1678, 1672, 1681, 3202, 5068,
+ 5073, 0, 0, 0, 317, 1855, 1858, 1852,
+ 1861, 3262, 5218, 5223, 291, 1699, 1702, 1696,
+ 1705, 3210, 5088, 5093, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 331, 1939,
+ 1942, 1936, 1945, 3290, 5288, 5293, 0, 275,
+ 1603, 1606, 1600, 1609, 3178, 5008, 5013, 0,
+ 343, 2011, 2014, 2008, 2017, 3314, 5348, 5353,
+ 0, 299, 1747, 1750, 1744, 1753, 3226, 5128,
+ 5133, 0, 0, 0, 313, 1831, 1834, 1828,
+ 1837, 3254, 5198, 5203, 0, 0, 361, 2119,
+ 2122, 2116, 2125, 3350, 5438, 5443, 0, 0,
+ 0, 0, 0, 329, 1927, 1930, 1924, 1933,
+ 3286, 5278, 5283, 0, 285, 1663, 1666, 1660,
+ 1669, 3198, 5058, 5063, 0, 0, 637, 267,
+ 1555, 1558, 45, 1552, 1561, 3162, 4968, 4973,
+ 0, 0, 357, 2095, 2098, 2092, 2101, 3342,
+ 5418, 5423, 0, 0, 0, 0, 0, 365,
+ 2143, 2146, 2140, 2149, 3358, 5458, 5463, 0,
+ 0, 0, 0, 0, 341, 1999, 2002, 1996,
+ 2005, 3310, 5338, 5343, 0, 0, 0, 289,
+ 1687, 1690, 1684, 1693, 3206, 5078, 5083, 0,
+ 309, 1807, 1810, 1804, 1813, 3246, 5178, 5183,
+ 383, 0, 5, 7, 3, 9, 643, 637,
+ 53, 733, 736, 45, 730, 739, 3142, 0,
5, 7, 115, 3, 9, 117, 0, 5,
- 7, 3, 9, 865, 2441, 2489, 11, 463,
- 11, 463, 11, 463, 0, 5, 7, 3,
- 9, 631, 631, 415, 2417, 2421, 45, 1,
- 2413, 2425, 0, 5, 7, 115, 3, 9,
- 117, 0, 5, 7, 3, 9, 865, 2441,
- 2489, 11, 463, 11, 463, 53, 727, 730,
- 724, 733, 11, 463, 387, 393, 393, 393,
- 393, 393, 393, 0, 0, 0, 919, 0,
- 0, 931, 0, 0, 0, 0, 0, 0,
- 0, 0, 928, 0, 0, 0, 0, 934,
- 0, 0, 643, 631, 685, 45, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 922, 0, 0, 0,
- 925, 385, 383, 2224, 2227, 2221, 2230, 3349,
- 5387, 5392, 0, 5, 7, 389, 389, 389,
- 389, 389, 389, 389, 3, 9, 2233, 2453,
- 2501, 0, 0, 0, 157, 5407, 5407, 4452,
- 5924, 5930, 5918, 5936, 6207, 6361, 6369, 11,
- 463, 0, 0, 163, 0, 562, 562, 121,
- 123, 0, 125, 0, 37, 119, 391, 2239,
- 2242, 2236, 2245, 3353, 5397, 5402, 121, 123,
- 0, 125, 0, 565, 2601, 2605, 119, 2597,
- 2609, 4457, 5942, 5948, 0, 0, 0, 0,
- 0, 0, 0, 0, 161, 835, 0, 2593,
- 2593, 3061, 841, 105, 832, 4832, 6128, 6134,
- 841, 105, 6122, 6140, 6319, 6385, 6393, 832,
- 0, 0, 0, 0, 165, 0, 2593, 2593,
- 3085, 844, 105, 832, 4847, 6152, 6158, 844,
- 105, 6146, 6164, 6326, 6401, 6409, 832, 0,
- 0, 640, 631, 2837, 4732, 4737, 45, 49,
- 4727, 4742, 6080, 6305, 6312, 559, 0, 0,
- 0, 0, 0, 0, 0, 0, 155, 0,
- 3357, 3357, 568, 0, 395, 2613, 4467, 4472,
- 0, 4462, 4477, 5954, 6214, 6221, 395, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 3117, 4867, 4872,
- 4862, 4877, 6170, 6333, 6340, 0, 0, 0,
- 159, 0, 4882, 4882, 49, 45, 703, 2845,
- 2849, 45, 2841, 2853, 4747, 6086, 6092, 5407,
- 2589, 397, 631, 0, 0, 0, 0, 0,
- 670, 45, 0, 0, 874, 0, 877, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 883, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 895, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 898, 0, 0, 0, 0, 0,
- 0, 0, 0, 901, 0, 0, 0, 0,
- 0, 0, 904, 0, 0, 907, 0, 0,
- 0, 0, 0, 0, 0, 910, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 913, 0, 0, 916, 0, 0, 0, 0,
- 0, 0, 871, 0, 0, 0, 0, 0,
- 880, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 886, 0, 0, 889,
- 0, 0, 892, 399, 631, 0, 0, 0,
- 0, 0, 0, 685, 45, 0, 0, 0,
+ 7, 3, 9, 871, 2474, 2522, 11, 469,
+ 11, 469, 11, 469, 0, 5, 7, 3,
+ 9, 637, 637, 421, 2450, 2454, 45, 1,
+ 2446, 2458, 0, 5, 7, 115, 3, 9,
+ 117, 0, 5, 7, 3, 9, 871, 2474,
+ 2522, 11, 469, 11, 469, 53, 733, 736,
+ 730, 739, 11, 469, 393, 399, 399, 399,
+ 399, 399, 399, 399, 399, 0, 0, 0,
+ 925, 0, 0, 0, 0, 0, 0, 943,
0, 0, 937, 0, 0, 0, 0, 0,
- 0, 0, 0, 940, 0, 0, 0, 934,
- 0, 0, 928, 0, 0, 0, 931, 0,
- 0, 946, 0, 0, 0, 925, 0, 0,
- 919, 0, 0, 0, 922, 0, 0, 943,
- 838, 832, 3041, 105, 604, 607, 604, 43,
- 613, 616, 610, 619, 0, 5, 7, 604,
- 3, 9, 43, 613, 616, 610, 619, 646,
- 0, 5, 7, 631, 3, 9, 51, 712,
- 715, 45, 709, 718, 0, 5, 7, 631,
- 3, 9, 2881, 51, 712, 715, 45, 59,
- 57, 55, 0, 61, 709, 718, 0, 5,
- 7, 631, 3, 9, 51, 712, 715, 45,
- 59, 57, 55, 0, 61, 709, 718, 0,
- 5, 7, 631, 3, 9, 51, 712, 715,
- 45, 59, 57, 55, 0, 61, 709, 718,
- 0, 5, 7, 631, 3, 9, 706, 45,
- 59, 57, 55, 0, 61, 2889, 45, 59,
- 57, 55, 0, 61, 2905, 4767, 11, 463,
- 2889, 45, 59, 57, 55, 0, 61, 739,
- 2913, 2917, 4767, 2909, 2921, 11, 463, 2889,
- 45, 59, 57, 55, 0, 61, 739, 2913,
- 2917, 4767, 2909, 2921, 11, 463, 2889, 45,
- 59, 57, 55, 0, 61, 739, 2913, 2917,
- 4767, 2909, 2921, 11, 463, 11, 463, 11,
- 463, 532, 35, 547, 550, 544, 553, 532,
- 0, 5, 7, 3, 9, 541, 11, 463,
- 604, 43, 613, 616, 610, 619, 0, 5,
- 7, 604, 3, 9, 607, 11, 463, 631,
- 49, 691, 694, 45, 688, 697, 0, 5,
- 7, 604, 3, 9, 607, 11, 463, 2957,
- 781, 35, 547, 550, 544, 553, 2585, 4442,
- 4447, 532, 0, 5, 7, 3, 9, 778,
- 2437, 2485, 11, 463, 832, 3065, 105, 2212,
- 3325, 365, 2140, 2143, 45, 2137, 2146, 0,
- 5, 7, 631, 0, 0, 3, 9, 369,
- 2164, 2167, 45, 2161, 2170, 0, 5, 7,
- 4722, 3, 9, 652, 2745, 2749, 0, 45,
- 2741, 2753, 0, 5, 7, 3, 9, 0,
- 5, 7, 3, 9, 631, 367, 2152, 2155,
- 45, 2149, 2158, 0, 5, 7, 631, 0,
- 0, 3, 9, 371, 2176, 2179, 45, 2173,
- 2182, 0, 5, 7, 4722, 3, 9, 655,
- 2761, 2765, 0, 45, 2757, 2769, 0, 5,
- 7, 3, 9, 0, 5, 7, 3, 9,
- 0, 4717, 6176, 658, 2777, 2781, 0, 45,
- 658, 2773, 2785, 4697, 6032, 6038, 0, 5,
- 7, 4717, 3, 9, 2209, 2449, 2497, 661,
- 2793, 2797, 0, 45, 661, 2789, 2801, 4702,
- 6044, 6050, 0, 5, 7, 4717, 3, 9,
- 2449, 2497, 664, 2809, 2813, 0, 45, 664,
- 2805, 2817, 4707, 6056, 6062, 0, 5, 7,
- 4717, 3, 9, 2449, 2497, 667, 2825, 2829,
- 0, 45, 2821, 2833, 4712, 6068, 6074, 0,
- 5, 7, 3, 9, 2449, 2497, 11, 463,
- 2737, 4682, 4687, 4572, 4677, 4692, 6026, 6291,
- 6298, 628, 11, 463, 2733, 4662, 4667, 4572,
- 2733, 4657, 4672, 6020, 6277, 6284, 628, 11,
- 463, 2729, 4642, 4647, 4572, 2729, 4637, 4652,
- 6014, 6263, 6270, 628, 11, 463, 2725, 4622,
- 4627, 4572, 2725, 4617, 4632, 6008, 6249, 6256,
- 628, 11, 463, 375, 2200, 2203, 2197, 2206,
- 11, 463, 2721, 4602, 4607, 4572, 4597, 4612,
- 628, 11, 463, 11, 463, 11, 463, 373,
- 2188, 2191, 2185, 2194, 11, 463, 2717, 4582,
- 4587, 4572, 4577, 4592, 628, 11, 463, 11,
- 463, 631, 49, 691, 694, 45, 688, 697,
- 0, 5, 7, 631, 3, 9, 49, 691,
- 694, 45, 688, 697, 0, 5, 7, 631,
- 3, 9, 49, 691, 694, 45, 688, 697,
- 0, 5, 7, 604, 3, 9, 607, 11,
- 463, 11, 463, 11, 463, 631, 49, 691,
- 694, 45, 688, 697, 0, 5, 7, 631,
- 3, 9, 49, 691, 694, 45, 688, 697,
- 532, 0, 5, 7, 3, 9, 35, 547,
- 550, 544, 553, 532, 0, 5, 7, 3,
- 9, 35, 547, 550, 544, 553, 532, 0,
- 5, 7, 3, 9, 35, 547, 550, 544,
- 553, 0, 5, 7, 604, 3, 9, 607,
- 11, 463, 11, 463, 11, 463, 11, 463,
- 11, 463, 403, 0, 5, 7, 3, 9,
- 631, 49, 691, 694, 45, 688, 697, 0,
- 5, 7, 401, 3, 9, 0, 5, 7,
- 3, 9, 129, 1, 11, 463, 11, 463,
- 11, 463, 859, 0, 847, 5, 7, 850,
- 853, 3, 9, 1, 418, 439, 111, 113,
- 0, 3033, 832, 105, 107, 631, 856, 3097,
- 3101, 45, 3093, 3105, 3089, 4852, 4857, 11,
- 463, 0, 832, 105, 109, 631, 49, 691,
- 694, 45, 688, 697, 0, 5, 7, 401,
- 3, 9, 0, 5, 7, 3, 9, 631,
- 47, 676, 679, 45, 673, 682, 862, 0,
- 5, 7, 115, 3, 9, 117, 0, 5,
- 7, 3, 9, 1, 418, 439, 11, 463,
- 11, 463, 11, 463, 11, 463, 631, 47,
- 676, 679, 45, 673, 682, 0, 5, 7,
- 631, 3, 9, 47, 676, 679, 45, 673,
- 682, 0, 5, 7, 115, 3, 9, 117,
- 0, 5, 7, 3, 9, 1, 418, 439,
- 11, 463, 11, 463, 11, 463, 631, 47,
- 676, 679, 45, 673, 682, 949, 0, 5,
- 7, 147, 149, 151, 153, 3, 9, 0,
- 5, 7, 3, 9, 2701, 631, 47, 676,
- 679, 45, 673, 682, 0, 5, 7, 0,
- 3, 9, 3121, 0, 5, 7, 0, 5,
- 7, 0, 5, 7, 1, 3, 9, 418,
- 439, 3, 9, 418, 439, 3, 9, 418,
- 439, 952, 129, 11, 463, 11, 463, 11,
- 463, 11, 463, 11, 463, 0, 5, 7,
- 3, 9, 631, 47, 676, 679, 45, 673,
- 682, 3037, 0, 5, 7, 832, 3, 9,
- 4817, 105, 841, 3049, 3053, 841, 3049, 3053,
- 841, 3049, 3053, 3041, 3045, 3057, 4822, 4827,
- 3045, 3057, 4822, 4827, 3045, 3057, 4822, 4827,
- 11, 463, 11, 463, 0, 5, 7, 3,
- 9, 631, 47, 676, 679, 45, 673, 682,
- 0, 5, 7, 832, 3, 9, 105, 844,
- 3073, 3077, 844, 3073, 3077, 844, 3073, 3077,
- 3065, 3069, 3081, 4837, 4842, 3069, 3081, 4837,
- 4842, 3069, 3081, 4837, 4842, 11, 463, 11,
- 463, 0, 5, 7, 3, 9, 631, 47,
- 676, 679, 45, 673, 682, 0, 5, 7,
- 604, 3, 9, 43, 613, 616, 43, 613,
- 616, 43, 613, 616, 607, 610, 619, 2689,
- 2693, 610, 619, 2689, 2693, 610, 619, 2689,
- 2693, 11, 463, 11, 463, 11, 463, 955,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 167, 961, 964, 0, 0, 0, 958,
- 967, 0, 5, 7, 401, 3, 9, 0,
- 5, 7, 3, 9, 631, 47, 676, 679,
- 45, 673, 682, 0, 5, 7, 631, 3,
- 9, 51, 712, 715, 45, 709, 718, 760,
- 0, 5, 7, 745, 3, 9, 65, 751,
- 754, 63, 748, 757, 0, 5, 7, 745,
- 3, 9, 65, 751, 754, 63, 748, 757,
- 0, 5, 7, 631, 3, 9, 49, 691,
- 694, 45, 688, 697, 0, 5, 7, 604,
- 3, 9, 43, 613, 616, 610, 619, 0,
- 5, 7, 129, 3, 9, 1, 11, 463,
- 11, 463, 11, 463, 11, 463, 11, 463,
- 11, 463, 11, 463, 11, 463, 0, 0,
- 193, 1117, 1120, 1114, 1123, 0, 0, 0,
- 187, 1081, 1084, 1078, 1087, 0, 207, 1201,
- 1204, 1198, 1207, 0, 0, 0, 0, 0,
- 0, 257, 1501, 1504, 1498, 1507, 0, 0,
- 0, 0, 0, 0, 233, 1357, 1360, 1354,
- 1363, 231, 1345, 1348, 1342, 1351, 0, 0,
- 203, 1177, 1180, 1174, 1183, 0, 0, 0,
- 171, 985, 988, 982, 991, 0, 0, 0,
- 237, 1381, 1384, 1378, 1387, 0, 0, 0,
- 0, 0, 0, 221, 1285, 1288, 1282, 1291,
- 0, 0, 0, 0, 205, 1189, 1192, 1186,
- 1195, 0, 0, 0, 219, 1273, 1276, 1270,
- 1279, 209, 1213, 1216, 1210, 1219, 0, 0,
- 0, 0, 0, 251, 1465, 1468, 1462, 1471,
- 0, 253, 1477, 1480, 1474, 1483, 0, 0,
- 0, 0, 0, 177, 1021, 1024, 1018, 1027,
- 0, 0, 0, 261, 1525, 1528, 1522, 1531,
- 0, 0, 0, 0, 0, 0, 0, 213,
- 1237, 1240, 1234, 1243, 0, 0, 0, 191,
- 1105, 1108, 1102, 1111, 201, 1165, 1168, 1162,
- 1171, 0, 0, 0, 0, 0, 245, 1429,
- 1432, 1426, 1435, 0, 247, 1441, 1444, 1438,
- 1447, 0, 195, 1129, 1132, 1126, 1135, 249,
- 1453, 1456, 1450, 1459, 0, 0, 0, 0,
- 0, 179, 1033, 1036, 1030, 1039, 181, 1045,
- 1048, 1042, 1051, 0, 0, 0, 0, 0,
- 0, 199, 1153, 1156, 1150, 1159, 0, 243,
- 1417, 1420, 1414, 1423, 169, 973, 976, 0,
- 970, 979, 0, 217, 1261, 1264, 0, 1258,
- 1267, 223, 1297, 1300, 0, 1294, 1303, 0,
- 0, 0, 0, 225, 1309, 1312, 1306, 1315,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 235, 1369, 1372, 1366, 1375, 0, 0,
- 175, 1009, 1012, 1006, 1015, 0, 0, 0,
- 185, 1069, 1072, 1066, 1075, 0, 0, 0,
- 215, 1249, 1252, 1246, 1255, 189, 1093, 1096,
- 1090, 1099, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 229, 1333, 1336, 1330,
- 1339, 0, 173, 997, 1000, 994, 1003, 0,
- 241, 1405, 1408, 1402, 1411, 0, 197, 1141,
- 1144, 1138, 1147, 0, 0, 0, 211, 1225,
- 1228, 1222, 1231, 0, 0, 259, 1513, 1516,
- 1510, 1519, 0, 0, 0, 0, 0, 227,
- 1321, 1324, 1318, 1327, 0, 183, 1057, 1060,
- 1054, 1063, 0, 0, 2705, 631, 49, 691,
- 694, 45, 688, 697, 0, 0, 255, 1489,
- 1492, 1486, 1495, 0, 0, 0, 0, 0,
- 239, 1393, 1396, 1390, 1399, 604, 622, 1,
- 631, 49, 691, 694, 45, 688, 697, 0,
- 5, 7, 631, 3, 9, 47, 676, 679,
- 45, 673, 682, 0, 5, 7, 401, 3,
+ 0, 0, 0, 934, 0, 0, 0, 0,
+ 940, 0, 0, 649, 637, 691, 45, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 928, 0, 0,
+ 0, 0, 946, 0, 0, 0, 931, 391,
+ 389, 2254, 2257, 2251, 2260, 3390, 5478, 5483,
+ 0, 5, 7, 395, 395, 395, 395, 395,
+ 395, 395, 395, 395, 3, 9, 2263, 2486,
+ 2534, 0, 0, 0, 157, 5498, 5498, 4513,
+ 6025, 6031, 6019, 6037, 6314, 6482, 6490, 11,
+ 469, 0, 0, 0, 0, 0, 0, 167,
+ 565, 565, 571, 2634, 2638, 2630, 2642, 4518,
+ 6043, 6049, 565, 37, 397, 2269, 2272, 2266,
+ 2275, 3394, 5488, 5493, 0, 0, 163, 0,
+ 568, 568, 121, 123, 0, 125, 0, 119,
+ 121, 123, 0, 125, 0, 119, 0, 0,
+ 0, 0, 0, 0, 0, 0, 161, 841,
+ 0, 2626, 2626, 3094, 847, 105, 838, 4893,
+ 6229, 6235, 847, 105, 6223, 6241, 6426, 6506,
+ 6514, 838, 0, 0, 0, 0, 165, 0,
+ 2626, 2626, 3118, 850, 105, 838, 4908, 6253,
+ 6259, 850, 105, 6247, 6265, 6433, 6522, 6530,
+ 838, 0, 0, 646, 637, 2870, 4793, 4798,
+ 45, 49, 4788, 4803, 6181, 6412, 6419, 0,
+ 0, 0, 0, 0, 0, 0, 0, 155,
+ 0, 3398, 3398, 574, 0, 401, 2646, 4528,
+ 4533, 0, 4523, 4538, 6055, 6321, 6328, 401,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 3150, 4928,
+ 4933, 4923, 4938, 6271, 6440, 6447, 0, 0,
+ 0, 0, 3154, 4953, 4958, 4948, 4963, 6277,
+ 6454, 6461, 0, 0, 0, 159, 0, 4943,
+ 4943, 49, 45, 709, 2878, 2882, 45, 2874,
+ 2886, 4808, 6187, 6193, 5498, 2622, 403, 637,
+ 0, 0, 0, 0, 0, 676, 45, 0,
+ 0, 880, 0, 883, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 889,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 901, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 904,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 907, 0, 0, 0, 0, 0, 0, 910,
+ 0, 0, 913, 0, 0, 0, 0, 0,
+ 0, 0, 916, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 919, 0, 0,
+ 922, 0, 0, 0, 0, 0, 0, 877,
+ 0, 0, 0, 0, 0, 886, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 892, 0, 0, 895, 0, 0, 898,
+ 405, 637, 0, 0, 0, 0, 0, 0,
+ 691, 45, 0, 0, 0, 0, 0, 943,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 946, 0, 0, 0, 940, 0, 0, 934,
+ 0, 0, 0, 937, 0, 0, 952, 0,
+ 0, 0, 931, 0, 0, 925, 0, 0,
+ 0, 928, 0, 0, 949, 844, 838, 3074,
+ 105, 610, 613, 610, 43, 619, 622, 616,
+ 625, 0, 5, 7, 610, 3, 9, 43,
+ 619, 622, 616, 625, 652, 0, 5, 7,
+ 637, 3, 9, 51, 718, 721, 45, 715,
+ 724, 0, 5, 7, 637, 3, 9, 2914,
+ 51, 718, 721, 45, 59, 57, 55, 0,
+ 61, 715, 724, 0, 5, 7, 637, 3,
+ 9, 51, 718, 721, 45, 59, 57, 55,
+ 0, 61, 715, 724, 0, 5, 7, 637,
+ 3, 9, 51, 718, 721, 45, 59, 57,
+ 55, 0, 61, 715, 724, 0, 5, 7,
+ 637, 3, 9, 712, 45, 59, 57, 55,
+ 0, 61, 2922, 45, 59, 57, 55, 0,
+ 61, 2938, 4828, 11, 469, 2922, 45, 59,
+ 57, 55, 0, 61, 745, 2946, 2950, 4828,
+ 2942, 2954, 11, 469, 2922, 45, 59, 57,
+ 55, 0, 61, 745, 2946, 2950, 4828, 2942,
+ 2954, 11, 469, 2922, 45, 59, 57, 55,
+ 0, 61, 745, 2946, 2950, 4828, 2942, 2954,
+ 11, 469, 11, 469, 11, 469, 538, 35,
+ 553, 556, 550, 559, 538, 0, 5, 7,
+ 3, 9, 547, 11, 469, 610, 43, 619,
+ 622, 616, 625, 0, 5, 7, 610, 3,
+ 9, 613, 11, 469, 637, 49, 697, 700,
+ 45, 694, 703, 0, 5, 7, 610, 3,
+ 9, 613, 11, 469, 2990, 787, 35, 553,
+ 556, 550, 559, 2618, 4503, 4508, 538, 0,
+ 5, 7, 3, 9, 784, 2470, 2518, 11,
+ 469, 838, 3098, 105, 2242, 3366, 371, 2170,
+ 2173, 45, 2167, 2176, 0, 5, 7, 637,
+ 0, 0, 3, 9, 375, 2194, 2197, 45,
+ 2191, 2200, 0, 5, 7, 4783, 3, 9,
+ 658, 2778, 2782, 0, 45, 2774, 2786, 0,
+ 5, 7, 3, 9, 0, 5, 7, 3,
+ 9, 637, 373, 2182, 2185, 45, 2179, 2188,
+ 0, 5, 7, 637, 0, 0, 3, 9,
+ 377, 2206, 2209, 45, 2203, 2212, 0, 5,
+ 7, 4783, 3, 9, 661, 2794, 2798, 0,
+ 45, 2790, 2802, 0, 5, 7, 3, 9,
+ 0, 5, 7, 3, 9, 0, 4778, 6283,
+ 664, 2810, 2814, 0, 45, 664, 2806, 2818,
+ 4758, 6133, 6139, 0, 5, 7, 4778, 3,
+ 9, 2239, 2482, 2530, 667, 2826, 2830, 0,
+ 45, 667, 2822, 2834, 4763, 6145, 6151, 0,
+ 5, 7, 4778, 3, 9, 2482, 2530, 670,
+ 2842, 2846, 0, 45, 670, 2838, 2850, 4768,
+ 6157, 6163, 0, 5, 7, 4778, 3, 9,
+ 2482, 2530, 673, 2858, 2862, 0, 45, 2854,
+ 2866, 4773, 6169, 6175, 0, 5, 7, 3,
+ 9, 2482, 2530, 11, 469, 2770, 4743, 4748,
+ 4633, 4738, 4753, 6127, 6398, 6405, 634, 11,
+ 469, 2766, 4723, 4728, 4633, 2766, 4718, 4733,
+ 6121, 6384, 6391, 634, 11, 469, 2762, 4703,
+ 4708, 4633, 2762, 4698, 4713, 6115, 6370, 6377,
+ 634, 11, 469, 2758, 4683, 4688, 4633, 2758,
+ 4678, 4693, 6109, 6356, 6363, 634, 11, 469,
+ 381, 2230, 2233, 2227, 2236, 11, 469, 2754,
+ 4663, 4668, 4633, 4658, 4673, 634, 11, 469,
+ 11, 469, 11, 469, 379, 2218, 2221, 2215,
+ 2224, 11, 469, 2750, 4643, 4648, 4633, 4638,
+ 4653, 634, 11, 469, 11, 469, 637, 49,
+ 697, 700, 45, 694, 703, 0, 5, 7,
+ 637, 3, 9, 49, 697, 700, 45, 694,
+ 703, 0, 5, 7, 637, 3, 9, 49,
+ 697, 700, 45, 694, 703, 0, 5, 7,
+ 610, 3, 9, 613, 11, 469, 11, 469,
+ 11, 469, 637, 49, 697, 700, 45, 694,
+ 703, 0, 5, 7, 637, 3, 9, 49,
+ 697, 700, 45, 694, 703, 538, 0, 5,
+ 7, 3, 9, 35, 553, 556, 550, 559,
+ 538, 0, 5, 7, 3, 9, 35, 553,
+ 556, 550, 559, 538, 0, 5, 7, 3,
+ 9, 35, 553, 556, 550, 559, 0, 5,
+ 7, 610, 3, 9, 613, 11, 469, 11,
+ 469, 11, 469, 11, 469, 11, 469, 409,
+ 0, 5, 7, 3, 9, 637, 49, 697,
+ 700, 45, 694, 703, 0, 5, 7, 407,
+ 3, 9, 0, 5, 7, 3, 9, 129,
+ 1, 11, 469, 11, 469, 11, 469, 865,
+ 0, 853, 5, 7, 856, 859, 3, 9,
+ 1, 424, 445, 111, 113, 0, 3066, 838,
+ 105, 107, 637, 862, 3130, 3134, 45, 3126,
+ 3138, 3122, 4913, 4918, 11, 469, 0, 838,
+ 105, 109, 637, 49, 697, 700, 45, 694,
+ 703, 0, 5, 7, 407, 3, 9, 0,
+ 5, 7, 3, 9, 637, 47, 682, 685,
+ 45, 679, 688, 868, 0, 5, 7, 115,
+ 3, 9, 117, 0, 5, 7, 3, 9,
+ 1, 424, 445, 11, 469, 11, 469, 11,
+ 469, 11, 469, 637, 47, 682, 685, 45,
+ 679, 688, 0, 5, 7, 637, 3, 9,
+ 47, 682, 685, 45, 679, 688, 0, 5,
+ 7, 115, 3, 9, 117, 0, 5, 7,
+ 3, 9, 1, 424, 445, 11, 469, 11,
+ 469, 11, 469, 637, 47, 682, 685, 45,
+ 679, 688, 955, 0, 5, 7, 147, 149,
+ 151, 153, 3, 9, 0, 5, 7, 3,
+ 9, 2734, 637, 47, 682, 685, 45, 679,
+ 688, 0, 5, 7, 0, 3, 9, 3158,
+ 0, 5, 7, 0, 5, 7, 0, 5,
+ 7, 1, 3, 9, 424, 445, 3, 9,
+ 424, 445, 3, 9, 424, 445, 958, 129,
+ 11, 469, 11, 469, 11, 469, 11, 469,
+ 11, 469, 0, 5, 7, 3, 9, 637,
+ 47, 682, 685, 45, 679, 688, 3070, 0,
+ 5, 7, 838, 3, 9, 4878, 105, 847,
+ 3082, 3086, 847, 3082, 3086, 847, 3082, 3086,
+ 3074, 3078, 3090, 4883, 4888, 3078, 3090, 4883,
+ 4888, 3078, 3090, 4883, 4888, 11, 469, 11,
+ 469, 0, 5, 7, 3, 9, 637, 47,
+ 682, 685, 45, 679, 688, 0, 5, 7,
+ 838, 3, 9, 105, 850, 3106, 3110, 850,
+ 3106, 3110, 850, 3106, 3110, 3098, 3102, 3114,
+ 4898, 4903, 3102, 3114, 4898, 4903, 3102, 3114,
+ 4898, 4903, 11, 469, 11, 469, 0, 5,
+ 7, 3, 9, 637, 47, 682, 685, 45,
+ 679, 688, 0, 5, 7, 610, 3, 9,
+ 43, 619, 622, 43, 619, 622, 43, 619,
+ 622, 613, 616, 625, 2722, 2726, 616, 625,
+ 2722, 2726, 616, 625, 2722, 2726, 11, 469,
+ 11, 469, 11, 469, 961, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 169,
+ 967, 970, 0, 0, 0, 964, 973, 0,
+ 5, 7, 407, 3, 9, 0, 5, 7,
+ 3, 9, 637, 47, 682, 685, 45, 679,
+ 688, 0, 5, 7, 637, 3, 9, 51,
+ 718, 721, 45, 715, 724, 766, 0, 5,
+ 7, 751, 3, 9, 65, 757, 760, 63,
+ 754, 763, 0, 5, 7, 751, 3, 9,
+ 65, 757, 760, 63, 754, 763, 0, 5,
+ 7, 637, 3, 9, 49, 697, 700, 45,
+ 694, 703, 0, 5, 7, 610, 3, 9,
+ 43, 619, 622, 616, 625, 0, 5, 7,
+ 129, 3, 9, 1, 11, 469, 11, 469,
+ 11, 469, 11, 469, 11, 469, 11, 469,
+ 11, 469, 11, 469, 0, 0, 195, 1123,
+ 1126, 1120, 1129, 0, 0, 0, 189, 1087,
+ 1090, 1084, 1093, 0, 209, 1207, 1210, 1204,
+ 1213, 0, 0, 0, 0, 0, 0, 259,
+ 1507, 1510, 1504, 1513, 0, 0, 0, 0,
+ 0, 0, 235, 1363, 1366, 1360, 1369, 233,
+ 1351, 1354, 1348, 1357, 0, 0, 205, 1183,
+ 1186, 1180, 1189, 0, 0, 0, 173, 991,
+ 994, 988, 997, 0, 0, 0, 239, 1387,
+ 1390, 1384, 1393, 0, 0, 0, 0, 0,
+ 0, 223, 1291, 1294, 1288, 1297, 0, 0,
+ 0, 0, 207, 1195, 1198, 1192, 1201, 0,
+ 0, 0, 221, 1279, 1282, 1276, 1285, 211,
+ 1219, 1222, 1216, 1225, 0, 0, 0, 0,
+ 0, 253, 1471, 1474, 1468, 1477, 0, 255,
+ 1483, 1486, 1480, 1489, 0, 0, 0, 0,
+ 0, 179, 1027, 1030, 1024, 1033, 0, 0,
+ 0, 263, 1531, 1534, 1528, 1537, 0, 0,
+ 0, 0, 0, 0, 0, 215, 1243, 1246,
+ 1240, 1249, 0, 0, 0, 193, 1111, 1114,
+ 1108, 1117, 203, 1171, 1174, 1168, 1177, 0,
+ 0, 0, 0, 0, 247, 1435, 1438, 1432,
+ 1441, 0, 249, 1447, 1450, 1444, 1453, 0,
+ 197, 1135, 1138, 1132, 1141, 251, 1459, 1462,
+ 1456, 1465, 0, 0, 0, 0, 0, 181,
+ 1039, 1042, 1036, 1045, 183, 1051, 1054, 1048,
+ 1057, 0, 0, 0, 0, 0, 0, 201,
+ 1159, 1162, 1156, 1165, 0, 245, 1423, 1426,
+ 1420, 1429, 171, 979, 982, 0, 976, 985,
+ 0, 219, 1267, 1270, 0, 1264, 1273, 225,
+ 1303, 1306, 0, 1300, 1309, 0, 0, 0,
+ 0, 227, 1315, 1318, 1312, 1321, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 237,
+ 1375, 1378, 1372, 1381, 0, 0, 177, 1015,
+ 1018, 1012, 1021, 0, 0, 0, 187, 1075,
+ 1078, 1072, 1081, 0, 0, 0, 217, 1255,
+ 1258, 1252, 1261, 191, 1099, 1102, 1096, 1105,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 231, 1339, 1342, 1336, 1345, 0,
+ 175, 1003, 1006, 1000, 1009, 0, 243, 1411,
+ 1414, 1408, 1417, 0, 199, 1147, 1150, 1144,
+ 1153, 0, 0, 0, 213, 1231, 1234, 1228,
+ 1237, 0, 0, 261, 1519, 1522, 1516, 1525,
+ 0, 0, 0, 0, 0, 229, 1327, 1330,
+ 1324, 1333, 0, 185, 1063, 1066, 1060, 1069,
+ 0, 0, 2738, 637, 49, 697, 700, 45,
+ 694, 703, 0, 0, 257, 1495, 1498, 1492,
+ 1501, 0, 0, 0, 0, 0, 265, 1543,
+ 1546, 1540, 1549, 0, 0, 0, 0, 0,
+ 241, 1399, 1402, 1396, 1405, 610, 628, 1,
+ 637, 49, 697, 700, 45, 694, 703, 0,
+ 5, 7, 637, 3, 9, 47, 682, 685,
+ 45, 679, 688, 0, 5, 7, 407, 3,
9, 0, 5, 7, 3, 9, 129, 1,
- 11, 463, 11, 463, 11, 463, 129, 1,
- 631, 47, 676, 679, 45, 673, 682, 0,
- 5, 7, 631, 3, 9, 47, 676, 679,
- 45, 673, 682, 0, 5, 7, 631, 3,
- 9, 49, 691, 694, 45, 688, 697, 0,
- 5, 7, 33, 535, 3, 9, 35, 547,
- 550, 544, 553, 868, 0, 5, 7, 538,
+ 11, 469, 11, 469, 11, 469, 129, 1,
+ 637, 47, 682, 685, 45, 679, 688, 0,
+ 5, 7, 637, 3, 9, 47, 682, 685,
+ 45, 679, 688, 0, 5, 7, 637, 3,
+ 9, 49, 697, 700, 45, 694, 703, 0,
+ 5, 7, 33, 541, 3, 9, 35, 553,
+ 556, 550, 559, 874, 0, 5, 7, 544,
3, 9, 133, 135, 0, 137, 139, 0,
- 141, 0, 143, 145, 0, 556, 131, 1,
- 0, 0, 11, 463, 117, 115, 11, 463,
- 11, 463, 11, 463, 631, 47, 676, 679,
- 45, 673, 682, 0, 5, 7, 631, 3,
- 9, 47, 676, 679, 45, 673, 682, 0,
- 5, 7, 631, 3, 9, 49, 691, 694,
- 45, 688, 697, 0, 5, 7, 33, 535,
- 3, 9, 541, 117, 115, 11, 463, 11,
- 463, 11, 463, 631, 47, 676, 679, 45,
- 673, 682, 0, 5, 7, 631, 3, 9,
- 47, 676, 679, 45, 673, 682, 0, 5,
- 7, 631, 3, 9, 47, 676, 679, 45,
- 673, 682, 0, 5, 7, 115, 3, 9,
- 117, 0, 5, 7, 3, 9, 1, 418,
- 439, 11, 463, 11, 463, 11, 463, 11,
- 463, 631, 51, 712, 715, 45, 709, 718,
- 0, 5, 7, 631, 3, 9, 700, 45,
- 1, 11, 463, 631, 51, 712, 715, 45,
- 709, 718, 0, 5, 7, 631, 3, 9,
- 47, 676, 679, 45, 673, 682, 0, 5,
- 7, 631, 3, 9, 47, 676, 679, 45,
- 673, 682, 0, 5, 7, 115, 3, 9,
- 117, 0, 5, 7, 3, 9, 1, 418,
- 439, 11, 463, 11, 463, 11, 463, 11,
- 463, 631, 49, 691, 694, 45, 688, 697,
- 0, 5, 7, 832, 3, 9, 3041, 105,
- 11, 463, 631, 49, 691, 694, 45, 688,
- 697, 0, 5, 7, 2218, 3, 9, 117,
- 115, 117, 3113, 381, 115, 117, 115, 117,
- 3345, 3341, 11, 463, 2215, 117, 3337, 379,
- 115, 117, 3329, 2215, 117, 379, 115, 117,
- 3333, 631, 49, 691, 694, 45, 688, 697,
- 0, 5, 7, 631, 3, 9, 49, 691,
- 694, 45, 688, 697, 75, 0, 5, 7,
- 3, 9, 1, 11, 463, 11, 463, 631,
- 47, 676, 679, 45, 673, 682, 532, 0,
- 5, 7, 3, 9, 35, 547, 550, 544,
- 553, 75, 0, 5, 7, 3, 9, 1,
- 11, 463, 11, 463, 631, 49, 691, 694,
- 45, 688, 697, 0, 5, 7, 604, 3,
- 9, 625, 1, 11, 463, 595, 592, 0,
- 2661, 2665, 571, 466, 475, 2657, 2669, 592,
- 407, 2465, 2473, 3373, 3381, 2433, 2481, 3365,
- 3369, 4362, 4372, 2681, 592, 2465, 2473, 3013,
- 3013, 3013, 3013, 3013, 3013, 3013, 3013, 3013,
- 3013, 3013, 3013, 3013, 3013, 3013, 3013, 3013,
- 2433, 2481, 4547, 4562, 4807, 4807, 4807, 4807,
- 4807, 4807, 4807, 4807, 4807, 4807, 4807, 4807,
- 4807, 4807, 4807, 4807, 4807, 2673, 3009, 93,
- 4792, 4797, 3005, 2997, 3001, 4787, 4802, 2465,
- 2473, 2433, 2481, 481, 2533, 2541, 4417, 2549,
- 481, 2461, 2469, 2477, 4367, 5996, 6002, 6116,
- 6116, 6116, 6116, 6116, 6116, 6116, 6116, 6116,
- 6116, 6116, 6116, 6116, 6116, 6116, 6116, 6116,
- 4357
+ 141, 0, 143, 145, 0, 562, 131, 1,
+ 0, 0, 11, 469, 117, 115, 11, 469,
+ 11, 469, 11, 469, 637, 47, 682, 685,
+ 45, 679, 688, 0, 5, 7, 637, 3,
+ 9, 47, 682, 685, 45, 679, 688, 0,
+ 5, 7, 637, 3, 9, 49, 697, 700,
+ 45, 694, 703, 0, 5, 7, 33, 541,
+ 3, 9, 547, 117, 115, 11, 469, 11,
+ 469, 11, 469, 637, 47, 682, 685, 45,
+ 679, 688, 0, 5, 7, 637, 3, 9,
+ 47, 682, 685, 45, 679, 688, 0, 5,
+ 7, 637, 3, 9, 47, 682, 685, 45,
+ 679, 688, 0, 5, 7, 115, 3, 9,
+ 117, 0, 5, 7, 3, 9, 1, 424,
+ 445, 11, 469, 11, 469, 11, 469, 11,
+ 469, 637, 51, 718, 721, 45, 715, 724,
+ 0, 5, 7, 637, 3, 9, 706, 45,
+ 1, 11, 469, 637, 51, 718, 721, 45,
+ 715, 724, 0, 5, 7, 637, 3, 9,
+ 47, 682, 685, 45, 679, 688, 0, 5,
+ 7, 637, 3, 9, 47, 682, 685, 45,
+ 679, 688, 0, 5, 7, 115, 3, 9,
+ 117, 0, 5, 7, 3, 9, 1, 424,
+ 445, 11, 469, 11, 469, 11, 469, 11,
+ 469, 637, 49, 697, 700, 45, 694, 703,
+ 0, 5, 7, 838, 3, 9, 3074, 105,
+ 11, 469, 637, 49, 697, 700, 45, 694,
+ 703, 0, 5, 7, 2248, 3, 9, 117,
+ 115, 117, 3146, 387, 115, 117, 115, 117,
+ 3386, 3382, 11, 469, 2245, 117, 3378, 385,
+ 115, 117, 3370, 2245, 117, 385, 115, 117,
+ 3374, 637, 49, 697, 700, 45, 694, 703,
+ 0, 5, 7, 637, 3, 9, 49, 697,
+ 700, 45, 694, 703, 75, 0, 5, 7,
+ 3, 9, 1, 11, 469, 11, 469, 637,
+ 47, 682, 685, 45, 679, 688, 538, 0,
+ 5, 7, 3, 9, 35, 553, 556, 550,
+ 559, 75, 0, 5, 7, 3, 9, 1,
+ 11, 469, 11, 469, 637, 49, 697, 700,
+ 45, 694, 703, 0, 5, 7, 610, 3,
+ 9, 631, 1, 11, 469, 601, 598, 0,
+ 2694, 2698, 577, 472, 481, 2690, 2702, 598,
+ 413, 2498, 2506, 3414, 3422, 2466, 2514, 3406,
+ 3410, 4423, 4433, 2714, 598, 2498, 2506, 3046,
+ 3046, 3046, 3046, 3046, 3046, 3046, 3046, 3046,
+ 3046, 3046, 3046, 3046, 3046, 3046, 3046, 3046,
+ 3046, 2466, 2514, 4608, 4623, 4868, 4868, 4868,
+ 4868, 4868, 4868, 4868, 4868, 4868, 4868, 4868,
+ 4868, 4868, 4868, 4868, 4868, 4868, 4868, 2706,
+ 3042, 93, 4853, 4858, 3038, 3030, 3034, 4848,
+ 4863, 2498, 2506, 2466, 2514, 487, 2566, 2574,
+ 4478, 2582, 487, 2494, 2502, 2510, 4428, 6097,
+ 6103, 6217, 6217, 6217, 6217, 6217, 6217, 6217,
+ 6217, 6217, 6217, 6217, 6217, 6217, 6217, 6217,
+ 6217, 6217, 6217, 4418
};
static const short _zone_scanner_eof_actions[] = {
- 0, 2709, 2885, 413, 2263, 405, 2248, 15,
- 15, 405, 405, 2248, 2248, 2248, 4567, 6098,
- 2260, 413, 413, 2263, 2248, 2248, 413, 413,
- 413, 413, 413, 2263, 2263, 413, 413, 2263,
- 413, 413, 413, 2263, 413, 413, 413, 2263,
- 413, 413, 413, 413, 2263, 413, 413, 413,
- 2263, 413, 413, 413, 2263, 2263, 413, 413,
- 413, 413, 2263, 413, 2263, 413, 413, 413,
- 413, 2263, 413, 413, 413, 2263, 413, 413,
- 413, 413, 413, 413, 413, 413, 413, 413,
- 2263, 413, 413, 2263, 2263, 413, 413, 2263,
- 413, 2263, 413, 2263, 2263, 413, 413, 413,
- 413, 2263, 2263, 413, 413, 413, 413, 2263,
- 413, 2263, 2263, 413, 2263, 2263, 413, 413,
- 413, 413, 2263, 413, 413, 413, 413, 413,
- 413, 413, 413, 413, 2263, 413, 413, 2263,
- 413, 2263, 413, 413, 413, 2263, 2263, 413,
- 413, 413, 413, 413, 2263, 413, 2263, 413,
- 2263, 413, 2263, 413, 413, 413, 2263, 413,
- 413, 2263, 413, 413, 413, 2263, 413, 2263,
- 413, 413, 649, 2713, 413, 413, 2263, 413,
- 413, 413, 413, 413, 2263, 413, 2709, 413,
- 413, 649, 2885, 2885, 2885, 2885, 413, 15,
- 95, 95, 95, 95, 95, 95, 95, 95,
- 41, 649, 0, 4552, 649, 413, 2885, 2885,
- 2885, 413, 2685, 2713, 3385, 2248, 2709, 15,
- 2248, 15, 4567, 3385, 3385, 3385, 3385, 3385,
- 3385, 3385, 3385, 3385, 3385, 3385, 3385, 3385,
- 3385, 3385, 3385, 2248, 3361, 95, 95, 95,
- 95, 95, 95, 95, 95, 95, 2677, 6242,
- 2709, 2260, 4557, 4567, 4557, 4557, 4557, 4557,
- 4557, 4557, 4557, 4557, 4557, 4557, 4557, 4557,
- 4557, 4557, 4557, 4557, 598, 4567, 2248, 15,
- 2248, 2248, 413, 413, 2263, 413, 413, 413,
- 2263, 413, 2263, 2248, 2248, 15, 2248, 2248,
- 2248, 2248, 405, 4567, 2248, 2248, 601, 601,
- 601, 601, 601, 601, 601, 601, 601, 601,
- 601, 601, 601, 601, 601, 601, 15, 2260,
- 601, 2260, 0, 0, 0, 31, 31, 31,
- 511, 511, 511, 511, 31, 31, 763, 763,
- 2949, 2949, 2949, 2949, 763, 763, 69, 2949,
- 2949, 2949, 2949, 77, 634, 4762, 484, 484,
- 4762, 2877, 4762, 77, 81, 81, 81, 487,
- 487, 487, 514, 514, 514, 514, 487, 81,
- 0, 85, 793, 799, 87, 799, 15, 15,
- 517, 517, 517, 517, 799, 15, 87, 0,
- 0, 127, 127, 127, 127, 127, 127, 127,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 363, 363, 363, 363,
- 363, 363, 363, 363, 377, 637, 637, 3109,
- 3109, 3109, 3109, 377, 377, 377, 637, 637,
- 3109, 3109, 3109, 3109, 377, 637, 377, 387,
- 387, 387, 387, 387, 387, 387, 387, 387,
- 387, 387, 387, 387, 387, 387, 387, 387,
- 387, 387, 387, 387, 387, 387, 643, 643,
- 387, 387, 387, 387, 387, 387, 387, 387,
- 387, 387, 387, 387, 387, 387, 387, 387,
- 387, 387, 387, 385, 385, 385, 385, 385,
- 385, 385, 385, 385, 385, 385, 385, 385,
- 385, 385, 385, 385, 385, 385, 385, 385,
- 385, 385, 385, 385, 385, 385, 385, 385,
- 385, 385, 385, 385, 835, 835, 835, 835,
- 835, 835, 385, 385, 385, 385, 385, 835,
- 835, 835, 835, 835, 835, 385, 385, 640,
- 640, 385, 385, 385, 385, 385, 385, 385,
- 385, 385, 385, 385, 385, 385, 385, 385,
- 385, 385, 385, 385, 385, 385, 385, 385,
- 385, 385, 385, 385, 385, 385, 385, 385,
- 385, 385, 385, 385, 385, 640, 640, 640,
- 640, 385, 385, 397, 397, 397, 397, 397,
- 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 397, 397, 397, 397, 397,
- 397, 397, 397, 399, 399, 399, 399, 399,
- 399, 399, 399, 399, 399, 399, 399, 399,
- 399, 399, 399, 399, 399, 399, 399, 399,
- 399, 399, 399, 399, 399, 399, 399, 399,
- 399, 399, 399, 399, 399, 399, 399, 399,
- 399, 399, 399, 399, 838, 838, 405, 405,
- 405, 405, 405, 405, 646, 646, 646, 2881,
- 646, 2881, 646, 2881, 646, 2881, 2881, 2881,
- 2881, 405, 2881, 2881, 2881, 405, 2881, 2881,
- 2881, 405, 2881, 2881, 2881, 405, 405, 405,
+ 0, 2742, 2918, 419, 2293, 411, 2278, 15,
+ 15, 411, 411, 2278, 2278, 2278, 4628, 6199,
+ 2290, 419, 419, 2293, 2278, 2278, 419, 419,
+ 419, 419, 419, 2293, 2293, 419, 419, 2293,
+ 419, 419, 419, 2293, 419, 419, 419, 2293,
+ 419, 419, 419, 419, 2293, 419, 419, 419,
+ 2293, 419, 419, 419, 2293, 2293, 419, 419,
+ 419, 419, 2293, 419, 2293, 419, 419, 419,
+ 419, 2293, 419, 419, 419, 2293, 419, 419,
+ 419, 419, 419, 419, 419, 419, 419, 419,
+ 2293, 419, 419, 2293, 2293, 419, 419, 2293,
+ 419, 2293, 419, 2293, 2293, 419, 419, 419,
+ 419, 2293, 2293, 419, 419, 419, 419, 2293,
+ 419, 2293, 2293, 419, 2293, 2293, 419, 419,
+ 419, 419, 2293, 419, 419, 419, 419, 419,
+ 419, 419, 419, 419, 2293, 419, 419, 2293,
+ 419, 2293, 419, 419, 419, 2293, 2293, 419,
+ 419, 419, 419, 419, 2293, 419, 2293, 419,
+ 2293, 419, 2293, 419, 419, 419, 2293, 419,
+ 419, 2293, 419, 419, 419, 2293, 419, 2293,
+ 419, 419, 655, 2746, 419, 419, 2293, 419,
+ 419, 419, 419, 419, 2293, 419, 419, 419,
+ 419, 419, 2293, 419, 2742, 419, 419, 655,
+ 2918, 2918, 2918, 2918, 419, 15, 95, 95,
+ 95, 95, 95, 95, 95, 95, 41, 655,
+ 0, 4613, 655, 419, 2918, 2918, 2918, 419,
+ 2718, 2746, 3426, 2278, 2742, 15, 2278, 15,
+ 4628, 3426, 3426, 3426, 3426, 3426, 3426, 3426,
+ 3426, 3426, 3426, 3426, 3426, 3426, 3426, 3426,
+ 3426, 3426, 2278, 3402, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 2710, 6349, 2742,
+ 2290, 4618, 4628, 4618, 4618, 4618, 4618, 4618,
+ 4618, 4618, 4618, 4618, 4618, 4618, 4618, 4618,
+ 4618, 4618, 4618, 4618, 604, 4628, 2278, 15,
+ 2278, 2278, 419, 419, 2293, 419, 419, 419,
+ 2293, 419, 2293, 2278, 2278, 15, 2278, 2278,
+ 2278, 2278, 411, 4628, 2278, 2278, 607, 607,
+ 607, 607, 607, 607, 607, 607, 607, 607,
+ 607, 607, 607, 607, 607, 607, 607, 15,
+ 2290, 607, 2290, 0, 0, 0, 31, 31,
+ 31, 517, 517, 517, 517, 31, 31, 769,
+ 769, 2982, 2982, 2982, 2982, 769, 769, 69,
+ 2982, 2982, 2982, 2982, 77, 640, 4823, 490,
+ 490, 4823, 2910, 4823, 77, 81, 81, 81,
+ 493, 493, 493, 520, 520, 520, 520, 493,
+ 81, 0, 85, 799, 805, 87, 805, 15,
+ 15, 523, 523, 523, 523, 805, 15, 87,
+ 0, 0, 127, 127, 127, 127, 127, 127,
+ 127, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 369, 369, 369, 369, 369,
+ 369, 369, 369, 383, 643, 643, 3142, 3142,
+ 3142, 3142, 383, 383, 383, 643, 643, 3142,
+ 3142, 3142, 3142, 383, 643, 383, 393, 393,
+ 393, 393, 393, 393, 393, 393, 393, 393,
+ 393, 393, 393, 393, 393, 393, 393, 393,
+ 393, 393, 393, 393, 393, 393, 393, 393,
+ 393, 393, 393, 393, 649, 649, 393, 393,
+ 393, 393, 393, 393, 393, 393, 393, 393,
+ 393, 393, 393, 393, 393, 393, 393, 393,
+ 393, 393, 393, 393, 393, 393, 391, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391,
+ 391, 391, 841, 841, 841, 841, 841, 841,
+ 391, 391, 391, 391, 391, 841, 841, 841,
+ 841, 841, 841, 391, 391, 646, 646, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391,
+ 391, 391, 391, 391, 391, 391, 391, 391,
+ 391, 391, 391, 391, 391, 391, 391, 646,
+ 646, 646, 646, 391, 391, 403, 403, 403,
+ 403, 403, 403, 403, 403, 403, 403, 403,
+ 403, 403, 403, 403, 403, 403, 403, 403,
+ 403, 403, 403, 403, 403, 403, 403, 403,
+ 403, 403, 403, 403, 403, 403, 403, 403,
+ 403, 403, 403, 403, 403, 403, 403, 403,
+ 403, 403, 403, 403, 403, 403, 403, 403,
+ 403, 403, 403, 403, 403, 403, 403, 403,
+ 403, 403, 403, 403, 403, 403, 403, 403,
+ 403, 403, 403, 403, 403, 403, 403, 403,
+ 403, 403, 403, 403, 403, 403, 403, 403,
+ 403, 403, 403, 403, 403, 403, 403, 403,
+ 403, 403, 403, 403, 403, 403, 403, 403,
+ 403, 403, 403, 403, 403, 405, 405, 405,
+ 405, 405, 405, 405, 405, 405, 405, 405,
+ 405, 405, 405, 405, 405, 405, 405, 405,
405, 405, 405, 405, 405, 405, 405, 405,
- 405, 405, 646, 646, 405, 405, 405, 781,
- 781, 781, 781, 838, 838, 2212, 2212, 2212,
- 2212, 2212, 2212, 2212, 2212, 2212, 2212, 2212,
- 2212, 2212, 2212, 2212, 2212, 2212, 2212, 2212,
- 2212, 2212, 2212, 2212, 2212, 2212, 2212, 2212,
- 2212, 2212, 2212, 2212, 2212, 2212, 2212, 2212,
- 2212, 2212, 2212, 2212, 2212, 2212, 2212, 2212,
- 2212, 2212, 2212, 2212, 2212, 2212, 2212, 2212,
- 2212, 2212, 2212, 2212, 646, 646, 646, 646,
- 646, 646, 405, 405, 405, 405, 405, 646,
- 646, 646, 646, 405, 405, 405, 405, 405,
405, 405, 405, 405, 405, 405, 405, 405,
- 405, 405, 646, 646, 405, 405, 405, 405,
- 405, 405, 405, 859, 859, 859, 3033, 3033,
- 859, 859, 405, 859, 3033, 3033, 646, 646,
- 405, 405, 646, 646, 862, 862, 862, 862,
- 405, 405, 405, 646, 646, 646, 646, 862,
- 862, 862, 862, 405, 405, 646, 646, 949,
- 949, 2701, 2701, 949, 3121, 952, 952, 952,
- 952, 952, 952, 952, 949, 949, 949, 2701,
- 2701, 3037, 4817, 949, 949, 949, 2701, 2701,
- 3037, 4817, 949, 949, 949, 2701, 2701, 949,
- 3121, 949, 949, 405, 955, 955, 405, 405,
- 646, 646, 646, 646, 760, 760, 760, 760,
- 646, 646, 405, 405, 405, 405, 405, 405,
- 405, 405, 405, 405, 405, 405, 955, 955,
- 955, 955, 955, 955, 955, 955, 955, 955,
- 955, 955, 955, 955, 955, 955, 955, 955,
- 955, 955, 955, 955, 955, 955, 955, 955,
- 955, 955, 955, 955, 955, 955, 955, 955,
- 955, 955, 955, 955, 955, 955, 955, 955,
- 955, 955, 955, 955, 955, 955, 955, 955,
- 955, 955, 955, 955, 955, 955, 955, 955,
- 955, 955, 955, 955, 955, 955, 955, 955,
- 955, 955, 955, 955, 955, 955, 955, 955,
- 955, 955, 955, 955, 955, 955, 955, 955,
- 955, 955, 955, 955, 955, 955, 955, 955,
- 955, 955, 955, 955, 955, 955, 955, 955,
- 955, 955, 955, 955, 955, 955, 955, 955,
- 955, 955, 955, 955, 955, 955, 955, 955,
- 955, 955, 955, 955, 955, 955, 955, 955,
- 955, 955, 955, 955, 955, 955, 955, 955,
- 955, 955, 955, 955, 955, 955, 955, 955,
- 955, 955, 955, 955, 955, 955, 955, 955,
- 955, 955, 955, 2705, 2705, 955, 955, 955,
- 955, 955, 955, 955, 955, 955, 405, 405,
- 405, 646, 646, 646, 646, 405, 405, 405,
- 405, 405, 405, 405, 405, 405, 646, 646,
- 646, 646, 646, 646, 862, 862, 868, 868,
- 868, 868, 868, 868, 868, 868, 868, 405,
- 868, 868, 868, 868, 868, 405, 862, 862,
- 405, 405, 405, 646, 646, 646, 646, 646,
- 646, 862, 862, 862, 862, 405, 405, 405,
- 646, 646, 646, 646, 646, 646, 862, 862,
- 862, 862, 405, 405, 405, 646, 646, 646,
- 646, 405, 405, 646, 646, 646, 646, 646,
- 646, 862, 862, 862, 862, 405, 405, 405,
- 646, 646, 838, 838, 405, 646, 646, 862,
- 862, 862, 862, 3113, 862, 862, 862, 862,
- 3345, 405, 862, 862, 3337, 862, 862, 3337,
- 862, 862, 3337, 862, 862, 3337, 646, 646,
- 646, 646, 405, 405, 405, 405, 646, 646,
- 405, 405, 405, 405, 405, 405, 646, 646,
- 405, 405, 405, 405, 0, 0, 0, 0,
+ 405, 405, 405, 405, 405, 405, 844, 844,
+ 411, 411, 411, 411, 411, 411, 652, 652,
+ 652, 2914, 652, 2914, 652, 2914, 652, 2914,
+ 2914, 2914, 2914, 411, 2914, 2914, 2914, 411,
+ 2914, 2914, 2914, 411, 2914, 2914, 2914, 411,
+ 411, 411, 411, 411, 411, 411, 411, 411,
+ 411, 411, 411, 411, 652, 652, 411, 411,
+ 411, 787, 787, 787, 787, 844, 844, 2242,
+ 2242, 2242, 2242, 2242, 2242, 2242, 2242, 2242,
+ 2242, 2242, 2242, 2242, 2242, 2242, 2242, 2242,
+ 2242, 2242, 2242, 2242, 2242, 2242, 2242, 2242,
+ 2242, 2242, 2242, 2242, 2242, 2242, 2242, 2242,
+ 2242, 2242, 2242, 2242, 2242, 2242, 2242, 2242,
+ 2242, 2242, 2242, 2242, 2242, 2242, 2242, 2242,
+ 2242, 2242, 2242, 2242, 2242, 2242, 652, 652,
+ 652, 652, 652, 652, 411, 411, 411, 411,
+ 411, 652, 652, 652, 652, 411, 411, 411,
+ 411, 411, 411, 411, 411, 411, 411, 411,
+ 411, 411, 411, 411, 652, 652, 411, 411,
+ 411, 411, 411, 411, 411, 865, 865, 865,
+ 3066, 3066, 865, 865, 411, 865, 3066, 3066,
+ 652, 652, 411, 411, 652, 652, 868, 868,
+ 868, 868, 411, 411, 411, 652, 652, 652,
+ 652, 868, 868, 868, 868, 411, 411, 652,
+ 652, 955, 955, 2734, 2734, 955, 3158, 958,
+ 958, 958, 958, 958, 958, 958, 955, 955,
+ 955, 2734, 2734, 3070, 4878, 955, 955, 955,
+ 2734, 2734, 3070, 4878, 955, 955, 955, 2734,
+ 2734, 955, 3158, 955, 955, 411, 961, 961,
+ 411, 411, 652, 652, 652, 652, 766, 766,
+ 766, 766, 652, 652, 411, 411, 411, 411,
+ 411, 411, 411, 411, 411, 411, 411, 411,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 2738, 2738, 961,
+ 961, 961, 961, 961, 961, 961, 961, 961,
+ 961, 961, 961, 961, 961, 961, 411, 411,
+ 411, 652, 652, 652, 652, 411, 411, 411,
+ 411, 411, 411, 411, 411, 411, 652, 652,
+ 652, 652, 652, 652, 868, 868, 874, 874,
+ 874, 874, 874, 874, 874, 874, 874, 411,
+ 874, 874, 874, 874, 874, 411, 868, 868,
+ 411, 411, 411, 652, 652, 652, 652, 652,
+ 652, 868, 868, 868, 868, 411, 411, 411,
+ 652, 652, 652, 652, 652, 652, 868, 868,
+ 868, 868, 411, 411, 411, 652, 652, 652,
+ 652, 411, 411, 652, 652, 652, 652, 652,
+ 652, 868, 868, 868, 868, 411, 411, 411,
+ 652, 652, 844, 844, 411, 652, 652, 868,
+ 868, 868, 868, 3146, 868, 868, 868, 868,
+ 3386, 411, 868, 868, 3378, 868, 868, 3378,
+ 868, 868, 3378, 868, 868, 3378, 652, 652,
+ 652, 652, 411, 411, 411, 411, 652, 652,
+ 411, 411, 411, 411, 411, 411, 652, 652,
+ 411, 411, 411, 411, 0, 0, 0, 0,
93, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
@@ -6364,7 +6504,7 @@ int zs_init(
memset(s, 0, sizeof(*s));
// Nonzero initial scanner state.
- s->cs = 1396;
+ s->cs = 1444;
// Reset the file descriptor.
s->file.descriptor = -1;
@@ -6900,7 +7040,7 @@ _match:
{
if (s->multiline == true) {
ERR(ZS_LEFT_PARENTHESIS);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
s->multiline = true;
}
@@ -6909,7 +7049,7 @@ _match:
{
if (s->multiline == false) {
ERR(ZS_RIGHT_PARENTHESIS);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
s->multiline = false;
}
@@ -6950,7 +7090,7 @@ _match:
case 8:
{
WARN(ZS_BAD_REST);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 9:
@@ -7003,15 +7143,15 @@ _match:
if (s->error.fatal) {
{p++; goto _out; }
}
- {cs = 306;goto _again;}
+ {cs = 315;goto _again;}
} else {
// Return if external processing.
- p--; cs = 306; {p++; goto _out; }
+ p--; cs = 315; {p++; goto _out; }
}
}
break;
case 12:
- { p--; {stack[top++] = cs; cs = 1396;goto _again;} }
+ { p--; {stack[top++] = cs; cs = 1444;goto _again;} }
break;
case 13:
{
@@ -7027,7 +7167,7 @@ _match:
s->item_length++;
} else {
WARN(ZS_LABEL_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7040,7 +7180,7 @@ _match:
(uint8_t)(s->item_length);
} else {
WARN(ZS_DNAME_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7051,7 +7191,7 @@ _match:
s->item_length++;
} else {
WARN(ZS_LABEL_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7069,7 +7209,7 @@ _match:
case 19:
{
WARN(ZS_BAD_NUMBER);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 20:
@@ -7089,7 +7229,7 @@ _match:
s->dname_tmp_length += s->zone_origin_length;
} else {
WARN(ZS_DNAME_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7112,11 +7252,11 @@ _match:
case 24:
{
WARN(ZS_BAD_DNAME_CHAR);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 25:
- { p--; {stack[top++] = cs; cs = 309;goto _again;} }
+ { p--; {stack[top++] = cs; cs = 318;goto _again;} }
break;
case 26:
{
@@ -7124,7 +7264,7 @@ _match:
s->item_length_location = rdata_tail++;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7133,13 +7273,13 @@ _match:
s->item_length = rdata_tail - s->item_length_location - 1;
if (s->comma_list && s->item_length == 0) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
if (s->item_length <= MAX_ITEM_LENGTH) {
*(s->item_length_location) = (uint8_t)(s->item_length);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7150,7 +7290,7 @@ _match:
rdata_tail += 2;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7163,7 +7303,7 @@ _match:
memcpy(s->item_length2_location, &val, 2);
} else {
WARN(ZS_ITEM_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7182,7 +7322,7 @@ _match:
{
if (s->r_owner_length == 0) {
WARN(ZS_BAD_PREVIOUS_OWNER);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7190,7 +7330,7 @@ _match:
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 34:
@@ -7215,7 +7355,7 @@ _match:
s->number64 += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER64_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7227,7 +7367,7 @@ _match:
case 38:
{
WARN(ZS_BAD_NUMBER);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 39:
@@ -7255,7 +7395,7 @@ _match:
s->number64 += s->number64_tmp * pow(10, s->decimals);
} else {
WARN(ZS_FLOAT_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7276,7 +7416,7 @@ _match:
rdata_tail += 1;
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7288,7 +7428,7 @@ _match:
rdata_tail += 2;
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7300,7 +7440,7 @@ _match:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7310,7 +7450,7 @@ _match:
s->r_type = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7320,14 +7460,14 @@ _match:
s->r_data_length = (uint16_t)(s->number64);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
case 50:
{
WARN(ZS_BAD_TIME_UNIT);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 51:
@@ -7335,7 +7475,7 @@ _match:
s->number64 *= 60;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7344,7 +7484,7 @@ _match:
s->number64 *= 3600;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7353,7 +7493,7 @@ _match:
s->number64 *= 86400;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7362,7 +7502,7 @@ _match:
s->number64 *= 604800;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7377,7 +7517,7 @@ _match:
s->number64 += s->number64_tmp;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7392,7 +7532,7 @@ _match:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7409,7 +7549,7 @@ _match:
rdata_tail += 4;
} else {
WARN(ret);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
} else if (s->buffer_length <= 10) { // Timestamp format.
char *end;
@@ -7418,7 +7558,7 @@ _match:
if (end == (char *)(s->buffer) || *end != '\0') {
WARN(ZS_BAD_TIMESTAMP);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
if (s->number64 <= UINT32_MAX) {
@@ -7426,18 +7566,18 @@ _match:
rdata_tail += 4;
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
} else {
WARN(ZS_BAD_TIMESTAMP_LENGTH);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
case 60:
{
WARN(ZS_BAD_TIMESTAMP_CHAR);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 61:
@@ -7453,27 +7593,27 @@ _match:
if (rdata_tail > rdata_stop) {
WARN(ZS_TEXT_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
*(rdata_tail++) = (*p);
} else {
WARN(ZS_TEXT_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
case 62:
{
WARN(ZS_BAD_TEXT_CHAR);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 63:
{
WARN(ZS_BAD_TEXT);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 64:
@@ -7489,7 +7629,7 @@ _match:
if (rdata_tail > rdata_stop) {
WARN(ZS_TEXT_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
@@ -7497,7 +7637,7 @@ _match:
s->item_length++;
} else {
WARN(ZS_TEXT_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7512,7 +7652,7 @@ _match:
*rdata_tail += digit_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_NUMBER8_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7524,7 +7664,7 @@ _match:
case 67:
{
WARN(ZS_BAD_NUMBER);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 68:
@@ -7535,7 +7675,7 @@ _match:
if (last_two[1] == ',') {
if (current_len <= 1) {
WARN(ZS_EMPTY_LIST_ITEM);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
} else if (last_two[0] != '\\' || !s->pending_backslash) { // Start a new item.
*(s->item_length_location) = current_len;
s->item_length_location = rdata_tail - 1;
@@ -7553,13 +7693,13 @@ _match:
}
} else if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
}
break;
case 69:
- { p--; {stack[top++] = cs; cs = 318;goto _again;} }
+ { p--; {stack[top++] = cs; cs = 327;goto _again;} }
break;
case 70:
{
@@ -7577,18 +7717,18 @@ _match:
s->default_ttl = (uint32_t)(s->number64);
} else {
ERR(ZS_NUMBER32_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
case 73:
{
ERR(ZS_BAD_TTL);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 74:
- { p--; {stack[top++] = cs; cs = 331;goto _again;} }
+ { p--; {stack[top++] = cs; cs = 340;goto _again;} }
break;
case 75:
{
@@ -7603,11 +7743,11 @@ _match:
case 77:
{
ERR(ZS_BAD_ORIGIN);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 78:
- { p--; {stack[top++] = cs; cs = 340;goto _again;} }
+ { p--; {stack[top++] = cs; cs = 349;goto _again;} }
break;
case 79:
{
@@ -7619,7 +7759,7 @@ _match:
size_t len = rdata_tail - s->r_data;
if (len >= sizeof(s->include_filename)) {
ERR(ZS_BAD_INCLUDE_FILENAME);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
// Store zero terminated include filename.
@@ -7633,7 +7773,7 @@ _match:
case 81:
{
ERR(ZS_BAD_INCLUDE_FILENAME);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 82:
@@ -7649,7 +7789,7 @@ _match:
case 84:
{
ERR(ZS_BAD_INCLUDE_ORIGIN);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 85:
@@ -7660,7 +7800,7 @@ _match:
"%s/%s", s->path, s->include_filename);
if (ret <= 0 || ret >= sizeof(s->buffer)) {
ERR(ZS_BAD_INCLUDE_FILENAME);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
memcpy(s->include_filename, s->buffer, ret + 1);
}
@@ -7682,7 +7822,7 @@ _match:
zs_scanner_t *ss = malloc(sizeof(zs_scanner_t));
if (ss == NULL) {
ERR(ZS_UNPROCESSED_INCLUDE);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
// Parse included zone file.
@@ -7702,18 +7842,18 @@ _match:
}
zs_deinit(ss);
free(ss);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
zs_deinit(ss);
free(ss);
} else {
s->state = ZS_STATE_INCLUDE;
- p--; cs = 1396; {p++; goto _out; }
+ p--; cs = 1444; {p++; goto _out; }
}
}
break;
case 86:
- { p--; {stack[top++] = cs; cs = 352;goto _again;} }
+ { p--; {stack[top++] = cs; cs = 361;goto _again;} }
break;
case 87:
{
@@ -7728,7 +7868,7 @@ _match:
case 89:
{
ERR(ZS_BAD_DIRECTIVE);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 90:
@@ -7752,7 +7892,7 @@ _match:
s->r_ttl = (uint32_t)(s->number64);
} else {
WARN(ZS_NUMBER32_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7767,14 +7907,14 @@ _match:
s->buffer[s->buffer_length++] = (*p);
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
case 96:
{
WARN(ZS_BAD_ADDRESS_CHAR);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 97:
@@ -7783,7 +7923,7 @@ _match:
if (inet_pton(AF_INET, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV4);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7791,7 +7931,7 @@ _match:
{
if (rdata_tail + ZS_INET4_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
memcpy(rdata_tail, s->addr, ZS_INET4_ADDR_LENGTH);
rdata_tail += ZS_INET4_ADDR_LENGTH;
@@ -7803,7 +7943,7 @@ _match:
if (inet_pton(AF_INET6, (char *)s->buffer, s->addr) <= 0) {
WARN(ZS_BAD_IPV6);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7811,7 +7951,7 @@ _match:
{
if (rdata_tail + ZS_INET6_ADDR_LENGTH > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
memcpy(rdata_tail, s->addr, ZS_INET6_ADDR_LENGTH);
rdata_tail += ZS_INET6_ADDR_LENGTH;
@@ -7844,7 +7984,7 @@ _match:
s->apl.prefix_length = (uint8_t)(s->number64);
} else {
WARN(ZS_BAD_APL);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7863,7 +8003,7 @@ _match:
break;
default:
WARN(ZS_BAD_APL);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
// Find prefix without trailing zeroes.
while (len > 0) {
@@ -7875,7 +8015,7 @@ _match:
// Check for rdata overflow.
if (rdata_tail + 4 + len > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
// Write address family.
uint16_t af = htons(s->apl.addr_family);
@@ -7895,7 +8035,7 @@ _match:
case 107:
{
WARN(ZS_BAD_APL);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 108:
@@ -7904,7 +8044,7 @@ _match:
*rdata_tail = first_hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7917,21 +8057,21 @@ _match:
case 110:
{
WARN(ZS_BAD_HEX_CHAR);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 111:
{
if ((rdata_tail - s->r_data) != s->r_data_length) {
WARN(ZS_BAD_RDATA_LENGTH);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
case 112:
{
WARN(ZS_BAD_HEX_RDATA);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 113:
@@ -7940,7 +8080,7 @@ _match:
*rdata_tail = first_base64_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7952,7 +8092,7 @@ _match:
*rdata_tail = second_right_base64_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7964,7 +8104,7 @@ _match:
*rdata_tail = third_right_base64_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -7976,11 +8116,11 @@ _match:
case 117:
{
WARN(ZS_BAD_BASE64_CHAR);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 118:
- { p--; {stack[top++] = cs; cs = 369;goto _again;} }
+ { p--; {stack[top++] = cs; cs = 378;goto _again;} }
break;
case 119:
{
@@ -7988,7 +8128,7 @@ _match:
*rdata_tail = first_base32hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -8000,7 +8140,7 @@ _match:
*rdata_tail = second_right_base32hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -8017,7 +8157,7 @@ _match:
*rdata_tail = fourth_right_base32hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -8029,7 +8169,7 @@ _match:
*rdata_tail = fifth_right_base32hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -8046,7 +8186,7 @@ _match:
*rdata_tail = seventh_right_base32hex_to_num[(uint8_t)(*p)];
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
@@ -8058,7 +8198,7 @@ _match:
case 127:
{
WARN(ZS_BAD_BASE32HEX_CHAR);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 128:
@@ -8226,19 +8366,19 @@ _match:
case 156:
{
WARN(ZS_BAD_GATEWAY);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 157:
{
WARN(ZS_BAD_GATEWAY_KEY);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 158:
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
case 159:
@@ -8386,166 +8526,172 @@ _match:
{ type_num(KNOT_RRTYPE_HTTPS, &rdata_tail); }
break;
case 207:
+ { type_num(KNOT_RRTYPE_WALLET, &rdata_tail); }
+ break;
+ case 208:
{
if (s->number64 <= UINT16_MAX) {
window_add_bit(s->number64, s);
} else {
WARN(ZS_NUMBER16_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
- case 208:
+ case 209:
{ window_add_bit(KNOT_RRTYPE_A, s); }
break;
- case 209:
+ case 210:
{ window_add_bit(KNOT_RRTYPE_NS, s); }
break;
- case 210:
+ case 211:
{ window_add_bit(KNOT_RRTYPE_CNAME, s); }
break;
- case 211:
+ case 212:
{ window_add_bit(KNOT_RRTYPE_SOA, s); }
break;
- case 212:
+ case 213:
{ window_add_bit(KNOT_RRTYPE_PTR, s); }
break;
- case 213:
+ case 214:
{ window_add_bit(KNOT_RRTYPE_HINFO, s); }
break;
- case 214:
+ case 215:
{ window_add_bit(KNOT_RRTYPE_MINFO, s); }
break;
- case 215:
+ case 216:
{ window_add_bit(KNOT_RRTYPE_MX, s); }
break;
- case 216:
+ case 217:
{ window_add_bit(KNOT_RRTYPE_TXT, s); }
break;
- case 217:
+ case 218:
{ window_add_bit(KNOT_RRTYPE_RP, s); }
break;
- case 218:
+ case 219:
{ window_add_bit(KNOT_RRTYPE_AFSDB, s); }
break;
- case 219:
+ case 220:
{ window_add_bit(KNOT_RRTYPE_RT, s); }
break;
- case 220:
+ case 221:
{ window_add_bit(KNOT_RRTYPE_KEY, s); }
break;
- case 221:
+ case 222:
{ window_add_bit(KNOT_RRTYPE_AAAA, s); }
break;
- case 222:
+ case 223:
{ window_add_bit(KNOT_RRTYPE_LOC, s); }
break;
- case 223:
+ case 224:
{ window_add_bit(KNOT_RRTYPE_SRV, s); }
break;
- case 224:
+ case 225:
{ window_add_bit(KNOT_RRTYPE_NAPTR, s); }
break;
- case 225:
+ case 226:
{ window_add_bit(KNOT_RRTYPE_KX, s); }
break;
- case 226:
+ case 227:
{ window_add_bit(KNOT_RRTYPE_CERT, s); }
break;
- case 227:
+ case 228:
{ window_add_bit(KNOT_RRTYPE_DNAME, s); }
break;
- case 228:
+ case 229:
{ window_add_bit(KNOT_RRTYPE_APL, s); }
break;
- case 229:
+ case 230:
{ window_add_bit(KNOT_RRTYPE_DS, s); }
break;
- case 230:
+ case 231:
{ window_add_bit(KNOT_RRTYPE_SSHFP, s); }
break;
- case 231:
+ case 232:
{ window_add_bit(KNOT_RRTYPE_IPSECKEY, s); }
break;
- case 232:
+ case 233:
{ window_add_bit(KNOT_RRTYPE_RRSIG, s); }
break;
- case 233:
+ case 234:
{ window_add_bit(KNOT_RRTYPE_NSEC, s); }
break;
- case 234:
+ case 235:
{ window_add_bit(KNOT_RRTYPE_DNSKEY, s); }
break;
- case 235:
+ case 236:
{ window_add_bit(KNOT_RRTYPE_DHCID, s); }
break;
- case 236:
+ case 237:
{ window_add_bit(KNOT_RRTYPE_NSEC3, s); }
break;
- case 237:
+ case 238:
{ window_add_bit(KNOT_RRTYPE_NSEC3PARAM, s); }
break;
- case 238:
+ case 239:
{ window_add_bit(KNOT_RRTYPE_TLSA, s); }
break;
- case 239:
+ case 240:
{ window_add_bit(KNOT_RRTYPE_SMIMEA, s); }
break;
- case 240:
+ case 241:
{ window_add_bit(KNOT_RRTYPE_CDS, s); }
break;
- case 241:
+ case 242:
{ window_add_bit(KNOT_RRTYPE_CDNSKEY, s); }
break;
- case 242:
+ case 243:
{ window_add_bit(KNOT_RRTYPE_OPENPGPKEY, s); }
break;
- case 243:
+ case 244:
{ window_add_bit(KNOT_RRTYPE_CSYNC, s); }
break;
- case 244:
+ case 245:
{ window_add_bit(KNOT_RRTYPE_ZONEMD, s); }
break;
- case 245:
+ case 246:
{ window_add_bit(KNOT_RRTYPE_SPF, s); }
break;
- case 246:
+ case 247:
{ window_add_bit(KNOT_RRTYPE_NID, s); }
break;
- case 247:
+ case 248:
{ window_add_bit(KNOT_RRTYPE_L32, s); }
break;
- case 248:
+ case 249:
{ window_add_bit(KNOT_RRTYPE_L64, s); }
break;
- case 249:
+ case 250:
{ window_add_bit(KNOT_RRTYPE_LP, s); }
break;
- case 250:
+ case 251:
{ window_add_bit(KNOT_RRTYPE_EUI48, s); }
break;
- case 251:
+ case 252:
{ window_add_bit(KNOT_RRTYPE_EUI64, s); }
break;
- case 252:
+ case 253:
{ window_add_bit(KNOT_RRTYPE_URI, s); }
break;
- case 253:
+ case 254:
{ window_add_bit(KNOT_RRTYPE_CAA, s); }
break;
- case 254:
+ case 255:
{ window_add_bit(KNOT_RRTYPE_SVCB, s); }
break;
- case 255:
+ case 256:
{ window_add_bit(KNOT_RRTYPE_HTTPS, s); }
break;
- case 256:
+ case 257:
+ { window_add_bit(KNOT_RRTYPE_WALLET, s); }
+ break;
+ case 258:
{
memset(s->windows, 0, sizeof(s->windows));
s->last_window = -1;
}
break;
- case 257:
+ case 259:
{
for (uint16_t window = 0; window <= s->last_window; window++) {
if ((s->windows[window]).length > 0) {
@@ -8564,82 +8710,82 @@ _match:
rdata_tail += (s->windows[window]).length;
} else {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
}
}
break;
- case 258:
+ case 260:
{
WARN(ZS_BAD_BITMAP);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
- case 259:
- { p--; {stack[top++] = cs; cs = 376;goto _again;} }
+ case 261:
+ { p--; {stack[top++] = cs; cs = 385;goto _again;} }
break;
- case 260:
+ case 262:
{
if (s->number64 <= 90) {
s->loc.d1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
- case 261:
+ case 263:
{
if (s->number64 <= 180) {
s->loc.d2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
- case 262:
+ case 264:
{
if (s->number64 <= 59) {
s->loc.m1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
- case 263:
+ case 265:
{
if (s->number64 <= 59) {
s->loc.m2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
- case 264:
+ case 266:
{
if (s->number64 <= 59999) {
s->loc.s1 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
- case 265:
+ case 267:
{
if (s->number64 <= 59999) {
s->loc.s2 = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
- case 266:
+ case 268:
{
if ((s->loc.alt_sign == 1 && s->number64 <= 4284967295) ||
(s->loc.alt_sign == -1 && s->number64 <= 10000000))
@@ -8647,56 +8793,56 @@ _match:
s->loc.alt = (uint32_t)(s->number64);
} else {
WARN(ZS_BAD_NUMBER);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
- case 267:
+ case 269:
{
if (s->number64 <= 9000000000ULL) {
s->loc.siz = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
- case 268:
+ case 270:
{
if (s->number64 <= 9000000000ULL) {
s->loc.hp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
- case 269:
+ case 271:
{
if (s->number64 <= 9000000000ULL) {
s->loc.vp = s->number64;
} else {
WARN(ZS_BAD_NUMBER);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
- case 270:
+ case 272:
{
s->loc.lat_sign = -1;
}
break;
- case 271:
+ case 273:
{
s->loc.long_sign = -1;
}
break;
- case 272:
+ case 274:
{
s->loc.alt_sign = -1;
}
break;
- case 273:
+ case 275:
{
memset(&(s->loc), 0, sizeof(s->loc));
// Defaults.
@@ -8708,7 +8854,7 @@ _match:
s->loc.alt_sign = 1;
}
break;
- case 274:
+ case 276:
{
// Write version.
*(rdata_tail) = 0;
@@ -8736,278 +8882,279 @@ _match:
rdata_tail += 4;
}
break;
- case 275:
+ case 277:
{
WARN(ZS_BAD_LOC_DATA);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
- case 276:
+ case 278:
{
WARN(ZS_BAD_HEX_RDATA);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
- case 277:
+ case 279:
{
s->item_length = 0;
}
break;
- case 278:
+ case 280:
{
s->item_length++;
}
break;
- case 279:
+ case 281:
{
if (s->item_length != 6) {
WARN(ZS_BAD_EUI_LENGTH);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
- case 280:
+ case 282:
{
if (s->item_length != 8) {
WARN(ZS_BAD_EUI_LENGTH);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
- case 281:
+ case 283:
{
WARN(ZS_BAD_CHAR_DASH);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
- case 282:
+ case 284:
{
s->item_length = 0;
}
break;
- case 283:
+ case 285:
{
s->item_length++;
}
break;
- case 284:
+ case 286:
{
if (s->item_length != 4) {
WARN(ZS_BAD_L64_LENGTH);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
- case 285:
+ case 287:
{
WARN(ZS_BAD_CHAR_COLON);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
- case 286:
+ case 288:
{
s->svcb.params_position = rdata_tail;
s->svcb.last_key = -1;
}
break;
- case 287:
+ case 289:
{
int ret = svcb_check(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
- case 288:
+ case 290:
{
WARN(ZS_BAD_SVCB_PARAM);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
- case 289:
+ case 291:
{
WARN(ZS_BAD_SVCB_MANDATORY);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
- case 290:
+ case 292:
{
if (rdata_tail + 4 > rdata_stop + 1) { // key_len + val_len
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
s->svcb.param_position = rdata_tail;
}
break;
- case 291:
+ case 293:
{
int ret = svcb_sort(s, rdata_tail);
if (ret != ZS_OK) {
WARN(ret);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
- case 292:
+ case 294:
{
s->comma_list = true;
s->pending_backslash = false;
}
break;
- case 293:
+ case 295:
{
s->comma_list = false;
if (s->pending_backslash) {
WARN(ZS_BAD_ALPN_BACKSLASH);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
- case 294:
+ case 296:
{
s->svcb.mandatory_position = rdata_tail + 2; // Skip 2-B prefix.
}
break;
- case 295:
+ case 297:
{
svcb_mandatory_sort(s->svcb.mandatory_position, rdata_tail);
}
break;
- case 296:
+ case 298:
{
if (rdata_tail + 2 > rdata_stop + 1) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
}
break;
- case 297:
- { p--; {stack[top++] = cs; cs = 559;goto _again;} }
+ case 299:
+ { p--; {stack[top++] = cs; cs = 574;goto _again;} }
break;
- case 298:
- { p--; {stack[top++] = cs; cs = 603;goto _again;} }
+ case 300:
+ { p--; {stack[top++] = cs; cs = 630;goto _again;} }
break;
- case 299:
+ case 301:
{
WARN(ZS_BAD_ALGORITHM);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
- case 300:
+ case 302:
{
WARN(ZS_BAD_CERT_TYPE);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
- case 301:
- { p--; {stack[top++] = cs; cs = 699;goto _again;} }
+ case 303:
+ { p--; {stack[top++] = cs; cs = 741;goto _again;} }
break;
- case 302:
- { p--; {stack[top++] = cs; cs = 803;goto _again;} }
+ case 304:
+ { p--; {stack[top++] = cs; cs = 845;goto _again;} }
break;
- case 303:
+ case 305:
{
rdata_tail = s->r_data;
}
break;
- case 304:
+ case 306:
{
WARN(ZS_BAD_RDATA);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
- case 305:
+ case 307:
{
p--;
switch (s->r_type) {
case KNOT_RRTYPE_A:
- {stack[top++] = cs; cs = 844;goto _again;}
+ {stack[top++] = cs; cs = 886;goto _again;}
case KNOT_RRTYPE_NS:
case KNOT_RRTYPE_CNAME:
case KNOT_RRTYPE_PTR:
case KNOT_RRTYPE_DNAME:
- {stack[top++] = cs; cs = 846;goto _again;}
+ {stack[top++] = cs; cs = 888;goto _again;}
case KNOT_RRTYPE_SOA:
- {stack[top++] = cs; cs = 848;goto _again;}
+ {stack[top++] = cs; cs = 890;goto _again;}
case KNOT_RRTYPE_HINFO:
- {stack[top++] = cs; cs = 880;goto _again;}
+ {stack[top++] = cs; cs = 922;goto _again;}
case KNOT_RRTYPE_MINFO:
case KNOT_RRTYPE_RP:
- {stack[top++] = cs; cs = 885;goto _again;}
+ {stack[top++] = cs; cs = 927;goto _again;}
case KNOT_RRTYPE_MX:
case KNOT_RRTYPE_AFSDB:
case KNOT_RRTYPE_RT:
case KNOT_RRTYPE_KX:
case KNOT_RRTYPE_LP:
- {stack[top++] = cs; cs = 890;goto _again;}
+ {stack[top++] = cs; cs = 932;goto _again;}
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
- {stack[top++] = cs; cs = 895;goto _again;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = cs; cs = 937;goto _again;}
case KNOT_RRTYPE_AAAA:
- {stack[top++] = cs; cs = 899;goto _again;}
+ {stack[top++] = cs; cs = 941;goto _again;}
case KNOT_RRTYPE_LOC:
- {stack[top++] = cs; cs = 901;goto _again;}
+ {stack[top++] = cs; cs = 943;goto _again;}
case KNOT_RRTYPE_SRV:
- {stack[top++] = cs; cs = 956;goto _again;}
+ {stack[top++] = cs; cs = 998;goto _again;}
case KNOT_RRTYPE_NAPTR:
- {stack[top++] = cs; cs = 967;goto _again;}
+ {stack[top++] = cs; cs = 1009;goto _again;}
case KNOT_RRTYPE_CERT:
- {stack[top++] = cs; cs = 984;goto _again;}
+ {stack[top++] = cs; cs = 1026;goto _again;}
case KNOT_RRTYPE_APL:
- {stack[top++] = cs; cs = 995;goto _again;}
+ {stack[top++] = cs; cs = 1037;goto _again;}
case KNOT_RRTYPE_DS:
case KNOT_RRTYPE_CDS:
- {stack[top++] = cs; cs = 1006;goto _again;}
+ {stack[top++] = cs; cs = 1048;goto _again;}
case KNOT_RRTYPE_SSHFP:
- {stack[top++] = cs; cs = 1019;goto _again;}
+ {stack[top++] = cs; cs = 1061;goto _again;}
case KNOT_RRTYPE_IPSECKEY:
- {stack[top++] = cs; cs = 1029;goto _again;}
+ {stack[top++] = cs; cs = 1071;goto _again;}
case KNOT_RRTYPE_RRSIG:
- {stack[top++] = cs; cs = 1068;goto _again;}
+ {stack[top++] = cs; cs = 1110;goto _again;}
case KNOT_RRTYPE_NSEC:
- {stack[top++] = cs; cs = 1254;goto _again;}
+ {stack[top++] = cs; cs = 1302;goto _again;}
case KNOT_RRTYPE_KEY:
case KNOT_RRTYPE_DNSKEY:
case KNOT_RRTYPE_CDNSKEY:
- {stack[top++] = cs; cs = 1257;goto _again;}
+ {stack[top++] = cs; cs = 1305;goto _again;}
case KNOT_RRTYPE_DHCID:
case KNOT_RRTYPE_OPENPGPKEY:
- {stack[top++] = cs; cs = 1268;goto _again;}
+ {stack[top++] = cs; cs = 1316;goto _again;}
case KNOT_RRTYPE_NSEC3:
- {stack[top++] = cs; cs = 1270;goto _again;}
+ {stack[top++] = cs; cs = 1318;goto _again;}
case KNOT_RRTYPE_NSEC3PARAM:
- {stack[top++] = cs; cs = 1299;goto _again;}
+ {stack[top++] = cs; cs = 1347;goto _again;}
case KNOT_RRTYPE_TLSA:
case KNOT_RRTYPE_SMIMEA:
- {stack[top++] = cs; cs = 1312;goto _again;}
+ {stack[top++] = cs; cs = 1360;goto _again;}
case KNOT_RRTYPE_CSYNC:
- {stack[top++] = cs; cs = 1325;goto _again;}
+ {stack[top++] = cs; cs = 1373;goto _again;}
case KNOT_RRTYPE_ZONEMD:
- {stack[top++] = cs; cs = 1331;goto _again;}
+ {stack[top++] = cs; cs = 1379;goto _again;}
case KNOT_RRTYPE_NID:
case KNOT_RRTYPE_L64:
- {stack[top++] = cs; cs = 1349;goto _again;}
+ {stack[top++] = cs; cs = 1397;goto _again;}
case KNOT_RRTYPE_L32:
- {stack[top++] = cs; cs = 1344;goto _again;}
+ {stack[top++] = cs; cs = 1392;goto _again;}
case KNOT_RRTYPE_EUI48:
- {stack[top++] = cs; cs = 1362;goto _again;}
+ {stack[top++] = cs; cs = 1410;goto _again;}
case KNOT_RRTYPE_EUI64:
- {stack[top++] = cs; cs = 1368;goto _again;}
+ {stack[top++] = cs; cs = 1416;goto _again;}
case KNOT_RRTYPE_URI:
- {stack[top++] = cs; cs = 1374;goto _again;}
+ {stack[top++] = cs; cs = 1422;goto _again;}
case KNOT_RRTYPE_CAA:
- {stack[top++] = cs; cs = 1382;goto _again;}
+ {stack[top++] = cs; cs = 1430;goto _again;}
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = cs; cs = 1390;goto _again;}
+ {stack[top++] = cs; cs = 1438;goto _again;}
default:
WARN(ZS_CANNOT_TEXT_DATA);
- {cs = 307;goto _again;}
+ {cs = 316;goto _again;}
}
}
break;
- case 306:
+ case 308:
{
switch (s->r_type) {
// Next types must not have empty rdata.
@@ -9058,183 +9205,187 @@ _match:
case KNOT_RRTYPE_CAA:
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
- {stack[top++] = cs; cs = 540;goto _again;}
+ case KNOT_RRTYPE_WALLET:
+ {stack[top++] = cs; cs = 555;goto _again;}
// Next types can have empty rdata.
case KNOT_RRTYPE_APL:
default:
- {stack[top++] = cs; cs = 549;goto _again;}
+ {stack[top++] = cs; cs = 564;goto _again;}
}
}
break;
- case 307:
+ case 309:
{
if (pe - p == 1) {
*wrap = WRAP_DETECTED;
}
}
break;
- case 308:
+ case 310:
{
if (*wrap == WRAP_NONE) {
p--;
}
}
break;
- case 309:
+ case 311:
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
break;
- case 310:
+ case 312:
{ s->r_type = KNOT_RRTYPE_A; }
break;
- case 311:
+ case 313:
{ s->r_type = KNOT_RRTYPE_NS; }
break;
- case 312:
+ case 314:
{ s->r_type = KNOT_RRTYPE_CNAME; }
break;
- case 313:
+ case 315:
{ s->r_type = KNOT_RRTYPE_SOA; }
break;
- case 314:
+ case 316:
{ s->r_type = KNOT_RRTYPE_PTR; }
break;
- case 315:
+ case 317:
{ s->r_type = KNOT_RRTYPE_HINFO; }
break;
- case 316:
+ case 318:
{ s->r_type = KNOT_RRTYPE_MINFO; }
break;
- case 317:
+ case 319:
{ s->r_type = KNOT_RRTYPE_MX; }
break;
- case 318:
+ case 320:
{ s->r_type = KNOT_RRTYPE_TXT; }
break;
- case 319:
+ case 321:
{ s->r_type = KNOT_RRTYPE_RP; }
break;
- case 320:
+ case 322:
{ s->r_type = KNOT_RRTYPE_AFSDB; }
break;
- case 321:
+ case 323:
{ s->r_type = KNOT_RRTYPE_RT; }
break;
- case 322:
+ case 324:
{ s->r_type = KNOT_RRTYPE_KEY; }
break;
- case 323:
+ case 325:
{ s->r_type = KNOT_RRTYPE_AAAA; }
break;
- case 324:
+ case 326:
{ s->r_type = KNOT_RRTYPE_LOC; }
break;
- case 325:
+ case 327:
{ s->r_type = KNOT_RRTYPE_SRV; }
break;
- case 326:
+ case 328:
{ s->r_type = KNOT_RRTYPE_NAPTR; }
break;
- case 327:
+ case 329:
{ s->r_type = KNOT_RRTYPE_KX; }
break;
- case 328:
+ case 330:
{ s->r_type = KNOT_RRTYPE_CERT; }
break;
- case 329:
+ case 331:
{ s->r_type = KNOT_RRTYPE_DNAME; }
break;
- case 330:
+ case 332:
{ s->r_type = KNOT_RRTYPE_APL; }
break;
- case 331:
+ case 333:
{ s->r_type = KNOT_RRTYPE_DS; }
break;
- case 332:
+ case 334:
{ s->r_type = KNOT_RRTYPE_SSHFP; }
break;
- case 333:
+ case 335:
{ s->r_type = KNOT_RRTYPE_IPSECKEY; }
break;
- case 334:
+ case 336:
{ s->r_type = KNOT_RRTYPE_RRSIG; }
break;
- case 335:
+ case 337:
{ s->r_type = KNOT_RRTYPE_NSEC; }
break;
- case 336:
+ case 338:
{ s->r_type = KNOT_RRTYPE_DNSKEY; }
break;
- case 337:
+ case 339:
{ s->r_type = KNOT_RRTYPE_DHCID; }
break;
- case 338:
+ case 340:
{ s->r_type = KNOT_RRTYPE_NSEC3; }
break;
- case 339:
+ case 341:
{ s->r_type = KNOT_RRTYPE_NSEC3PARAM; }
break;
- case 340:
+ case 342:
{ s->r_type = KNOT_RRTYPE_TLSA; }
break;
- case 341:
+ case 343:
{ s->r_type = KNOT_RRTYPE_SMIMEA; }
break;
- case 342:
+ case 344:
{ s->r_type = KNOT_RRTYPE_CDS; }
break;
- case 343:
+ case 345:
{ s->r_type = KNOT_RRTYPE_CDNSKEY; }
break;
- case 344:
+ case 346:
{ s->r_type = KNOT_RRTYPE_OPENPGPKEY; }
break;
- case 345:
+ case 347:
{ s->r_type = KNOT_RRTYPE_CSYNC; }
break;
- case 346:
+ case 348:
{ s->r_type = KNOT_RRTYPE_ZONEMD; }
break;
- case 347:
+ case 349:
{ s->r_type = KNOT_RRTYPE_SPF; }
break;
- case 348:
+ case 350:
{ s->r_type = KNOT_RRTYPE_NID; }
break;
- case 349:
+ case 351:
{ s->r_type = KNOT_RRTYPE_L32; }
break;
- case 350:
+ case 352:
{ s->r_type = KNOT_RRTYPE_L64; }
break;
- case 351:
+ case 353:
{ s->r_type = KNOT_RRTYPE_LP; }
break;
- case 352:
+ case 354:
{ s->r_type = KNOT_RRTYPE_EUI48; }
break;
- case 353:
+ case 355:
{ s->r_type = KNOT_RRTYPE_EUI64; }
break;
- case 354:
+ case 356:
{ s->r_type = KNOT_RRTYPE_URI; }
break;
- case 355:
+ case 357:
{ s->r_type = KNOT_RRTYPE_CAA; }
break;
- case 356:
+ case 358:
{ s->r_type = KNOT_RRTYPE_SVCB; }
break;
- case 357:
+ case 359:
{ s->r_type = KNOT_RRTYPE_HTTPS; }
break;
- case 358:
+ case 360:
+ { s->r_type = KNOT_RRTYPE_WALLET; }
+ break;
+ case 361:
{
if (rdata_tail - s->r_data > UINT16_MAX) {
WARN(ZS_RDATA_OVERFLOW);
- p--; {cs = 307;goto _again;}
+ p--; {cs = 316;goto _again;}
}
s->r_data_length = rdata_tail - s->r_data;
@@ -9274,7 +9425,7 @@ _again:
case 8:
{
WARN(ZS_BAD_REST);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9282,7 +9433,7 @@ goto _again;}
case 19:
{
WARN(ZS_BAD_NUMBER);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9290,7 +9441,7 @@ goto _again;}
case 24:
{
WARN(ZS_BAD_DNAME_CHAR);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9299,7 +9450,7 @@ goto _again;}
{
s->r_owner_length = 0;
WARN(ZS_BAD_OWNER);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9307,7 +9458,7 @@ goto _again;}
case 38:
{
WARN(ZS_BAD_NUMBER);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9315,7 +9466,7 @@ goto _again;}
case 50:
{
WARN(ZS_BAD_TIME_UNIT);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9323,7 +9474,7 @@ goto _again;}
case 60:
{
WARN(ZS_BAD_TIMESTAMP_CHAR);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9331,7 +9482,7 @@ goto _again;}
case 62:
{
WARN(ZS_BAD_TEXT_CHAR);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9339,7 +9490,7 @@ goto _again;}
case 63:
{
WARN(ZS_BAD_TEXT);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9347,7 +9498,7 @@ goto _again;}
case 67:
{
WARN(ZS_BAD_NUMBER);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9360,7 +9511,7 @@ goto _again;}
case 73:
{
ERR(ZS_BAD_TTL);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9368,7 +9519,7 @@ goto _again;}
case 77:
{
ERR(ZS_BAD_ORIGIN);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9376,7 +9527,7 @@ goto _again;}
case 81:
{
ERR(ZS_BAD_INCLUDE_FILENAME);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9384,7 +9535,7 @@ goto _again;}
case 84:
{
ERR(ZS_BAD_INCLUDE_ORIGIN);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9397,7 +9548,7 @@ goto _again;}
case 89:
{
ERR(ZS_BAD_DIRECTIVE);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9405,7 +9556,7 @@ goto _again;}
case 96:
{
WARN(ZS_BAD_ADDRESS_CHAR);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9413,7 +9564,7 @@ goto _again;}
case 107:
{
WARN(ZS_BAD_APL);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9421,7 +9572,7 @@ goto _again;}
case 110:
{
WARN(ZS_BAD_HEX_CHAR);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9429,7 +9580,7 @@ goto _again;}
case 112:
{
WARN(ZS_BAD_HEX_RDATA);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9437,7 +9588,7 @@ goto _again;}
case 117:
{
WARN(ZS_BAD_BASE64_CHAR);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9445,7 +9596,7 @@ goto _again;}
case 127:
{
WARN(ZS_BAD_BASE32HEX_CHAR);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9453,7 +9604,7 @@ goto _again;}
case 156:
{
WARN(ZS_BAD_GATEWAY);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9461,7 +9612,7 @@ goto _again;}
case 157:
{
WARN(ZS_BAD_GATEWAY_KEY);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
@@ -9469,95 +9620,95 @@ goto _again;}
case 158:
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
break;
- case 258:
+ case 260:
{
WARN(ZS_BAD_BITMAP);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
break;
- case 275:
+ case 277:
{
WARN(ZS_BAD_LOC_DATA);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
break;
- case 276:
+ case 278:
{
WARN(ZS_BAD_HEX_RDATA);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
break;
- case 281:
+ case 283:
{
WARN(ZS_BAD_CHAR_DASH);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
break;
- case 285:
+ case 287:
{
WARN(ZS_BAD_CHAR_COLON);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
break;
- case 288:
+ case 290:
{
WARN(ZS_BAD_SVCB_PARAM);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
break;
- case 289:
+ case 291:
{
WARN(ZS_BAD_SVCB_MANDATORY);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
break;
- case 299:
+ case 301:
{
WARN(ZS_BAD_ALGORITHM);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
break;
- case 300:
+ case 302:
{
WARN(ZS_BAD_CERT_TYPE);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
break;
- case 304:
+ case 306:
{
WARN(ZS_BAD_RDATA);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
break;
- case 309:
+ case 311:
{
WARN(ZS_UNSUPPORTED_TYPE);
- p--; {cs = 307; if ( p == pe )
+ p--; {cs = 316; if ( p == pe )
goto _test_eof;
goto _again;}
}
diff --git a/src/libzscanner/scanner_body.rl b/src/libzscanner/scanner_body.rl
index a1ff46c..33f87a8 100644
--- a/src/libzscanner/scanner_body.rl
+++ b/src/libzscanner/scanner_body.rl
@@ -1432,6 +1432,7 @@
| "CAA"i %{ type_num(KNOT_RRTYPE_CAA, &rdata_tail); }
| "SVCB"i %{ type_num(KNOT_RRTYPE_SVCB, &rdata_tail); }
| "HTTPS"i %{ type_num(KNOT_RRTYPE_HTTPS, &rdata_tail); }
+ | "WALLET"i %{ type_num(KNOT_RRTYPE_WALLET, &rdata_tail); }
| "TYPE"i . num16 # TYPE0-TYPE65535.
) $!_type_error;
# END
@@ -1498,6 +1499,7 @@
| "CAA"i %{ window_add_bit(KNOT_RRTYPE_CAA, s); }
| "SVCB"i %{ window_add_bit(KNOT_RRTYPE_SVCB, s); }
| "HTTPS"i %{ window_add_bit(KNOT_RRTYPE_HTTPS, s); }
+ | "WALLET"i %{ window_add_bit(KNOT_RRTYPE_WALLET, s); }
| "TYPE"i . type_bitmap # TYPE0-TYPE65535.
);
@@ -1840,10 +1842,13 @@
svcb_key_ipv4hint = ("ipv4hint" %_write16_4);
svcb_key_ech = ("ech" %_write16_5);
svcb_key_ipv6hint = ("ipv6hint" %_write16_6);
+ svcb_key_dohpath = ("dohpath" %_write16_7);
+ svcb_key_ohttp = ("ohttp" %_write16_8);
mandat_value_ :=
(svcb_key_generic | svcb_key_alpn | svcb_key_ndalpn | svcb_key_port |
- svcb_key_ipv4hint | svcb_key_ech | svcb_key_ipv6hint
+ svcb_key_ipv4hint | svcb_key_ech | svcb_key_ipv6hint | svcb_key_dohpath |
+ svcb_key_ohttp
) >_rdata_2B_check $!_mandat_value_error %_ret . ([,\"] | all_wchar);
mandat_value = alpha ${ fhold; fcall mandat_value_; };
@@ -1857,20 +1862,24 @@
svcb_ipv4 = ((ipv4_addr_write . ("," . ipv4_addr_write)*) >_item_length2_init %_item_length2_exit);
svcb_ech = (base64_quartet+ >_item_length2_init %_item_length2_exit);
svcb_ipv6 = ((ipv6_addr_write . ("," . ipv6_addr_write)*) >_item_length2_init %_item_length2_exit);
+ svcb_dohpath = (text >_item_length2_init %_item_length2_exit);
svcb_param_generic = (svcb_key_generic . svcb_generic);
- svcb_param_mandatory = (svcb_key_mandatory . "=" . (svcb_mandat | ('\"' . svcb_mandat . '\"')));
- svcb_param_alpn = (svcb_key_alpn . "=" . (svcb_alpn | ('\"' . svcb_alpn . '\"')));
+ svcb_param_mandatory = (svcb_key_mandatory . "=" . (svcb_mandat | ('\"' . svcb_mandat . '\"')));
+ svcb_param_alpn = (svcb_key_alpn . "=" . (svcb_alpn | ('\"' . svcb_alpn . '\"')));
svcb_param_ndalpn = (svcb_key_ndalpn . svcb_empty);
- svcb_param_port = (svcb_key_port . "=" . (svcb_port | ('\"' . svcb_port . '\"')));
- svcb_param_ipv4hint = (svcb_key_ipv4hint . "=" . (svcb_ipv4 | ('\"' . svcb_ipv4 . '\"')));
- svcb_param_ech = (svcb_key_ech . "=" . (svcb_ech | ('\"' . svcb_ech . '\"')));
- svcb_param_ipv6hint = (svcb_key_ipv6hint . "=" . (svcb_ipv6 | ('\"' . svcb_ipv6 . '\"')));
+ svcb_param_port = (svcb_key_port . "=" . (svcb_port | ('\"' . svcb_port . '\"')));
+ svcb_param_ipv4hint = (svcb_key_ipv4hint . "=" . (svcb_ipv4 | ('\"' . svcb_ipv4 . '\"')));
+ svcb_param_ech = (svcb_key_ech . "=" . (svcb_ech | ('\"' . svcb_ech . '\"')));
+ svcb_param_ipv6hint = (svcb_key_ipv6hint . "=" . (svcb_ipv6 | ('\"' . svcb_ipv6 . '\"')));
+ svcb_param_dohpath = (svcb_key_dohpath . "=" . (svcb_dohpath | ('\"' . svcb_dohpath . '\"')));
+ svcb_param_ohttp = (svcb_key_ohttp . svcb_empty);
svcb_param_any =
(svcb_param_generic | svcb_param_mandatory | svcb_param_alpn |
svcb_param_ndalpn | svcb_param_port | svcb_param_ipv4hint |
- svcb_param_ech | svcb_param_ipv6hint
+ svcb_param_ech | svcb_param_ipv6hint | svcb_param_dohpath |
+ svcb_param_ohttp
) >_svcb_param_init %_svcb_param_exit;
svcb_params_ :=
((sep . svcb_param_any)* . sep?) >_svcb_params_init
@@ -2092,6 +2101,7 @@
fcall r_data_mx;
case KNOT_RRTYPE_TXT:
case KNOT_RRTYPE_SPF:
+ case KNOT_RRTYPE_WALLET:
fcall r_data_txt;
case KNOT_RRTYPE_AAAA:
fcall r_data_aaaa;
@@ -2205,6 +2215,7 @@
case KNOT_RRTYPE_CAA:
case KNOT_RRTYPE_SVCB:
case KNOT_RRTYPE_HTTPS:
+ case KNOT_RRTYPE_WALLET:
fcall nonempty_hex_r_data;
// Next types can have empty rdata.
case KNOT_RRTYPE_APL:
@@ -2289,6 +2300,7 @@
| "CAA"i %{ s->r_type = KNOT_RRTYPE_CAA; }
| "SVCB"i %{ s->r_type = KNOT_RRTYPE_SVCB; }
| "HTTPS"i %{ s->r_type = KNOT_RRTYPE_HTTPS; }
+ | "WALLET"i %{ s->r_type = KNOT_RRTYPE_WALLET; }
| "TYPE"i . type_number
) $!_r_type_error;
# END
diff --git a/src/libzscanner/version.h b/src/libzscanner/version.h
index ed64fa2..05ab471 100644
--- a/src/libzscanner/version.h
+++ b/src/libzscanner/version.h
@@ -17,8 +17,8 @@
#pragma once
#define ZSCANNER_VERSION_MAJOR 3
-#define ZSCANNER_VERSION_MINOR 3
-#define ZSCANNER_VERSION_PATCH 0x07
+#define ZSCANNER_VERSION_MINOR 4
+#define ZSCANNER_VERSION_PATCH 0x00
#define ZSCANNER_VERSION_HEX ((ZSCANNER_VERSION_MAJOR << 16) | \
(ZSCANNER_VERSION_MINOR << 8) | \
diff --git a/src/utils/Makefile.inc b/src/utils/Makefile.inc
index b39b10d..1f11282 100644
--- a/src/utils/Makefile.inc
+++ b/src/utils/Makefile.inc
@@ -103,7 +103,11 @@ kxdpgun_SOURCES = \
utils/kxdpgun/ip_route.h \
utils/kxdpgun/load_queries.c \
utils/kxdpgun/load_queries.h \
- utils/kxdpgun/main.c
+ utils/kxdpgun/main.c \
+ utils/kxdpgun/main.h \
+ utils/kxdpgun/stats.c \
+ utils/kxdpgun/stats.h
+
kxdpgun_CPPFLAGS = $(libknotus_la_CPPFLAGS) $(libmnl_CFLAGS)
kxdpgun_LDADD = libknot.la $(libcontrib_LIBS) $(libmnl_LIBS) $(pthread_LIBS)
@@ -159,6 +163,8 @@ keymgr_SOURCES = \
utils/keymgr/bind_privkey.h \
utils/keymgr/functions.c \
utils/keymgr/functions.h \
+ utils/keymgr/keystore.c \
+ utils/keymgr/keystore.h \
utils/keymgr/offline_ksk.c \
utils/keymgr/offline_ksk.h \
utils/keymgr/main.c
diff --git a/src/utils/common/msg.h b/src/utils/common/msg.h
index d2ed57e..fbd6c8e 100644
--- a/src/utils/common/msg.h
+++ b/src/utils/common/msg.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,10 +23,10 @@
#define WARNING_ ";; WARNING: "
#define DEBUG_ ";; DEBUG: "
-#define ERR(msg, ...) { fprintf(stderr, ERROR_ msg "\n", ##__VA_ARGS__); fflush(stderr); }
-#define INFO(msg, ...) { fprintf(stdout, INFO_ msg "\n", ##__VA_ARGS__); fflush(stdout); }
-#define WARN(msg, ...) { fprintf(stderr, WARNING_ msg "\n", ##__VA_ARGS__); fflush(stderr); }
-#define DBG(msg, ...) { msg_debug(DEBUG_ msg "\n", ##__VA_ARGS__); fflush(stdout); }
+#define ERR(msg, ...) do { fprintf(stderr, ERROR_ msg "\n", ##__VA_ARGS__); fflush(stderr); } while (0)
+#define INFO(msg, ...) do { fprintf(stdout, INFO_ msg "\n", ##__VA_ARGS__); fflush(stdout); } while (0)
+#define WARN(msg, ...) do { fprintf(stderr, WARNING_ msg "\n", ##__VA_ARGS__); fflush(stderr); } while (0)
+#define DBG(msg, ...) do { msg_debug(DEBUG_ msg "\n", ##__VA_ARGS__); fflush(stdout); } while (0)
/*! \brief Enable/disable debugging. */
int msg_enable_debug(int val);
@@ -37,6 +37,6 @@ int msg_debug(const char *fmt, ...);
/*! \brief Debug message for null input. */
#define DBG_NULL DBG("%s: null parameter", __func__)
-#define ERR2(msg, ...) { fprintf(stderr, "error: " msg "\n", ##__VA_ARGS__); fflush(stderr); }
-#define WARN2(msg, ...) { fprintf(stderr, "warning: " msg "\n", ##__VA_ARGS__); fflush(stderr); }
-#define INFO2(msg, ...) { fprintf(stdout, msg "\n", ##__VA_ARGS__); fflush(stdout); }
+#define ERR2(msg, ...) do { fprintf(stderr, "error: " msg "\n", ##__VA_ARGS__); fflush(stderr); } while (0)
+#define WARN2(msg, ...) do { fprintf(stderr, "warning: " msg "\n", ##__VA_ARGS__); fflush(stderr); } while (0)
+#define INFO2(msg, ...) do { fprintf(stdout, msg "\n", ##__VA_ARGS__); fflush(stdout); } while (0)
diff --git a/src/utils/common/netio.c b/src/utils/common/netio.c
index eed14ee..8ea7b59 100644
--- a/src/utils/common/netio.c
+++ b/src/utils/common/netio.c
@@ -32,6 +32,7 @@
#include "utils/common/msg.h"
#include "utils/common/tls.h"
#include "libknot/libknot.h"
+#include "libknot/quic/tls_common.h"
#include "contrib/net.h"
#include "contrib/proxyv2/proxyv2.h"
#include "contrib/sockaddr.h"
@@ -521,8 +522,8 @@ int net_connect(net_t *net)
#endif //LIBNGHTTP2
{
// Establish TLS connection.
- ret = tls_ctx_setup_remote_endpoint(&net->tls, &dot_alpn, 1, NULL,
- net_get_remote(net));
+ ret = tls_ctx_setup_remote_endpoint(&net->tls, &dot_alpn, 1,
+ KNOT_TLS_PRIORITIES, net_get_remote(net));
if (ret != 0) {
net_close(net);
return ret;
@@ -546,7 +547,7 @@ int net_connect(net_t *net)
return ret;
}
ret = tls_ctx_setup_remote_endpoint(&net->tls,
- &doq_alpn, 1, QUIC_PRIORITY, net_get_remote(net));
+ &doq_alpn, 1, KNOT_TLS_PRIORITIES, net_get_remote(net));
if (ret != 0) {
net_close(net);
return ret;
diff --git a/src/utils/common/params.c b/src/utils/common/params.c
index d16af4c..fe5a854 100644
--- a/src/utils/common/params.c
+++ b/src/utils/common/params.c
@@ -21,7 +21,7 @@
#include <sys/socket.h>
#ifdef LIBIDN
-#include LIBIDN_HEADER
+#include <idn2.h>
#endif
#include "utils/common/params.h"
diff --git a/src/utils/common/params.h b/src/utils/common/params.h
index 8b7565e..bb071aa 100644
--- a/src/utils/common/params.h
+++ b/src/utils/common/params.h
@@ -22,6 +22,7 @@
#include <stdio.h>
#include "libknot/libknot.h"
+#include "contrib/string.h"
#include "contrib/ucw/lists.h"
#define DEFAULT_IPV4_NAME "127.0.0.1"
@@ -31,7 +32,7 @@
#define DEFAULT_DNS_QUIC_PORT "853"
#define DEFAULT_DNS_TLS_PORT "853"
#define DEFAULT_UDP_SIZE 512
-#define DEFAULT_EDNS_SIZE 4096
+#define DEFAULT_EDNS_SIZE 1232
#define MAX_PACKET_SIZE 65535
#define SEP_CHARS "\n\t "
@@ -118,9 +119,15 @@ typedef struct {
param_handle_f handler;
} param_t;
-inline static void print_version(const char *program_name)
+inline static void print_version(const char *prog_name, bool verbose)
{
- printf("%s (Knot DNS), version %s\n", program_name, PACKAGE_VERSION);
+ if (prog_name != NULL) {
+ printf("%s, ", prog_name);
+ }
+ printf("Knot DNS %s\n", PACKAGE_VERSION);
+ if (verbose) {
+ printf("\n%s\n", configure_summary);
+ }
}
/*!
diff --git a/src/utils/common/quic.h b/src/utils/common/quic.h
index fd70d27..2b860c3 100644
--- a/src/utils/common/quic.h
+++ b/src/utils/common/quic.h
@@ -35,10 +35,6 @@ void quic_params_clean(quic_params_t *params);
#include "utils/common/tls.h"
-#define QUIC_DEFAULT_VERSION "-VERS-ALL:+VERS-TLS1.3"
-#define QUIC_DEFAULT_GROUPS "-GROUP-ALL:+GROUP-X25519:+GROUP-SECP256R1:+GROUP-SECP384R1:+GROUP-SECP521R1"
-#define QUIC_PRIORITY "%DISABLE_TLS13_COMPAT_MODE:NORMAL:"QUIC_DEFAULT_VERSION":"QUIC_DEFAULT_GROUPS
-
typedef enum {
CLOSED, // Initialized
CONNECTED, // RTT-0
diff --git a/src/utils/common/tls.c b/src/utils/common/tls.c
index 276ae16..4c9a588 100644
--- a/src/utils/common/tls.c
+++ b/src/utils/common/tls.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -398,7 +398,7 @@ int tls_certificate_verification(tls_ctx_t *ctx)
};
size_t data_count = (ctx->params->hostname != NULL) ? 2 : 1;
if (data_count == 1) {
- WARN("TLS, no hostname provided, will not verify certificate owner")
+ WARN("TLS, no hostname provided, will not verify certificate owner");
}
unsigned int status;
@@ -533,7 +533,8 @@ int tls_ctx_setup_remote_endpoint(tls_ctx_t *ctx, const gnutls_datum_t *alpn,
}
if (priority != NULL) {
- ret = gnutls_priority_set_direct(ctx->session, priority, NULL);
+ ret = gnutls_set_default_priority_append(ctx->session, priority,
+ NULL, 0);
} else {
ret = gnutls_set_default_priority(ctx->session);
}
diff --git a/src/utils/kcatalogprint/main.c b/src/utils/kcatalogprint/main.c
index 0172347..85e50b6 100644
--- a/src/utils/kcatalogprint/main.c
+++ b/src/utils/kcatalogprint/main.c
@@ -108,7 +108,7 @@ int main(int argc, char *argv[])
{ "catalog", required_argument, NULL, 'a' },
{ "member", required_argument, NULL, 'm' },
{ "help", no_argument, NULL, 'h' },
- { "version", no_argument, NULL, 'V' },
+ { "version", optional_argument, NULL, 'V' },
{ NULL }
};
@@ -116,7 +116,7 @@ int main(int argc, char *argv[])
signal_init_std();
int opt = 0;
- while ((opt = getopt_long(argc, argv, "c:C:D:a:m:hV", opts, NULL)) != -1) {
+ while ((opt = getopt_long(argc, argv, "c:C:D:a:m:hV::", opts, NULL)) != -1) {
switch (opt) {
case 'c':
if (util_conf_init_file(optarg) != KNOT_EOK) {
@@ -147,7 +147,7 @@ int main(int argc, char *argv[])
print_help();
goto success;
case 'V':
- print_version(PROGRAM_NAME);
+ print_version(PROGRAM_NAME, optarg != NULL);
goto success;
default:
print_help();
@@ -155,13 +155,9 @@ int main(int argc, char *argv[])
}
}
- // Backward compatibility.
if (argc - optind > 0) {
- WARN2("obsolete parameter specified");
- if (util_conf_init_justdb("catalog-db", argv[optind]) != KNOT_EOK) {
- goto failure;
- }
- optind++;
+ print_help();
+ goto failure;
}
if (util_conf_init_default(true) != KNOT_EOK) {
diff --git a/src/utils/kdig/kdig_params.c b/src/utils/kdig/kdig_params.c
index c8fd83f..8566848 100644
--- a/src/utils/kdig/kdig_params.c
+++ b/src/utils/kdig/kdig_params.c
@@ -1690,7 +1690,7 @@ query_t *query_create(const char *owner, const query_t *conf)
query->style.style.now = knot_time();
query->idn = true;
query->nsid = false;
- query->edns = -1;
+ query->edns = 0;
query->cc.len = 0;
query->sc.len = 0;
query->badcookie = BADCOOKIE_RETRY_MAX;
@@ -2517,12 +2517,7 @@ static int parse_opt1(const char *opt, const char *value, kdig_params_t *params,
*index += add;
break;
case 'V':
- if (len > 1) {
- ERR("invalid option -%s", opt);
- return KNOT_ENOTSUP;
- }
-
- print_version(PROGRAM_NAME);
+ print_version(PROGRAM_NAME, len > 1);
params->stop = true;
break;
case 'x':
@@ -2598,8 +2593,8 @@ static int parse_opt1(const char *opt, const char *value, kdig_params_t *params,
if (strcmp(opt, "-help") == 0) {
print_help();
params->stop = true;
- } else if (strcmp(opt, "-version") == 0) {
- print_version(PROGRAM_NAME);
+ } else if (strncmp(opt, "-version", 8) == 0) {
+ print_version(PROGRAM_NAME, strlen(opt) > 9);
params->stop = true;
} else {
ERR("invalid option: -%s", opt);
diff --git a/src/utils/keymgr/bind_privkey.c b/src/utils/keymgr/bind_privkey.c
index 9ab895c..bbb61a5 100644
--- a/src/utils/keymgr/bind_privkey.c
+++ b/src/utils/keymgr/bind_privkey.c
@@ -281,9 +281,7 @@ static int rsa_params_to_pem(const bind_privkey_t *params, dnssec_binary_t *pem)
static gnutls_ecc_curve_t choose_ecdsa_curve(size_t pubkey_size)
{
switch (pubkey_size) {
-#ifdef HAVE_ED25519
case 32: return GNUTLS_ECC_CURVE_ED25519;
-#endif
#ifdef HAVE_ED448
case 57: return GNUTLS_ECC_CURVE_ED448;
#endif
@@ -334,7 +332,6 @@ static int ecdsa_params_to_pem(dnssec_key_t *dnskey, const bind_privkey_t *param
return dnssec_pem_from_x509(key, pem);
}
-#if defined(HAVE_ED25519) || defined(HAVE_ED448)
static void eddsa_extract_public_params(dnssec_key_t *key, gnutls_ecc_curve_t *curve,
gnutls_datum_t *x)
{
@@ -371,7 +368,6 @@ static int eddsa_params_to_pem(dnssec_key_t *dnskey, const bind_privkey_t *param
return dnssec_pem_from_x509(key, pem);
}
-#endif
int bind_privkey_to_pem(dnssec_key_t *key, bind_privkey_t *params, dnssec_binary_t *pem)
{
@@ -385,15 +381,11 @@ int bind_privkey_to_pem(dnssec_key_t *key, bind_privkey_t *params, dnssec_binary
case DNSSEC_KEY_ALGORITHM_ECDSA_P256_SHA256:
case DNSSEC_KEY_ALGORITHM_ECDSA_P384_SHA384:
return ecdsa_params_to_pem(key, params, pem);
-#ifdef HAVE_ED25519
case DNSSEC_KEY_ALGORITHM_ED25519:
-#endif
#ifdef HAVE_ED448
case DNSSEC_KEY_ALGORITHM_ED448:
#endif
-#if defined(HAVE_ED25519) || defined(HAVE_ED448)
return eddsa_params_to_pem(key, params, pem);
-#endif
default:
return DNSSEC_INVALID_KEY_ALGORITHM;
}
diff --git a/src/utils/keymgr/keystore.c b/src/utils/keymgr/keystore.c
new file mode 100644
index 0000000..a4a0937
--- /dev/null
+++ b/src/utils/keymgr/keystore.c
@@ -0,0 +1,395 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include <stdio.h>
+
+#include "utils/keymgr/keystore.h"
+
+#include "contrib/color.h"
+#include "contrib/spinlock.h"
+#include "contrib/time.h"
+#include "libdnssec/error.h"
+#include "libdnssec/key/algorithm.h"
+#include "libdnssec/key/privkey.h"
+#include "libdnssec/random.h"
+#include "libdnssec/sample_keys.h"
+#include "libdnssec/sign.h"
+#include "libknot/errcode.h"
+#include "knot/conf/conf.h"
+#include "knot/dnssec/kasp/kasp_zone.h"
+#include "knot/server/dthreads.h"
+#include "utils/common/msg.h"
+
+#define DFLT_ID "-"
+
+#define TEST_FORMAT "%-18s %9s %9s %9s %9s\n"
+#define BENCH_FORMAT "%-18s %9"
+#define BENCH_TIME 3000
+
+static const key_parameters_t *KEYS[] = {
+ &SAMPLE_RSA_KEY,
+ &SAMPLE_ECDSA_KEY,
+ &SAMPLE_ED25519_KEY,
+ &SAMPLE_ED448_KEY,
+};
+static const int KEYS_COUNT = sizeof(KEYS) / sizeof(*KEYS);
+
+static int create_dnskeys(dnssec_keystore_t *keystore, const char *id,
+ dnssec_key_algorithm_t algorithm,
+ dnssec_key_t **test_key_ptr, dnssec_key_t **ref_key_ptr)
+{
+ dnssec_key_t *test_key = NULL;
+ if (dnssec_key_new(&test_key) != DNSSEC_EOK ||
+ dnssec_key_set_algorithm(test_key, algorithm) != DNSSEC_EOK ||
+ dnssec_keystore_get_private(keystore, id, test_key) != DNSSEC_EOK) {
+ dnssec_key_free(test_key);
+ return KNOT_ERROR;
+ }
+
+ dnssec_binary_t rdata;
+ dnssec_key_t *ref_key = NULL;
+ if (dnssec_key_new(&ref_key) != DNSSEC_EOK ||
+ dnssec_key_get_rdata(test_key, &rdata) != DNSSEC_EOK ||
+ dnssec_key_set_rdata(ref_key, &rdata) != DNSSEC_EOK) {
+ dnssec_key_free(test_key);
+ dnssec_key_free(ref_key);
+ return KNOT_ERROR;
+ }
+
+ *test_key_ptr = test_key;
+ *ref_key_ptr = ref_key;
+
+ return KNOT_EOK;
+}
+
+static int test_sign(dnssec_key_t *test_key, dnssec_key_t *ref_key)
+{
+ static const dnssec_binary_t input = {
+ .data = (uint8_t *)"WuSEFCiFEKDTKuErihBW76q7p70dHuCfS6c1ffCK6ST",
+ .size = 43
+ };
+
+ dnssec_binary_t sign = { 0 };
+
+ dnssec_sign_ctx_t *ctx = NULL;
+ if (dnssec_sign_new(&ctx, test_key) != DNSSEC_EOK ||
+ dnssec_sign_add(ctx, &input) != DNSSEC_EOK ||
+ dnssec_sign_write(ctx, DNSSEC_SIGN_NORMAL, &sign) != DNSSEC_EOK) {
+ dnssec_binary_free(&sign);
+ dnssec_sign_free(ctx);
+ return KNOT_ERROR;
+ }
+
+ if (dnssec_sign_init(ctx) != DNSSEC_EOK ||
+ dnssec_sign_add(ctx, &input) != DNSSEC_EOK ||
+ dnssec_sign_verify(ctx, false, &sign) != DNSSEC_EOK) {
+ dnssec_binary_free(&sign);
+ dnssec_sign_free(ctx);
+ return KNOT_ERROR;
+ }
+
+ dnssec_sign_free(ctx);
+ ctx = NULL;
+
+ if (dnssec_sign_new(&ctx, ref_key) != DNSSEC_EOK ||
+ dnssec_sign_add(ctx, &input) != DNSSEC_EOK ||
+ dnssec_sign_verify(ctx, false, &sign) != DNSSEC_EOK) {
+ dnssec_binary_free(&sign);
+ dnssec_sign_free(ctx);
+ return KNOT_ERROR;
+ }
+
+ dnssec_binary_free(&sign);
+ dnssec_sign_free(ctx);
+
+ return KNOT_EOK;
+}
+
+static int test_key_use(dnssec_keystore_t *store, const char *keyid,
+ dnssec_key_algorithm_t algorithm)
+{
+ dnssec_key_t *test_key = NULL;
+ dnssec_key_t *ref_key = NULL;
+
+ if (create_dnskeys(store, keyid, algorithm, &test_key, &ref_key) != KNOT_EOK) {
+ return KNOT_ERROR;
+ }
+
+ if (test_sign(test_key, ref_key) != KNOT_EOK) {
+ dnssec_key_free(test_key);
+ dnssec_key_free(ref_key);
+ return KNOT_ERROR;
+ }
+
+ dnssec_key_free(test_key);
+ dnssec_key_free(ref_key);
+
+ return KNOT_EOK;
+}
+
+static void test_algorithm(dnssec_keystore_t *store,
+ const key_parameters_t *params)
+{
+ struct {
+ bool generate;
+ bool import;
+ bool remove;
+ bool use;
+ } res = { 0 };
+
+ char *id = NULL;
+ int ret = dnssec_keystore_generate(store, params->algorithm,
+ params->bit_size, NULL, &id);
+ if (ret == DNSSEC_EOK) {
+ res.generate = true;
+
+ ret = test_key_use(store, id, params->algorithm);
+ res.use = (ret == KNOT_EOK);
+
+ ret = dnssec_keystore_remove(store, id);
+ res.remove = (ret == DNSSEC_EOK);
+ free(id);
+ }
+
+ ret = dnssec_keystore_import(store, &params->pem, &id);
+ if (ret == DNSSEC_EOK) {
+ res.import = true;
+
+ ret = test_key_use(store, id, params->algorithm);
+ if (res.generate) {
+ res.use &= (ret == KNOT_EOK);
+ } else {
+ res.use = (ret == KNOT_EOK);
+ }
+
+ ret = dnssec_keystore_remove(store, id);
+ if (res.generate) {
+ res.remove &= (ret == DNSSEC_EOK);
+ } else {
+ res.remove = (ret == DNSSEC_EOK);
+ }
+ free(id);
+ }
+
+ const knot_lookup_t *alg_info = knot_lookup_by_id(knot_dnssec_alg_names,
+ params->algorithm);
+ assert(alg_info);
+
+ printf(TEST_FORMAT,
+ alg_info->name,
+ res.generate ? "yes" : "no",
+ res.import ? "yes" : "no",
+ res.remove ? "yes" : "no",
+ res.use ? "yes" : "no");
+}
+
+static int init_keystore(dnssec_keystore_t **store, const char *keystore_id,
+ unsigned threads)
+{
+ size_t len = strlen(keystore_id) + 1;
+ conf_val_t id = conf_rawid_get(conf(), C_KEYSTORE, C_ID,
+ (const uint8_t *)keystore_id, len);
+ if (id.code != KNOT_EOK && strcmp(keystore_id, DFLT_ID) != 0) {
+ ERR2("keystore '%s' not configured", keystore_id);
+ return id.code;
+ }
+ id.blob = (const uint8_t *)keystore_id;
+ id.blob_len = len;
+
+ unsigned backend;
+ bool key_label;
+
+ int ret = zone_init_keystore(conf(), NULL, &id, store, &backend, &key_label);
+ if (ret != KNOT_EOK) {
+ ERR2("failed to open '%s' keystore (%s)", keystore_id, knot_strerror(ret));
+ return ret;
+ }
+
+ if (strcmp(keystore_id, DFLT_ID) == 0) {
+ printf("Keystore default");
+ } else {
+ printf("Keystore id '%s'", keystore_id);
+ };
+ printf(", type %s", (backend == KEYSTORE_BACKEND_PEM ? "PEM" : "PKCS #11"));
+ if (threads > 0) {
+ printf(", threads %u", threads);
+ }
+ printf("\n\n");
+
+ return KNOT_EOK;
+}
+
+int keymgr_keystore_test(const char *keystore_id, keymgr_list_params_t *params)
+{
+ dnssec_keystore_t *store = NULL;
+
+ int ret = init_keystore(&store, keystore_id, 0);
+ if (ret != KNOT_EOK) {
+ goto done;
+ }
+
+ const bool c = params->color;
+ printf("%s" TEST_FORMAT "%s",
+ COL_UNDR(c),
+ "Algorithm", "Generate", "Import", "Remove", "Use",
+ COL_RST(c));
+ for (int i = 0; i < KEYS_COUNT; i++) {
+ test_algorithm(store, KEYS[i]);
+ }
+done:
+ dnssec_keystore_deinit(store);
+
+ return ret;
+}
+
+struct result {
+ unsigned long signs;
+ unsigned long time;
+};
+
+typedef struct bench_ctx {
+ dnssec_keystore_t *store;
+ const key_parameters_t *params;
+ struct result *results;
+ knot_spin_t lock;
+} bench_ctx_t;
+
+static int bench(dthread_t *dt)
+{
+ assert(dt != NULL && dt->data != NULL);
+
+ bench_ctx_t *data = dt->data;
+ dnssec_keystore_t *store = data->store;
+ const key_parameters_t *params = data->params;
+ struct result *result = data->results + dt_get_id(dt);
+
+ result->time = 0;
+ result->signs = 0;
+
+ char *id = NULL;
+ dnssec_key_t *test_key = NULL;
+ knot_spin_lock(&data->lock);
+ int ret = dnssec_keystore_generate(store, params->algorithm,
+ params->bit_size, NULL, &id);
+ if (ret != DNSSEC_EOK ||
+ dnssec_key_new(&test_key) != DNSSEC_EOK ||
+ dnssec_key_set_algorithm(test_key, params->algorithm) != DNSSEC_EOK ||
+ dnssec_keystore_get_private(store, id, test_key) != DNSSEC_EOK) {
+ goto finish;
+ }
+ knot_spin_unlock(&data->lock);
+
+ uint8_t input_data[64];
+ dnssec_binary_t input = {
+ .data = input_data,
+ .size = sizeof(input_data)
+ };
+ (void)dnssec_random_binary(&input);
+
+ struct timespec start_ts, end_ts;
+ clock_gettime(CLOCK_MONOTONIC, &start_ts);
+
+ while (result->time < BENCH_TIME) {
+ dnssec_binary_t sign = { 0 };
+ dnssec_sign_ctx_t *ctx = NULL;
+ if (dnssec_sign_new(&ctx, test_key) != DNSSEC_EOK ||
+ dnssec_sign_add(ctx, &input) != DNSSEC_EOK ||
+ dnssec_sign_write(ctx, DNSSEC_SIGN_NORMAL, &sign) != DNSSEC_EOK) {
+ dnssec_binary_free(&sign);
+ dnssec_sign_free(ctx);
+ result->time = 0;
+ goto finish;
+ }
+ memcpy(input.data, sign.data, MIN(input.size, sign.size));
+ dnssec_binary_free(&sign);
+ dnssec_sign_free(ctx);
+
+ clock_gettime(CLOCK_MONOTONIC, &end_ts);
+ result->time = time_diff_ms(&start_ts, &end_ts);
+ result->signs++;
+ }
+
+finish:
+ knot_spin_unlock(&data->lock);
+ dnssec_key_free(test_key);
+ (void)dnssec_keystore_remove(store, id);
+ free(id);
+
+ return KNOT_EOK;
+}
+
+int keymgr_keystore_bench(const char *keystore_id, keymgr_list_params_t *params,
+ uint16_t threads)
+{
+ dnssec_keystore_t *store = NULL;
+
+ int ret = init_keystore(&store, keystore_id, threads);
+ if (ret != KNOT_EOK) {
+ return ret;
+ }
+
+ const bool c = params->color;
+ printf("%s" BENCH_FORMAT"s\n" "%s",
+ COL_UNDR(c),
+ "Algorithm", "Sigs/sec",
+ COL_RST(c));
+
+ for (int i = 0; i < KEYS_COUNT; i++) {
+ struct result results[threads];
+ bench_ctx_t d = {
+ .store = store,
+ .params = KEYS[i],
+ .results = results
+ };
+ knot_spin_init(&d.lock);
+
+ dt_unit_t *pool = dt_create(threads, bench, NULL, &d);
+ if (pool == NULL ||
+ dt_start(pool) != KNOT_EOK ||
+ dt_join(pool) != KNOT_EOK) {
+ dt_delete(&pool);
+ knot_spin_destroy(&d.lock);
+ dnssec_keystore_deinit(store);
+ return KNOT_ERROR;
+ }
+ dt_delete(&pool);
+ knot_spin_destroy(&d.lock);
+
+ double result_f = 0.5; // 0.5 to ensure correct rounding
+ for (struct result *it = d.results; it < d.results + threads; ++it) {
+ if (it->time == 0) {
+ result_f = 0.;
+ break;
+ }
+ result_f += it->signs * 1000. / it->time;
+ }
+
+ const knot_lookup_t *alg_info = knot_lookup_by_id(
+ knot_dnssec_alg_names, KEYS[i]->algorithm);
+ assert(alg_info);
+
+ const unsigned result = (unsigned)result_f;
+ if (result > 0) {
+ printf(BENCH_FORMAT"u\n", alg_info->name, result);
+ } else {
+ printf(BENCH_FORMAT"s\n", alg_info->name, "n/a");
+ }
+ }
+
+ dnssec_keystore_deinit(store);
+
+ return KNOT_EOK;
+}
diff --git a/src/utils/keymgr/keystore.h b/src/utils/keymgr/keystore.h
new file mode 100644
index 0000000..6adb5df
--- /dev/null
+++ b/src/utils/keymgr/keystore.h
@@ -0,0 +1,24 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "utils/keymgr/functions.h"
+
+int keymgr_keystore_test(const char *keystore_id, keymgr_list_params_t *params);
+
+int keymgr_keystore_bench(const char *keystore_id, keymgr_list_params_t *params,
+ uint16_t threads);
diff --git a/src/utils/keymgr/main.c b/src/utils/keymgr/main.c
index 355fd3a..999b5c5 100644
--- a/src/utils/keymgr/main.c
+++ b/src/utils/keymgr/main.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -15,17 +15,20 @@
*/
#include <getopt.h>
+#include <signal.h>
#include <stdlib.h>
#include <unistd.h>
#include "contrib/strtonum.h"
#include "knot/dnssec/zone-keys.h"
+#include "libdnssec/crypto.h"
#include "libknot/libknot.h"
#include "utils/common/msg.h"
#include "utils/common/params.h"
#include "utils/common/signal.h"
#include "utils/common/util_conf.h"
#include "utils/keymgr/functions.h"
+#include "utils/keymgr/keystore.h"
#include "utils/keymgr/offline_ksk.h"
#define PROGRAM_NAME "keymgr"
@@ -36,6 +39,7 @@ static void print_help(void)
{
printf("Usage:\n"
" %s [-c | -C | -D <path>] [options] <zone_name> <command>\n"
+ " %s [-c | -C | -D <path>] [options] <keystore_id> <command>\n"
" %s [-c | -C | -D <path>] [-j] -l\n"
" %s -t <tsig_name> [<algorithm> [<bits>]]\n"
"\n"
@@ -87,6 +91,13 @@ static void print_help(void)
" set Set existing key's timing attribute.\n"
" (syntax: set <key_spec> <attribute_name>=<value>...)\n"
"\n"
+ "Keystore commands:\n"
+ " keystore_test Conduct some tests on the specified keystore.\n"
+ " Use a configured keystore id or '-' for the default.\n"
+ " keystore_bench Conduct a signing benchmark for each supported algorithm.\n"
+ " Use a configured keystore id or '-' for the default.\n"
+ " (syntax: keystore_bench [<num_threads>])\n"
+ "\n"
"Commands related to Offline KSK feature:\n"
" pregenerate Pre-generate ZSKs for later rollovers with offline KSK.\n"
" (syntax: pregenerate [<from>] <to>)\n"
@@ -115,7 +126,8 @@ static void print_help(void)
" ksk Whether the generated/imported key shall be Key Signing Key.\n"
" created/publish/ready/active/retire/remove The timestamp of the key\n"
" lifetime event (e.g. published=+1d active=1499770874)\n",
- PROGRAM_NAME, PROGRAM_NAME, PROGRAM_NAME, CONF_DEFAULT_FILE, CONF_DEFAULT_DBDIR);
+ PROGRAM_NAME, PROGRAM_NAME, PROGRAM_NAME, PROGRAM_NAME, CONF_DEFAULT_FILE,
+ CONF_DEFAULT_DBDIR);
}
static int key_command(int argc, char *argv[], int opt_ind, knot_lmdb_db_t *kaspdb,
@@ -129,7 +141,8 @@ static int key_command(int argc, char *argv[], int opt_ind, knot_lmdb_db_t *kasp
argc -= opt_ind;
argv += opt_ind;
- knot_dname_t *zone_name = knot_dname_from_str_alloc(argv[0]);
+ const char *id_str = argv[0];
+ knot_dname_t *zone_name = knot_dname_from_str_alloc(id_str);
if (zone_name == NULL) {
return KNOT_ENOMEM;
}
@@ -275,6 +288,20 @@ static int key_command(int argc, char *argv[], int opt_ind, knot_lmdb_db_t *kasp
} else if (strcmp(argv[1], "import-skr") == 0) {
CHECK_MISSING_ARG("Input file not specified");
ret = keymgr_import_skr(&kctx, argv[2]);
+ } else if (strcmp(argv[1], "keystore-test") == 0) {
+ ret = keymgr_keystore_test(id_str, list_params);
+ print_ok_on_succes = false;
+ } else if (strcmp(argv[1], "keystore-bench") == 0) {
+ uint16_t threads = 1;
+ if (argc > 2) {
+ ret = str_to_u16(argv[2], &threads);
+ }
+ if (ret == KNOT_EOK && threads > 0) {
+ ret = keymgr_keystore_bench(id_str, list_params, threads);
+ } else {
+ ret = KNOT_EINVAL;
+ }
+ print_ok_on_succes = false;
} else {
ERR2("invalid command '%s'", argv[1]);
goto main_end;
@@ -306,19 +333,22 @@ int main(int argc, char *argv[])
{ "tsig", required_argument, NULL, 't' },
{ "extended", no_argument, NULL, 'e' },
{ "list", no_argument, NULL, 'l' },
- { "brief", no_argument, NULL, 'b' }, // Legacy.
{ "mono", no_argument, NULL, 'x' },
{ "color", no_argument, NULL, 'X' },
{ "help", no_argument, NULL, 'h' },
- { "version", no_argument, NULL, 'V' },
+ { "version", optional_argument, NULL, 'V' },
{ "json", no_argument, NULL, 'j' },
{ NULL }
};
tzset();
+ dnssec_crypto_init();
+
signal_ctx.close_db = &kaspdb;
signal_init_std();
+ struct sigaction sigact = { .sa_handler = SIG_IGN };
+ sigaction(SIGALRM, &sigact, NULL);
int ret;
bool just_list = false;
@@ -327,7 +357,7 @@ int main(int argc, char *argv[])
list_params.color = isatty(STDOUT_FILENO);
int opt = 0, parm = 0;
- while ((opt = getopt_long(argc, argv, "c:C:D:t:ejlbxXhV", opts, NULL)) != -1) {
+ while ((opt = getopt_long(argc, argv, "c:C:D:t:ejlxXhV::", opts, NULL)) != -1) {
switch (opt) {
case 'c':
if (util_conf_init_file(optarg) != KNOT_EOK) {
@@ -363,9 +393,6 @@ int main(int argc, char *argv[])
case 'l':
just_list = true;
break;
- case 'b':
- WARN2("option '--brief' is deprecated and enabled by default");
- break;
case 'x':
list_params.color = false;
break;
@@ -376,7 +403,7 @@ int main(int argc, char *argv[])
print_help();
goto success;
case 'V':
- print_version(PROGRAM_NAME);
+ print_version(PROGRAM_NAME, optarg != NULL);
goto success;
default:
print_help();
@@ -409,8 +436,10 @@ int main(int argc, char *argv[])
success:
util_conf_deinit();
+ dnssec_crypto_cleanup();
return EXIT_SUCCESS;
failure:
util_conf_deinit();
+ dnssec_crypto_cleanup();
return EXIT_FAILURE;
}
diff --git a/src/utils/keymgr/offline_ksk.c b/src/utils/keymgr/offline_ksk.c
index 253199f..05b2d2b 100644
--- a/src/utils/keymgr/offline_ksk.c
+++ b/src/utils/keymgr/offline_ksk.c
@@ -37,8 +37,10 @@ static int pregenerate_once(kdnssec_ctx_t *ctx, knot_time_t *next)
{
zone_sign_reschedule_t resch = { 0 };
+ memset(ctx->stats, 0, sizeof(*ctx->stats));
+
// generate ZSKs
- int ret = knot_dnssec_key_rollover(ctx, KEY_ROLL_ALLOW_ZSK_ROLL, &resch);
+ int ret = knot_dnssec_key_rollover(ctx, KEY_ROLL_ALLOW_ZSK_ROLL | KEY_ROLL_PRESERVE_FUTURE, &resch);
if (ret != KNOT_EOK) {
ERR2("key rollover failed");
return ret;
@@ -245,6 +247,9 @@ static int ksr_once(kdnssec_ctx_t *ctx, char **buf, size_t *buf_size, knot_time_
{
knot_rrset_t *dnskey = NULL;
zone_keyset_t keyset = { 0 };
+
+ memset(ctx->stats, 0, sizeof(*ctx->stats));
+
int ret = load_dnskey_rrset(ctx, &dnskey, &keyset);
if (ret != KNOT_EOK) {
goto done;
@@ -322,10 +327,10 @@ static int ksr_sign_dnskey(kdnssec_ctx_t *ctx, knot_rrset_t *zsk, knot_time_t no
zone_keyset_t keyset = { 0 };
char *buf = NULL;
size_t buf_size = 4096;
- knot_time_t rrsigs_expire = 0;
ctx->now = now;
ctx->policy->dnskey_ttl = zsk->ttl;
+ memset(ctx->stats, 0, sizeof(*ctx->stats));
knot_timediff_t rrsig_refresh = ctx->policy->rrsig_refresh_before;
if (rrsig_refresh == UINT32_MAX) { // not setting rrsig-refresh prohibited by documentation, but we need to do something
@@ -352,7 +357,7 @@ static int ksr_sign_dnskey(kdnssec_ctx_t *ctx, knot_rrset_t *zsk, knot_time_t no
// no check if the KSK used for signing (in keyset) is contained in DNSKEY record being signed (in KSR) !
for (int i = 0; i < keyset.count; i++) {
- ret = key_records_sign(&keyset.keys[i], &r, ctx, &rrsigs_expire);
+ ret = key_records_sign(&keyset.keys[i], &r, ctx);
if (ret != KNOT_EOK) {
goto done;
}
@@ -362,7 +367,7 @@ static int ksr_sign_dnskey(kdnssec_ctx_t *ctx, knot_rrset_t *zsk, knot_time_t no
print_header("SignedKeyResponse "KSR_SKR_VER, ctx->now, buf);
*next_sign = knot_time_min(
knot_get_next_zone_key_event(&keyset),
- knot_time_add(rrsigs_expire, -rrsig_refresh)
+ knot_time_add(ctx->stats->expire, -rrsig_refresh)
);
}
@@ -446,6 +451,7 @@ static void skr_import_header(zs_scanner_t *sc)
// trailing header without timestamp
next_timestamp = 0;
}
+ knot_time_t validity_ts = next_timestamp != 0 ? next_timestamp : ctx->timestamp;
// delete possibly existing conflicting offline records
ctx->ret = kasp_db_delete_offline_records(
@@ -454,16 +460,11 @@ static void skr_import_header(zs_scanner_t *sc)
// store previous SKR
if (ctx->timestamp > 0 && ctx->ret == KNOT_EOK) {
- ctx->ret = key_records_verify(&ctx->r, ctx->kctx, ctx->timestamp);
+ ctx->ret = key_records_verify(&ctx->r, ctx->kctx, ctx->timestamp, validity_ts);
if (ctx->ret != KNOT_EOK) {
return;
}
- if (next_timestamp > 0) {
- ctx->ret = key_records_verify(&ctx->r, ctx->kctx, next_timestamp - 1);
- if (ctx->ret != KNOT_EOK) {
- return;
- }
- }
+
ctx->ret = kasp_db_store_offline_records(ctx->kctx->kasp_db,
ctx->timestamp, &ctx->r);
key_records_clear_rdatasets(&ctx->r);
@@ -490,20 +491,14 @@ static void skr_validate_header(zs_scanner_t *sc)
// trailing header without timestamp
next_timestamp = 0;
}
+ knot_time_t validity_ts = next_timestamp != 0 ? next_timestamp : ctx->timestamp;
if (ctx->timestamp > 0 && ctx->ret == KNOT_EOK) {
- int ret = key_records_verify(&ctx->r, ctx->kctx, ctx->timestamp);
+ int ret = key_records_verify(&ctx->r, ctx->kctx, ctx->timestamp, validity_ts);
if (ret != KNOT_EOK) { // ctx->ret untouched
ERR2("invalid SignedKeyResponse for %"KNOT_TIME_PRINTF" (%s)",
ctx->timestamp, knot_strerror(ret));
}
- if (next_timestamp > 0) {
- ret = key_records_verify(&ctx->r, ctx->kctx, next_timestamp - 1);
- if (ret != KNOT_EOK) { // ctx->ret untouched
- ERR2("invalid SignedKeyResponse for %"KNOT_TIME_PRINTF" (%s)",
- next_timestamp - 1, knot_strerror(ret));
- }
- }
key_records_clear_rdatasets(&ctx->r);
}
diff --git a/src/utils/khost/khost_params.c b/src/utils/khost/khost_params.c
index 1423e09..de95d9b 100644
--- a/src/utils/khost/khost_params.c
+++ b/src/utils/khost/khost_params.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -251,14 +251,14 @@ int khost_parse(kdig_params_t *params, int argc, char *argv[])
// Long options.
struct option opts[] = {
- { "help", no_argument, NULL, 'h' },
- { "version", no_argument, NULL, 'V' },
+ { "help", no_argument, NULL, 'h' },
+ { "version", optional_argument, NULL, 'V' },
{ NULL }
};
// Command line options processing.
int opt = 0;
- while ((opt = getopt_long(argc, argv, "46adhrsTvVwc:t:R:W:", opts, NULL))
+ while ((opt = getopt_long(argc, argv, "46adhrsTvV::wc:t:R:W:", opts, NULL))
!= -1) {
switch (opt) {
case '4':
@@ -294,7 +294,7 @@ int khost_parse(kdig_params_t *params, int argc, char *argv[])
conf->style.show_footer = true;
break;
case 'V':
- print_version(PROGRAM_NAME);
+ print_version(PROGRAM_NAME, optarg != NULL);
params->stop = false;
return KNOT_EOK;
case 'w':
diff --git a/src/utils/kjournalprint/main.c b/src/utils/kjournalprint/main.c
index 3ba0019..1d633dd 100644
--- a/src/utils/kjournalprint/main.c
+++ b/src/utils/kjournalprint/main.c
@@ -342,11 +342,10 @@ int main(int argc, char *argv[])
{ "zone-list", no_argument, NULL, 'z' },
{ "check", no_argument, NULL, 'H' },
{ "debug", no_argument, NULL, 'd' },
- { "no-color", no_argument, NULL, 'n' },
{ "mono", no_argument, NULL, 'x' },
{ "color", no_argument, NULL, 'X' },
{ "help", no_argument, NULL, 'h' },
- { "version", no_argument, NULL, 'V' },
+ { "version", optional_argument, NULL, 'V' },
{ NULL }
};
@@ -354,7 +353,7 @@ int main(int argc, char *argv[])
signal_init_std();
int opt = 0;
- while ((opt = getopt_long(argc, argv, "c:C:D:l:s:zHdnxXhV", opts, NULL)) != -1) {
+ while ((opt = getopt_long(argc, argv, "c:C:D:l:s:zHdxXhV::", opts, NULL)) != -1) {
switch (opt) {
case 'c':
if (util_conf_init_file(optarg) != KNOT_EOK) {
@@ -393,7 +392,6 @@ int main(int argc, char *argv[])
case 'd':
params.debug = true;
break;
- case 'n':
case 'x':
params.color = false;
break;
@@ -404,7 +402,7 @@ int main(int argc, char *argv[])
print_help();
goto success;
case 'V':
- print_version(PROGRAM_NAME);
+ print_version(PROGRAM_NAME, optarg != NULL);
goto success;
default:
print_help();
@@ -412,15 +410,6 @@ int main(int argc, char *argv[])
}
}
- // Backward compatibility.
- if ((justlist && (argc - optind > 0)) || (!justlist && (argc - optind > 1))) {
- WARN2("obsolete parameter specified");
- if (util_conf_init_justdb("journal-db", argv[optind]) != KNOT_EOK) {
- goto failure;
- }
- optind++;
- }
-
signal_ctx.color = params.color;
if (util_conf_init_default(true) != KNOT_EOK) {
diff --git a/src/utils/knotc/commands.c b/src/utils/knotc/commands.c
index c2c25a2..5cc1a14 100644
--- a/src/utils/knotc/commands.c
+++ b/src/utils/knotc/commands.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -51,6 +51,7 @@
#define CMD_ZONE_BACKUP "zone-backup"
#define CMD_ZONE_RESTORE "zone-restore"
#define CMD_ZONE_SIGN "zone-sign"
+#define CMD_ZONE_VALIDATE "zone-validate"
#define CMD_ZONE_KEYS_LOAD "zone-keys-load"
#define CMD_ZONE_KEY_ROLL "zone-key-rollover"
#define CMD_ZONE_KSK_SBM "zone-ksk-submitted"
@@ -99,7 +100,7 @@
static int check_args(cmd_args_t *args, int min, int max)
{
if (max == 0 && args->argc > 0) {
- log_error("command doesn't take arguments");
+ log_error("command does not take arguments");
return KNOT_EINVAL;
} else if (min == max && args->argc != min) {
log_error("command requires %i arguments", min);
@@ -272,6 +273,7 @@ static void format_data(cmd_args_t *args, knot_ctl_type_t data_type,
case CTL_ZONE_BACKUP:
case CTL_ZONE_RESTORE:
case CTL_ZONE_SIGN:
+ case CTL_ZONE_VALIDATE:
case CTL_ZONE_KEYS_LOAD:
case CTL_ZONE_KEY_ROLL:
case CTL_ZONE_KSK_SBM:
@@ -411,6 +413,7 @@ static void format_block(ctl_cmd_t cmd, bool failed, bool empty)
case CTL_ZONE_BACKUP:
case CTL_ZONE_RESTORE:
case CTL_ZONE_SIGN:
+ case CTL_ZONE_VALIDATE:
case CTL_ZONE_KEYS_LOAD:
case CTL_ZONE_KEY_ROLL:
case CTL_ZONE_KSK_SBM:
@@ -1294,6 +1297,7 @@ const cmd_desc_t cmd_table[] = {
{ CMD_ZONE_BACKUP, cmd_zone_filter_ctl, CTL_ZONE_BACKUP, CMD_FOPT_ZONE },
{ CMD_ZONE_RESTORE, cmd_zone_filter_ctl, CTL_ZONE_RESTORE, CMD_FOPT_ZONE },
{ CMD_ZONE_SIGN, cmd_zone_ctl, CTL_ZONE_SIGN, CMD_FOPT_ZONE },
+ { CMD_ZONE_VALIDATE, cmd_zone_ctl, CTL_ZONE_VALIDATE, CMD_FOPT_ZONE },
{ CMD_ZONE_KEYS_LOAD, cmd_zone_ctl, CTL_ZONE_KEYS_LOAD, CMD_FOPT_ZONE },
{ CMD_ZONE_KEY_ROLL, cmd_zone_key_roll_ctl, CTL_ZONE_KEY_ROLL, CMD_FREQ_ZONE },
{ CMD_ZONE_KSK_SBM, cmd_zone_ctl, CTL_ZONE_KSK_SBM, CMD_FREQ_ZONE | CMD_FOPT_ZONE },
@@ -1347,6 +1351,7 @@ static const cmd_help_t cmd_help_table[] = {
{ CMD_ZONE_BACKUP, "[<zone>...] [<filter>...] +backupdir <dir>", "Backup zone data and metadata. (#)" },
{ CMD_ZONE_RESTORE, "[<zone>...] [<filter>...] +backupdir <dir>", "Restore zone data and metadata. (#)" },
{ CMD_ZONE_SIGN, "[<zone>...]", "Re-sign the automatically signed zone. (#)" },
+ { CMD_ZONE_VALIDATE, "[<zone>...]", "Trigger a DNSSEC validation of the zone. (#)" },
{ CMD_ZONE_KEYS_LOAD, "[<zone>...]", "Re-load keys from KASP database, sign the zone. (#)" },
{ CMD_ZONE_KEY_ROLL, " <zone> ksk|zsk", "Trigger immediate key rollover. (#)" },
{ CMD_ZONE_KSK_SBM, " <zone>...", "When KSK submission, confirm parent's DS presence. (#)" },
diff --git a/src/utils/knotc/main.c b/src/utils/knotc/main.c
index dad3671..274ab6d 100644
--- a/src/utils/knotc/main.c
+++ b/src/utils/knotc/main.c
@@ -82,7 +82,7 @@ int main(int argc, char **argv)
{ "color", no_argument, NULL, 'X' },
{ "verbose", no_argument, NULL, 'v' },
{ "help", no_argument, NULL, 'h' },
- { "version", no_argument, NULL, 'V' },
+ { "version", optional_argument, NULL, 'V' },
{ NULL }
};
@@ -97,7 +97,7 @@ int main(int argc, char **argv)
/* Parse command line arguments */
int opt = 0;
- while ((opt = getopt_long(argc, argv, "+c:C:m:s:t:befxXvhV", opts, NULL)) != -1) {
+ while ((opt = getopt_long(argc, argv, "+c:C:m:s:t:befxXvhV::", opts, NULL)) != -1) {
switch (opt) {
case 'c':
params.orig_config = optarg;
@@ -147,7 +147,7 @@ int main(int argc, char **argv)
print_help();
return EXIT_SUCCESS;
case 'V':
- print_version(PROGRAM_NAME);
+ print_version(PROGRAM_NAME, optarg != NULL);
return EXIT_SUCCESS;
default:
print_help();
diff --git a/src/utils/knotd/main.c b/src/utils/knotd/main.c
index d4ebd53..e863296 100644
--- a/src/utils/knotd/main.c
+++ b/src/utils/knotd/main.c
@@ -38,15 +38,39 @@
#include "knot/conf/conf.h"
#include "knot/conf/migration.h"
#include "knot/conf/module.h"
+#include "knot/common/dbus.h"
#include "knot/common/log.h"
#include "knot/common/process.h"
#include "knot/common/stats.h"
#include "knot/common/systemd.h"
#include "knot/server/server.h"
#include "knot/server/tcp-handler.h"
+#include "utils/common/params.h"
#define PROGRAM_NAME "knotd"
+typedef enum {
+ CONCURRENT_EMPTY = 0, // fresh cctx without a thread.
+ CONCURRENT_ASSIGNED, // cctx assigned to process a command.
+ CONCURRENT_RUNNING, // ctl command is being processed in the thread.
+ CONCURRENT_IDLE, // command has been processed, waiting for a new one.
+ CONCURRENT_KILLED, // cctx cleanup has started.
+ CONCURRENT_FINISHED, // after having been killed, the thread is being joined.
+} concurrent_ctl_state_t;
+
+typedef struct {
+ concurrent_ctl_state_t state;
+ pthread_mutex_t mutex; // Protects .state.
+ pthread_cond_t cond;
+ knot_ctl_t *ctl;
+ server_t *server;
+ pthread_t thread;
+ sigset_t sigmask;
+ int ret;
+ int thread_idx;
+ bool exclusive;
+} concurrent_ctl_ctx_t;
+
/* Signal flags. */
static volatile bool sig_req_stop = false;
static volatile bool sig_req_reload = false;
@@ -161,13 +185,14 @@ static void setup_signals(void)
sigdelset(&all, SIGBUS);
sigdelset(&all, SIGFPE);
sigdelset(&all, SIGSEGV);
- pthread_sigmask(SIG_SETMASK, &all, NULL);
/* Setup handlers. */
struct sigaction action = { .sa_handler = handle_signal };
for (const struct signal *s = SIGNALS; s->signum > 0; s++) {
sigaction(s->signum, &action, NULL);
}
+
+ pthread_sigmask(SIG_SETMASK, &all, NULL);
}
/*! \brief Unblock server control signals. */
@@ -185,6 +210,24 @@ static void enable_signals(void)
pthread_sigmask(SIG_UNBLOCK, &mask, NULL);
}
+/*! \brief Create a control thread with correct signals setting. */
+static void create_thread_sigmask(pthread_t *thr, void *(*fcn)(void*), void *ctx,
+ sigset_t *out_mask)
+{
+ /* Block all blockable signals. */
+ sigset_t mask;
+ sigfillset(&mask);
+ sigdelset(&mask, SIGBUS);
+ sigdelset(&mask, SIGFPE);
+ sigdelset(&mask, SIGILL);
+ sigdelset(&mask, SIGSEGV);
+ pthread_sigmask(SIG_SETMASK, &mask, out_mask);
+
+ pthread_create(thr, NULL, fcn, ctx);
+
+ pthread_sigmask(SIG_SETMASK, out_mask, NULL);
+}
+
/*! \brief Drop POSIX 1003.1e capabilities. */
static void drop_capabilities(void)
{
@@ -224,6 +267,7 @@ static void check_loaded(server_t *server)
return;
}
+ rcu_read_lock();
knot_zonedb_iter_t *it = knot_zonedb_iter_begin(server->zone_db);
while (!knot_zonedb_iter_finished(it)) {
zone_t *zone = (zone_t *)knot_zonedb_iter_val(it);
@@ -234,9 +278,162 @@ static void check_loaded(server_t *server)
knot_zonedb_iter_next(it);
}
knot_zonedb_iter_free(it);
+ rcu_read_unlock();
finished = true;
- systemd_emit_running(true);
+ dbus_emit_running(true);
+}
+
+static void *ctl_process_thread(void *arg);
+
+/*!
+ * Try to find an empty ctl processing context and if successful,
+ * prepare to lauch the incomming command processing in it.
+ *
+ * \param[in] concurrent_ctxs Configured concurrent control contexts.
+ * \param[in] n_ctxs Number of configured concurrent control contexts.
+ * \param[in] ctl Control context.
+ *
+ * \return Assigned concurrent control context, or NULL.
+ */
+
+static concurrent_ctl_ctx_t *find_free_ctx(concurrent_ctl_ctx_t *concurrent_ctxs,
+ size_t n_ctxs, knot_ctl_t *ctl)
+{
+ concurrent_ctl_ctx_t *res = NULL;
+ for (size_t i = 0; i < n_ctxs && res == NULL; i++) {
+ concurrent_ctl_ctx_t *cctx = &concurrent_ctxs[i];
+ pthread_mutex_lock(&cctx->mutex);
+ if (cctx->exclusive) {
+ while (cctx->state != CONCURRENT_IDLE) {
+ pthread_cond_wait(&cctx->cond, &cctx->mutex);
+ }
+ knot_ctl_free(cctx->ctl);
+ cctx->ctl = knot_ctl_clone(ctl);
+ if (cctx->ctl == NULL) {
+ cctx->exclusive = false;
+ pthread_mutex_unlock(&cctx->mutex);
+ break;
+ }
+ cctx->state = CONCURRENT_ASSIGNED;
+ res = cctx;
+ pthread_cond_broadcast(&cctx->cond);
+ }
+ pthread_mutex_unlock(&cctx->mutex);
+ }
+ for (size_t i = 0; i < n_ctxs && res == NULL; i++) {
+ concurrent_ctl_ctx_t *cctx = &concurrent_ctxs[i];
+ pthread_mutex_lock(&cctx->mutex);
+ switch (cctx->state) {
+ case CONCURRENT_EMPTY:
+ create_thread_sigmask(&cctx->thread, ctl_process_thread, cctx, &cctx->sigmask);
+ break;
+ case CONCURRENT_IDLE:
+ knot_ctl_free(cctx->ctl);
+ pthread_cond_broadcast(&cctx->cond);
+ break;
+ default:
+ pthread_mutex_unlock(&cctx->mutex);
+ continue;
+ }
+ cctx->ctl = knot_ctl_clone(ctl);
+ if (cctx->ctl != NULL) {
+ cctx->state = CONCURRENT_ASSIGNED;
+ res = cctx;
+ }
+ pthread_mutex_unlock(&cctx->mutex);
+ }
+ return res;
+}
+
+static void init_ctxs(concurrent_ctl_ctx_t *concurrent_ctxs, size_t n_ctxs, server_t *server)
+{
+ for (size_t i = 0; i < n_ctxs; i++) {
+ concurrent_ctl_ctx_t *cctx = &concurrent_ctxs[i];
+ pthread_mutex_init(&cctx->mutex, NULL);
+ pthread_cond_init(&cctx->cond, NULL);
+ cctx->server = server;
+ cctx->thread_idx = i + 1;
+ }
+}
+
+static int cleanup_ctxs(concurrent_ctl_ctx_t *concurrent_ctxs, size_t n_ctxs)
+{
+ int ret = KNOT_EOK;
+ for (size_t i = 0; i < n_ctxs; i++) {
+ concurrent_ctl_ctx_t *cctx = &concurrent_ctxs[i];
+ pthread_mutex_lock(&cctx->mutex);
+ if (cctx->state == CONCURRENT_IDLE) {
+ knot_ctl_free(cctx->ctl);
+ cctx->ctl = NULL;
+ if (cctx->ret == KNOT_CTL_ESTOP) {
+ ret = cctx->ret;
+ }
+ }
+ pthread_mutex_unlock(&cctx->mutex);
+ }
+ return ret;
+}
+
+static void finalize_ctxs(concurrent_ctl_ctx_t *concurrent_ctxs, size_t n_ctxs)
+{
+ for (size_t i = 0; i < n_ctxs; i++) {
+ concurrent_ctl_ctx_t *cctx = &concurrent_ctxs[i];
+ pthread_mutex_lock(&cctx->mutex);
+ if (cctx->state == CONCURRENT_EMPTY) {
+ pthread_mutex_unlock(&cctx->mutex);
+ pthread_mutex_destroy(&cctx->mutex);
+ pthread_cond_destroy(&cctx->cond);
+ continue;
+ }
+
+ cctx->state = CONCURRENT_KILLED;
+ pthread_cond_broadcast(&cctx->cond);
+ pthread_mutex_unlock(&cctx->mutex);
+ (void)pthread_join(cctx->thread, NULL);
+
+ assert(cctx->state == CONCURRENT_FINISHED);
+ knot_ctl_free(cctx->ctl);
+ pthread_mutex_destroy(&cctx->mutex);
+ pthread_cond_destroy(&cctx->cond);
+ }
+}
+
+static void *ctl_process_thread(void *arg)
+{
+ concurrent_ctl_ctx_t *ctx = arg;
+ rcu_register_thread();
+ setup_signals(); // in fact, this blocks common signals so that they
+ // arrive to main thread instead of this one
+
+ pthread_mutex_lock(&ctx->mutex);
+ while (ctx->state != CONCURRENT_KILLED) {
+ if (ctx->state != CONCURRENT_ASSIGNED) {
+ pthread_cond_wait(&ctx->cond, &ctx->mutex);
+ continue;
+ }
+ ctx->state = CONCURRENT_RUNNING;
+ bool exclusive = ctx->exclusive;
+ pthread_mutex_unlock(&ctx->mutex);
+
+ // Not IDLE, ctx can be read without locking.
+ int ret = ctl_process(ctx->ctl, ctx->server, ctx->thread_idx, &exclusive);
+
+ pthread_mutex_lock(&ctx->mutex);
+ ctx->ret = ret;
+ ctx->exclusive = exclusive;
+ if (ctx->state == CONCURRENT_RUNNING) { // not KILLED
+ ctx->state = CONCURRENT_IDLE;
+ pthread_cond_broadcast(&ctx->cond);
+ }
+ }
+
+ knot_ctl_close(ctx->ctl);
+
+ ctx->state = CONCURRENT_FINISHED;
+ pthread_mutex_unlock(&ctx->mutex);
+ rcu_unregister_thread();
+ return NULL;
}
/*! \brief Event loop listening for signals and remote commands. */
@@ -274,7 +471,7 @@ static void event_loop(server_t *server, const char *socket, bool daemonize,
/* Bind the control socket. */
uint16_t backlog = conf_get_int(conf(), C_CTL, C_BACKLOG);
- int ret = knot_ctl_bind2(ctl, listen, backlog);
+ int ret = knot_ctl_bind(ctl, listen, backlog);
if (ret != KNOT_EOK) {
knot_ctl_free(ctl);
log_fatal("control, failed to bind socket '%s' (%s)",
@@ -286,6 +483,10 @@ static void event_loop(server_t *server, const char *socket, bool daemonize,
enable_signals();
+ concurrent_ctl_ctx_t concurrent_ctxs[CTL_MAX_CONCURRENT] = { 0 };
+ init_ctxs(concurrent_ctxs, CTL_MAX_CONCURRENT, server);
+ bool main_thread_exclusive = false;
+
/* Notify systemd about successful start. */
systemd_ready_notify();
if (daemonize) {
@@ -299,15 +500,19 @@ static void event_loop(server_t *server, const char *socket, bool daemonize,
/* Interrupts. */
if (sig_req_reload && !sig_req_stop) {
sig_req_reload = false;
+ pthread_rwlock_wrlock(&server->ctl_lock);
server_reload(server, RELOAD_FULL);
+ pthread_rwlock_unlock(&server->ctl_lock);
}
if (sig_req_zones_reload && !sig_req_stop) {
sig_req_zones_reload = false;
reload_t mode = server->catalog_upd_signal ? RELOAD_CATALOG : RELOAD_ZONES;
+ pthread_rwlock_wrlock(&server->ctl_lock);
server->catalog_upd_signal = false;
server_update_zones(conf(), server, mode);
+ pthread_rwlock_unlock(&server->ctl_lock);
}
- if (sig_req_stop) {
+ if (sig_req_stop || cleanup_ctxs(concurrent_ctxs, CTL_MAX_CONCURRENT) == KNOT_CTL_ESTOP) {
break;
}
@@ -325,15 +530,20 @@ static void event_loop(server_t *server, const char *socket, bool daemonize,
continue;
}
- ret = ctl_process(ctl, server);
- knot_ctl_close(ctl);
- if (ret == KNOT_CTL_ESTOP) {
- break;
+ if (main_thread_exclusive ||
+ find_free_ctx(concurrent_ctxs, CTL_MAX_CONCURRENT, ctl) == NULL) {
+ ret = ctl_process(ctl, server, 0, &main_thread_exclusive);
+ knot_ctl_close(ctl);
+ if (ret == KNOT_CTL_ESTOP) {
+ break;
+ }
}
}
+ finalize_ctxs(concurrent_ctxs, CTL_MAX_CONCURRENT);
+
if (conf()->cache.srv_dbus_event & DBUS_EVENT_RUNNING) {
- systemd_emit_running(false);
+ dbus_emit_running(false);
}
/* Unbind the control socket. */
@@ -363,11 +573,6 @@ static void print_help(void)
CONF_MAPSIZE, RUN_DIR "/knot.sock");
}
-static void print_version(void)
-{
- printf("%s (Knot DNS), version %s\n", PROGRAM_NAME, PACKAGE_VERSION);
-}
-
static int set_config(const char *confdb, const char *config, size_t max_conf_size)
{
if (config != NULL && confdb != NULL) {
@@ -440,7 +645,7 @@ int main(int argc, char **argv)
{ "daemonize", optional_argument, NULL, 'd' },
{ "verbose", no_argument, NULL, 'v' },
{ "help", no_argument, NULL, 'h' },
- { "version", no_argument, NULL, 'V' },
+ { "version", optional_argument, NULL, 'V' },
{ NULL }
};
@@ -449,7 +654,7 @@ int main(int argc, char **argv)
/* Parse command line arguments. */
int opt = 0;
- while ((opt = getopt_long(argc, argv, "c:C:m:s:dvhV", opts, NULL)) != -1) {
+ while ((opt = getopt_long(argc, argv, "c:C:m:s:dvhV::", opts, NULL)) != -1) {
switch (opt) {
case 'c':
config = optarg;
@@ -481,7 +686,7 @@ int main(int argc, char **argv)
print_help();
return EXIT_SUCCESS;
case 'V':
- print_version();
+ print_version(PROGRAM_NAME, optarg != NULL);
return EXIT_SUCCESS;
default:
print_help();
@@ -570,14 +775,9 @@ int main(int argc, char **argv)
return EXIT_FAILURE;
}
- if (conf()->cache.srv_dbus_event != DBUS_EVENT_NONE) {
- ret = systemd_dbus_open();
- if (ret != KNOT_EOK) {
- log_error("d-bus: failed to open system bus (%s)",
- knot_strerror(ret));
- } else {
- log_info("d-bus: connected to system bus");
- }
+ /* Connect to the system D-bus. */
+ if (conf()->cache.srv_dbus_event != DBUS_EVENT_NONE &&
+ dbus_open() == KNOT_EOK) {
int64_t delay = conf_get_int(conf(), C_SRV, C_DBUS_INIT_DELAY);
sleep(delay);
}
@@ -595,7 +795,7 @@ int main(int argc, char **argv)
server_wait(&server);
server_deinit(&server);
conf_free(conf());
- systemd_dbus_close();
+ dbus_close();
log_close();
dnssec_crypto_cleanup();
return EXIT_FAILURE;
@@ -636,7 +836,7 @@ int main(int argc, char **argv)
rcu_unregister_thread();
pid_cleanup();
conf_free(conf());
- systemd_dbus_close();
+ dbus_close();
log_close();
dnssec_crypto_cleanup();
return EXIT_FAILURE;
@@ -660,7 +860,7 @@ int main(int argc, char **argv)
/* Unhook from RCU. */
rcu_unregister_thread();
- systemd_dbus_close();
+ dbus_close();
log_info("shutting down");
log_close();
diff --git a/src/utils/knsec3hash/knsec3hash.c b/src/utils/knsec3hash/knsec3hash.c
index a7bac97..a18498d 100644
--- a/src/utils/knsec3hash/knsec3hash.c
+++ b/src/utils/knsec3hash/knsec3hash.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -36,7 +36,7 @@
*/
static void print_help(void)
{
- printf("Usage: " PROGRAM_NAME " <salt> <algorithm> <iterations> <domain-name>\n");
+ printf("Usage: " PROGRAM_NAME " [-h | -V] <salt> <algorithm> <iterations> <domain-name>\n");
printf("Example: " PROGRAM_NAME " c01dcafe 1 10 knot-dns.cz\n");
printf("Alternative usage: "PROGRAM_NAME " <algorithm> <flags> <iterations> <salt> <domain-name>\n");
printf("Example: " PROGRAM_NAME " 1 0 10 c01dcafe knot-dns.cz\n");
@@ -103,19 +103,19 @@ static bool parse_nsec3_params(dnssec_nsec3_params_t *params, const char *salt_s
int main(int argc, char *argv[])
{
struct option options[] = {
- { "help", no_argument, NULL, 'h' },
- { "version", no_argument, NULL, 'V' },
+ { "help", no_argument, NULL, 'h' },
+ { "version", optional_argument, NULL, 'V' },
{ NULL }
};
int opt = 0;
- while ((opt = getopt_long(argc, argv, "hV", options, NULL)) != -1) {
+ while ((opt = getopt_long(argc, argv, "hV::", options, NULL)) != -1) {
switch(opt) {
case 'h':
print_help();
return EXIT_SUCCESS;
case 'V':
- print_version(PROGRAM_NAME);
+ print_version(PROGRAM_NAME, optarg != NULL);
return EXIT_SUCCESS;
default:
print_help();
diff --git a/src/utils/knsupdate/knsupdate_exec.c b/src/utils/knsupdate/knsupdate_exec.c
index e201711..d716ffb 100644
--- a/src/utils/knsupdate/knsupdate_exec.c
+++ b/src/utils/knsupdate/knsupdate_exec.c
@@ -452,15 +452,23 @@ static int pkt_sendrecv(knsupdate_params_t *params)
return -1;
}
+ ret = net_init_crypto(&net, &params->tls_params, NULL, &params->quic_params);
+ if (ret != 0) {
+ ERR("failed to initialize crypto context (%s)", knot_strerror(ret));
+ net_clean(&net);
+ return -1;
+ }
+
ret = net_connect(&net);
- DBG("%s: send_msg = %d", __func__, net.sockfd);
if (ret != KNOT_EOK) {
+ ERR("failed to connect (%s)", knot_strerror(ret));
net_clean(&net);
return -1;
}
ret = net_send(&net, params->query->wire, params->query->size);
if (ret != KNOT_EOK) {
+ ERR("failed to send update (%s)", knot_strerror(ret));
net_close(&net);
net_clean(&net);
return -1;
@@ -471,8 +479,8 @@ static int pkt_sendrecv(knsupdate_params_t *params)
/* Wait for reception. */
int rb = net_receive(&net, params->answer->wire, params->answer->max_size);
- DBG("%s: receive_msg = %d", __func__, rb);
if (rb <= 0) {
+ ERR("failed to receive response (%s)", knot_strerror(rb));
net_close(&net);
net_clean(&net);
return -1;
diff --git a/src/utils/knsupdate/knsupdate_params.c b/src/utils/knsupdate/knsupdate_params.c
index f9fa41f..5aaf808 100644
--- a/src/utils/knsupdate/knsupdate_params.c
+++ b/src/utils/knsupdate/knsupdate_params.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -26,6 +26,7 @@
#include "utils/common/netio.h"
#include "libknot/libknot.h"
#include "libknot/tsig.h"
+#include "contrib/base64.h"
#include "contrib/mempattern.h"
#include "contrib/strtonum.h"
#include "contrib/ucw/mempool.h"
@@ -90,6 +91,8 @@ static int knsupdate_init(knsupdate_params_t *params)
init_list(&params->update_list);
init_list(&params->prereq_list);
+ tls_params_init(&params->tls_params);
+
/* Initialize memory context. */
mm_ctx_mempool(&params->mm, MM_DEFAULT_BLKSIZE);
@@ -142,6 +145,9 @@ void knsupdate_clean(knsupdate_params_t *params)
knot_pkt_free(params->answer);
knot_tsig_key_deinit(&params->tsig_key);
+ tls_params_clean(&params->tls_params);
+ quic_params_clean(&params->quic_params);
+
/* Clean up the structure. */
mp_delete(params->mm.ctx);
memset(params, 0, sizeof(*params));
@@ -172,9 +178,31 @@ void knsupdate_reset(knsupdate_params_t *params)
static void print_help(void)
{
- printf("Usage: %s [-d] [-v] [-k keyfile | -y [hmac:]name:key]\n"
- " [-p port] [-t timeout] [-r retries] [filename]\n",
- PROGRAM_NAME);
+ printf("Usage:\n"
+ " %s [-T] [options] [filename]\n"
+ " %s [-S | -Q] [tls_options] [options] [filename]\n"
+ "\n"
+ "Options:\n"
+ " -T, --tcp Use TCP protocol.\n"
+ " -S, --tls Use TLS protocol.\n"
+ " -Q, --quic Use QUIC protocol.\n"
+ " -p, --port <num> Remote port.\n"
+ " -r, --retry <num> Number of retries over UDP.\n"
+ " -t, --timeout <num> Update timeout.\n"
+ " -y, --tsig <str> TSIG key in the form [alg:]name:key.\n"
+ " -k, --tsigfile <path> Path to a TSIG key file.\n"
+ " -d, --debug Debug mode output.\n"
+ " -h, --help Print the program help.\n"
+ " -V, --version Print the program version.\n"
+ "\n"
+ "QUIC/TLS options:\n"
+ " -H, --hostname <str> Remote hostname validation.\n"
+ " -P, --pin <base64> Certificate key PIN.\n"
+ " -A, --ca [<path>] Path to a CA file.\n"
+ " -E, --certfile <path> Path to a client certificate file.\n"
+ " -K, --keyfile <path> Path to a client key file.\n"
+ " -s, --sni <str> Remote SNI.\n",
+ PROGRAM_NAME, PROGRAM_NAME);
}
int knsupdate_parse(knsupdate_params_t *params, int argc, char *argv[])
@@ -188,40 +216,74 @@ int knsupdate_parse(knsupdate_params_t *params, int argc, char *argv[])
return ret;
}
- // Long options.
+ const char *opts_str = "dhvTSQV::p:r:t:y:k:H:P:A::E:K:s:";
struct option opts[] = {
- { "help", no_argument, NULL, 'h' },
- { "version", no_argument, NULL, 'V' },
+ { "debug", no_argument, NULL, 'd' },
+ { "help", no_argument, NULL, 'h' },
+ { "tcp", no_argument, NULL, 'T' },
+ { "tls", no_argument, NULL, 'S' },
+ { "quic", no_argument, NULL, 'Q' },
+ { "version", optional_argument, NULL, 'V' },
+ { "port", required_argument, NULL, 'p' },
+ { "retry", required_argument, NULL, 'r' },
+ { "timeout", required_argument, NULL, 't' },
+ { "tsig", required_argument, NULL, 'y' },
+ { "tsigfile", required_argument, NULL, 'k' },
+ { "hostname", required_argument, NULL, 'H' },
+ { "pin", required_argument, NULL, 'P' },
+ { "ca", optional_argument, NULL, 'A' },
+ { "certfile", required_argument, NULL, 'E' },
+ { "keyfile", required_argument, NULL, 'K' },
+ { "sni", required_argument, NULL, 's' },
{ NULL }
};
- /* Command line options processing. */
+ bool default_port = true;
+
int opt = 0;
- while ((opt = getopt_long(argc, argv, "dhDvVp:t:r:y:k:", opts, NULL))
- != -1) {
+ while ((opt = getopt_long(argc, argv, opts_str, opts, NULL)) != -1) {
switch (opt) {
case 'd':
- case 'D': /* Extra debugging. */
msg_enable_debug(1);
break;
case 'h':
print_help();
params->stop = true;
return KNOT_EOK;
- case 'v':
+ case 'v': // Compatibility with nsupdate.
+ case 'T':
params->protocol = PROTO_TCP;
break;
+ case 'S':
+ params->protocol = PROTO_TCP;
+
+ params->tls_params.enable = true;
+
+ if (default_port) {
+ free(params->server->service);
+ params->server->service = strdup(DEFAULT_DNS_TLS_PORT);
+ }
+ break;
+ case 'Q':
+ params->protocol = PROTO_UDP;
+
+ params->tls_params.enable = true;
+ params->quic_params.enable = true;
+
+ if (default_port) {
+ free(params->server->service);
+ params->server->service = strdup(DEFAULT_DNS_QUIC_PORT);
+ }
+ break;
case 'V':
- print_version(PROGRAM_NAME);
+ print_version(PROGRAM_NAME, optarg != NULL);
params->stop = true;
return KNOT_EOK;
case 'p':
+ assert(optarg);
+ default_port = false;
free(params->server->service);
params->server->service = strdup(optarg);
- if (!params->server->service) {
- ERR("failed to set default port '%s'", optarg);
- return KNOT_ENOMEM;
- }
break;
case 'r':
ret = str_to_u32(optarg, &params->retries);
@@ -241,7 +303,7 @@ int knsupdate_parse(knsupdate_params_t *params, int argc, char *argv[])
knot_tsig_key_deinit(&params->tsig_key);
ret = knot_tsig_key_init_str(&params->tsig_key, optarg);
if (ret != KNOT_EOK) {
- ERR("failed to parse key '%s'", optarg);
+ ERR("failed to parse TSIG key '%s'", optarg);
return ret;
}
break;
@@ -249,9 +311,63 @@ int knsupdate_parse(knsupdate_params_t *params, int argc, char *argv[])
knot_tsig_key_deinit(&params->tsig_key);
ret = knot_tsig_key_init_file(&params->tsig_key, optarg);
if (ret != KNOT_EOK) {
- ERR("failed to parse keyfile '%s'", optarg);
+ ERR("failed to parse TSIG keyfile '%s'", optarg);
+ return ret;
+ }
+ break;
+ case 'H':
+ assert(optarg);
+ free(params->tls_params.hostname);
+ params->tls_params.hostname = strdup(optarg);
+ break;
+ case 'P':
+ assert(optarg);
+ uint8_t pin[64] = { 0 };
+ ret = knot_base64_decode((const uint8_t *)optarg, strlen(optarg), pin, sizeof(pin));
+ if (ret < 0) {
+ ERR("invalid certificate pin %s", optarg);
return ret;
+ } else if (ret != CERT_PIN_LEN) { // Check for 256-bit value.
+ ERR("invalid SHA256 hash length of certificate pin %s", optarg);
+ return KNOT_EINVAL;
}
+
+ uint8_t *item = malloc(1 + ret); // 1 ~ leading data length.
+ if (item == NULL) {
+ return KNOT_ENOMEM;
+ }
+ item[0] = ret;
+ memcpy(&item[1], pin, ret);
+
+ if (ptrlist_add(&params->tls_params.pins, item, NULL) == NULL) {
+ return KNOT_ENOMEM;
+ }
+
+ break;
+ case 'A':
+ if (optarg == NULL) {
+ params->tls_params.system_ca = true;
+ break;
+ }
+ if (ptrlist_add(&params->tls_params.ca_files, strdup(optarg), NULL) == NULL) {
+ ERR("failed to set CA file '%s'", optarg);
+ return KNOT_ENOMEM;
+ }
+ break;
+ case 'E':
+ assert(optarg);
+ free(params->tls_params.certfile);
+ params->tls_params.certfile = strdup(optarg);
+ break;
+ case 'K':
+ assert(optarg);
+ free(params->tls_params.keyfile);
+ params->tls_params.keyfile = strdup(optarg);
+ break;
+ case 's':
+ assert(optarg);
+ free(params->tls_params.sni);
+ params->tls_params.sni = strdup(optarg);
break;
default:
print_help();
@@ -259,8 +375,8 @@ int knsupdate_parse(knsupdate_params_t *params, int argc, char *argv[])
}
}
- /* No retries for TCP. */
- if (params->protocol == PROTO_TCP) {
+ /* Retries only for UDP. */
+ if (params->protocol == PROTO_TCP || params->quic_params.enable) {
params->retries = 0;
} else {
/* If wait/tries < 1 s, set 1 second for each try. */
@@ -277,7 +393,7 @@ int knsupdate_parse(knsupdate_params_t *params, int argc, char *argv[])
ptrlist_add(&params->qfiles, argv[optind], &params->mm);
}
- return ret;
+ return KNOT_EOK;
}
int knsupdate_set_ttl(knsupdate_params_t *params, const uint32_t ttl)
diff --git a/src/utils/knsupdate/knsupdate_params.h b/src/utils/knsupdate/knsupdate_params.h
index 1933244..fbf30e5 100644
--- a/src/utils/knsupdate/knsupdate_params.h
+++ b/src/utils/knsupdate/knsupdate_params.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2022 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,7 +20,9 @@
#include "utils/common/netio.h"
#include "utils/common/params.h"
+#include "utils/common/quic.h"
#include "utils/common/sign.h"
+#include "utils/common/tls.h"
#include "libknot/libknot.h"
#include "libzscanner/scanner.h"
#include "contrib/ucw/lists.h"
@@ -63,6 +65,10 @@ typedef struct {
style_t style;
/*!< Memory context. */
knot_mm_t mm;
+ /*!< TLS params. */
+ tls_params_t tls_params;
+ /*!< QUIC params. */
+ quic_params_t quic_params;
} knsupdate_params_t;
int knsupdate_parse(knsupdate_params_t *params, int argc, char *argv[]);
diff --git a/src/utils/kxdpgun/load_queries.c b/src/utils/kxdpgun/load_queries.c
index 8ecac48..fe7c9ae 100644
--- a/src/utils/kxdpgun/load_queries.c
+++ b/src/utils/kxdpgun/load_queries.c
@@ -16,9 +16,11 @@
#include <assert.h>
#include <errno.h>
+#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <arpa/inet.h>
#include "load_queries.h"
#include "libknot/libknot.h"
@@ -44,106 +46,181 @@ void free_global_payloads(void)
global_payloads = NULL;
}
-bool load_queries(const char *filename, uint16_t edns_size, uint16_t msgid, size_t maxcount)
+typedef struct {
+ char line[KNOT_DNAME_TXT_MAXLEN + 256];
+ char dname_txt[KNOT_DNAME_TXT_MAXLEN + 1];
+ uint8_t dname[KNOT_DNAME_MAXLEN];
+ char type_txt[128];
+ char flags_txt[128];
+} txt_bufs_t;
+
+typedef struct {
+ char line[USHRT_MAX];
+} bin_bufs_t;
+
+static int read_txt(struct pkt_payload **g_payloads_top_p, FILE *f, txt_bufs_t *bufs,
+ uint16_t edns_size, uint16_t msgid)
+{
+ assert(g_payloads_top_p != NULL);
+ struct pkt_payload *g_payloads_top = *g_payloads_top_p;
+ if (fgets(bufs->line, sizeof(bufs->line), f) == NULL) {
+ return 0;
+ }
+ bufs->flags_txt[0] = '\0';
+ int ret = sscanf(bufs->line, "%s%s%s", bufs->dname_txt, bufs->type_txt,
+ bufs->flags_txt);
+ if (ret < 2) {
+ ERR2(ERR_PREFIX "(faulty line): '%.*s'",
+ (int)strcspn(bufs->line, "\n"), bufs->line);
+ return KNOT_EINVAL;
+ }
+
+ void *pret = knot_dname_from_str(bufs->dname, bufs->dname_txt, sizeof(bufs->dname));
+ if (pret == NULL) {
+ ERR2(ERR_PREFIX "(faulty dname): '%s'", bufs->dname_txt);
+ return KNOT_EINVAL;
+ }
+
+ uint16_t type;
+ ret = knot_rrtype_from_string(bufs->type_txt, &type);
+ if (ret < 0) {
+ ERR2(ERR_PREFIX "(faulty type): '%s'", bufs->type_txt);
+ return KNOT_EINVAL;
+ }
+
+ enum qflags flags = 0;
+ switch (bufs->flags_txt[0]) {
+ case '\0':
+ break;
+ case 'e':
+ case 'E':
+ flags |= QFLAG_EDNS;
+ break;
+ case 'd':
+ case 'D':
+ flags |= QFLAG_EDNS | QFLAG_DO;
+ break;
+ default:
+ ERR2(ERR_PREFIX "(faulty flag): '%s'", bufs->flags_txt);
+ return KNOT_EINVAL;
+ }
+
+ size_t dname_len = knot_dname_size(bufs->dname);
+ size_t pkt_len = KNOT_WIRE_HEADER_SIZE + 2 * sizeof(uint16_t) + dname_len;
+ if (flags & QFLAG_EDNS) {
+ pkt_len += KNOT_EDNS_MIN_SIZE;
+ }
+
+ struct pkt_payload *pkt = calloc(1, sizeof(*pkt) + pkt_len);
+ if (pkt == NULL) {
+ ERR2(ERR_PREFIX "(out of memory)");
+ return KNOT_ENOMEM;
+ }
+ pkt->len = pkt_len;
+ memcpy(pkt->payload, &msgid, sizeof(msgid));
+ pkt->payload[2] = 0x01; // RD bit
+ pkt->payload[5] = 0x01; // 1 question
+ pkt->payload[11] = (flags & QFLAG_EDNS) ? 0x01 : 0x00;
+ memcpy(pkt->payload + 12, bufs->dname, dname_len);
+ pkt->payload[dname_len + 12] = type >> 8;
+ pkt->payload[dname_len + 13] = type & 0xff;
+ pkt->payload[dname_len + 15] = KNOT_CLASS_IN;
+ if (flags & QFLAG_EDNS) {
+ pkt->payload[dname_len + 18] = KNOT_RRTYPE_OPT;
+ pkt->payload[dname_len + 19] = edns_size >> 8;
+ pkt->payload[dname_len + 20] = edns_size & 0xff;
+ pkt->payload[dname_len + 23] = (flags & QFLAG_DO) ? 0x80 : 0x00;
+ }
+
+ // add pkt to list global_payloads
+ if (g_payloads_top == NULL) {
+ global_payloads = pkt;
+ *g_payloads_top_p = pkt;
+ } else {
+ g_payloads_top->next = pkt;
+ *g_payloads_top_p = pkt;
+ }
+ return pkt_len;
+}
+
+static int read_bin(struct pkt_payload **g_payloads_top_p, FILE *f, bin_bufs_t *bufs,
+ uint16_t msgid)
+{
+ assert(g_payloads_top_p != NULL);
+ struct pkt_payload *g_payloads_top = *g_payloads_top_p;
+ uint16_t size;
+ if (fread(&size, sizeof(size), 1, f) < 1) {
+ return 0;
+ }
+ size = ntohs(size);
+ if (fread(bufs->line, size, 1, f) < 1) {
+ return KNOT_EINVAL;
+ }
+ struct pkt_payload *pkt = calloc(1, sizeof(*pkt) + size);
+ if (pkt == NULL) {
+ ERR2(ERR_PREFIX "(out of memory)");
+ return KNOT_ENOMEM;
+ }
+ pkt->len = size;
+ memcpy(pkt->payload, &msgid, sizeof(msgid)); // Override msgID
+ memcpy(pkt->payload + 2, bufs->line + 2, size - 2);
+
+ // add pkt to list global_payloads
+ if (g_payloads_top == NULL) {
+ global_payloads = pkt;
+ *g_payloads_top_p = pkt;
+ } else {
+ g_payloads_top->next = pkt;
+ *g_payloads_top_p = pkt;
+ }
+ return size;
+}
+
+bool load_queries(const input_t *input, uint16_t edns_size, uint16_t msgid, size_t maxcount)
{
size_t read = 0;
- FILE *f = fopen(filename, "r");
+ FILE *f = fopen(input->path, (input->format == BIN) ? "rb" : "r");
if (f == NULL) {
- ERR2(ERR_PREFIX "file '%s' (%s)", filename, strerror(errno));
+ ERR2(ERR_PREFIX "file '%s' (%s)", input->path, strerror(errno));
return false;
}
- struct pkt_payload *g_payloads_top = NULL;
- struct {
- char line[KNOT_DNAME_TXT_MAXLEN + 256];
- char dname_txt[KNOT_DNAME_TXT_MAXLEN + 1];
- uint8_t dname[KNOT_DNAME_MAXLEN];
- char type_txt[128];
- char flags_txt[128];
- } *bufs;
- bufs = malloc(sizeof(*bufs)); // avoiding too much stuff on stack
+ void *bufs = NULL;
+ switch (input->format) {
+ case TXT:
+ bufs = malloc(sizeof(txt_bufs_t)); // avoiding too much stuff on stack
+ break;
+ case BIN:
+ bufs = malloc(sizeof(bin_bufs_t));
+ break;
+ default:
+ assert(0);
+ goto fail;
+ }
if (bufs == NULL) {
ERR2(ERR_PREFIX "(out of memory)");
goto fail;
}
+ struct pkt_payload *g_payloads_top = NULL;
while (read < maxcount) {
- if (fgets(bufs->line, sizeof(bufs->line), f) == NULL) {
+ int ret = 0;
+ switch (input->format) {
+ case TXT:
+ ret = read_txt(&g_payloads_top, f, bufs, edns_size, msgid);
break;
- }
- bufs->flags_txt[0] = '\0';
- int ret = sscanf(bufs->line, "%s%s%s", bufs->dname_txt, bufs->type_txt, bufs->flags_txt);
- if (ret < 2) {
- ERR2(ERR_PREFIX "(faulty line): '%.*s'",
- (int)strcspn(bufs->line, "\n"), bufs->line);
- goto fail;
- }
-
- void *pret = knot_dname_from_str(bufs->dname, bufs->dname_txt, sizeof(bufs->dname));
- if (pret == NULL) {
- ERR2(ERR_PREFIX "(faulty dname): '%s'", bufs->dname_txt);
- goto fail;
- }
-
- uint16_t type;
- ret = knot_rrtype_from_string(bufs->type_txt, &type);
- if (ret < 0) {
- ERR2(ERR_PREFIX "(faulty type): '%s'", bufs->type_txt);
- goto fail;
- }
-
- enum qflags flags = 0;
- switch (bufs->flags_txt[0]) {
- case '\0':
- break;
- case 'e':
- case 'E':
- flags |= QFLAG_EDNS;
- break;
- case 'd':
- case 'D':
- flags |= QFLAG_EDNS | QFLAG_DO;
+ case BIN:
+ ret = read_bin(&g_payloads_top, f, bufs, msgid);
break;
default:
- ERR2(ERR_PREFIX "(faulty flag): '%s'", bufs->flags_txt);
- goto fail;
- }
-
- size_t dname_len = knot_dname_size(bufs->dname);
- size_t pkt_len = KNOT_WIRE_HEADER_SIZE + 2 * sizeof(uint16_t) + dname_len;
- if (flags & QFLAG_EDNS) {
- pkt_len += KNOT_EDNS_MIN_SIZE;
+ ret = -1;
+ break;
}
-
- struct pkt_payload *pkt = calloc(1, sizeof(struct pkt_payload) + pkt_len);
- if (pkt == NULL) {
- ERR2(ERR_PREFIX "(out of memory)");
+ if (ret == 0) {
+ break;
+ } else if (ret < 0) {
goto fail;
}
- pkt->len = pkt_len;
- memcpy(pkt->payload, &msgid, sizeof(msgid));
- pkt->payload[2] = 0x01; // RD bit
- pkt->payload[5] = 0x01; // 1 question
- pkt->payload[11] = (flags & QFLAG_EDNS) ? 0x01 : 0x00;
- memcpy(pkt->payload + 12, bufs->dname, dname_len);
- pkt->payload[dname_len + 12] = type >> 8;
- pkt->payload[dname_len + 13] = type & 0xff;
- pkt->payload[dname_len + 15] = KNOT_CLASS_IN;
- if (flags & QFLAG_EDNS) {
- pkt->payload[dname_len + 18] = KNOT_RRTYPE_OPT;
- pkt->payload[dname_len + 19] = edns_size >> 8;
- pkt->payload[dname_len + 20] = edns_size & 0xff;
- pkt->payload[dname_len + 23] = (flags & QFLAG_DO) ? 0x80 : 0x00;
- }
-
- // add pkt to list global_payloads
- if (g_payloads_top == NULL) {
- global_payloads = pkt;
- g_payloads_top = pkt;
- } else {
- g_payloads_top->next = pkt;
- g_payloads_top = pkt;
- }
read++;
}
diff --git a/src/utils/kxdpgun/load_queries.h b/src/utils/kxdpgun/load_queries.h
index 3d7bace..09dfee9 100644
--- a/src/utils/kxdpgun/load_queries.h
+++ b/src/utils/kxdpgun/load_queries.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -19,6 +19,16 @@
#include <stdbool.h>
#include <stdint.h>
+enum input_format {
+ TXT = 0,
+ BIN
+};
+
+typedef struct {
+ const char *path;
+ enum input_format format;
+} input_t;
+
struct pkt_payload {
struct pkt_payload *next;
size_t len;
@@ -27,6 +37,6 @@ struct pkt_payload {
extern struct pkt_payload *global_payloads;
-bool load_queries(const char *filename, uint16_t edns_size, uint16_t msgid, size_t maxcount);
+bool load_queries(const input_t *input, uint16_t edns_size, uint16_t msgid, size_t maxcount);
void free_global_payloads(void);
diff --git a/src/utils/kxdpgun/main.c b/src/utils/kxdpgun/main.c
index 8f4d402..4e3aa31 100644
--- a/src/utils/kxdpgun/main.c
+++ b/src/utils/kxdpgun/main.c
@@ -14,12 +14,15 @@
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
+#include <arpa/inet.h>
#include <assert.h>
#include <errno.h>
#include <getopt.h>
#include <ifaddrs.h>
#include <inttypes.h>
#include <net/if.h>
+#include <netdb.h>
+#include <netinet/in.h>
#include <poll.h>
#include <pthread.h>
#include <signal.h>
@@ -28,16 +31,11 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <time.h>
-#include <unistd.h>
-#include <netdb.h>
-
-#include <arpa/inet.h>
-#include <netinet/in.h>
-#include <net/if.h>
#include <sys/ioctl.h>
-#include <sys/socket.h>
#include <sys/resource.h>
+#include <sys/socket.h>
+#include <time.h>
+#include <unistd.h>
#include "libknot/libknot.h"
#include "libknot/xdp.h"
@@ -46,101 +44,28 @@
#include <gnutls/gnutls.h>
#include "libknot/quic/quic.h"
#endif // ENABLE_QUIC
-#include "contrib/macros.h"
-#include "contrib/mempattern.h"
-#include "contrib/openbsd/strlcat.h"
+#include "contrib/atomic.h"
#include "contrib/openbsd/strlcpy.h"
#include "contrib/os.h"
#include "contrib/sockaddr.h"
#include "contrib/toeplitz.h"
-#include "contrib/ucw/mempool.h"
#include "utils/common/msg.h"
#include "utils/common/params.h"
#include "utils/kxdpgun/ip_route.h"
#include "utils/kxdpgun/load_queries.h"
-
-#define PROGRAM_NAME "kxdpgun"
-#define SPACE " "
-
-enum {
- KXDPGUN_WAIT,
- KXDPGUN_START,
- KXDPGUN_STOP,
-};
+#include "utils/kxdpgun/main.h"
+#include "utils/kxdpgun/stats.h"
volatile int xdp_trigger = KXDPGUN_WAIT;
-volatile unsigned stats_trigger = 0;
+volatile knot_atomic_uint64_t stats_trigger = 0;
+volatile knot_atomic_bool stats_switch = STATS_SUM;
unsigned global_cpu_aff_start = 0;
unsigned global_cpu_aff_step = 1;
-#define REMOTE_PORT_DEFAULT 53
-#define REMOTE_PORT_DOQ_DEFAULT 853
-#define LOCAL_PORT_MIN 2000
-#define LOCAL_PORT_MAX 65535
-#define QUIC_THREAD_PORTS 100
-
-#define RCODE_MAX (0x0F + 1)
-
-typedef struct {
- size_t collected;
- uint64_t duration;
- uint64_t qry_sent;
- uint64_t synack_recv;
- uint64_t ans_recv;
- uint64_t finack_recv;
- uint64_t rst_recv;
- uint64_t size_recv;
- uint64_t wire_recv;
- uint64_t rcodes_recv[RCODE_MAX];
- pthread_mutex_t mutex;
-} kxdpgun_stats_t;
-
static kxdpgun_stats_t global_stats = { 0 };
-typedef enum {
- KXDPGUN_IGNORE_NONE = 0,
- KXDPGUN_IGNORE_QUERY = (1 << 0),
- KXDPGUN_IGNORE_LASTBYTE = (1 << 1),
- KXDPGUN_IGNORE_CLOSE = (1 << 2),
- KXDPGUN_REUSE_CONN = (1 << 3),
-} xdp_gun_ignore_t;
-
-typedef struct {
- union {
- struct sockaddr_in local_ip4;
- struct sockaddr_in6 local_ip;
- struct sockaddr_storage local_ip_ss;
- };
- union {
- struct sockaddr_in target_ip4;
- struct sockaddr_in6 target_ip;
- struct sockaddr_storage target_ip_ss;
- };
- char dev[IFNAMSIZ];
- uint64_t qps, duration;
- unsigned at_once;
- uint16_t msgid;
- uint16_t edns_size;
- uint16_t vlan_tci;
- uint8_t local_mac[6], target_mac[6];
- uint8_t local_ip_range;
- bool ipv6;
- bool tcp;
- bool quic;
- bool quic_full_handshake;
- const char *qlog_dir;
- const char *sending_mode;
- xdp_gun_ignore_t ignore1;
- knot_tcp_ignore_t ignore2;
- uint16_t target_port;
- knot_xdp_filter_flag_t flags;
- unsigned n_threads, thread_id;
- knot_eth_rss_conf_t *rss_conf;
- knot_xdp_config_t xdp_config;
-} xdp_gun_ctx_t;
-
const static xdp_gun_ctx_t ctx_defaults = {
.dev[0] = '\0',
.edns_size = 1232,
@@ -150,7 +75,9 @@ const static xdp_gun_ctx_t ctx_defaults = {
.sending_mode = "",
.target_port = 0,
.flags = KNOT_XDP_FILTER_UDP | KNOT_XDP_FILTER_PASS,
- .xdp_config = { .extra_frames = true },
+ .xdp_config = { .ring_size = 2048 },
+ .jw = NULL,
+ .stats_period = 0,
};
static void sigterm_handler(int signo)
@@ -163,103 +90,8 @@ static void sigusr_handler(int signo)
{
assert(signo == SIGUSR1);
if (global_stats.collected == 0) {
- stats_trigger++;
- }
-}
-
-static void clear_stats(kxdpgun_stats_t *st)
-{
- pthread_mutex_lock(&st->mutex);
- st->duration = 0;
- st->qry_sent = 0;
- st->synack_recv = 0;
- st->ans_recv = 0;
- st->finack_recv = 0;
- st->rst_recv = 0;
- st->size_recv = 0;
- st->wire_recv = 0;
- st->collected = 0;
- memset(st->rcodes_recv, 0, sizeof(st->rcodes_recv));
- pthread_mutex_unlock(&st->mutex);
-}
-
-static size_t collect_stats(kxdpgun_stats_t *into, const kxdpgun_stats_t *what)
-{
- pthread_mutex_lock(&into->mutex);
- into->duration = MAX(into->duration, what->duration);
- into->qry_sent += what->qry_sent;
- into->synack_recv += what->synack_recv;
- into->ans_recv += what->ans_recv;
- into->finack_recv += what->finack_recv;
- into->rst_recv += what->rst_recv;
- into->size_recv += what->size_recv;
- into->wire_recv += what->wire_recv;
- for (int i = 0; i < RCODE_MAX; i++) {
- into->rcodes_recv[i] += what->rcodes_recv[i];
+ ATOMIC_ADD(stats_trigger, 1);
}
- size_t res = ++into->collected;
- pthread_mutex_unlock(&into->mutex);
- return res;
-}
-
-static void print_stats(kxdpgun_stats_t *st, bool tcp, bool quic, bool recv, uint64_t qps)
-{
- pthread_mutex_lock(&st->mutex);
-
-#define ps(counter) ((typeof(counter))((counter) * 1000 / ((float)st->duration / 1000)))
-#define pct(counter) ((counter) * 100.0 / st->qry_sent)
-
- const char *name = tcp ? "SYNs: " : quic ? "initials:" : "queries: ";
- printf("total %s %"PRIu64" (%"PRIu64" pps) (%f%%)\n", name, st->qry_sent,
- ps(st->qry_sent), 100.0 * st->qry_sent / (st->duration / 1000000.0 * qps));
- if (st->qry_sent > 0 && recv) {
- if (tcp || quic) {
- name = tcp ? "established:" : "handshakes: ";
- printf("total %s %"PRIu64" (%"PRIu64" pps) (%f%%)\n", name,
- st->synack_recv, ps(st->synack_recv), pct(st->synack_recv));
- }
- printf("total replies: %"PRIu64" (%"PRIu64" pps) (%f%%)\n",
- st->ans_recv, ps(st->ans_recv), pct(st->ans_recv));
- if (tcp) {
- printf("total closed: %"PRIu64" (%"PRIu64" pps) (%f%%)\n",
- st->finack_recv, ps(st->finack_recv), pct(st->finack_recv));
- }
- if (st->rst_recv > 0) {
- printf("total reset: %"PRIu64" (%"PRIu64" pps) (%f%%)\n",
- st->rst_recv, ps(st->rst_recv), pct(st->rst_recv));
- }
- printf("average DNS reply size: %"PRIu64" B\n",
- st->ans_recv > 0 ? st->size_recv / st->ans_recv : 0);
- printf("average Ethernet reply rate: %"PRIu64" bps (%.2f Mbps)\n",
- ps(st->wire_recv * 8), ps((float)st->wire_recv * 8 / (1000 * 1000)));
-
- for (int i = 0; i < RCODE_MAX; i++) {
- if (st->rcodes_recv[i] > 0) {
- const knot_lookup_t *rcode = knot_lookup_by_id(knot_rcode_names, i);
- const char *rcname = rcode == NULL ? "unknown" : rcode->name;
- int space = MAX(9 - strlen(rcname), 0);
- printf("responded %s: %.*s%"PRIu64"\n",
- rcname, space, " ", st->rcodes_recv[i]);
- }
- }
- }
- printf("duration: %"PRIu64" s\n", (st->duration / (1000 * 1000)));
-
- pthread_mutex_unlock(&st->mutex);
-}
-
-inline static void timer_start(struct timespec *timesp)
-{
- clock_gettime(CLOCK_MONOTONIC, timesp);
-}
-
-inline static uint64_t timer_end(struct timespec *timesp)
-{
- struct timespec end;
- clock_gettime(CLOCK_MONOTONIC, &end);
- uint64_t res = (end.tv_sec - timesp->tv_sec) * (uint64_t)1000000;
- res += ((int64_t)end.tv_nsec - timesp->tv_nsec) / 1000;
- return res;
}
static unsigned addr_bits(bool ipv6)
@@ -267,7 +99,8 @@ static unsigned addr_bits(bool ipv6)
return ipv6 ? 128 : 32;
}
-static void shuffle_sockaddr4(struct sockaddr_in *dst, struct sockaddr_in *src, uint64_t increment)
+static void shuffle_sockaddr4(struct sockaddr_in *dst, struct sockaddr_in *src,
+ uint64_t increment)
{
memcpy(&dst->sin_addr, &src->sin_addr, sizeof(dst->sin_addr));
if (increment > 0) {
@@ -275,7 +108,8 @@ static void shuffle_sockaddr4(struct sockaddr_in *dst, struct sockaddr_in *src,
}
}
-static void shuffle_sockaddr6(struct sockaddr_in6 *dst, struct sockaddr_in6 *src, uint64_t increment)
+static void shuffle_sockaddr6(struct sockaddr_in6 *dst, struct sockaddr_in6 *src,
+ uint64_t increment)
{
memcpy(&dst->sin6_addr, &src->sin6_addr, sizeof(dst->sin6_addr));
if (increment > 0) {
@@ -293,7 +127,8 @@ static void shuffle_sockaddr(struct sockaddr_in6 *dst, struct sockaddr_in6 *src,
if (src->sin6_family == AF_INET6) {
shuffle_sockaddr6(dst, src, increment);
} else {
- shuffle_sockaddr4((struct sockaddr_in *)dst, (struct sockaddr_in *)src, increment);
+ shuffle_sockaddr4((struct sockaddr_in *)dst, (struct sockaddr_in *)src,
+ increment);
}
}
@@ -311,7 +146,8 @@ static void next_payload(struct pkt_payload **payload, int increment)
}
}
-static void put_dns_payload(struct iovec *put_into, bool zero_copy, xdp_gun_ctx_t *ctx, struct pkt_payload **payl)
+static void put_dns_payload(struct iovec *put_into, bool zero_copy, xdp_gun_ctx_t *ctx,
+ struct pkt_payload **payl)
{
if (zero_copy) {
put_into->iov_base = (*payl)->payload;
@@ -472,19 +308,41 @@ static void quic_free_cb(knot_quic_reply_t *rpl)
}
#endif // ENABLE_QUIC
+static uint64_t timestamp_ns(void)
+{
+ struct timespec ts;
+ clock_gettime(CLOCK_REALTIME, &ts);
+ return ((uint64_t)ts.tv_sec * 1000000000) + ts.tv_nsec;
+}
+
+static void timer_start(struct timespec *out)
+{
+ clock_gettime(CLOCK_MONOTONIC, out);
+}
+
+static uint64_t timer_end_ns(const struct timespec *start)
+{
+ struct timespec end;
+ clock_gettime(CLOCK_MONOTONIC, &end);
+ uint64_t res = (end.tv_sec - start->tv_sec) * (uint64_t)1000000000;
+ res += end.tv_nsec - start->tv_nsec;
+ return res;
+}
+
void *xdp_gun_thread(void *_ctx)
{
xdp_gun_ctx_t *ctx = _ctx;
- struct knot_xdp_socket *xsk;
- struct timespec timer;
+ struct knot_xdp_socket *xsk = NULL;
knot_xdp_msg_t pkts[ctx->at_once];
- uint64_t errors = 0, lost = 0, duration = 0;
- kxdpgun_stats_t local_stats = { 0 };
+ uint64_t duration_us = 0;
+ struct timespec timer;
+ kxdpgun_stats_t local_stats = { 0 }; // cumulative stats of past periods excluding the current
+ kxdpgun_stats_t periodic_stats = { 0 }; // stats for the current period (see -S option)
unsigned stats_triggered = 0;
knot_tcp_table_t *tcp_table = NULL;
#ifdef ENABLE_QUIC
knot_quic_table_t *quic_table = NULL;
- struct knot_quic_creds *quic_creds = NULL;
+ struct knot_creds *quic_creds = NULL;
list_t quic_sessions;
init_list(&quic_sessions);
#endif // ENABLE_QUIC
@@ -496,20 +354,21 @@ void *xdp_gun_thread(void *_ctx)
tcp_table = knot_tcp_table_new(ctx->qps, NULL);
if (tcp_table == NULL) {
ERR2("failed to allocate TCP connection table");
- return NULL;
+ goto cleanup;
}
}
if (ctx->quic) {
#ifdef ENABLE_QUIC
- quic_creds = knot_quic_init_creds_peer(NULL, NULL, 0);
+ quic_creds = knot_creds_init_peer(NULL, NULL, 0);
if (quic_creds == NULL) {
ERR2("failed to initialize QUIC context");
- return NULL;
+ goto cleanup;
}
- quic_table = knot_quic_table_new(ctx->qps * 100, SIZE_MAX, SIZE_MAX, 1232, quic_creds);
+ quic_table = knot_quic_table_new(ctx->qps * 100, SIZE_MAX, SIZE_MAX,
+ 1232, quic_creds);
if (quic_table == NULL) {
ERR2("failed to allocate QUIC connection table");
- return NULL;
+ goto cleanup;
}
quic_table->qlog_dir = ctx->qlog_dir;
#else
@@ -517,12 +376,12 @@ void *xdp_gun_thread(void *_ctx)
#endif // ENABLE_QUIC
}
- knot_xdp_load_bpf_t mode = (ctx->thread_id == 0 ?
- KNOT_XDP_LOAD_BPF_ALWAYS : KNOT_XDP_LOAD_BPF_NEVER);
+ knot_xdp_load_bpf_t mode =
+ (ctx->thread_id == 0 ? KNOT_XDP_LOAD_BPF_ALWAYS : KNOT_XDP_LOAD_BPF_NEVER);
/*
* This mutex prevents libbpf from logging:
* 'libbpf: can't get link by id (5535): Resource temporarily unavailable'
- */
+ */
pthread_mutex_lock(&global_stats.mutex);
int ret = knot_xdp_init(&xsk, ctx->dev, ctx->thread_id, ctx->flags,
LOCAL_PORT_MIN, LOCAL_PORT_MIN, mode, &ctx->xdp_config);
@@ -530,18 +389,11 @@ void *xdp_gun_thread(void *_ctx)
if (ret != KNOT_EOK) {
ERR2("failed to initialize XDP socket#%u on interface %s (%s)",
ctx->thread_id, ctx->dev, knot_strerror(ret));
- knot_tcp_table_free(tcp_table);
- return NULL;
+ goto cleanup;
}
if (ctx->thread_id == 0) {
- INFO2("using interface %s, XDP threads %u, IPv%c/%s%s%s, %s mode",
- ctx->dev, ctx->n_threads, (ctx->ipv6 ? '6' : '4'),
- (ctx->tcp ? "TCP" : ctx->quic ? "QUIC" : "UDP"),
- (ctx->sending_mode[0] != '\0' ? " mode " : ""),
- (ctx->sending_mode[0] != '\0' ? ctx->sending_mode : ""),
- (knot_eth_xdp_mode(if_nametoindex(ctx->dev)) == KNOT_XDP_MODE_FULL ?
- "native" : "emulated"));
+ STATS_HDR(ctx);
}
struct pollfd pfd = { knot_xdp_socket_fd(xsk), POLLIN, 0 };
@@ -577,7 +429,7 @@ void *xdp_gun_thread(void *_ctx)
ctx->target_ip.sin6_port = htobe16(ctx->target_port);
knot_sweep_stats_t sweep_stats = { 0 };
- uint16_t local_ports[QUIC_THREAD_PORTS];
+ uint16_t local_ports[QUIC_THREAD_PORTS] = { 0 };
uint16_t port = LOCAL_PORT_MIN;
for (int i = 0; ctx->quic && i < QUIC_THREAD_PORTS; ++i) {
local_ports[i] = adjust_port(ctx, port);
@@ -587,24 +439,25 @@ void *xdp_gun_thread(void *_ctx)
size_t local_ports_it = 0;
#endif // ENABLE_QUIC
+ local_stats.since = periodic_stats.since = timestamp_ns();
timer_start(&timer);
+ ctx->stats_start_us = local_stats.since / 1000;
- while (duration < ctx->duration + extra_wait) {
-
+ while (duration_us < ctx->duration + extra_wait) {
// sending part
- if (duration < ctx->duration) {
+ if (duration_us < ctx->duration) {
while (1) {
knot_xdp_send_prepare(xsk);
unsigned alloced = alloc_pkts(pkts, xsk, ctx, tick);
if (alloced < ctx->at_once) {
- lost += ctx->at_once - alloced;
+ periodic_stats.lost += ctx->at_once - alloced;
if (alloced == 0) {
break;
}
}
if (ctx->tcp) {
- for (int i = 0; i < alloced; i++) {
+ for (uint32_t i = 0; i < alloced; i++) {
pkts[i].payload.iov_len = 0;
if (!EMPTY_LIST(reuse_conns)) {
@@ -622,7 +475,7 @@ void *xdp_gun_thread(void *_ctx)
}
if (ret == KNOT_EOK) {
pkts[i].flags &= ~KNOT_XDP_MSG_SYN; // skip sending respective packet
- local_stats.qry_sent++;
+ periodic_stats.qry_sent++;
}
free(rl);
}
@@ -671,14 +524,14 @@ void *xdp_gun_thread(void *_ctx)
(ctx->ignore1 & KXDPGUN_IGNORE_LASTBYTE) ? KNOT_QUIC_SEND_IGNORE_LASTBYTE : 0);
}
if (ret == KNOT_EOK) {
- local_stats.qry_sent++;
+ periodic_stats.qry_sent++;
}
}
(void)knot_xdp_send_finish(xsk);
#endif // ENABLE_QUIC
break;
} else {
- for (int i = 0; i < alloced; i++) {
+ for (uint32_t i = 0; i < alloced; i++) {
put_dns_payload(&pkts[i].payload, false,
ctx, &payload_ptr);
}
@@ -686,9 +539,9 @@ void *xdp_gun_thread(void *_ctx)
uint32_t really_sent = 0;
if (knot_xdp_send(xsk, pkts, alloced, &really_sent) != KNOT_EOK) {
- lost += alloced;
+ periodic_stats.lost += alloced;
}
- local_stats.qry_sent += really_sent;
+ periodic_stats.qry_sent += really_sent;
(void)knot_xdp_send_finish(xsk);
break;
@@ -700,7 +553,7 @@ void *xdp_gun_thread(void *_ctx)
while (1) {
ret = poll(&pfd, 1, 0);
if (ret < 0) {
- errors++;
+ periodic_stats.errors++;
break;
}
if (!pfd.revents) {
@@ -715,18 +568,19 @@ void *xdp_gun_thread(void *_ctx)
}
if (ctx->tcp) {
knot_tcp_relay_t relays[recvd];
- ret = knot_tcp_recv(relays, pkts, recvd, tcp_table, NULL, ctx->ignore2);
- if (ret != KNOT_EOK) {
- errors++;
- break;
- }
for (size_t i = 0; i < recvd; i++) {
knot_tcp_relay_t *rl = &relays[i];
+ ret = knot_tcp_recv(rl, &pkts[i], tcp_table, NULL, ctx->ignore2);
+ if (ret != KNOT_EOK) {
+ periodic_stats.errors++;
+ continue;
+ }
+
struct iovec payl;
switch (rl->action) {
case XDP_TCP_ESTABLISH:
- local_stats.synack_recv++;
+ periodic_stats.synack_recv++;
if (ctx->ignore1 & KXDPGUN_IGNORE_QUERY) {
break;
}
@@ -735,20 +589,20 @@ void *xdp_gun_thread(void *_ctx)
(ctx->ignore1 & KXDPGUN_IGNORE_LASTBYTE),
payl.iov_base, payl.iov_len);
if (ret != KNOT_EOK) {
- errors++;
+ periodic_stats.errors++;
}
break;
case XDP_TCP_CLOSE:
- local_stats.finack_recv++;
+ periodic_stats.finack_recv++;
break;
case XDP_TCP_RESET:
- local_stats.rst_recv++;
+ periodic_stats.rst_recv++;
break;
default:
break;
}
for (size_t j = 0; rl->inbf != NULL && j < rl->inbf->n_inbufs; j++) {
- if (check_dns_payload(&rl->inbf->inbufs[j], ctx, &local_stats)) {
+ if (check_dns_payload(&rl->inbf->inbufs[j], ctx, &periodic_stats)) {
if (!(ctx->ignore1 & KXDPGUN_IGNORE_CLOSE)) {
rl->answer = XDP_TCP_CLOSE;
} else if ((ctx->ignore1 & KXDPGUN_REUSE_CONN)) {
@@ -764,7 +618,7 @@ void *xdp_gun_thread(void *_ctx)
ret = knot_tcp_send(xsk, relays, recvd, ctx->at_once);
if (ret != KNOT_EOK) {
- errors++;
+ periodic_stats.errors++;
}
(void)knot_xdp_send_finish(xsk);
@@ -782,11 +636,11 @@ void *xdp_gun_thread(void *_ctx)
ret = knot_quic_handle(quic_table, &quic_reply, 5000000000L, &conn);
if (ret == KNOT_ECONN) {
- local_stats.rst_recv++;
+ periodic_stats.rst_recv++;
knot_quic_cleanup(&conn, 1);
continue;
} else if (ret != 0) {
- errors++;
+ periodic_stats.errors++;
knot_quic_cleanup(&conn, 1);
break;
}
@@ -806,7 +660,7 @@ void *xdp_gun_thread(void *_ctx)
if ((conn->flags & KNOT_QUIC_CONN_HANDSHAKE_DONE) && conn->streams_count == -1) {
conn->streams_count = 1;
- local_stats.synack_recv++;
+ periodic_stats.synack_recv++;
if ((ctx->ignore1 & KXDPGUN_IGNORE_QUERY)) {
knot_quic_table_rem(conn, quic_table);
knot_quic_cleanup(&conn, 1);
@@ -823,14 +677,14 @@ void *xdp_gun_thread(void *_ctx)
if ((ctx->ignore2 & XDP_TCP_IGNORE_ESTABLISH)) {
knot_quic_table_rem(conn, quic_table);
knot_quic_cleanup(&conn, 1);
- local_stats.synack_recv++;
+ periodic_stats.synack_recv++;
continue;
}
int64_t s0id;
knot_quic_stream_t *stream0 = knot_quic_stream_get_process(conn, &s0id);
if (stream0 != NULL && stream0->inbufs != NULL && stream0->inbufs->n_inbufs > 0) {
- check_dns_payload(&stream0->inbufs->inbufs[0], ctx, &local_stats);
+ check_dns_payload(&stream0->inbufs->inbufs[0], ctx, &periodic_stats);
stream0->inbufs->n_inbufs = 0; // signal that data have been read out
if ((ctx->ignore2 & XDP_TCP_IGNORE_DATA_ACK)) {
@@ -838,7 +692,9 @@ void *xdp_gun_thread(void *_ctx)
knot_quic_cleanup(&conn, 1);
continue;
} else if ((ctx->ignore1 & KXDPGUN_REUSE_CONN)) {
- if (conn->streams_count > 1) { // keep the number of outstanding streams below MAX_STREAMS_PER_CONN, while preserving at least one at all times
+ /* keep the number of outstanding streams below MAX_STREAMS_PER_CONN,
+ * while preserving at least one at all times */
+ if (conn->streams_count > 1) {
knot_quic_conn_stream_free(conn, conn->streams_first * 4);
}
ptrlist_add(&reuse_conns, conn, NULL);
@@ -847,30 +703,31 @@ void *xdp_gun_thread(void *_ctx)
ret = knot_quic_send(quic_table, conn, &quic_reply, 4,
(ctx->ignore1 & KXDPGUN_IGNORE_LASTBYTE) ? KNOT_QUIC_SEND_IGNORE_LASTBYTE : 0);
if (ret != KNOT_EOK) {
- errors++;
+ periodic_stats.errors++;
}
- if (!(ctx->ignore1 & KXDPGUN_IGNORE_CLOSE) && (conn->flags & KNOT_QUIC_CONN_SESSION_TAKEN) &&
- stream0 != NULL && stream0->inbufs != NULL && stream0->inbufs->n_inbufs == 0) {
+ if (!(ctx->ignore1 & KXDPGUN_IGNORE_CLOSE)
+ && (conn->flags & KNOT_QUIC_CONN_SESSION_TAKEN)
+ && stream0 != NULL && stream0->inbufs != NULL
+ && stream0->inbufs->n_inbufs == 0) {
assert(!(ctx->ignore2 & XDP_TCP_IGNORE_DATA_ACK));
quic_reply.handle_ret = KNOT_QUIC_HANDLE_RET_CLOSE;
ret = knot_quic_send(quic_table, conn, &quic_reply, 1, 0);
knot_quic_table_rem(conn, quic_table);
knot_quic_cleanup(&conn, 1);
if (ret != KNOT_EOK) {
- errors++;
+ periodic_stats.errors++;
}
}
}
(void)knot_xdp_send_finish(xsk);
#endif // ENABLE_QUIC
} else {
- for (int i = 0; i < recvd; i++) {
- (void)check_dns_payload(&pkts[i].payload, ctx,
- &local_stats);
+ for (uint32_t i = 0; i < recvd; i++) {
+ check_dns_payload(&pkts[i].payload, ctx, &periodic_stats);
}
}
- local_stats.wire_recv += wire;
+ periodic_stats.wire_recv += wire;
knot_xdp_recv_finish(xsk, pkts, recvd);
pfd.revents = 0;
}
@@ -883,34 +740,62 @@ void *xdp_gun_thread(void *_ctx)
#endif // ENABLE_QUIC
// speed and signal part
- uint64_t dura_exp = (local_stats.qry_sent * 1000000) / ctx->qps;
- duration = timer_end(&timer);
- if (xdp_trigger == KXDPGUN_STOP && ctx->duration > duration) {
- ctx->duration = duration;
+ uint64_t duration_ns = timer_end_ns(&timer);
+ duration_us = duration_ns / 1000;
+ uint64_t dura_exp = ((local_stats.qry_sent + periodic_stats.qry_sent) * 1000000) / ctx->qps;
+ if (ctx->thread_id == 0 && ctx->stats_period != 0 && global_stats.collected == 0
+ && (duration_ns - (periodic_stats.since - local_stats.since)) >= ctx->stats_period) {
+ ATOMIC_SET(stats_switch, STATS_PERIODIC);
+ ATOMIC_ADD(stats_trigger, 1);
}
- if (stats_trigger > stats_triggered) {
- assert(stats_trigger == stats_triggered + 1);
- stats_triggered++;
- local_stats.duration = duration;
- size_t collected = collect_stats(&global_stats, &local_stats);
+ if (xdp_trigger == KXDPGUN_STOP && ctx->duration > duration_us) {
+ ctx->duration = duration_us;
+ }
+ uint64_t tmp_stats_trigger = ATOMIC_GET(stats_trigger);
+ if (duration_us < ctx->duration && tmp_stats_trigger > stats_triggered) {
+ bool tmp_stats_switch = ATOMIC_GET(stats_switch);
+ stats_triggered = tmp_stats_trigger;
+
+ local_stats.until = periodic_stats.until = local_stats.since + duration_ns;
+ kxdpgun_stats_t cumulative_stats = periodic_stats;
+ if (tmp_stats_switch == STATS_PERIODIC) {
+ collect_periodic_stats(&local_stats, &periodic_stats);
+ clear_stats(&periodic_stats);
+ periodic_stats.since = local_stats.since + duration_ns;
+ } else {
+ collect_periodic_stats(&cumulative_stats, &local_stats);
+ cumulative_stats.since = local_stats.since;
+ }
+
+ size_t collected = collect_stats(&global_stats, &cumulative_stats);
+
assert(collected <= ctx->n_threads);
if (collected == ctx->n_threads) {
- print_stats(&global_stats, ctx->tcp, ctx->quic,
- !(ctx->flags & KNOT_XDP_FILTER_DROP),
- ctx->qps * ctx->n_threads);
+ STATS_FMT(ctx, &global_stats, tmp_stats_switch);
+ if (!JSON_MODE(*ctx)) {
+ puts(STATS_SECTION_SEP);
+ }
clear_stats(&global_stats);
+ ATOMIC_SET(stats_switch, STATS_SUM);
}
}
- if (dura_exp > duration) {
- usleep(dura_exp - duration);
+ if (dura_exp > duration_us) {
+ usleep(dura_exp - duration_us);
}
- if (duration > ctx->duration) {
+ if (duration_us > ctx->duration) {
usleep(1000);
}
tick++;
}
+ periodic_stats.until = local_stats.since + timer_end_ns(&timer) - extra_wait * 1000;
+ collect_periodic_stats(&local_stats, &periodic_stats);
+
+ STATS_THRD(ctx, &local_stats);
+ collect_stats(&global_stats, &local_stats);
+
+cleanup:
knot_xdp_deinit(xsk);
if (ctx->tcp) {
@@ -928,24 +813,9 @@ void *xdp_gun_thread(void *_ctx)
WALK_LIST_DELSAFE(n, nxt, quic_sessions) {
knot_quic_session_load(NULL, n);
}
- knot_quic_free_creds(quic_creds);
+ knot_creds_free(quic_creds);
#endif // ENABLE_QUIC
- char recv_str[40] = "", lost_str[40] = "", err_str[40] = "";
- if (!(ctx->flags & KNOT_XDP_FILTER_DROP)) {
- (void)snprintf(recv_str, sizeof(recv_str), ", received %"PRIu64, local_stats.ans_recv);
- }
- if (lost > 0) {
- (void)snprintf(lost_str, sizeof(lost_str), ", lost %"PRIu64, lost);
- }
- if (errors > 0) {
- (void)snprintf(err_str, sizeof(err_str), ", errors %"PRIu64, errors);
- }
- INFO2("thread#%02u: sent %"PRIu64"%s%s%s",
- ctx->thread_id, local_stats.qry_sent, recv_str, lost_str, err_str);
- local_stats.duration = ctx->duration;
- collect_stats(&global_stats, &local_stats);
-
return NULL;
}
@@ -1118,30 +988,33 @@ static void print_help(void)
printf("Usage: %s [options] -i <queries_file> <dest_ip>\n"
"\n"
"Options:\n"
- " -t, --duration <sec> "SPACE"Duration of traffic generation.\n"
- " "SPACE" (default is %"PRIu64" seconds)\n"
- " -T, --tcp[=debug_mode] "SPACE"Send queries over TCP.\n"
- " -U, --quic[=debug_mode] "SPACE"Send queries over QUIC.\n"
- " -Q, --qps <qps> "SPACE"Number of queries-per-second (approximately) to be sent.\n"
- " "SPACE" (default is %"PRIu64" qps)\n"
- " -b, --batch <size> "SPACE"Send queries in a batch of defined size.\n"
- " "SPACE" (default is %d for UDP, %d for TCP)\n"
- " -r, --drop "SPACE"Drop incoming responses (disables response statistics).\n"
- " -p, --port <port> "SPACE"Remote destination port.\n"
- " "SPACE" (default is %d for UDP/TCP, %u for QUIC)\n"
- " -F, --affinity <spec> "SPACE"CPU affinity in the format [<cpu_start>][s<cpu_step>].\n"
- " "SPACE" (default is %s)\n"
- " -i, --infile <file> "SPACE"Path to a file with query templates.\n"
- " -I, --interface <ifname> "SPACE"Override auto-detected interface for outgoing communication.\n"
- " -l, --local <ip[/prefix]>"SPACE"Override auto-detected source IP address or subnet.\n"
- " -L, --local-mac <MAC> "SPACE"Override auto-detected local MAC address.\n"
- " -R, --remote-mac <MAC> "SPACE"Override auto-detected remote MAC address.\n"
- " -v, --vlan <id> "SPACE"Add VLAN 802.1Q header with the given id.\n"
- " -e, --edns-size <size> "SPACE"EDNS UDP payload size, range 512-4096 (default 1232)\n"
- " -m, --mode <mode> "SPACE"Set XDP mode (auto, copy, generic).\n"
- " -G, --qlog <path> "SPACE"Output directory for qlog (useful for QUIC only).\n"
- " -h, --help "SPACE"Print the program help.\n"
- " -V, --version "SPACE"Print the program version.\n"
+ " -t, --duration <sec> "SPACE"Duration of traffic generation.\n"
+ " "SPACE" (default is %"PRIu64" seconds)\n"
+ " -T, --tcp[=debug_mode] "SPACE"Send queries over TCP.\n"
+ " -U, --quic[=debug_mode] "SPACE"Send queries over QUIC.\n"
+ " -Q, --qps <qps> "SPACE"Number of queries-per-second (approximately) to be sent.\n"
+ " "SPACE" (default is %"PRIu64" qps)\n"
+ " -b, --batch <size> "SPACE"Send queries in a batch of defined size.\n"
+ " "SPACE" (default is %d for UDP, %d for TCP)\n"
+ " -r, --drop "SPACE"Drop incoming responses (disables response statistics).\n"
+ " -p, --port <port> "SPACE"Remote destination port.\n"
+ " "SPACE" (default is %d for UDP/TCP, %u for QUIC)\n"
+ " -F, --affinity <spec> "SPACE"CPU affinity in the format [<cpu_start>][s<cpu_step>].\n"
+ " "SPACE" (default is %s)\n"
+ " -I, --interface <ifname> "SPACE"Override auto-detected interface for outgoing communication.\n"
+ " -i, --infile <file> "SPACE"Path to a file with query templates.\n"
+ " -B, --binary "SPACE"Specify that input file is in binary format (<length:2><wire:length>).\n"
+ " -l, --local <ip[/prefix]> "SPACE"Override auto-detected source IP address or subnet.\n"
+ " -L, --local-mac <MAC> "SPACE"Override auto-detected local MAC address.\n"
+ " -R, --remote-mac <MAC> "SPACE"Override auto-detected remote MAC address.\n"
+ " -v, --vlan <id> "SPACE"Add VLAN 802.1Q header with the given id.\n"
+ " -e, --edns-size <size> "SPACE"EDNS UDP payload size, range 512-4096 (default 1232)\n"
+ " -m, --mode <mode> "SPACE"Set XDP mode (auto, copy, generic).\n"
+ " -G, --qlog <path> "SPACE"Output directory for qlog (useful for QUIC only).\n"
+ " -j, --json "SPACE"Output statistics in json.\n"
+ " -S, --stats-period <period>"SPACE"Enable periodic statistics printout in milliseconds.\n"
+ " -h, --help "SPACE"Print the program help.\n"
+ " -V, --version "SPACE"Print the program version.\n"
"\n"
"Parameters:\n"
" <dest_ip> "SPACE"IPv4 or IPv6 address of the remote destination.\n",
@@ -1240,40 +1113,45 @@ static int set_mode(const char *arg, knot_xdp_config_t *config)
static bool get_opts(int argc, char *argv[], xdp_gun_ctx_t *ctx)
{
+ const char *opts_str = "hV::t:Q:b:rp:T::U::F:I:i:Bl:L:R:v:e:m:G:jS:";
struct option opts[] = {
- { "help", no_argument, NULL, 'h' },
- { "version", no_argument, NULL, 'V' },
- { "duration", required_argument, NULL, 't' },
- { "qps", required_argument, NULL, 'Q' },
- { "batch", required_argument, NULL, 'b' },
- { "drop", no_argument, NULL, 'r' },
- { "port", required_argument, NULL, 'p' },
- { "tcp", optional_argument, NULL, 'T' },
- { "quic", optional_argument, NULL, 'U' },
- { "affinity", required_argument, NULL, 'F' },
- { "interface", required_argument, NULL, 'I' },
- { "local", required_argument, NULL, 'l' },
- { "infile", required_argument, NULL, 'i' },
- { "local-mac", required_argument, NULL, 'L' },
- { "remote-mac", required_argument, NULL, 'R' },
- { "vlan", required_argument, NULL, 'v' },
- { "edns-size", required_argument, NULL, 'e' },
- { "mode", required_argument, NULL, 'm' },
- { "qlog", required_argument, NULL, 'G' },
- { NULL }
+ { "help", no_argument, NULL, 'h' },
+ { "version", optional_argument, NULL, 'V' },
+ { "duration", required_argument, NULL, 't' },
+ { "qps", required_argument, NULL, 'Q' },
+ { "batch", required_argument, NULL, 'b' },
+ { "drop", no_argument, NULL, 'r' },
+ { "port", required_argument, NULL, 'p' },
+ { "tcp", optional_argument, NULL, 'T' },
+ { "quic", optional_argument, NULL, 'U' },
+ { "affinity", required_argument, NULL, 'F' },
+ { "interface", required_argument, NULL, 'I' },
+ { "infile", required_argument, NULL, 'i' },
+ { "binary", no_argument, NULL, 'B' },
+ { "local", required_argument, NULL, 'l' },
+ { "local-mac", required_argument, NULL, 'L' },
+ { "remote-mac", required_argument, NULL, 'R' },
+ { "vlan", required_argument, NULL, 'v' },
+ { "edns-size", required_argument, NULL, 'e' },
+ { "mode", required_argument, NULL, 'm' },
+ { "qlog", required_argument, NULL, 'G' },
+ { "json", no_argument, NULL, 'j' },
+ { "stats-period", required_argument, NULL, 'S' },
+ { 0 }
};
int opt = 0, arg;
bool default_at_once = true;
double argf;
- char *argcp, *local_ip = NULL, *filename = NULL;
- while ((opt = getopt_long(argc, argv, "hVt:Q:b:rp:T::U::F:I:l:i:L:R:v:e:m:G:", opts, NULL)) != -1) {
+ char *argcp, *local_ip = NULL;
+ input_t input = { .format = TXT };
+ while ((opt = getopt_long(argc, argv, opts_str, opts, NULL)) != -1) {
switch (opt) {
case 'h':
print_help();
exit(EXIT_SUCCESS);
case 'V':
- print_version(PROGRAM_NAME);
+ print_version(PROGRAM_NAME, optarg != NULL);
exit(EXIT_SUCCESS);
case 't':
assert(optarg);
@@ -1366,12 +1244,15 @@ static bool get_opts(int argc, char *argv[], xdp_gun_ctx_t *ctx)
case 'I':
strlcpy(ctx->dev, optarg, IFNAMSIZ);
break;
+ case 'i':
+ input.path = optarg;
+ break;
+ case 'B':
+ input.format = BIN;
+ break;
case 'l':
local_ip = optarg;
break;
- case 'i':
- filename = optarg;
- break;
case 'L':
if (mac_sscan(optarg, ctx->local_mac) != KNOT_EOK) {
ERR2("invalid local MAC address '%s'", optarg);
@@ -1415,17 +1296,33 @@ static bool get_opts(int argc, char *argv[], xdp_gun_ctx_t *ctx)
case 'G':
ctx->qlog_dir = optarg;
break;
+ case 'S':
+ assert(optarg);
+ arg = atoi(optarg);
+ if (arg > 0) {
+ ctx->stats_period = arg * 1000000; // convert to ns
+ } else {
+ ERR2("period must be a positive integer\n");
+ return false;
+ }
+ break;
+ case 'j':
+ if ((ctx->jw = jsonw_new(stdout, JSON_INDENT)) == NULL) {
+ ERR2("failed to use JSON");
+ return false;
+ }
+ break;
default:
print_help();
return false;
}
}
- if (filename == NULL) {
+ if (input.path == NULL) {
print_help();
return false;
}
size_t qcount = ctx->duration / 1000000 * ctx->qps;
- if (!load_queries(filename, ctx->edns_size, ctx->msgid, qcount)) {
+ if (!load_queries(&input, ctx->edns_size, ctx->msgid, qcount)) {
return false;
}
if (global_payloads == NULL || argc - optind != 1) {
@@ -1452,25 +1349,29 @@ static bool get_opts(int argc, char *argv[], xdp_gun_ctx_t *ctx)
int main(int argc, char *argv[])
{
+ int ecode = EXIT_FAILURE;
+
xdp_gun_ctx_t ctx = ctx_defaults, *thread_ctxs = NULL;
ctx.msgid = time(NULL) % UINT16_MAX;
+ ctx.runid = timestamp_ns() / 1000;
+ ctx.argv = argv;
pthread_t *threads = NULL;
if (!get_opts(argc, argv, &ctx)) {
- free_global_payloads();
- return EXIT_FAILURE;
+ goto err;
+ }
+
+ if (JSON_MODE(ctx)) {
+ jsonw_list(ctx.jw, NULL); // wrap the json in a list, for syntactic correctness
}
thread_ctxs = calloc(ctx.n_threads, sizeof(*thread_ctxs));
threads = calloc(ctx.n_threads, sizeof(*threads));
if (thread_ctxs == NULL || threads == NULL) {
ERR2("out of memory");
- free(thread_ctxs);
- free(threads);
- free_global_payloads();
- return EXIT_FAILURE;
+ goto err;
}
- for (int i = 0; i < ctx.n_threads; i++) {
+ for (uint32_t i = 0; i < ctx.n_threads; i++) {
thread_ctxs[i] = ctx;
thread_ctxs[i].thread_id = i;
}
@@ -1482,8 +1383,7 @@ int main(int argc, char *argv[])
cur_limit.rlim_max != min_limit.rlim_max) {
int ret = setrlimit(RLIMIT_MEMLOCK, &min_limit);
if (ret != 0) {
- WARN2("unable to increase RLIMIT_MEMLOCK: %s",
- strerror(errno));
+ WARN2("unable to increase RLIMIT_MEMLOCK: %s", strerror(errno));
}
}
}
@@ -1509,22 +1409,30 @@ int main(int argc, char *argv[])
usleep(20000);
}
usleep(1000000);
-
xdp_trigger = KXDPGUN_START;
usleep(1000000);
for (size_t i = 0; i < ctx.n_threads; i++) {
pthread_join(threads[i], NULL);
}
- if (global_stats.duration > 0 && global_stats.qry_sent > 0) {
- print_stats(&global_stats, ctx.tcp, ctx.quic, !(ctx.flags & KNOT_XDP_FILTER_DROP), ctx.qps * ctx.n_threads);
+ if (DURATION_US(global_stats) > 0 && global_stats.qry_sent > 0) {
+ if (!JSON_MODE(ctx)) {
+ puts(STATS_SECTION_SEP);
+ }
+ STATS_FMT(&ctx, &global_stats, STATS_SUM);
}
pthread_mutex_destroy(&global_stats.mutex);
+ ecode = EXIT_SUCCESS;
+
+err:
free(ctx.rss_conf);
free(thread_ctxs);
free(threads);
free_global_payloads();
-
- return EXIT_SUCCESS;
+ if (JSON_MODE(ctx)) {
+ jsonw_end(ctx.jw);
+ jsonw_free(&ctx.jw);
+ }
+ return ecode;
}
diff --git a/src/utils/kxdpgun/main.h b/src/utils/kxdpgun/main.h
new file mode 100644
index 0000000..d87aee8
--- /dev/null
+++ b/src/utils/kxdpgun/main.h
@@ -0,0 +1,87 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <net/if.h>
+#include <netinet/in.h>
+#include <stdbool.h>
+
+#include "contrib/json.h"
+#include "libknot/xdp/eth.h"
+#include "libknot/xdp/tcp.h"
+
+#define PROGRAM_NAME "kxdpgun"
+#define SPACE " "
+
+#define REMOTE_PORT_DEFAULT 53
+#define REMOTE_PORT_DOQ_DEFAULT 853
+#define LOCAL_PORT_MIN 2000
+#define LOCAL_PORT_MAX 65535
+#define QUIC_THREAD_PORTS 100
+
+enum {
+ KXDPGUN_WAIT,
+ KXDPGUN_START,
+ KXDPGUN_STOP,
+};
+
+typedef enum {
+ KXDPGUN_IGNORE_NONE = 0,
+ KXDPGUN_IGNORE_QUERY = (1 << 0),
+ KXDPGUN_IGNORE_LASTBYTE = (1 << 1),
+ KXDPGUN_IGNORE_CLOSE = (1 << 2),
+ KXDPGUN_REUSE_CONN = (1 << 3),
+} xdp_gun_ignore_t;
+
+typedef struct xdp_gun_ctx {
+ union {
+ struct sockaddr_in local_ip4;
+ struct sockaddr_in6 local_ip;
+ struct sockaddr_storage local_ip_ss;
+ };
+ union {
+ struct sockaddr_in target_ip4;
+ struct sockaddr_in6 target_ip;
+ struct sockaddr_storage target_ip_ss;
+ };
+ char dev[IFNAMSIZ];
+ uint64_t qps, duration;
+ uint64_t runid;
+ uint64_t stats_start_us;
+ uint32_t stats_period; // 0 means no periodic stats
+ unsigned at_once;
+ uint16_t msgid;
+ uint16_t edns_size;
+ uint16_t vlan_tci;
+ uint8_t local_mac[6], target_mac[6];
+ uint8_t local_ip_range;
+ bool ipv6;
+ bool tcp;
+ bool quic;
+ bool quic_full_handshake;
+ const char *qlog_dir;
+ const char *sending_mode;
+ xdp_gun_ignore_t ignore1;
+ knot_tcp_ignore_t ignore2;
+ uint16_t target_port;
+ knot_xdp_filter_flag_t flags;
+ unsigned n_threads, thread_id;
+ knot_eth_rss_conf_t *rss_conf;
+ jsonw_t *jw;
+ char **argv;
+ knot_xdp_config_t xdp_config;
+} xdp_gun_ctx_t;
diff --git a/src/utils/kxdpgun/stats.c b/src/utils/kxdpgun/stats.c
new file mode 100644
index 0000000..f1e4f43
--- /dev/null
+++ b/src/utils/kxdpgun/stats.c
@@ -0,0 +1,292 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#include <assert.h>
+#include <limits.h>
+#include <pthread.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "contrib/macros.h"
+#include "libknot/codes.h"
+#include "libknot/lookup.h"
+#include "utils/common/msg.h"
+#include "utils/kxdpgun/main.h"
+#include "utils/kxdpgun/stats.h"
+
+pthread_mutex_t stdout_mtx = PTHREAD_MUTEX_INITIALIZER;
+
+void clear_stats(kxdpgun_stats_t *st)
+{
+ pthread_mutex_lock(&st->mutex);
+ st->since = 0;
+ st->until = 0;
+ st->qry_sent = 0;
+ st->synack_recv = 0;
+ st->ans_recv = 0;
+ st->finack_recv = 0;
+ st->rst_recv = 0;
+ st->size_recv = 0;
+ st->wire_recv = 0;
+ st->collected = 0;
+ st->lost = 0;
+ st->errors = 0;
+ memset(st->rcodes_recv, 0, sizeof(st->rcodes_recv));
+ pthread_mutex_unlock(&st->mutex);
+}
+
+size_t collect_stats(kxdpgun_stats_t *into, const kxdpgun_stats_t *what)
+{
+ pthread_mutex_lock(&into->mutex);
+ into->since = what->since;
+ collect_periodic_stats(into, what);
+ size_t res = ++into->collected;
+ pthread_mutex_unlock(&into->mutex);
+ return res;
+}
+
+void collect_periodic_stats(kxdpgun_stats_t *into, const kxdpgun_stats_t *what)
+{
+ into->until = what->until;
+ into->qry_sent += what->qry_sent;
+ into->synack_recv += what->synack_recv;
+ into->ans_recv += what->ans_recv;
+ into->finack_recv += what->finack_recv;
+ into->rst_recv += what->rst_recv;
+ into->size_recv += what->size_recv;
+ into->wire_recv += what->wire_recv;
+ into->lost += what->lost;
+ into->errors += what->errors;
+ for (int i = 0; i < RCODE_MAX; i++) {
+ into->rcodes_recv[i] += what->rcodes_recv[i];
+ }
+}
+
+void plain_stats_header(const xdp_gun_ctx_t *ctx)
+{
+ INFO2("using interface %s, XDP threads %u, IPv%c/%s%s%s, %s mode", ctx->dev, ctx->n_threads,
+ (ctx->ipv6 ? '6' : '4'),
+ (ctx->tcp ? "TCP" : ctx->quic ? "QUIC" : "UDP"),
+ (ctx->sending_mode[0] != '\0' ? " mode " : ""),
+ (ctx->sending_mode[0] != '\0' ? ctx->sending_mode : ""),
+ (knot_eth_xdp_mode(if_nametoindex(ctx->dev)) == KNOT_XDP_MODE_FULL ? "native" : "emulated"));
+ puts(STATS_SECTION_SEP);
+}
+
+/* see:
+ * - https://github.com/DNS-OARC/dns-metrics/blob/main/dns-metrics.schema.json
+ * - https://github.com/DNS-OARC/dns-metrics/issues/16#issuecomment-2139462920
+ */
+void json_stats_header(const xdp_gun_ctx_t *ctx)
+{
+ jsonw_t *w = ctx->jw;
+
+ jsonw_object(w, NULL);
+ {
+ jsonw_ulong(w, "runid", ctx->runid);
+ jsonw_str(w, "type", "header");
+ jsonw_int(w, "schema_version", STATS_SCHEMA_VERSION);
+ jsonw_str(w, "generator", PROGRAM_NAME);
+ jsonw_str(w, "generator_version", PACKAGE_VERSION);
+
+ jsonw_list(w, "generator_params");
+ {
+ for (char **it = ctx->argv; *it != NULL; ++it) {
+ jsonw_str(w, NULL, *it);
+ }
+ }
+ jsonw_end(w);
+
+ jsonw_ulong(w, "time_units_per_sec", 1000000000);
+ if (ctx->stats_period > 0) {
+ jsonw_double(w, "stats_interval", ctx->stats_period / 1000.0);
+ }
+ // TODO: timeout
+
+ // mirror the info given by the plaintext printout
+ jsonw_object(w, "additional_info");
+ {
+ jsonw_str(w, "interface", ctx->dev);
+ jsonw_int(w, "xdp_threads", ctx->n_threads);
+ jsonw_int(w, "ip_version", ctx->ipv6 ? 6 : 4);
+ jsonw_str(w, "transport_layer_proto", ctx->tcp ? "TCP" : (ctx->quic ? "QUIC" : "UDP"));
+ jsonw_object(w, "mode_info");
+ {
+ if (ctx->sending_mode[0] != '\0') {
+ jsonw_str(w, "debug", ctx->sending_mode);
+ }
+ jsonw_str(w, "mode", knot_eth_xdp_mode(if_nametoindex(ctx->dev)) == KNOT_XDP_MODE_FULL
+ ? "native"
+ : "emulated");
+ }
+ jsonw_end(w);
+ }
+ jsonw_end(w);
+ }
+ jsonw_end(w);
+}
+
+void plain_thrd_summary(const xdp_gun_ctx_t *ctx, const kxdpgun_stats_t *st)
+{
+ pthread_mutex_lock(&stdout_mtx);
+
+ char recv_str[40] = "", lost_str[40] = "", err_str[40] = "";
+ if (!(ctx->flags & KNOT_XDP_FILTER_DROP)) {
+ (void)snprintf(recv_str, sizeof(recv_str), ", received %"PRIu64, st->ans_recv);
+ }
+ if (st->lost > 0) {
+ (void)snprintf(lost_str, sizeof(lost_str), ", lost %"PRIu64, st->lost);
+ }
+ if (st->errors > 0) {
+ (void)snprintf(err_str, sizeof(err_str), ", errors %"PRIu64, st->errors);
+ }
+ INFO2("thread#%02u: sent %"PRIu64"%s%s%s",
+ ctx->thread_id, st->qry_sent, recv_str, lost_str, err_str);
+
+ pthread_mutex_unlock(&stdout_mtx);
+}
+
+void json_thrd_summary(const xdp_gun_ctx_t *ctx, const kxdpgun_stats_t *st)
+{
+ pthread_mutex_lock(&stdout_mtx);
+
+ jsonw_t *w = ctx->jw;
+
+ jsonw_object(ctx->jw, NULL);
+ {
+ jsonw_str(w, "type", "thread_summary");
+ jsonw_ulong(w, "runid", ctx->runid);
+ jsonw_ulong(w, "subid", ctx->thread_id);
+ jsonw_ulong(w, "qry_sent", st->qry_sent);
+ jsonw_ulong(w, "ans_recv", st->ans_recv);
+ jsonw_ulong(w, "lost", st->lost);
+ jsonw_ulong(w, "errors", st->errors);
+ }
+ jsonw_end(ctx->jw);
+
+ pthread_mutex_unlock(&stdout_mtx);
+}
+
+void plain_stats(const xdp_gun_ctx_t *ctx, kxdpgun_stats_t *st, stats_type_t stt)
+{
+ pthread_mutex_lock(&st->mutex);
+
+ printf("%s metrics:\n", (stt == STATS_SUM) ? "cumulative" : "periodic");
+
+ bool recv = !(ctx->flags & KNOT_XDP_FILTER_DROP);
+ uint64_t duration = DURATION_US(*st);
+ double rel_start_us = (st->since / 1000.0) - ctx->stats_start_us ;
+ double rel_end_us = rel_start_us + duration;
+
+#define ps(counter) ((typeof(counter))((counter) * 1000 / ((float)duration / 1000)))
+#define pct(counter) ((counter) * 100.0 / st->qry_sent)
+
+ const char *name = ctx->tcp ? "SYNs: " : ctx->quic ? "initials:" : "queries: ";
+ printf("total %s %"PRIu64" (%"PRIu64" pps) (%f%%)\n", name, st->qry_sent,
+ ps(st->qry_sent), 100.0 * st->qry_sent / (duration / 1000000.0 * ctx->qps * ctx->n_threads));
+ if (st->qry_sent > 0 && recv) {
+ if (ctx->tcp || ctx->quic) {
+ name = ctx->tcp ? "established:" : "handshakes: ";
+ printf("total %s %"PRIu64" (%"PRIu64" pps) (%f%%)\n", name,
+ st->synack_recv, ps(st->synack_recv), pct(st->synack_recv));
+ }
+ printf("total replies: %"PRIu64" (%"PRIu64" pps) (%f%%)\n",
+ st->ans_recv, ps(st->ans_recv), pct(st->ans_recv));
+ if (ctx->tcp) {
+ printf("total closed: %"PRIu64" (%"PRIu64" pps) (%f%%)\n",
+ st->finack_recv, ps(st->finack_recv), pct(st->finack_recv));
+ }
+ if (st->rst_recv > 0) {
+ printf("total reset: %"PRIu64" (%"PRIu64" pps) (%f%%)\n",
+ st->rst_recv, ps(st->rst_recv), pct(st->rst_recv));
+ }
+ printf("average DNS reply size: %"PRIu64" B\n",
+ st->ans_recv > 0 ? st->size_recv / st->ans_recv : 0);
+ printf("average Ethernet reply rate: %"PRIu64" bps (%.2f Mbps)\n",
+ ps(st->wire_recv * 8), ps((float)st->wire_recv * 8 / (1000 * 1000)));
+
+ for (int i = 0; i < RCODE_MAX; i++) {
+ if (st->rcodes_recv[i] > 0) {
+ const knot_lookup_t *rcode = knot_lookup_by_id(knot_rcode_names, i);
+ const char *rcname = rcode == NULL ? "unknown" : rcode->name;
+ int space = MAX(9 - strlen(rcname), 0);
+ printf("responded %s: %.*s%"PRIu64"\n",
+ rcname, space, " ", st->rcodes_recv[i]);
+ }
+ }
+ }
+ if (stt == STATS_SUM) {
+ printf("duration: %.4f s\n", duration / 1000000.0);
+ } else {
+ printf("since: %.4fs until: %.4fs\n", rel_start_us / 1000000, rel_end_us / 1000000);
+ }
+
+ pthread_mutex_unlock(&st->mutex);
+}
+
+/* see https://github.com/DNS-OARC/dns-metrics/blob/main/dns-metrics.schema.json
+ * and https://github.com/DNS-OARC/dns-metrics/issues/16#issuecomment-2139462920 */
+void json_stats(const xdp_gun_ctx_t *ctx, kxdpgun_stats_t *st, stats_type_t stt)
+{
+ assert(stt == STATS_PERIODIC || stt == STATS_SUM);
+
+ jsonw_t *w = ctx->jw;
+
+ pthread_mutex_lock(&st->mutex);
+
+ jsonw_object(w, NULL);
+ {
+ jsonw_ulong(w, "runid", ctx->runid);
+ jsonw_str(w, "type", (stt == STATS_PERIODIC) ? "stats_periodic" : "stats_sum");
+ jsonw_ulong(w, "since", st->since);
+ jsonw_ulong(w, "until", st->until);
+ jsonw_ulong(w, "queries", st->qry_sent);
+ jsonw_ulong(w, "responses", st->ans_recv);
+
+ jsonw_object(w, "response_rcodes");
+ {
+ for (size_t i = 0; i < RCODE_MAX; ++i) {
+ if (st->rcodes_recv[i] > 0) {
+ const knot_lookup_t *rc = knot_lookup_by_id(knot_rcode_names, i);
+ jsonw_ulong(w, (rc == NULL) ? "unknown" : rc->name, st->rcodes_recv[i]);
+ }
+ }
+ }
+ jsonw_end(w);
+
+ jsonw_object(w, "conn_info");
+ {
+ jsonw_str(w, "type", ctx->tcp ? "tcp" : (ctx->quic ? "quic_conn" : "udp"));
+
+ // TODO:
+ // packets_sent
+ // packets_recieved
+
+ jsonw_ulong(w, "socket_errors", st->errors);
+ if (ctx->tcp || ctx->quic) {
+ jsonw_ulong(w, "handshakes", st->synack_recv);
+ // TODO: handshakes_failed
+ if (ctx->quic) {
+ // TODO: conn_resumption
+ }
+ }
+ }
+ jsonw_end(w);
+ }
+ jsonw_end(w);
+
+ pthread_mutex_unlock(&st->mutex);
+}
diff --git a/src/utils/kxdpgun/stats.h b/src/utils/kxdpgun/stats.h
new file mode 100644
index 0000000..2c62ee3
--- /dev/null
+++ b/src/utils/kxdpgun/stats.h
@@ -0,0 +1,78 @@
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include <stddef.h>
+#include <inttypes.h>
+#include <pthread.h>
+#include <stdbool.h>
+
+#include "utils/kxdpgun/main.h"
+
+#define RCODE_MAX (0x0F + 1)
+
+#define STATS_SECTION_SEP "--------------------------------------------------------------"
+
+#define JSON_INDENT " "
+#define STATS_SCHEMA_VERSION 20240530
+
+#define DURATION_US(st) (((st).until - (st).since) / 1000)
+#define DURATION_NS(st) ((st).until - (st).since)
+
+#define JSON_MODE(ctx) ((ctx).jw != NULL)
+
+#define STATS_HDR(ctx) ((JSON_MODE(*(ctx)) ? json_stats_header : plain_stats_header)((ctx)))
+#define STATS_THRD(ctx, stats) \
+ ((JSON_MODE(*ctx) ? json_thrd_summary : plain_thrd_summary)((ctx), (stats)))
+#define STATS_FMT(ctx, stats, stats_type) \
+ ((JSON_MODE(*(ctx)) ? json_stats : plain_stats)((ctx), (stats), (stats_type)))
+
+typedef struct {
+ size_t collected;
+ uint64_t since, until; // nanosecs UNIX
+ uint64_t qry_sent;
+ uint64_t synack_recv;
+ uint64_t ans_recv;
+ uint64_t finack_recv;
+ uint64_t rst_recv;
+ uint64_t size_recv;
+ uint64_t wire_recv;
+ uint64_t errors;
+ uint64_t lost;
+ uint64_t rcodes_recv[RCODE_MAX];
+ pthread_mutex_t mutex;
+} kxdpgun_stats_t;
+
+typedef enum {
+ STATS_PERIODIC,
+ STATS_SUM,
+} stats_type_t;
+
+void clear_stats(kxdpgun_stats_t *st);
+size_t collect_stats(kxdpgun_stats_t *into, const kxdpgun_stats_t *what);
+void collect_periodic_stats(kxdpgun_stats_t *into, const kxdpgun_stats_t *what);
+
+void plain_stats_header(const xdp_gun_ctx_t *ctx);
+void json_stats_header(const xdp_gun_ctx_t *ctx);
+
+void plain_thrd_summary(const xdp_gun_ctx_t *ctx, const kxdpgun_stats_t *st);
+void json_thrd_summary(const xdp_gun_ctx_t *ctx, const kxdpgun_stats_t *st);
+
+void plain_stats(const xdp_gun_ctx_t *ctx, kxdpgun_stats_t *st, stats_type_t stt);
+void json_stats(const xdp_gun_ctx_t *ctx, kxdpgun_stats_t *st, stats_type_t stt);
+
+extern pthread_mutex_t stdout_mtx;
diff --git a/src/utils/kzonecheck/main.c b/src/utils/kzonecheck/main.c
index 5fb4c73..e8c5868 100644
--- a/src/utils/kzonecheck/main.c
+++ b/src/utils/kzonecheck/main.c
@@ -23,6 +23,7 @@
#include "libknot/libknot.h"
#include "knot/common/log.h"
#include "knot/zone/semantic-check.h"
+#include "knot/zone/zone-load.h"
#include "utils/common/msg.h"
#include "utils/common/params.h"
#include "utils/kzonecheck/zone_check.h"
@@ -80,7 +81,7 @@ int main(int argc, char *argv[])
{ "print", no_argument, NULL, 'p' },
{ "verbose", no_argument, NULL, 'v' },
{ "help", no_argument, NULL, 'h' },
- { "version", no_argument, NULL, 'V' },
+ { "version", optional_argument, NULL, 'V' },
{ NULL }
};
@@ -89,7 +90,7 @@ int main(int argc, char *argv[])
/* Parse command line arguments */
int opt = 0;
- while ((opt = getopt_long(argc, argv, "o:t:d:zpvVh", opts, NULL)) != -1) {
+ while ((opt = getopt_long(argc, argv, "o:t:d:zpvV::h", opts, NULL)) != -1) {
switch (opt) {
case 'o':
origin = optarg;
@@ -104,7 +105,7 @@ int main(int argc, char *argv[])
print_help();
return EXIT_SUCCESS;
case 'V':
- print_version(PROGRAM_NAME);
+ print_version(PROGRAM_NAME, optarg != NULL);
return EXIT_SUCCESS;
case 'd':
optional = str2bool(optarg) ? SEMCHECK_DNSSEC_ON : SEMCHECK_DNSSEC_OFF;
@@ -169,7 +170,8 @@ int main(int argc, char *argv[])
log_levels_add(LOG_TARGET_STDOUT, LOG_SOURCE_ANY, LOG_UPTO(LOG_DEBUG));
}
- int ret = zone_check(filename, zone, zonemd, optional, (time_t)check_time, print);
+ int ret = zone_check(filename, zone, zonemd, DEFAULT_TTL, optional,
+ (time_t)check_time, print);
log_close();
if (ret == KNOT_EOK) {
if (verbose && !print) {
diff --git a/src/utils/kzonecheck/zone_check.c b/src/utils/kzonecheck/zone_check.c
index 2ea63b8..46c8a8e 100644
--- a/src/utils/kzonecheck/zone_check.c
+++ b/src/utils/kzonecheck/zone_check.c
@@ -64,14 +64,14 @@ static void print_statistics(err_handler_stats_t *stats)
}
int zone_check(const char *zone_file, const knot_dname_t *zone_name, bool zonemd,
- semcheck_optional_t optional, time_t time, bool print)
+ uint32_t dflt_ttl, semcheck_optional_t optional, time_t time, bool print)
{
err_handler_stats_t stats = {
.handler = { .cb = err_callback },
};
zloader_t zl;
- int ret = zonefile_open(&zl, zone_file, zone_name, optional, time);
+ int ret = zonefile_open(&zl, zone_file, zone_name, dflt_ttl, optional, time);
switch (ret) {
case KNOT_EOK:
break;
diff --git a/src/utils/kzonecheck/zone_check.h b/src/utils/kzonecheck/zone_check.h
index 206c27e..6a7afdf 100644
--- a/src/utils/kzonecheck/zone_check.h
+++ b/src/utils/kzonecheck/zone_check.h
@@ -20,4 +20,4 @@
#include "libknot/libknot.h"
int zone_check(const char *zone_file, const knot_dname_t *zone_name, bool zonemd,
- semcheck_optional_t optional, time_t time, bool print);
+ uint32_t dflt_ttl, semcheck_optional_t optional, time_t time, bool print);
diff --git a/src/utils/kzonesign/main.c b/src/utils/kzonesign/main.c
index e70abb6..641acfc 100644
--- a/src/utils/kzonesign/main.c
+++ b/src/utils/kzonesign/main.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2023 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
+/* Copyright (C) 2024 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -117,7 +117,7 @@ static int zonesign(sign_params_t *params)
goto fail;
}
- ret = knot_dnssec_validate_zone(&up, conf(), params->timestamp, false);
+ ret = knot_dnssec_validate_zone(&up, conf(), params->timestamp, false, false);
if (ret != KNOT_EOK) {
ERR2("DNSSEC validation failed (%s)", knot_strerror(ret));
char type_str[16];
@@ -204,7 +204,7 @@ int main(int argc, char *argv[])
{ "verify" , no_argument, NULL, 'v' },
{ "time", required_argument, NULL, 't' },
{ "help", no_argument, NULL, 'h' },
- { "version", no_argument, NULL, 'V' },
+ { "version", optional_argument, NULL, 'V' },
{ NULL }
};
@@ -212,7 +212,7 @@ int main(int argc, char *argv[])
signal_init_std();
int opt = 0;
- while ((opt = getopt_long(argc, argv, "c:C:o:rvt:hV", opts, NULL)) != -1) {
+ while ((opt = getopt_long(argc, argv, "c:C:o:rvt:hV::", opts, NULL)) != -1) {
switch (opt) {
case 'c':
if (util_conf_init_file(optarg) != KNOT_EOK) {
@@ -245,7 +245,7 @@ int main(int argc, char *argv[])
print_help();
goto success;
case 'V':
- print_version(PROGRAM_NAME);
+ print_version(PROGRAM_NAME, optarg != NULL);
goto success;
default:
print_help();