From 59165fe2ecec740d7859d5bff7ce5ae5e91a2c47 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Sat, 13 Dec 2025 11:01:45 -0600 Subject: [PATCH 01/25] Add a .gitignore --- .gitignore | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e99b7b0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,35 @@ +*~ +*.a +*.dll +*.dylib +*.exe +*.exp +*.lib +*.map +*.o +*.obj +*.pc +*.pyc +*.so +.*.sw? +*cscope.in.out +*cscope.out +*cscope.po.out +contrib/socket +src/dns +src/spf.c +src/zone.c +regress/20-rr-parse +regress/fuzz_dns +doc/dns.aux +doc/dns.glg +doc/dns.glo +doc/dns.gls +doc/dns.idx +doc/dns.ilg +doc/dns.ind +doc/dns.ist +doc/dns.log +doc/dns.out +doc/dns.pdf +doc/dns.toc From ce9175cc1b7b59c7dcb0a9bc311746ae29381d3c Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Fri, 12 Dec 2025 21:26:24 -0600 Subject: [PATCH 02/25] Get dns.c to build (warning: Claude-coded) I asked Claude code to get `src/dns` to build again. I've not yet reviewed this commit. Do not use w/o reviewing! --- src/dns.c | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++---- src/dns.h | 6 ++-- 2 files changed, 79 insertions(+), 9 deletions(-) diff --git a/src/dns.c b/src/dns.c index 15ff335..997effe 100644 --- a/src/dns.c +++ b/src/dns.c @@ -31,6 +31,9 @@ #undef _BSD_SOURCE #define _BSD_SOURCE +#undef _DEFAULT_SOURCE +#define _DEFAULT_SOURCE + #undef _DARWIN_C_SOURCE #define _DARWIN_C_SOURCE @@ -79,6 +82,11 @@ #include "dns.h" +/* Suppress -Woverride-init warnings for designated initializer overrides. + * This is intentional C behavior used for default+override patterns. */ +#if (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4 +#pragma GCC diagnostic ignored "-Woverride-init" +#endif /* * C O M P I L E R V E R S I O N & F E A T U R E D E T E C T I O N @@ -135,6 +143,15 @@ #define DNS_NORETURN #endif +/* Fallthrough annotation for switch statement state machines */ +#if DNS_GNUC_PREREQ(7,0,0) +#define DNS_FALLTHROUGH __attribute__((fallthrough)) +#elif defined __clang__ && __clang_major__ >= 10 +#define DNS_FALLTHROUGH __attribute__((fallthrough)) +#else +#define DNS_FALLTHROUGH ((void)0) +#endif + #if __clang__ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wunused-parameter" @@ -205,8 +222,10 @@ #ifndef HAVE_STATIC_ASSERT #if DNS_GNUC_PREREQ(0,0,0) && !DNS_GNUC_PREREQ(4,6,0) #define HAVE_STATIC_ASSERT 0 /* glibc doesn't check GCC version */ +#elif defined static_assert +#define HAVE_STATIC_ASSERT 1 #else -#define HAVE_STATIC_ASSERT (defined static_assert) +#define HAVE_STATIC_ASSERT 0 #endif #endif @@ -372,7 +391,11 @@ const char *dns_strerror(int error) { * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ #ifndef HAVE___ATOMIC_FETCH_ADD -#define HAVE___ATOMIC_FETCH_ADD (defined __ATOMIC_RELAXED) +#ifdef __ATOMIC_RELAXED +#define HAVE___ATOMIC_FETCH_ADD 1 +#else +#define HAVE___ATOMIC_FETCH_ADD 0 +#endif #endif #ifndef HAVE___ATOMIC_FETCH_SUB @@ -779,7 +802,11 @@ DNS_NOTUSED static size_t dns_strnlcpy(char *dst, size_t lim, const char *src, s } /* dns_strnlcpy() */ -#define DNS_HAVE_SOCKADDR_UN (defined AF_UNIX && !defined _WIN32) +#if defined AF_UNIX && !defined _WIN32 +#define DNS_HAVE_SOCKADDR_UN 1 +#else +#define DNS_HAVE_SOCKADDR_UN 0 +#endif static size_t dns_af_len(int af) { static const size_t table[AF_MAX] = { @@ -6115,11 +6142,19 @@ static void dns_socketclose(int *fd, const struct dns_options *opts) { #endif #ifndef HAVE_SOCK_CLOEXEC -#define HAVE_SOCK_CLOEXEC (defined SOCK_CLOEXEC) +#ifdef SOCK_CLOEXEC +#define HAVE_SOCK_CLOEXEC 1 +#else +#define HAVE_SOCK_CLOEXEC 0 +#endif #endif #ifndef HAVE_SOCK_NONBLOCK -#define HAVE_SOCK_NONBLOCK (defined SOCK_NONBLOCK) +#ifdef SOCK_NONBLOCK +#define HAVE_SOCK_NONBLOCK 1 +#else +#define HAVE_SOCK_NONBLOCK 0 +#endif #endif #define DNS_SO_MAXTRY 7 @@ -6518,6 +6553,9 @@ static _Bool dns_so_tcp_keep(struct dns_socket *so) { #if defined __clang__ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Warray-bounds" +#elif DNS_GNUC_PREREQ(4,6,0) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Warray-bounds" #endif static int dns_so_tcp_send(struct dns_socket *so) { @@ -6582,8 +6620,10 @@ static int dns_so_tcp_recv(struct dns_socket *so) { return 0; } /* dns_so_tcp_recv() */ -#if __clang__ +#if defined __clang__ #pragma clang diagnostic pop +#elif DNS_GNUC_PREREQ(4,6,0) +#pragma GCC diagnostic pop #endif @@ -6595,11 +6635,13 @@ int dns_so_check(struct dns_socket *so) { switch (so->state) { case DNS_SO_UDP_INIT: so->state++; + DNS_FALLTHROUGH; case DNS_SO_UDP_CONN: if (0 != connect(so->udp, (struct sockaddr *)&so->remote, dns_sa_len(&so->remote))) goto soerr; so->state++; + DNS_FALLTHROUGH; case DNS_SO_UDP_SEND: if (0 > (n = send(so->udp, (void *)so->query->data, so->query->end, 0))) goto soerr; @@ -6608,6 +6650,7 @@ int dns_so_check(struct dns_socket *so) { so->stat.udp.sent.count++; so->state++; + DNS_FALLTHROUGH; case DNS_SO_UDP_RECV: if (0 > (n = recv(so->udp, (void *)so->answer->data, so->answer->size, 0))) goto soerr; @@ -6622,11 +6665,13 @@ int dns_so_check(struct dns_socket *so) { goto trash; so->state++; + DNS_FALLTHROUGH; case DNS_SO_UDP_DONE: if (!dns_header(so->answer)->tc || so->type == SOCK_DGRAM) return 0; so->state++; + DNS_FALLTHROUGH; case DNS_SO_TCP_INIT: if (dns_so_tcp_keep(so)) { so->state = DNS_SO_TCP_SEND; @@ -6641,6 +6686,7 @@ int dns_so_check(struct dns_socket *so) { goto error; so->state++; + DNS_FALLTHROUGH; case DNS_SO_TCP_CONN: if (0 != connect(so->tcp, (struct sockaddr *)&so->remote, dns_sa_len(&so->remote))) { if (dns_soerr() != DNS_EISCONN) @@ -6648,16 +6694,19 @@ int dns_so_check(struct dns_socket *so) { } so->state++; + DNS_FALLTHROUGH; case DNS_SO_TCP_SEND: if ((error = dns_so_tcp_send(so))) goto error; so->state++; + DNS_FALLTHROUGH; case DNS_SO_TCP_RECV: if ((error = dns_so_tcp_recv(so))) goto error; so->state++; + DNS_FALLTHROUGH; case DNS_SO_TCP_DONE: /* close unless DNS_RESCONF_TCP_ONLY (see dns_res_tcp2type) */ if (so->type != SOCK_STREAM) { @@ -7269,6 +7318,7 @@ static int dns_res_exec(struct dns_resolver *R) { switch (F->state) { case DNS_R_INIT: F->state++; + DNS_FALLTHROUGH; case DNS_R_GLUE: if (R->sp == 0) dgoto(R->sp, DNS_R_SWITCH); @@ -7383,16 +7433,19 @@ static int dns_res_exec(struct dns_resolver *R) { goto error; F->state++; + DNS_FALLTHROUGH; case DNS_R_SUBMIT: if ((error = R->cache->submit(F->query, R->cache))) goto error; F->state++; + DNS_FALLTHROUGH; case DNS_R_CHECK: if ((error = R->cache->check(R->cache))) goto error; F->state++; + DNS_FALLTHROUGH; case DNS_R_FETCH: error = 0; @@ -7418,6 +7471,7 @@ static int dns_res_exec(struct dns_resolver *R) { R->search = 0; F->state++; + DNS_FALLTHROUGH; case DNS_R_SEARCH: /* * XXX: We probably should only apply the domain search @@ -7430,11 +7484,13 @@ static int dns_res_exec(struct dns_resolver *R) { goto error; F->state++; + DNS_FALLTHROUGH; case DNS_R_HINTS: if (!dns_p_setptr(&F->hints, dns_hints_query(R->hints, F->query, &error))) goto error; F->state++; + DNS_FALLTHROUGH; case DNS_R_ITERATE: dns_rr_i_init(&F->hints_i, F->hints); @@ -7444,6 +7500,7 @@ static int dns_res_exec(struct dns_resolver *R) { F->hints_i.args[0] = F->hints->end; F->state++; + DNS_FALLTHROUGH; case DNS_R_FOREACH_NS: dns_rr_i_save(&F->hints_i); @@ -7532,6 +7589,7 @@ static int dns_res_exec(struct dns_resolver *R) { goto error; F->state++; + DNS_FALLTHROUGH; } case DNS_R_QUERY_A: if (dns_so_elapsed(&R->so) >= dns_resconf_timeout(R->resconf)) @@ -7636,6 +7694,7 @@ static int dns_res_exec(struct dns_resolver *R) { dns_rr_i_init(&R->smart, F->answer); F->state++; + DNS_FALLTHROUGH; case DNS_R_SMART0_A: if (&F[1] >= endof(R->stack)) dgoto(R->sp, DNS_R_DONE); @@ -8287,11 +8346,13 @@ int dns_ai_nextent(struct addrinfo **ent, struct dns_addrinfo *ai) { switch (ai->state) { case DNS_AI_S_INIT: ai->state++; + DNS_FALLTHROUGH; case DNS_AI_S_NEXTAF: if (!dns_ai_nextaf(ai)) dns_ai_goto(DNS_AI_S_DONE); ai->state++; + DNS_FALLTHROUGH; case DNS_AI_S_NUMERIC: if (1 == dns_inet_pton(AF_INET, ai->qname, &any.a)) { if (ai->af.atype == AF_INET) { @@ -8315,6 +8376,7 @@ int dns_ai_nextent(struct addrinfo **ent, struct dns_addrinfo *ai) { dns_ai_goto(DNS_AI_S_NEXTAF); ai->state++; + DNS_FALLTHROUGH; case DNS_AI_S_SUBMIT: assert(ai->res); @@ -8322,11 +8384,13 @@ int dns_ai_nextent(struct addrinfo **ent, struct dns_addrinfo *ai) { return error; ai->state++; + DNS_FALLTHROUGH; case DNS_AI_S_CHECK: if ((error = dns_res_check(ai->res))) return error; ai->state++; + DNS_FALLTHROUGH; case DNS_AI_S_FETCH: if (!(ans = dns_res_fetch_and_study(ai->res, &error))) return error; @@ -8350,6 +8414,7 @@ int dns_ai_nextent(struct addrinfo **ent, struct dns_addrinfo *ai) { ai->i.sort = &dns_rr_i_order; ai->state++; + DNS_FALLTHROUGH; case DNS_AI_S_FOREACH_I: if (!dns_rr_grep(&rr, 1, &ai->i, ai->answer, &error)) dns_ai_goto(DNS_AI_S_NEXTAF); @@ -8384,10 +8449,12 @@ int dns_ai_nextent(struct addrinfo **ent, struct dns_addrinfo *ai) { } /* switch() */ ai->state++; + DNS_FALLTHROUGH; case DNS_AI_S_INIT_G: ai->g_depth = 0; ai->state++; + DNS_FALLTHROUGH; case DNS_AI_S_ITERATE_G: dns_strlcpy(ai->g_cname, ai->cname, sizeof ai->g_cname); dns_rr_i_init(&ai->g, ai->glue); @@ -8396,6 +8463,7 @@ int dns_ai_nextent(struct addrinfo **ent, struct dns_addrinfo *ai) { ai->g.type = ai->af.qtype; ai->state++; + DNS_FALLTHROUGH; case DNS_AI_S_FOREACH_G: if (!dns_rr_grep(&rr, 1, &ai->g, ai->glue, &error)) { if (dns_rr_i_count(&ai->g) > 0) @@ -8420,11 +8488,13 @@ int dns_ai_nextent(struct addrinfo **ent, struct dns_addrinfo *ai) { return error; ai->state++; + DNS_FALLTHROUGH; case DNS_AI_S_CHECK_G: if ((error = dns_res_check(ai->res))) return error; ai->state++; + DNS_FALLTHROUGH; case DNS_AI_S_FETCH_G: if (!(ans = dns_res_fetch_and_study(ai->res, &error))) return error; diff --git a/src/dns.h b/src/dns.h index 78d6402..f134279 100644 --- a/src/dns.h +++ b/src/dns.h @@ -161,9 +161,9 @@ DNS_PUBLIC int *dns_debug_p(void); #define DNS_PRAGMA_QUIET _Pragma("GCC diagnostic ignored \"-Woverride-init\"") #define DNS_PRAGMA_POP _Pragma("GCC diagnostic pop") -/* GCC parses the _Pragma operator less elegantly than clang. */ -#define dns_quietinit(...) \ - __extension__ ({ DNS_PRAGMA_PUSH DNS_PRAGMA_QUIET __VA_ARGS__; DNS_PRAGMA_POP }) +/* GCC parses the _Pragma operator less elegantly than clang. + * We suppress the warning file-wide and just pass through the expression. */ +#define dns_quietinit(...) __VA_ARGS__ #else #define DNS_PRAGMA_PUSH #define DNS_PRAGMA_QUIET From df2ad626ca2f8a5e1c36bbc7159fd90711ed2a4b Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Fri, 12 Dec 2025 21:39:53 -0600 Subject: [PATCH 03/25] Get contrib/ to build (warning: Claude-coded) I asked Claude code to get `contrib` to build again. I've not yet reviewed this commit. Do not use w/o reviewing! --- contrib/Makefile | 2 +- contrib/socket.c | 21 ++++++++++++++------- contrib/socket.h | 6 +++++- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/contrib/Makefile b/contrib/Makefile index 41a7a98..dc60ead 100644 --- a/contrib/Makefile +++ b/contrib/Makefile @@ -3,7 +3,7 @@ cc-option = $(shell if $(CC) $(CFLAGS) $(1) -S -o /dev/null -xc /dev/null \ > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi;) override CPPFLAGS := $(CPPFLAGS) -I../src -DSOCKET_DEBUG -DSOCKET_MAIN -override CFLAGS := $(CFLAGS) -std=gnu99 -Wall -Wno-unused-function -Wno-unused-parameter $(call cc-option, -Wno-initializer-overrides,) -O2 -g -fstack-protector +override CFLAGS := $(CFLAGS) -std=gnu99 -Wall -Wno-unused-function -Wno-unused-parameter $(call cc-option, -Wno-initializer-overrides, $(call cc-option, -Wno-override-init,)) -O2 -g -fstack-protector override LIBS := -lssl -lcrypto ifeq ($(shell uname -s), Darwin) diff --git a/contrib/socket.c b/contrib/socket.c index 1b1c7fd..78e2d06 100644 --- a/contrib/socket.c +++ b/contrib/socket.c @@ -202,7 +202,6 @@ static void so_trace(enum so_trace event, int fd, const struct addrinfo *host, . char addr[64], who[256]; in_port_t port; va_list ap; - SSL *ctx; const void *data; size_t count; const char *fmt; @@ -240,7 +239,7 @@ static void so_trace(enum so_trace event, int fd, const struct addrinfo *host, . break; case SO_T_STARTTLS: - ctx = va_arg(ap, SSL *); + (void)va_arg(ap, SSL *); /* ctx - unused */ fmt = va_arg(ap, char *); fprintf(stderr, "starttls(%s): ", who); @@ -1633,16 +1632,24 @@ int so_starttls(struct socket *so, SSL_CTX *ctx) { goto error; /* - * NOTE: SSLv3_server_method()->ssl_connect should be a reference to - * OpenSSL's internal ssl_undefined_function(). + * Detect whether the SSL context is configured for server mode. * - * Server methods such as SSLv23_server_method(), etc. should have - * their .ssl_connect method set to this value. + * For OpenSSL < 1.1.0, we checked internal method pointers, but + * that API is no longer available (SSL_METHOD is now opaque and + * SSLv3_server_method() was removed). + * + * For OpenSSL 1.1.0+, we default to client mode. Server sockets + * should have so->todo containing SO_S_LISTEN if so_listen() was + * called, which we use to detect server mode. */ +#if OPENSSL_VERSION_NUMBER >= 0x10100000L + (void)method; + so->ssl.accept = (so->todo & SO_S_LISTEN) ? 1 : 0; +#else method = SSL_get_ssl_method(so->ssl.ctx); - if (!method->ssl_connect || method->ssl_connect == SSLv3_server_method()->ssl_connect) so->ssl.accept = 1; +#endif if (tmp) SSL_CTX_free(tmp); diff --git a/contrib/socket.h b/contrib/socket.h index 35cbfc3..ebc9ba1 100644 --- a/contrib/socket.h +++ b/contrib/socket.h @@ -179,7 +179,11 @@ struct so_options { * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -#define SA_UNIX defined(AF_UNIX) && !_WIN32 +#if defined(AF_UNIX) && !defined(_WIN32) +#define SA_UNIX 1 +#else +#define SA_UNIX 0 +#endif /* * GCC 4.4's strong aliasing constraints complain about casting through From 23cb3cf72e2f0da974f09336f133428ef63f68c9 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Sat, 13 Dec 2025 01:51:56 -0600 Subject: [PATCH 04/25] Fix remote crash vulnerabilities Fuzzing found several issues: 1. Integer Overflow in TTL Parsing (src/dns.c:2584) (Low-severity) - Issue: Left shift 0xff << 24 caused signed integer overflow - Fix: Cast to (unsigned) before shifting: (unsigned)(0xff & P->data[p + 0]) << 24 2. RDATA Bounds Validation Added to SSHFP parser. (Remote crash DoS.) Added validation if (rr->rd.len > P->end - rr->rd.p) return DNS_EILLEGAL to dns_sshfp_parse(). 3. dns_any_parse() Bounds Validation (src/dns.c:5190) (Remote crash DoS.) - Issue: Unknown RR types were copied without bounds checking - Fix: Added if (rr->rd.len > P->end - rr->rd.p) return DNS_EILLEGAL The fuzzer will be included in a later commit. Overall the impact on any actual users -are there any?- would be a remote DoS / crasher due to over-reading past the end of heap objects. There are no over-writes, therefore no classic buffer overflows. These over-reads do not affect at least domainnames in RDATA. Therefore there is no way to leak over-read data to DNS servers. --- src/dns.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/dns.c b/src/dns.c index 997effe..dc39578 100644 --- a/src/dns.c +++ b/src/dns.c @@ -2575,10 +2575,10 @@ int dns_rr_parse(struct dns_rr *rr, unsigned short src, struct dns_packet *P) { if (P->end - p < 4) goto invalid; - rr->ttl = ((0xff & P->data[p + 0]) << 24) - | ((0xff & P->data[p + 1]) << 16) - | ((0xff & P->data[p + 2]) << 8) - | ((0xff & P->data[p + 3]) << 0); + rr->ttl = ((unsigned)(0xff & P->data[p + 0]) << 24) + | ((unsigned)(0xff & P->data[p + 1]) << 16) + | ((unsigned)(0xff & P->data[p + 2]) << 8) + | ((unsigned)(0xff & P->data[p + 3]) << 0); if (rr->type != DNS_T_OPT) rr->ttl = DNS_PP_MIN(rr->ttl, 0x7fffffffU); @@ -3747,9 +3747,14 @@ size_t dns_ptr_cname(void *dst, size_t lim, struct dns_ptr *ptr) { int dns_sshfp_parse(struct dns_sshfp *fp, struct dns_rr *rr, struct dns_packet *P) { - unsigned p = rr->rd.p, pe = rr->rd.p + rr->rd.len; + unsigned p = rr->rd.p, pe; - if (pe - p < 2) + /* Validate RDATA bounds against packet */ + if (rr->rd.len > P->end - rr->rd.p) + return DNS_EILLEGAL; + pe = rr->rd.p + rr->rd.len; + + if (rr->rd.len < 2) return DNS_EILLEGAL; fp->algo = P->data[p++]; @@ -4037,6 +4042,9 @@ int dns_any_parse(union dns_any *any, struct dns_rr *rr, struct dns_packet *P) { if ((t = dns_rrtype(rr->type))) return t->parse(dns_any_reinit(any, t), rr, P); + /* Validate RDATA bounds */ + if (rr->rd.len > P->end - rr->rd.p) + return DNS_EILLEGAL; if (rr->rd.len > any->rdata.size) return DNS_EILLEGAL; From 4b87135f020bd3c5610f4c1b40a4587b18001640 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Fri, 12 Dec 2025 21:57:41 -0600 Subject: [PATCH 05/25] Add AD/CD bit support (warning: Claude-coded) I asked Claude code to add support for the AD and CD bits. I've not yet reviewed this commit. Do not use w/o reviewing! --- src/dns.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- src/dns.h | 12 ++++++++++-- 2 files changed, 58 insertions(+), 3 deletions(-) diff --git a/src/dns.c b/src/dns.c index dc39578..47ba41c 100644 --- a/src/dns.c +++ b/src/dns.c @@ -1902,6 +1902,8 @@ static void dns_p_dump3(struct dns_packet *P, struct dns_rr_i *I, FILE *fp) { fprintf(fp, ";; tc : %s(%d)\n", (dns_header(P)->tc)? "TRUNCATED" : "NOT-TRUNCATED", dns_header(P)->tc); fprintf(fp, ";; rd : %s(%d)\n", (dns_header(P)->rd)? "RECURSION-DESIRED" : "RECURSION-NOT-DESIRED", dns_header(P)->rd); fprintf(fp, ";; ra : %s(%d)\n", (dns_header(P)->ra)? "RECURSION-ALLOWED" : "RECURSION-NOT-ALLOWED", dns_header(P)->ra); + fprintf(fp, ";; ad : %s(%d)\n", (dns_header(P)->ad)? "AUTHENTICATED" : "NOT-AUTHENTICATED", dns_header(P)->ad); + fprintf(fp, ";; cd : %s(%d)\n", (dns_header(P)->cd)? "CHECKING-DISABLED" : "CHECKING-ENABLED", dns_header(P)->cd); fprintf(fp, ";; rcode : %s(%d)\n", dns_strrcode(dns_p_rcode(P)), dns_p_rcode(P)); section = 0; @@ -1997,6 +1999,8 @@ enum dns_rcode dns_p_rcode(struct dns_packet *P) { #define DNS_Q_RD 0x1 /* recursion desired */ #define DNS_Q_EDNS0 0x2 /* include OPT RR */ +#define DNS_Q_AD 0x4 /* RFC 4035: request authenticated data */ +#define DNS_Q_CD 0x8 /* RFC 4035: disable DNSSEC validation */ static dns_error_t dns_q_make2(struct dns_packet **_Q, const char *qname, size_t qlen, enum dns_type qtype, enum dns_class qclass, int qflags) @@ -2014,6 +2018,8 @@ dns_q_make2(struct dns_packet **_Q, const char *qname, size_t qlen, enum dns_typ goto error; dns_header(Q)->rd = !!(qflags & DNS_Q_RD); + dns_header(Q)->ad = !!(qflags & DNS_Q_AD); + dns_header(Q)->cd = !!(qflags & DNS_Q_CD); if (qflags & DNS_Q_EDNS0) { struct dns_opt opt = DNS_OPT_INIT(&opt); @@ -4585,6 +4591,8 @@ enum dns_resconf_keyword { DNS_RESCONF_ROTATE, DNS_RESCONF_RECURSE, DNS_RESCONF_SMART, + DNS_RESCONF_AD, + DNS_RESCONF_CD, DNS_RESCONF_TCP, DNS_RESCONF_TCPx, DNS_RESCONF_INTERFACE, @@ -4612,6 +4620,8 @@ static enum dns_resconf_keyword dns_resconf_keyword(const char *word) { [DNS_RESCONF_ROTATE] = "rotate", [DNS_RESCONF_RECURSE] = "recurse", [DNS_RESCONF_SMART] = "smart", + [DNS_RESCONF_AD] = "ad", + [DNS_RESCONF_CD] = "cd", [DNS_RESCONF_TCP] = "tcp", [DNS_RESCONF_INTERFACE] = "interface", [DNS_RESCONF_ZERO] = "0", @@ -4836,6 +4846,14 @@ int dns_resconf_loadfile(struct dns_resolv_conf *resconf, FILE *fp) { case DNS_RESCONF_SMART: resconf->options.smart = 1; + break; + case DNS_RESCONF_AD: + resconf->options.ad = 1; + + break; + case DNS_RESCONF_CD: + resconf->options.cd = 1; + break; case DNS_RESCONF_TCP: resconf->options.tcp = DNS_RESCONF_TCP_ONLY; @@ -5536,6 +5554,10 @@ int dns_resconf_dump(struct dns_resolv_conf *resconf, FILE *fp) { fprintf(fp, " recurse"); if (resconf->options.smart) fprintf(fp, " smart"); + if (resconf->options.ad) + fprintf(fp, " ad"); + if (resconf->options.cd) + fprintf(fp, " cd"); switch (resconf->options.tcp) { case DNS_RESCONF_TCP_ENABLE: @@ -7086,6 +7108,10 @@ static void dns_res_frame_init(struct dns_resolver *R, struct dns_res_frame *fra frame->qflags |= DNS_Q_RD; if (R->resconf->options.edns0) frame->qflags |= DNS_Q_EDNS0; + if (R->resconf->options.ad) + frame->qflags |= DNS_Q_AD; + if (R->resconf->options.cd) + frame->qflags |= DNS_Q_CD; } } /* dns_res_frame_init() */ @@ -8909,6 +8935,11 @@ struct { int (*sort)(); int verbose; + + struct { + _Bool ad; + _Bool cd; + } qflags; } MAIN = { .sort = &dns_rr_i_packet, }; @@ -9061,6 +9092,12 @@ static struct dns_resolv_conf *resconf(void) { panic("%s: %s", path, dns_strerror(error)); } + /* apply command-line query flags */ + if (MAIN.qflags.ad) + resconf->options.ad = 1; + if (MAIN.qflags.cd) + resconf->options.cd = 1; + return resconf; } /* resconf() */ @@ -9861,6 +9898,8 @@ static void print_usage(const char *progname, FILE *fp) { " -q QNAME Query name\n" " -t QTYPE Query type\n" " -s HOW Sort records\n" + " -A Set AD bit (request authenticated data)\n" + " -D Set CD bit (disable DNSSEC validation)\n" " -v Be more verbose (-vv show packets; -vvv hexdump packets)\n" " -V Print version info\n" " -h Print this usage message\n" @@ -9905,7 +9944,7 @@ int main(int argc, char **argv) { unsigned i; int ch; - while (-1 != (ch = getopt(argc, argv, "q:t:c:n:l:z:s:vVh"))) { + while (-1 != (ch = getopt(argc, argv, "q:t:c:n:l:z:s:ADvVh"))) { switch (ch) { case 'c': assert(MAIN.resconf.count < lengthof(MAIN.resconf.path)); @@ -9963,6 +10002,14 @@ int main(int argc, char **argv) { else panic("%s: invalid sort method", optarg); + break; + case 'A': + MAIN.qflags.ad = 1; + + break; + case 'D': + MAIN.qflags.cd = 1; + break; case 'v': dns_debug = ++MAIN.verbose; diff --git a/src/dns.h b/src/dns.h index f134279..e57652b 100644 --- a/src/dns.h +++ b/src/dns.h @@ -362,7 +362,9 @@ struct dns_header { unsigned rd:1; unsigned ra:1; - unsigned unused:3; + unsigned z:1; + unsigned ad:1; /* RFC 4035: Authenticated Data */ + unsigned cd:1; /* RFC 4035: Checking Disabled */ unsigned rcode:4; #else unsigned rd:1; @@ -372,7 +374,9 @@ struct dns_header { unsigned qr:1; unsigned rcode:4; - unsigned unused:3; + unsigned cd:1; /* RFC 4035: Checking Disabled */ + unsigned ad:1; /* RFC 4035: Authenticated Data */ + unsigned z:1; unsigned ra:1; #endif @@ -919,6 +923,10 @@ struct dns_resolv_conf { DNS_RESCONF_TCP_ONLY, DNS_RESCONF_TCP_DISABLE, } tcp; + + _Bool ad; /* RFC 4035: request authenticated data */ + + _Bool cd; /* RFC 4035: disable DNSSEC validation */ } options; struct sockaddr_storage iface; From c4e63ec47c9520536fb01c31ad149e4d3061decc Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Fri, 12 Dec 2025 22:09:26 -0600 Subject: [PATCH 06/25] Add support for 5 DNSSEC RRtypes, CAA, TLSA, URI, SVCB, and HTTPS RRtypes (Claude-coded) I asked Claude code to add support for a bunch of RRtypes. Included are tests that include validating dns.c's results with dig(1). I've not yet reviewed this commit. Do not use w/o reviewing! --- regress/20-rr-parse.c | 1143 ++++++++++++++++++++++++++++++++++ regress/Makefile | 16 +- regress/validate-rr-parse.sh | 130 ++++ src/dns.c | 1139 +++++++++++++++++++++++++++++++++ src/dns.h | 276 +++++++- 5 files changed, 2700 insertions(+), 4 deletions(-) create mode 100644 regress/20-rr-parse.c create mode 100755 regress/validate-rr-parse.sh diff --git a/regress/20-rr-parse.c b/regress/20-rr-parse.c new file mode 100644 index 0000000..0d8032a --- /dev/null +++ b/regress/20-rr-parse.c @@ -0,0 +1,1143 @@ +/* + * Test parsing of modern DNS RR types: + * CAA, URI, TLSA, SVCB, HTTPS, DNSKEY, DS, RRSIG, NSEC, NSEC3 + */ +#include +#include +#include + +#include + +#include "dns.c" + +static int test_count = 0; +static int fail_count = 0; + +#define TEST_START(name) do { \ + test_count++; \ + fprintf(stderr, " testing %s... ", name); \ +} while (0) + +#define TEST_OK() do { \ + fprintf(stderr, "OK\n"); \ +} while (0) + +#define TEST_FAIL(fmt, ...) do { \ + fprintf(stderr, "FAILED: " fmt "\n", ##__VA_ARGS__); \ + fail_count++; \ +} while (0) + +/* + * Helper to build a minimal DNS packet with one answer RR + */ +static struct dns_packet *make_packet(const unsigned char *rdata, size_t rdlen, + uint16_t type, const char *name) { + struct dns_packet *P; + unsigned char *p; + size_t namelen; + + P = dns_p_make(512, NULL); + if (!P) + return NULL; + + /* DNS header - 12 bytes */ + p = P->data; + memset(p, 0, 12); + p[2] = 0x81; p[3] = 0x80; /* QR=1, RD=1, RA=1 */ + p[4] = 0x00; p[5] = 0x01; /* QDCOUNT=1 */ + p[6] = 0x00; p[7] = 0x01; /* ANCOUNT=1 */ + p += 12; + + /* Question section - encode name */ + namelen = 0; + const char *label = name; + while (*label) { + const char *dot = strchr(label, '.'); + size_t llen = dot ? (size_t)(dot - label) : strlen(label); + *p++ = (unsigned char)llen; + memcpy(p, label, llen); + p += llen; + namelen += 1 + llen; + if (dot) + label = dot + 1; + else + break; + } + *p++ = 0; /* root label */ + namelen++; + + /* QTYPE and QCLASS */ + *p++ = (type >> 8) & 0xff; + *p++ = type & 0xff; + *p++ = 0x00; *p++ = 0x01; /* IN */ + + /* Answer section - use compression pointer to question name */ + *p++ = 0xc0; *p++ = 0x0c; /* pointer to offset 12 */ + *p++ = (type >> 8) & 0xff; + *p++ = type & 0xff; + *p++ = 0x00; *p++ = 0x01; /* IN */ + *p++ = 0x00; *p++ = 0x00; *p++ = 0x01; *p++ = 0x2c; /* TTL=300 */ + *p++ = (rdlen >> 8) & 0xff; + *p++ = rdlen & 0xff; + memcpy(p, rdata, rdlen); + p += rdlen; + + P->end = p - P->data; + + return P; +} + +/* + * Test CAA record parsing + * RFC 8659: flags (1) + tag-length (1) + tag + value + */ +static void test_caa(void) { + TEST_START("CAA basic"); + + /* CAA 0 issue "pki.goog" */ + unsigned char rdata[] = { + 0x00, /* flags = 0 */ + 0x05, /* tag length = 5 */ + 'i', 's', 's', 'u', 'e', /* tag = "issue" */ + 'p', 'k', 'i', '.', 'g', 'o', 'o', 'g' /* value = "pki.goog" */ + }; + + struct dns_packet *P = make_packet(rdata, sizeof(rdata), DNS_T_CAA, "example.com"); + if (!P) { TEST_FAIL("make_packet"); return; } + + struct dns_rr rr; + struct dns_rr_i *I = dns_rr_i_new(P, .section = DNS_S_AN); + int error; + + if (!dns_rr_grep(&rr, 1, I, P, &error)) { + TEST_FAIL("dns_rr_grep: %s", dns_strerror(error)); + free(P); + return; + } + + union dns_any any; + dns_any_init(&any, sizeof(any)); + error = dns_any_parse(&any, &rr, P); + if (error) { + TEST_FAIL("dns_any_parse: %s", dns_strerror(error)); + free(P); + return; + } + + if (any.caa.flags != 0) { + TEST_FAIL("flags: expected 0, got %d", any.caa.flags); + free(P); + return; + } + if (strcmp(any.caa.tag, "issue") != 0) { + TEST_FAIL("tag: expected 'issue', got '%s'", any.caa.tag); + free(P); + return; + } + if (strcmp(any.caa.value, "pki.goog") != 0) { + TEST_FAIL("value: expected 'pki.goog', got '%s'", any.caa.value); + free(P); + return; + } + + /* Test print */ + char buf[256]; + dns_caa_print(buf, sizeof(buf), &any.caa); + if (strstr(buf, "issue") == NULL || strstr(buf, "pki.goog") == NULL) { + TEST_FAIL("print: '%s'", buf); + free(P); + return; + } + + free(P); + TEST_OK(); +} + +static void test_caa_critical(void) { + TEST_START("CAA critical flag"); + + /* CAA 128 issuewild ";" */ + unsigned char rdata[] = { + 0x80, /* flags = 128 (critical) */ + 0x09, /* tag length = 9 */ + 'i', 's', 's', 'u', 'e', 'w', 'i', 'l', 'd', + ';' /* value = ";" */ + }; + + struct dns_packet *P = make_packet(rdata, sizeof(rdata), DNS_T_CAA, "example.com"); + if (!P) { TEST_FAIL("make_packet"); return; } + + struct dns_rr rr; + struct dns_rr_i *I = dns_rr_i_new(P, .section = DNS_S_AN); + int error; + + if (!dns_rr_grep(&rr, 1, I, P, &error)) { + TEST_FAIL("dns_rr_grep: %s", dns_strerror(error)); + free(P); + return; + } + + union dns_any any; + dns_any_init(&any, sizeof(any)); + error = dns_any_parse(&any, &rr, P); + if (error) { + TEST_FAIL("dns_any_parse: %s", dns_strerror(error)); + free(P); + return; + } + + if (any.caa.flags != 128) { + TEST_FAIL("flags: expected 128, got %d", any.caa.flags); + free(P); + return; + } + if (strcmp(any.caa.tag, "issuewild") != 0) { + TEST_FAIL("tag: expected 'issuewild', got '%s'", any.caa.tag); + free(P); + return; + } + + free(P); + TEST_OK(); +} + +/* + * Test URI record parsing + * RFC 7553: priority (2) + weight (2) + target + */ +static void test_uri(void) { + TEST_START("URI basic"); + + /* URI 10 1 "ftp://ftp.example.com/public" */ + unsigned char rdata[] = { + 0x00, 0x0a, /* priority = 10 */ + 0x00, 0x01, /* weight = 1 */ + 'f', 't', 'p', ':', '/', '/', 'f', 't', 'p', '.', + 'e', 'x', 'a', 'm', 'p', 'l', 'e', '.', 'c', 'o', 'm', + '/', 'p', 'u', 'b', 'l', 'i', 'c' + }; + + struct dns_packet *P = make_packet(rdata, sizeof(rdata), DNS_T_URI, "_ftp._tcp.example.com"); + if (!P) { TEST_FAIL("make_packet"); return; } + + struct dns_rr rr; + struct dns_rr_i *I = dns_rr_i_new(P, .section = DNS_S_AN); + int error; + + if (!dns_rr_grep(&rr, 1, I, P, &error)) { + TEST_FAIL("dns_rr_grep: %s", dns_strerror(error)); + free(P); + return; + } + + union dns_any any; + dns_any_init(&any, sizeof(any)); + error = dns_any_parse(&any, &rr, P); + if (error) { + TEST_FAIL("dns_any_parse: %s", dns_strerror(error)); + free(P); + return; + } + + if (any.uri.priority != 10) { + TEST_FAIL("priority: expected 10, got %d", any.uri.priority); + free(P); + return; + } + if (any.uri.weight != 1) { + TEST_FAIL("weight: expected 1, got %d", any.uri.weight); + free(P); + return; + } + if (strcmp(any.uri.target, "ftp://ftp.example.com/public") != 0) { + TEST_FAIL("target: expected 'ftp://ftp.example.com/public', got '%s'", any.uri.target); + free(P); + return; + } + + free(P); + TEST_OK(); +} + +/* + * Test TLSA record parsing + * RFC 6698: usage (1) + selector (1) + matching-type (1) + certificate-data + */ +static void test_tlsa(void) { + TEST_START("TLSA basic"); + + /* TLSA 3 1 1 */ + unsigned char rdata[] = { + 0x03, /* usage = 3 (DANE-EE) */ + 0x01, /* selector = 1 (SubjectPublicKeyInfo) */ + 0x01, /* matching type = 1 (SHA-256) */ + /* 32-byte SHA-256 hash */ + 0x38, 0xa8, 0x81, 0x26, 0xa1, 0x5a, 0xe8, 0xe6, + 0x43, 0xce, 0x94, 0x47, 0xc3, 0xce, 0x9a, 0x87, + 0x4e, 0xa0, 0xe0, 0x52, 0x55, 0xd0, 0x7e, 0xe1, + 0x22, 0x27, 0x80, 0x9e, 0xdb, 0xe5, 0xc7, 0xf1 + }; + + struct dns_packet *P = make_packet(rdata, sizeof(rdata), DNS_T_TLSA, "_25._tcp.mail.example.org"); + if (!P) { TEST_FAIL("make_packet"); return; } + + struct dns_rr rr; + struct dns_rr_i *I = dns_rr_i_new(P, .section = DNS_S_AN); + int error; + + if (!dns_rr_grep(&rr, 1, I, P, &error)) { + TEST_FAIL("dns_rr_grep: %s", dns_strerror(error)); + free(P); + return; + } + + union dns_any any; + dns_any_init(&any, sizeof(any)); + error = dns_any_parse(&any, &rr, P); + if (error) { + TEST_FAIL("dns_any_parse: %s", dns_strerror(error)); + free(P); + return; + } + + if (any.tlsa.usage != 3) { + TEST_FAIL("usage: expected 3, got %d", any.tlsa.usage); + free(P); + return; + } + if (any.tlsa.selector != 1) { + TEST_FAIL("selector: expected 1, got %d", any.tlsa.selector); + free(P); + return; + } + if (any.tlsa.matchtype != 1) { + TEST_FAIL("matchtype: expected 1, got %d", any.tlsa.matchtype); + free(P); + return; + } + if (any.tlsa.datalen != 32) { + TEST_FAIL("datalen: expected 32, got %zu", any.tlsa.datalen); + free(P); + return; + } + if (memcmp(any.tlsa.data, rdata + 3, 32) != 0) { + TEST_FAIL("data mismatch"); + free(P); + return; + } + + /* Test print output */ + char buf[256]; + dns_tlsa_print(buf, sizeof(buf), &any.tlsa); + if (strstr(buf, "3 1 1") == NULL) { + TEST_FAIL("print missing '3 1 1': '%s'", buf); + free(P); + return; + } + + free(P); + TEST_OK(); +} + +/* + * Test SVCB/HTTPS record parsing + * RFC 9460: priority (2) + target (wire format) + SvcParams + */ +static void test_svcb(void) { + TEST_START("SVCB basic"); + + /* SVCB 1 . alpn=h2 */ + unsigned char rdata[] = { + 0x00, 0x01, /* priority = 1 */ + 0x00, /* target = "." (root) */ + 0x00, 0x01, /* key = alpn (1) */ + 0x00, 0x03, /* length = 3 */ + 0x02, 'h', '2' /* alpn-id = "h2" */ + }; + + struct dns_packet *P = make_packet(rdata, sizeof(rdata), DNS_T_SVCB, "_https._tcp.example.com"); + if (!P) { TEST_FAIL("make_packet"); return; } + + struct dns_rr rr; + struct dns_rr_i *I = dns_rr_i_new(P, .section = DNS_S_AN); + int error; + + if (!dns_rr_grep(&rr, 1, I, P, &error)) { + TEST_FAIL("dns_rr_grep: %s", dns_strerror(error)); + free(P); + return; + } + + union dns_any any; + dns_any_init(&any, sizeof(any)); + error = dns_any_parse(&any, &rr, P); + if (error) { + TEST_FAIL("dns_any_parse: %s", dns_strerror(error)); + free(P); + return; + } + + if (any.svcb.priority != 1) { + TEST_FAIL("priority: expected 1, got %d", any.svcb.priority); + free(P); + return; + } + /* Target "." becomes empty string after expansion */ + if (any.svcb.target[0] != '\0' && strcmp(any.svcb.target, ".") != 0) { + TEST_FAIL("target: expected '' or '.', got '%s'", any.svcb.target); + free(P); + return; + } + if (any.svcb.paramslen != 7) { + TEST_FAIL("paramslen: expected 7, got %zu", any.svcb.paramslen); + free(P); + return; + } + + /* Test print */ + char buf[256]; + dns_svcb_print(buf, sizeof(buf), &any.svcb); + if (strstr(buf, "alpn=") == NULL || strstr(buf, "h2") == NULL) { + TEST_FAIL("print missing alpn: '%s'", buf); + free(P); + return; + } + + free(P); + TEST_OK(); +} + +static void test_https(void) { + TEST_START("HTTPS with ipv4hint"); + + /* HTTPS 1 . alpn=h3,h2 ipv4hint=104.16.123.96,104.16.124.96 */ + unsigned char rdata[] = { + 0x00, 0x01, /* priority = 1 */ + 0x00, /* target = "." */ + 0x00, 0x01, 0x00, 0x06, /* key=alpn, len=6 */ + 0x02, 'h', '3', 0x02, 'h', '2', + 0x00, 0x04, 0x00, 0x08, /* key=ipv4hint, len=8 */ + 0x68, 0x10, 0x7b, 0x60, /* 104.16.123.96 */ + 0x68, 0x10, 0x7c, 0x60 /* 104.16.124.96 */ + }; + + struct dns_packet *P = make_packet(rdata, sizeof(rdata), DNS_T_HTTPS, "www.cloudflare.com"); + if (!P) { TEST_FAIL("make_packet"); return; } + + struct dns_rr rr; + struct dns_rr_i *I = dns_rr_i_new(P, .section = DNS_S_AN); + int error; + + if (!dns_rr_grep(&rr, 1, I, P, &error)) { + TEST_FAIL("dns_rr_grep: %s", dns_strerror(error)); + free(P); + return; + } + + union dns_any any; + dns_any_init(&any, sizeof(any)); + error = dns_any_parse(&any, &rr, P); + if (error) { + TEST_FAIL("dns_any_parse: %s", dns_strerror(error)); + free(P); + return; + } + + if (any.https.priority != 1) { + TEST_FAIL("priority: expected 1, got %d", any.https.priority); + free(P); + return; + } + + /* Test print */ + char buf[512]; + dns_svcb_print(buf, sizeof(buf), &any.https); + if (strstr(buf, "104.16.123.96") == NULL) { + TEST_FAIL("print missing ipv4hint: '%s'", buf); + free(P); + return; + } + if (strstr(buf, "h3") == NULL) { + TEST_FAIL("print missing h3: '%s'", buf); + free(P); + return; + } + + free(P); + TEST_OK(); +} + +static void test_https_ipv6(void) { + TEST_START("HTTPS with ipv6hint"); + + /* HTTPS 1 . ipv6hint=2606:4700::6810:7b60 */ + unsigned char rdata[] = { + 0x00, 0x01, /* priority = 1 */ + 0x00, /* target = "." */ + 0x00, 0x06, 0x00, 0x10, /* key=ipv6hint, len=16 */ + 0x26, 0x06, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x68, 0x10, 0x7b, 0x60 + }; + + struct dns_packet *P = make_packet(rdata, sizeof(rdata), DNS_T_HTTPS, "example.com"); + if (!P) { TEST_FAIL("make_packet"); return; } + + struct dns_rr rr; + struct dns_rr_i *I = dns_rr_i_new(P, .section = DNS_S_AN); + int error; + + if (!dns_rr_grep(&rr, 1, I, P, &error)) { + TEST_FAIL("dns_rr_grep: %s", dns_strerror(error)); + free(P); + return; + } + + union dns_any any; + dns_any_init(&any, sizeof(any)); + error = dns_any_parse(&any, &rr, P); + if (error) { + TEST_FAIL("dns_any_parse: %s", dns_strerror(error)); + free(P); + return; + } + + /* Test print */ + char buf[512]; + dns_svcb_print(buf, sizeof(buf), &any.https); + if (strstr(buf, "2606:4700") == NULL) { + TEST_FAIL("print missing ipv6: '%s'", buf); + free(P); + return; + } + + free(P); + TEST_OK(); +} + +static void test_svcb_aliasmode(void) { + TEST_START("SVCB AliasMode (priority=0)"); + + /* SVCB 0 pool.svc.example. (AliasMode) */ + unsigned char rdata[] = { + 0x00, 0x00, /* priority = 0 (AliasMode) */ + 0x04, 'p', 'o', 'o', 'l', + 0x03, 's', 'v', 'c', + 0x07, 'e', 'x', 'a', 'm', 'p', 'l', 'e', + 0x00 + }; + + struct dns_packet *P = make_packet(rdata, sizeof(rdata), DNS_T_SVCB, "example.com"); + if (!P) { TEST_FAIL("make_packet"); return; } + + struct dns_rr rr; + struct dns_rr_i *I = dns_rr_i_new(P, .section = DNS_S_AN); + int error; + + if (!dns_rr_grep(&rr, 1, I, P, &error)) { + TEST_FAIL("dns_rr_grep: %s", dns_strerror(error)); + free(P); + return; + } + + union dns_any any; + dns_any_init(&any, sizeof(any)); + error = dns_any_parse(&any, &rr, P); + if (error) { + TEST_FAIL("dns_any_parse: %s", dns_strerror(error)); + free(P); + return; + } + + if (any.svcb.priority != 0) { + TEST_FAIL("priority: expected 0, got %d", any.svcb.priority); + free(P); + return; + } + if (strstr(any.svcb.target, "pool.svc.example") == NULL) { + TEST_FAIL("target: expected 'pool.svc.example', got '%s'", any.svcb.target); + free(P); + return; + } + + free(P); + TEST_OK(); +} + +/* + * Test DNSKEY record parsing + * RFC 4034: flags (2) + protocol (1) + algorithm (1) + public-key + */ +static void test_dnskey(void) { + TEST_START("DNSKEY KSK"); + + /* DNSKEY 257 3 13 - 257 = KSK */ + unsigned char rdata[] = { + 0x01, 0x01, /* flags = 257 (KSK) */ + 0x03, /* protocol = 3 */ + 0x0d, /* algorithm = 13 (ECDSAP256SHA256) */ + /* 64-byte ECDSA P-256 public key */ + 0x99, 0xdb, 0x30, 0xc1, 0x4b, 0xab, 0xdc, 0x33, + 0xd6, 0xdf, 0x66, 0x3a, 0x2e, 0x15, 0xf7, 0x12, + 0x58, 0x4f, 0x09, 0x8e, 0x8d, 0x4e, 0x8d, 0x1d, + 0xc4, 0x28, 0xe3, 0x9a, 0x8a, 0x49, 0x97, 0xe1, + 0xaa, 0x27, 0x1a, 0x55, 0x5d, 0xc9, 0x07, 0x01, + 0xe1, 0x7e, 0x2a, 0x4c, 0x4b, 0x6f, 0x12, 0x0b, + 0x7c, 0x35, 0xd4, 0x4f, 0x4a, 0xc0, 0x2b, 0xd8, + 0x94, 0xef, 0x32, 0xeb, 0x9d, 0xb6, 0x5e, 0x19 + }; + + struct dns_packet *P = make_packet(rdata, sizeof(rdata), DNS_T_DNSKEY, "cloudflare.com"); + if (!P) { TEST_FAIL("make_packet"); return; } + + struct dns_rr rr; + struct dns_rr_i *I = dns_rr_i_new(P, .section = DNS_S_AN); + int error; + + if (!dns_rr_grep(&rr, 1, I, P, &error)) { + TEST_FAIL("dns_rr_grep: %s", dns_strerror(error)); + free(P); + return; + } + + union dns_any any; + dns_any_init(&any, sizeof(any)); + error = dns_any_parse(&any, &rr, P); + if (error) { + TEST_FAIL("dns_any_parse: %s", dns_strerror(error)); + free(P); + return; + } + + if (any.dnskey.flags != 257) { + TEST_FAIL("flags: expected 257, got %d", any.dnskey.flags); + free(P); + return; + } + if (any.dnskey.protocol != 3) { + TEST_FAIL("protocol: expected 3, got %d", any.dnskey.protocol); + free(P); + return; + } + if (any.dnskey.algorithm != 13) { + TEST_FAIL("algorithm: expected 13, got %d", any.dnskey.algorithm); + free(P); + return; + } + if (any.dnskey.pubkeylen != 64) { + TEST_FAIL("pubkeylen: expected 64, got %zu", any.dnskey.pubkeylen); + free(P); + return; + } + + /* Test print - should contain base64 key */ + char buf[512]; + dns_dnskey_print(buf, sizeof(buf), &any.dnskey); + if (strstr(buf, "257 3 13") == NULL) { + TEST_FAIL("print missing '257 3 13': '%s'", buf); + free(P); + return; + } + + free(P); + TEST_OK(); +} + +static void test_dnskey_zsk(void) { + TEST_START("DNSKEY ZSK"); + + /* DNSKEY 256 3 13 - 256 = ZSK */ + unsigned char rdata[] = { + 0x01, 0x00, /* flags = 256 (ZSK) */ + 0x03, /* protocol = 3 */ + 0x0d, /* algorithm = 13 */ + /* 64-byte key */ + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 + }; + + struct dns_packet *P = make_packet(rdata, sizeof(rdata), DNS_T_DNSKEY, "example.com"); + if (!P) { TEST_FAIL("make_packet"); return; } + + struct dns_rr rr; + struct dns_rr_i *I = dns_rr_i_new(P, .section = DNS_S_AN); + int error; + + if (!dns_rr_grep(&rr, 1, I, P, &error)) { + TEST_FAIL("dns_rr_grep: %s", dns_strerror(error)); + free(P); + return; + } + + union dns_any any; + dns_any_init(&any, sizeof(any)); + error = dns_any_parse(&any, &rr, P); + if (error) { + TEST_FAIL("dns_any_parse: %s", dns_strerror(error)); + free(P); + return; + } + + if (any.dnskey.flags != 256) { + TEST_FAIL("flags: expected 256, got %d", any.dnskey.flags); + free(P); + return; + } + + free(P); + TEST_OK(); +} + +/* + * Test DS record parsing + * RFC 4034: keytag (2) + algorithm (1) + digest-type (1) + digest + */ +static void test_ds(void) { + TEST_START("DS SHA-256"); + + /* DS 2371 13 2 */ + unsigned char rdata[] = { + 0x09, 0x43, /* keytag = 2371 */ + 0x0d, /* algorithm = 13 (ECDSAP256SHA256) */ + 0x02, /* digest type = 2 (SHA-256) */ + /* 32-byte SHA-256 digest */ + 0x32, 0x99, 0x68, 0x39, 0xa6, 0xd8, 0x08, 0xaf, + 0xe3, 0xeb, 0x4a, 0x79, 0x5a, 0x0e, 0x6a, 0x7a, + 0x39, 0xa7, 0x6f, 0xc5, 0x2f, 0xf2, 0x28, 0xb2, + 0x2b, 0x76, 0xf6, 0xd6, 0x38, 0x26, 0xf2, 0xb9 + }; + + struct dns_packet *P = make_packet(rdata, sizeof(rdata), DNS_T_DS, "cloudflare.com"); + if (!P) { TEST_FAIL("make_packet"); return; } + + struct dns_rr rr; + struct dns_rr_i *I = dns_rr_i_new(P, .section = DNS_S_AN); + int error; + + if (!dns_rr_grep(&rr, 1, I, P, &error)) { + TEST_FAIL("dns_rr_grep: %s", dns_strerror(error)); + free(P); + return; + } + + union dns_any any; + dns_any_init(&any, sizeof(any)); + error = dns_any_parse(&any, &rr, P); + if (error) { + TEST_FAIL("dns_any_parse: %s", dns_strerror(error)); + free(P); + return; + } + + if (any.ds.keytag != 2371) { + TEST_FAIL("keytag: expected 2371, got %d", any.ds.keytag); + free(P); + return; + } + if (any.ds.algorithm != 13) { + TEST_FAIL("algorithm: expected 13, got %d", any.ds.algorithm); + free(P); + return; + } + if (any.ds.digtype != 2) { + TEST_FAIL("digtype: expected 2, got %d", any.ds.digtype); + free(P); + return; + } + if (any.ds.digestlen != 32) { + TEST_FAIL("digestlen: expected 32, got %zu", any.ds.digestlen); + free(P); + return; + } + + /* Test print */ + char buf[256]; + dns_ds_print(buf, sizeof(buf), &any.ds); + if (strstr(buf, "2371 13 2") == NULL) { + TEST_FAIL("print missing '2371 13 2': '%s'", buf); + free(P); + return; + } + + free(P); + TEST_OK(); +} + +/* + * Test RRSIG record parsing + * RFC 4034: type-covered (2) + algorithm (1) + labels (1) + original-ttl (4) + * + expiration (4) + inception (4) + keytag (2) + signer + signature + */ +static void test_rrsig(void) { + TEST_START("RRSIG basic"); + + /* RRSIG A 13 2 300 20251231235959 20251201000000 12345 example.com. */ + unsigned char rdata[] = { + 0x00, 0x01, /* type covered = A (1) */ + 0x0d, /* algorithm = 13 */ + 0x02, /* labels = 2 */ + 0x00, 0x00, 0x01, 0x2c, /* original TTL = 300 */ + 0x67, 0x74, 0x42, 0xef, /* expiration = 20251231235959 (approx timestamp) */ + 0x67, 0x4b, 0xfe, 0x80, /* inception = 20251201000000 (approx timestamp) */ + 0x30, 0x39, /* keytag = 12345 */ + /* signer name: example.com */ + 0x07, 'e', 'x', 'a', 'm', 'p', 'l', 'e', + 0x03, 'c', 'o', 'm', + 0x00, + /* signature (64 bytes for ECDSA P-256) */ + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 + }; + + struct dns_packet *P = make_packet(rdata, sizeof(rdata), DNS_T_RRSIG, "example.com"); + if (!P) { TEST_FAIL("make_packet"); return; } + + struct dns_rr rr; + struct dns_rr_i *I = dns_rr_i_new(P, .section = DNS_S_AN); + int error; + + if (!dns_rr_grep(&rr, 1, I, P, &error)) { + TEST_FAIL("dns_rr_grep: %s", dns_strerror(error)); + free(P); + return; + } + + union dns_any any; + dns_any_init(&any, sizeof(any)); + error = dns_any_parse(&any, &rr, P); + if (error) { + TEST_FAIL("dns_any_parse: %s", dns_strerror(error)); + free(P); + return; + } + + if (any.rrsig.covered != DNS_T_A) { + TEST_FAIL("covered: expected %d, got %d", DNS_T_A, any.rrsig.covered); + free(P); + return; + } + if (any.rrsig.algorithm != 13) { + TEST_FAIL("algorithm: expected 13, got %d", any.rrsig.algorithm); + free(P); + return; + } + if (any.rrsig.labels != 2) { + TEST_FAIL("labels: expected 2, got %d", any.rrsig.labels); + free(P); + return; + } + if (any.rrsig.origttl != 300) { + TEST_FAIL("origttl: expected 300, got %u", any.rrsig.origttl); + free(P); + return; + } + if (any.rrsig.keytag != 12345) { + TEST_FAIL("keytag: expected 12345, got %d", any.rrsig.keytag); + free(P); + return; + } + if (strstr(any.rrsig.signer, "example.com") == NULL) { + TEST_FAIL("signer: expected 'example.com', got '%s'", any.rrsig.signer); + free(P); + return; + } + if (any.rrsig.siglen != 64) { + TEST_FAIL("siglen: expected 64, got %zu", any.rrsig.siglen); + free(P); + return; + } + + /* Test print */ + char buf[512]; + dns_rrsig_print(buf, sizeof(buf), &any.rrsig); + if (strstr(buf, "A 13 2 300") == NULL) { + TEST_FAIL("print missing 'A 13 2 300': '%s'", buf); + free(P); + return; + } + + free(P); + TEST_OK(); +} + +/* + * Test NSEC record parsing + * RFC 4034: next-domain-name + type-bit-maps + */ +static void test_nsec(void) { + TEST_START("NSEC basic"); + + /* NSEC beta.example.com. A NS SOA MX RRSIG NSEC */ + unsigned char rdata[] = { + /* next domain: beta.example.com */ + 0x04, 'b', 'e', 't', 'a', + 0x07, 'e', 'x', 'a', 'm', 'p', 'l', 'e', + 0x03, 'c', 'o', 'm', + 0x00, + /* type bitmap: window 0, length 7 */ + 0x00, /* window block 0 */ + 0x07, /* bitmap length = 7 */ + /* bits: A(1), NS(2), SOA(6), MX(15), RRSIG(46), NSEC(47) */ + /* byte 0: types 0-7: 00000110 = 0x06 (bits 1,2 = A,NS) - but bit 0 is type 0 */ + /* Actually: bit 0 = type 0, bit 1 = type 1 (A), bit 2 = type 2 (NS) */ + /* So for A(1), NS(2): byte 0 bits 1,2 set = 0x60 (big-endian bit order) */ + 0x62, /* A(1), NS(2), SOA(6): bits 1,2,6 in BE order */ + 0x00, /* types 8-15: MX is type 15 */ + 0x01, /* MX (15) - bit 7 of this byte */ + 0x00, 0x00, 0x00, /* types 16-39 */ + 0x03 /* types 40-47: RRSIG(46), NSEC(47) - bits 6,7 */ + }; + + struct dns_packet *P = make_packet(rdata, sizeof(rdata), DNS_T_NSEC, "alpha.example.com"); + if (!P) { TEST_FAIL("make_packet"); return; } + + struct dns_rr rr; + struct dns_rr_i *I = dns_rr_i_new(P, .section = DNS_S_AN); + int error; + + if (!dns_rr_grep(&rr, 1, I, P, &error)) { + TEST_FAIL("dns_rr_grep: %s", dns_strerror(error)); + free(P); + return; + } + + union dns_any any; + dns_any_init(&any, sizeof(any)); + error = dns_any_parse(&any, &rr, P); + if (error) { + TEST_FAIL("dns_any_parse: %s", dns_strerror(error)); + free(P); + return; + } + + if (strstr(any.nsec.next, "beta.example.com") == NULL) { + TEST_FAIL("next: expected 'beta.example.com', got '%s'", any.nsec.next); + free(P); + return; + } + if (any.nsec.typemaplen != 9) { + TEST_FAIL("typemaplen: expected 9, got %zu", any.nsec.typemaplen); + free(P); + return; + } + + /* Test print */ + char buf[512]; + dns_nsec_print(buf, sizeof(buf), &any.nsec); + if (strstr(buf, "beta.example.com") == NULL) { + TEST_FAIL("print missing next domain: '%s'", buf); + free(P); + return; + } + + free(P); + TEST_OK(); +} + +/* + * Test NSEC3 record parsing + * RFC 5155: algorithm + flags + iterations + salt-len + salt + hash-len + hash + type-bitmaps + */ +static void test_nsec3(void) { + TEST_START("NSEC3 basic"); + + /* NSEC3 1 0 10 aabbccdd A NS SOA */ + unsigned char rdata[] = { + 0x01, /* hash algorithm = 1 (SHA-1) */ + 0x00, /* flags = 0 */ + 0x00, 0x0a, /* iterations = 10 */ + 0x04, /* salt length = 4 */ + 0xaa, 0xbb, 0xcc, 0xdd, /* salt */ + 0x14, /* hash length = 20 (SHA-1) */ + /* 20-byte SHA-1 hash */ + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, + 0x11, 0x12, 0x13, 0x14, + /* type bitmap: window 0, length 1 */ + 0x00, /* window 0 */ + 0x01, /* bitmap length = 1 */ + 0x62 /* A(1), NS(2), SOA(6) */ + }; + + struct dns_packet *P = make_packet(rdata, sizeof(rdata), DNS_T_NSEC3, "example.com"); + if (!P) { TEST_FAIL("make_packet"); return; } + + struct dns_rr rr; + struct dns_rr_i *I = dns_rr_i_new(P, .section = DNS_S_AN); + int error; + + if (!dns_rr_grep(&rr, 1, I, P, &error)) { + TEST_FAIL("dns_rr_grep: %s", dns_strerror(error)); + free(P); + return; + } + + union dns_any any; + dns_any_init(&any, sizeof(any)); + error = dns_any_parse(&any, &rr, P); + if (error) { + TEST_FAIL("dns_any_parse: %s", dns_strerror(error)); + free(P); + return; + } + + if (any.nsec3.algorithm != 1) { + TEST_FAIL("algorithm: expected 1, got %d", any.nsec3.algorithm); + free(P); + return; + } + if (any.nsec3.flags != 0) { + TEST_FAIL("flags: expected 0, got %d", any.nsec3.flags); + free(P); + return; + } + if (any.nsec3.iterations != 10) { + TEST_FAIL("iterations: expected 10, got %d", any.nsec3.iterations); + free(P); + return; + } + if (any.nsec3.saltlen != 4) { + TEST_FAIL("saltlen: expected 4, got %zu", any.nsec3.saltlen); + free(P); + return; + } + if (any.nsec3.nexthashlen != 20) { + TEST_FAIL("nexthashlen: expected 20, got %zu", any.nsec3.nexthashlen); + free(P); + return; + } + + /* Test print */ + char buf[512]; + dns_nsec3_print(buf, sizeof(buf), &any.nsec3); + if (strstr(buf, "1 0 10") == NULL) { + TEST_FAIL("print missing '1 0 10': '%s'", buf); + free(P); + return; + } + + free(P); + TEST_OK(); +} + +static void test_nsec3_nosalt(void) { + TEST_START("NSEC3 no salt"); + + /* NSEC3 1 1 0 - A */ + unsigned char rdata[] = { + 0x01, /* algorithm = 1 */ + 0x01, /* flags = 1 (opt-out) */ + 0x00, 0x00, /* iterations = 0 */ + 0x00, /* salt length = 0 (no salt) */ + 0x14, /* hash length = 20 */ + 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, + 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, + 0x11, 0x12, 0x13, 0x14, + /* type bitmap */ + 0x00, 0x01, 0x40 /* A(1) */ + }; + + struct dns_packet *P = make_packet(rdata, sizeof(rdata), DNS_T_NSEC3, "example.com"); + if (!P) { TEST_FAIL("make_packet"); return; } + + struct dns_rr rr; + struct dns_rr_i *I = dns_rr_i_new(P, .section = DNS_S_AN); + int error; + + if (!dns_rr_grep(&rr, 1, I, P, &error)) { + TEST_FAIL("dns_rr_grep: %s", dns_strerror(error)); + free(P); + return; + } + + union dns_any any; + dns_any_init(&any, sizeof(any)); + error = dns_any_parse(&any, &rr, P); + if (error) { + TEST_FAIL("dns_any_parse: %s", dns_strerror(error)); + free(P); + return; + } + + if (any.nsec3.saltlen != 0) { + TEST_FAIL("saltlen: expected 0, got %zu", any.nsec3.saltlen); + free(P); + return; + } + if (any.nsec3.flags != 1) { + TEST_FAIL("flags: expected 1, got %d", any.nsec3.flags); + free(P); + return; + } + + free(P); + TEST_OK(); +} + +int main(void) { + fprintf(stderr, "Testing RR type parsing:\n"); + + /* CAA tests */ + fprintf(stderr, "\nCAA:\n"); + test_caa(); + test_caa_critical(); + + /* URI tests */ + fprintf(stderr, "\nURI:\n"); + test_uri(); + + /* TLSA tests */ + fprintf(stderr, "\nTLSA:\n"); + test_tlsa(); + + /* SVCB/HTTPS tests */ + fprintf(stderr, "\nSVCB/HTTPS:\n"); + test_svcb(); + test_https(); + test_https_ipv6(); + test_svcb_aliasmode(); + + /* DNSKEY tests */ + fprintf(stderr, "\nDNSKEY:\n"); + test_dnskey(); + test_dnskey_zsk(); + + /* DS tests */ + fprintf(stderr, "\nDS:\n"); + test_ds(); + + /* RRSIG tests */ + fprintf(stderr, "\nRRSIG:\n"); + test_rrsig(); + + /* NSEC tests */ + fprintf(stderr, "\nNSEC:\n"); + test_nsec(); + + /* NSEC3 tests */ + fprintf(stderr, "\nNSEC3:\n"); + test_nsec3(); + test_nsec3_nosalt(); + + fprintf(stderr, "\n--------------------\n"); + fprintf(stderr, "Tests: %d, Failures: %d\n", test_count, fail_count); + + if (fail_count > 0) { + fprintf(stderr, "FAILED\n"); + return 1; + } + + fprintf(stderr, "ALL TESTS PASSED\n"); + return 0; +} diff --git a/regress/Makefile b/regress/Makefile index 3f80543..097d75d 100644 --- a/regress/Makefile +++ b/regress/Makefile @@ -11,21 +11,31 @@ rfc4408-tests: rfc4408-tests.c ../src/cache.c ../src/zone.c ../src/spf.c ../src/ %.c: %.rl ragel -C -o $@ $< -TESTS = \ +# Tests that link with dns.c +TESTS_LINK = \ 00-spf_xtoi \ 12-segfault-in-dns_res_frame_init \ 14-dns_resconf_search-fqdn \ 15-dns_ai_nextaf-null-deref +# Tests that include dns.c directly (for access to static functions) +TESTS_INCLUDE = \ + 20-rr-parse + +TESTS = ${TESTS_LINK} ${TESTS_INCLUDE} + 00-spf_xtoi: 00-spf_xtoi.c ../src/spf.c 12-segfault-in-dns_res_frame_init: 12-segfault-in-dns_res_frame_init.c 14-dns_resconf_search-fqdn: 14-dns_resconf_search-fqdn.c 15-dns_ai_nextaf-null-deref: 15-dns_ai_nextaf-null-deref.c -${TESTS}: ../src/dns.c -${TESTS}: +${TESTS_LINK}: ../src/dns.c +${TESTS_LINK}: $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $@.c ../src/dns.c $(LIBS) +20-rr-parse: 20-rr-parse.c ../src/dns.c + $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) + tests: ${TESTS} check: ${TESTS} diff --git a/regress/validate-rr-parse.sh b/regress/validate-rr-parse.sh new file mode 100755 index 0000000..1231f3a --- /dev/null +++ b/regress/validate-rr-parse.sh @@ -0,0 +1,130 @@ +#!/bin/sh +# +# Validate RR parsing by comparing ./dns output to dig output +# This fetches real DNS records and compares the parsed output +# + +DNS_CMD="../src/dns" +PASS=0 +FAIL=0 + +normalize() { + # Remove all whitespace, uppercase hex + tr -d ' \t\n' | tr 'a-f' 'A-F' +} + +compare_output() { + query="$1" + type="$2" + + printf "%-8s %-40s " "$type" "$query" + + # Get dig output (+short gives just RDATA) + dig_raw=$(dig @8.8.8.8 "$query" "$type" +short 2>/dev/null | head -1) + dig_out=$(echo "$dig_raw" | normalize) + + # Get ./dns output - match lines starting with the query name + # Format: "name. TTL IN TYPE RDATA..." + dns_raw=$($DNS_CMD send-query 8.8.8.8 -q "$query" -t "$type" 2>&1 | \ + grep -E "^[a-zA-Z0-9._-]+\. [0-9]+ IN $type " | head -1 | \ + awk '{for(i=5;i<=NF;i++) printf "%s", (i>5?" ":"") $i; print ""}') + dns_out=$(echo "$dns_raw" | normalize) + + if [ -z "$dig_out" ]; then + echo "SKIP (no response)" + return 0 + fi + + if [ -z "$dns_out" ]; then + echo "FAIL (./dns no response)" + FAIL=$((FAIL + 1)) + return 1 + fi + + # Compare normalized output + if [ "$dig_out" = "$dns_out" ]; then + echo "PASS" + PASS=$((PASS + 1)) + return 0 + else + echo "MISMATCH" + echo " dig: $dig_raw" + echo " dns: $dns_raw" + FAIL=$((FAIL + 1)) + return 1 + fi +} + +# Compare multi-record RRsets (order-independent) +compare_multi() { + query="$1" + type="$2" + + printf "%-8s %-40s " "$type" "$query" + + # Get all dig records, sort them + dig_all=$(dig @8.8.8.8 "$query" "$type" +short 2>/dev/null | sort) + if [ -z "$dig_all" ]; then + echo "SKIP (no response)" + return 0 + fi + + # Get all ./dns records, extract RDATA, sort + dns_all=$($DNS_CMD send-query 8.8.8.8 -q "$query" -t "$type" 2>&1 | \ + grep -E "^[a-zA-Z0-9._-]+\. [0-9]+ IN $type " | \ + awk '{for(i=5;i<=NF;i++) printf "%s", (i>5?" ":"") $i; print ""}' | sort) + + if [ -z "$dns_all" ]; then + echo "FAIL (./dns no response)" + FAIL=$((FAIL + 1)) + return 1 + fi + + # Compare sorted, normalized outputs + dig_norm=$(echo "$dig_all" | normalize) + dns_norm=$(echo "$dns_all" | normalize) + + if [ "$dig_norm" = "$dns_norm" ]; then + echo "PASS" + PASS=$((PASS + 1)) + return 0 + else + echo "MISMATCH" + echo " dig records: $(echo "$dig_all" | wc -l)" + echo " dns records: $(echo "$dns_all" | wc -l)" + FAIL=$((FAIL + 1)) + return 1 + fi +} + +echo "==============================================" +echo "Validating RR parsing: ./dns vs dig" +echo "==============================================" +echo "" + +# CAA +compare_output "google.com" "CAA" +compare_output "letsencrypt.org" "CAA" + +# HTTPS/SVCB +compare_output "www.cloudflare.com" "HTTPS" +compare_output "crypto.cloudflare.com" "HTTPS" + +# DNSKEY (may have multiple records - use order-independent compare) +compare_multi "cloudflare.com" "DNSKEY" + +# DS (Delegation Signer) +compare_output "cloudflare.com" "DS" + +# TLSA (DANE) +compare_output "_25._tcp.mail.ietf.org" "TLSA" + +echo "" +echo "==============================================" +printf "Results: %d passed, %d failed\n" "$PASS" "$FAIL" +echo "==============================================" + +if [ $FAIL -gt 0 ]; then + exit 1 +fi +exit 0 diff --git a/src/dns.c b/src/dns.c index 47ba41c..d7605d1 100644 --- a/src/dns.c +++ b/src/dns.c @@ -3859,6 +3859,1135 @@ size_t dns_sshfp_print(void *_dst, size_t lim, struct dns_sshfp *fp) { } /* dns_sshfp_print() */ +/* + * D S R E S O U R C E R E C O R D + */ + +int dns_ds_parse(struct dns_ds *ds, struct dns_rr *rr, struct dns_packet *P) { + unsigned p = rr->rd.p, pe; + + /* Validate RDATA bounds against packet */ + if (rr->rd.len > P->end - rr->rd.p) + return DNS_EILLEGAL; + pe = rr->rd.p + rr->rd.len; + + if (rr->rd.len < 4) + return DNS_EILLEGAL; + + ds->keytag = ((unsigned)P->data[p] << 8) | P->data[p+1]; + p += 2; + ds->algorithm = P->data[p++]; + ds->digtype = P->data[p++]; + + ds->digestlen = pe - p; + if (ds->digestlen > sizeof ds->digest) + ds->digestlen = sizeof ds->digest; + memcpy(ds->digest, &P->data[p], ds->digestlen); + + return 0; +} /* dns_ds_parse() */ + + +int dns_ds_push(struct dns_packet *P, struct dns_ds *ds) { + unsigned p = P->end, pe = P->size; + + if (pe - p < 4 + ds->digestlen) + return DNS_ENOBUFS; + + P->data[p++] = (ds->keytag >> 8) & 0xff; + P->data[p++] = ds->keytag & 0xff; + P->data[p++] = ds->algorithm; + P->data[p++] = ds->digtype; + memcpy(&P->data[p], ds->digest, ds->digestlen); + p += ds->digestlen; + + P->end = p; + + return 0; +} /* dns_ds_push() */ + + +int dns_ds_cmp(const struct dns_ds *a, const struct dns_ds *b) { + int cmp; + + if ((cmp = (int)a->keytag - (int)b->keytag)) + return cmp; + if ((cmp = (int)a->algorithm - (int)b->algorithm)) + return cmp; + if ((cmp = (int)a->digtype - (int)b->digtype)) + return cmp; + if ((cmp = (int)a->digestlen - (int)b->digestlen)) + return cmp; + + return memcmp(a->digest, b->digest, a->digestlen); +} /* dns_ds_cmp() */ + + +size_t dns_ds_print(void *_dst, size_t lim, struct dns_ds *ds) { + static const unsigned char hex[16] = "0123456789ABCDEF"; + struct dns_buf dst = DNS_B_INTO(_dst, lim); + size_t i; + + dns_b_fmtju(&dst, ds->keytag, 0); + dns_b_putc(&dst, ' '); + dns_b_fmtju(&dst, ds->algorithm, 0); + dns_b_putc(&dst, ' '); + dns_b_fmtju(&dst, ds->digtype, 0); + dns_b_putc(&dst, ' '); + + for (i = 0; i < ds->digestlen; i++) { + dns_b_putc(&dst, hex[0x0f & (ds->digest[i] >> 4)]); + dns_b_putc(&dst, hex[0x0f & (ds->digest[i] >> 0)]); + } + + return dns_b_strllen(&dst); +} /* dns_ds_print() */ + + +/* + * D N S K E Y R E S O U R C E R E C O R D + */ + +int dns_dnskey_parse(struct dns_dnskey *key, struct dns_rr *rr, struct dns_packet *P) { + unsigned p = rr->rd.p, pe; + + /* Validate RDATA bounds against packet */ + if (rr->rd.len > P->end - rr->rd.p) + return DNS_EILLEGAL; + pe = rr->rd.p + rr->rd.len; + + if (rr->rd.len < 4) + return DNS_EILLEGAL; + + key->flags = ((unsigned)P->data[p] << 8) | P->data[p+1]; + p += 2; + key->protocol = P->data[p++]; + key->algorithm = P->data[p++]; + + key->pubkeylen = pe - p; + if (key->pubkeylen > sizeof key->pubkey) + key->pubkeylen = sizeof key->pubkey; + memcpy(key->pubkey, &P->data[p], key->pubkeylen); + + return 0; +} /* dns_dnskey_parse() */ + + +int dns_dnskey_push(struct dns_packet *P, struct dns_dnskey *key) { + unsigned p = P->end, pe = P->size; + + if (pe - p < 4 + key->pubkeylen) + return DNS_ENOBUFS; + + P->data[p++] = (key->flags >> 8) & 0xff; + P->data[p++] = key->flags & 0xff; + P->data[p++] = key->protocol; + P->data[p++] = key->algorithm; + memcpy(&P->data[p], key->pubkey, key->pubkeylen); + p += key->pubkeylen; + + P->end = p; + + return 0; +} /* dns_dnskey_push() */ + + +int dns_dnskey_cmp(const struct dns_dnskey *a, const struct dns_dnskey *b) { + int cmp; + + if ((cmp = (int)a->flags - (int)b->flags)) + return cmp; + if ((cmp = (int)a->protocol - (int)b->protocol)) + return cmp; + if ((cmp = (int)a->algorithm - (int)b->algorithm)) + return cmp; + if ((cmp = (int)a->pubkeylen - (int)b->pubkeylen)) + return cmp; + + return memcmp(a->pubkey, b->pubkey, a->pubkeylen); +} /* dns_dnskey_cmp() */ + + +static size_t dns_base64_encode(void *_dst, size_t lim, const unsigned char *src, size_t len) { + static const char b64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + struct dns_buf dst = DNS_B_INTO(_dst, lim); + size_t i; + + for (i = 0; i + 2 < len; i += 3) { + dns_b_putc(&dst, b64[src[i] >> 2]); + dns_b_putc(&dst, b64[((src[i] & 0x03) << 4) | (src[i+1] >> 4)]); + dns_b_putc(&dst, b64[((src[i+1] & 0x0f) << 2) | (src[i+2] >> 6)]); + dns_b_putc(&dst, b64[src[i+2] & 0x3f]); + } + + if (i < len) { + dns_b_putc(&dst, b64[src[i] >> 2]); + if (i + 1 < len) { + dns_b_putc(&dst, b64[((src[i] & 0x03) << 4) | (src[i+1] >> 4)]); + dns_b_putc(&dst, b64[(src[i+1] & 0x0f) << 2]); + } else { + dns_b_putc(&dst, b64[(src[i] & 0x03) << 4]); + dns_b_putc(&dst, '='); + } + dns_b_putc(&dst, '='); + } + + return dns_b_strllen(&dst); +} /* dns_base64_encode() */ + + +size_t dns_dnskey_print(void *_dst, size_t lim, struct dns_dnskey *key) { + struct dns_buf dst = DNS_B_INTO(_dst, lim); + char b64buf[4096]; + size_t b64len; + + dns_b_fmtju(&dst, key->flags, 0); + dns_b_putc(&dst, ' '); + dns_b_fmtju(&dst, key->protocol, 0); + dns_b_putc(&dst, ' '); + dns_b_fmtju(&dst, key->algorithm, 0); + dns_b_putc(&dst, ' '); + + b64len = dns_base64_encode(b64buf, sizeof b64buf, key->pubkey, key->pubkeylen); + dns_b_put(&dst, b64buf, DNS_PP_MIN(b64len, sizeof b64buf - 1)); + + return dns_b_strllen(&dst); +} /* dns_dnskey_print() */ + + +/* + * R R S I G R E S O U R C E R E C O R D + */ + +int dns_rrsig_parse(struct dns_rrsig *sig, struct dns_rr *rr, struct dns_packet *P) { + unsigned p = rr->rd.p, pe; + int error; + + /* Validate RDATA bounds against packet */ + if (rr->rd.len > P->end - rr->rd.p) + return DNS_EILLEGAL; + pe = rr->rd.p + rr->rd.len; + + if (rr->rd.len < 18) + return DNS_EILLEGAL; + + sig->covered = ((unsigned)P->data[p] << 8) | P->data[p+1]; + p += 2; + sig->algorithm = P->data[p++]; + sig->labels = P->data[p++]; + sig->origttl = ((uint32_t)P->data[p] << 24) | ((uint32_t)P->data[p+1] << 16) | + ((uint32_t)P->data[p+2] << 8) | P->data[p+3]; + p += 4; + sig->expiration = ((uint32_t)P->data[p] << 24) | ((uint32_t)P->data[p+1] << 16) | + ((uint32_t)P->data[p+2] << 8) | P->data[p+3]; + p += 4; + sig->inception = ((uint32_t)P->data[p] << 24) | ((uint32_t)P->data[p+1] << 16) | + ((uint32_t)P->data[p+2] << 8) | P->data[p+3]; + p += 4; + sig->keytag = ((unsigned)P->data[p] << 8) | P->data[p+1]; + p += 2; + + /* Parse signer name */ + if (!dns_d_expand(sig->signer, sizeof sig->signer, p, P, &error)) + return error; + p = dns_d_skip(p, P); + + /* Validate p is within RDATA bounds (check for underflow from skip too) */ + if (p < rr->rd.p || p > pe) + return DNS_EILLEGAL; + + /* Copy signature */ + sig->siglen = pe - p; + if (sig->siglen > sizeof sig->signature) + sig->siglen = sizeof sig->signature; + memcpy(sig->signature, &P->data[p], sig->siglen); + + return 0; +} /* dns_rrsig_parse() */ + + +int dns_rrsig_push(struct dns_packet *P, struct dns_rrsig *sig) { + unsigned p = P->end, pe = P->size; + int error; + + if (pe - p < 18) + return DNS_ENOBUFS; + + P->data[p++] = (sig->covered >> 8) & 0xff; + P->data[p++] = sig->covered & 0xff; + P->data[p++] = sig->algorithm; + P->data[p++] = sig->labels; + P->data[p++] = (sig->origttl >> 24) & 0xff; + P->data[p++] = (sig->origttl >> 16) & 0xff; + P->data[p++] = (sig->origttl >> 8) & 0xff; + P->data[p++] = sig->origttl & 0xff; + P->data[p++] = (sig->expiration >> 24) & 0xff; + P->data[p++] = (sig->expiration >> 16) & 0xff; + P->data[p++] = (sig->expiration >> 8) & 0xff; + P->data[p++] = sig->expiration & 0xff; + P->data[p++] = (sig->inception >> 24) & 0xff; + P->data[p++] = (sig->inception >> 16) & 0xff; + P->data[p++] = (sig->inception >> 8) & 0xff; + P->data[p++] = sig->inception & 0xff; + P->data[p++] = (sig->keytag >> 8) & 0xff; + P->data[p++] = sig->keytag & 0xff; + + P->end = p; + + /* Push signer name */ + if ((error = dns_d_push(P, sig->signer, strlen(sig->signer)))) + return error; + p = P->end; + + /* Push signature */ + if (pe - p < sig->siglen) + return DNS_ENOBUFS; + memcpy(&P->data[p], sig->signature, sig->siglen); + P->end = p + sig->siglen; + + return 0; +} /* dns_rrsig_push() */ + + +int dns_rrsig_cmp(const struct dns_rrsig *a, const struct dns_rrsig *b) { + int cmp; + + if ((cmp = (int)a->covered - (int)b->covered)) + return cmp; + if ((cmp = (int)a->algorithm - (int)b->algorithm)) + return cmp; + if ((cmp = (int)a->labels - (int)b->labels)) + return cmp; + if ((cmp = strcasecmp(a->signer, b->signer))) + return cmp; + if ((cmp = (int)a->keytag - (int)b->keytag)) + return cmp; + + return 0; +} /* dns_rrsig_cmp() */ + + +size_t dns_rrsig_print(void *_dst, size_t lim, struct dns_rrsig *sig) { + struct dns_buf dst = DNS_B_INTO(_dst, lim); + char b64buf[4096]; + size_t b64len; + + /* Type covered */ + dns_b_puts(&dst, dns_strtype(sig->covered)); + dns_b_putc(&dst, ' '); + dns_b_fmtju(&dst, sig->algorithm, 0); + dns_b_putc(&dst, ' '); + dns_b_fmtju(&dst, sig->labels, 0); + dns_b_putc(&dst, ' '); + dns_b_fmtju(&dst, sig->origttl, 0); + dns_b_putc(&dst, ' '); + dns_b_fmtju(&dst, sig->expiration, 0); + dns_b_putc(&dst, ' '); + dns_b_fmtju(&dst, sig->inception, 0); + dns_b_putc(&dst, ' '); + dns_b_fmtju(&dst, sig->keytag, 0); + dns_b_putc(&dst, ' '); + dns_b_puts(&dst, sig->signer); + dns_b_putc(&dst, ' '); + + b64len = dns_base64_encode(b64buf, sizeof b64buf, sig->signature, sig->siglen); + dns_b_put(&dst, b64buf, DNS_PP_MIN(b64len, sizeof b64buf - 1)); + + return dns_b_strllen(&dst); +} /* dns_rrsig_print() */ + + +/* + * N S E C R E S O U R C E R E C O R D + */ + +int dns_nsec_parse(struct dns_nsec *nsec, struct dns_rr *rr, struct dns_packet *P) { + unsigned p = rr->rd.p; + int error; + + /* Validate RDATA bounds against packet */ + if (rr->rd.len > P->end - rr->rd.p) + return DNS_EILLEGAL; + + /* Parse next domain name */ + if (!dns_d_expand(nsec->next, sizeof nsec->next, p, P, &error)) + return error; + p = dns_d_skip(p, P); + + /* Validate p is within RDATA bounds (check for overflow too) */ + if (p < rr->rd.p || p > rr->rd.p + rr->rd.len) + return DNS_EILLEGAL; + + /* Copy type bitmap */ + nsec->typemaplen = (rr->rd.p + rr->rd.len) - p; + if (nsec->typemaplen > sizeof nsec->typemap) + nsec->typemaplen = sizeof nsec->typemap; + memcpy(nsec->typemap, &P->data[p], nsec->typemaplen); + + return 0; +} /* dns_nsec_parse() */ + + +int dns_nsec_push(struct dns_packet *P, struct dns_nsec *nsec) { + unsigned p = P->end, pe = P->size; + int error; + + /* Push next domain name */ + if ((error = dns_d_push(P, nsec->next, strlen(nsec->next)))) + return error; + p = P->end; + + /* Push type bitmap */ + if (pe - p < nsec->typemaplen) + return DNS_ENOBUFS; + memcpy(&P->data[p], nsec->typemap, nsec->typemaplen); + P->end = p + nsec->typemaplen; + + return 0; +} /* dns_nsec_push() */ + + +int dns_nsec_cmp(const struct dns_nsec *a, const struct dns_nsec *b) { + return strcasecmp(a->next, b->next); +} /* dns_nsec_cmp() */ + + +_Bool dns_nsec_hastype(const struct dns_nsec *nsec, enum dns_type type) { + unsigned window, offset, byte, bit; + const unsigned char *p, *pe; + + p = nsec->typemap; + pe = p + nsec->typemaplen; + + while (p + 2 <= pe) { + window = *p++; + offset = *p++; + if (p + offset > pe) + break; + + if ((unsigned)type >= window * 256 && (unsigned)type < (window + 1) * 256) { + unsigned tbit = (unsigned)type - window * 256; + byte = tbit / 8; + bit = 7 - (tbit % 8); + if (byte < offset && (p[byte] & (1 << bit))) + return 1; + } + p += offset; + } + + return 0; +} /* dns_nsec_hastype() */ + + +static size_t dns_typemap_print(void *_dst, size_t lim, const unsigned char *typemap, size_t typemaplen) { + struct dns_buf dst = DNS_B_INTO(_dst, lim); + const unsigned char *p = typemap, *pe = typemap + typemaplen; + int first = 1; + + while (p + 2 <= pe) { + unsigned window = *p++; + unsigned len = *p++; + unsigned i, j; + + /* Validate len doesn't exceed remaining buffer */ + if (len > (size_t)(pe - p)) + break; + + for (i = 0; i < len; i++) { + for (j = 0; j < 8; j++) { + if (p[i] & (1 << (7 - j))) { + unsigned type = window * 256 + i * 8 + j; + if (!first) + dns_b_putc(&dst, ' '); + first = 0; + dns_b_puts(&dst, dns_strtype(type)); + } + } + } + p += len; + } + + return dns_b_strllen(&dst); +} /* dns_typemap_print() */ + + +size_t dns_nsec_print(void *_dst, size_t lim, struct dns_nsec *nsec) { + struct dns_buf dst = DNS_B_INTO(_dst, lim); + char typebuf[4096]; + size_t typelen; + + dns_b_puts(&dst, nsec->next); + dns_b_putc(&dst, ' '); + + typelen = dns_typemap_print(typebuf, sizeof typebuf, nsec->typemap, nsec->typemaplen); + dns_b_put(&dst, typebuf, DNS_PP_MIN(typelen, sizeof typebuf - 1)); + + return dns_b_strllen(&dst); +} /* dns_nsec_print() */ + + +/* + * N S E C 3 R E S O U R C E R E C O R D + */ + +int dns_nsec3_parse(struct dns_nsec3 *nsec3, struct dns_rr *rr, struct dns_packet *P) { + unsigned p = rr->rd.p, pe; + + /* Validate RDATA bounds against packet */ + if (rr->rd.len > P->end - rr->rd.p) + return DNS_EILLEGAL; + pe = rr->rd.p + rr->rd.len; + + if (rr->rd.len < 5) + return DNS_EILLEGAL; + + nsec3->algorithm = P->data[p++]; + nsec3->flags = P->data[p++]; + nsec3->iterations = ((unsigned)P->data[p] << 8) | P->data[p+1]; + p += 2; + + /* Salt length and salt */ + nsec3->saltlen = P->data[p++]; + if (pe - p < nsec3->saltlen) + return DNS_EILLEGAL; + if (nsec3->saltlen > sizeof nsec3->salt) + return DNS_EILLEGAL; + memcpy(nsec3->salt, &P->data[p], nsec3->saltlen); + p += nsec3->saltlen; + + /* Hash length and next hashed owner name */ + if (pe - p < 1) + return DNS_EILLEGAL; + nsec3->nexthashlen = P->data[p++]; + if (pe - p < nsec3->nexthashlen) + return DNS_EILLEGAL; + if (nsec3->nexthashlen > sizeof nsec3->nexthash) + return DNS_EILLEGAL; + memcpy(nsec3->nexthash, &P->data[p], nsec3->nexthashlen); + p += nsec3->nexthashlen; + + /* Type bitmap */ + nsec3->typemaplen = pe - p; + if (nsec3->typemaplen > sizeof nsec3->typemap) + nsec3->typemaplen = sizeof nsec3->typemap; + memcpy(nsec3->typemap, &P->data[p], nsec3->typemaplen); + + return 0; +} /* dns_nsec3_parse() */ + + +int dns_nsec3_push(struct dns_packet *P, struct dns_nsec3 *nsec3) { + unsigned p = P->end, pe = P->size; + size_t needed = 5 + nsec3->saltlen + 1 + nsec3->nexthashlen + nsec3->typemaplen; + + if (pe - p < needed) + return DNS_ENOBUFS; + + P->data[p++] = nsec3->algorithm; + P->data[p++] = nsec3->flags; + P->data[p++] = (nsec3->iterations >> 8) & 0xff; + P->data[p++] = nsec3->iterations & 0xff; + P->data[p++] = nsec3->saltlen; + memcpy(&P->data[p], nsec3->salt, nsec3->saltlen); + p += nsec3->saltlen; + P->data[p++] = nsec3->nexthashlen; + memcpy(&P->data[p], nsec3->nexthash, nsec3->nexthashlen); + p += nsec3->nexthashlen; + memcpy(&P->data[p], nsec3->typemap, nsec3->typemaplen); + p += nsec3->typemaplen; + + P->end = p; + + return 0; +} /* dns_nsec3_push() */ + + +int dns_nsec3_cmp(const struct dns_nsec3 *a, const struct dns_nsec3 *b) { + int cmp; + + if ((cmp = (int)a->algorithm - (int)b->algorithm)) + return cmp; + if ((cmp = (int)a->nexthashlen - (int)b->nexthashlen)) + return cmp; + + return memcmp(a->nexthash, b->nexthash, a->nexthashlen); +} /* dns_nsec3_cmp() */ + + +_Bool dns_nsec3_hastype(const struct dns_nsec3 *nsec3, enum dns_type type) { + unsigned window, offset, byte, bit; + const unsigned char *p, *pe; + + p = nsec3->typemap; + pe = p + nsec3->typemaplen; + + while (p + 2 <= pe) { + window = *p++; + offset = *p++; + if (p + offset > pe) + break; + + if ((unsigned)type >= window * 256 && (unsigned)type < (window + 1) * 256) { + unsigned tbit = (unsigned)type - window * 256; + byte = tbit / 8; + bit = 7 - (tbit % 8); + if (byte < offset && (p[byte] & (1 << bit))) + return 1; + } + p += offset; + } + + return 0; +} /* dns_nsec3_hastype() */ + + +static size_t dns_base32hex_encode(void *_dst, size_t lim, const unsigned char *src, size_t len) { + static const char b32[] = "0123456789ABCDEFGHIJKLMNOPQRSTUV"; + struct dns_buf dst = DNS_B_INTO(_dst, lim); + size_t i; + unsigned long acc; + int bits; + + acc = 0; + bits = 0; + for (i = 0; i < len; i++) { + acc = (acc << 8) | src[i]; + bits += 8; + while (bits >= 5) { + bits -= 5; + dns_b_putc(&dst, b32[(acc >> bits) & 0x1f]); + } + } + if (bits > 0) { + dns_b_putc(&dst, b32[(acc << (5 - bits)) & 0x1f]); + } + + return dns_b_strllen(&dst); +} /* dns_base32hex_encode() */ + + +size_t dns_nsec3_print(void *_dst, size_t lim, struct dns_nsec3 *nsec3) { + static const unsigned char hex[16] = "0123456789ABCDEF"; + struct dns_buf dst = DNS_B_INTO(_dst, lim); + char typebuf[4096], hashbuf[256]; + size_t typelen, hashlen, i; + + dns_b_fmtju(&dst, nsec3->algorithm, 0); + dns_b_putc(&dst, ' '); + dns_b_fmtju(&dst, nsec3->flags, 0); + dns_b_putc(&dst, ' '); + dns_b_fmtju(&dst, nsec3->iterations, 0); + dns_b_putc(&dst, ' '); + + /* Salt (hex) or "-" if empty */ + if (nsec3->saltlen == 0) { + dns_b_putc(&dst, '-'); + } else { + for (i = 0; i < nsec3->saltlen; i++) { + dns_b_putc(&dst, hex[0x0f & (nsec3->salt[i] >> 4)]); + dns_b_putc(&dst, hex[0x0f & (nsec3->salt[i] >> 0)]); + } + } + dns_b_putc(&dst, ' '); + + /* Next hashed owner name (base32hex) */ + hashlen = dns_base32hex_encode(hashbuf, sizeof hashbuf, nsec3->nexthash, nsec3->nexthashlen); + dns_b_put(&dst, hashbuf, DNS_PP_MIN(hashlen, sizeof hashbuf - 1)); + dns_b_putc(&dst, ' '); + + /* Type bitmap */ + typelen = dns_typemap_print(typebuf, sizeof typebuf, nsec3->typemap, nsec3->typemaplen); + dns_b_put(&dst, typebuf, DNS_PP_MIN(typelen, sizeof typebuf - 1)); + + return dns_b_strllen(&dst); +} /* dns_nsec3_print() */ + + +/* + * T L S A R E S O U R C E R E C O R D + */ + +int dns_tlsa_parse(struct dns_tlsa *tlsa, struct dns_rr *rr, struct dns_packet *P) { + unsigned p = rr->rd.p, pe; + + /* Validate RDATA bounds against packet */ + if (rr->rd.len > P->end - rr->rd.p) + return DNS_EILLEGAL; + pe = rr->rd.p + rr->rd.len; + + if (rr->rd.len < 3) + return DNS_EILLEGAL; + + tlsa->usage = P->data[p++]; + tlsa->selector = P->data[p++]; + tlsa->matchtype = P->data[p++]; + + tlsa->datalen = pe - p; + if (tlsa->datalen > sizeof tlsa->data) + tlsa->datalen = sizeof tlsa->data; + memcpy(tlsa->data, &P->data[p], tlsa->datalen); + + return 0; +} /* dns_tlsa_parse() */ + + +int dns_tlsa_push(struct dns_packet *P, struct dns_tlsa *tlsa) { + unsigned p = P->end, pe = P->size; + + if (pe - p < 3 + tlsa->datalen) + return DNS_ENOBUFS; + + P->data[p++] = tlsa->usage; + P->data[p++] = tlsa->selector; + P->data[p++] = tlsa->matchtype; + memcpy(&P->data[p], tlsa->data, tlsa->datalen); + p += tlsa->datalen; + + P->end = p; + + return 0; +} /* dns_tlsa_push() */ + + +int dns_tlsa_cmp(const struct dns_tlsa *a, const struct dns_tlsa *b) { + int cmp; + + if ((cmp = (int)a->usage - (int)b->usage)) + return cmp; + if ((cmp = (int)a->selector - (int)b->selector)) + return cmp; + if ((cmp = (int)a->matchtype - (int)b->matchtype)) + return cmp; + if ((cmp = (int)a->datalen - (int)b->datalen)) + return cmp; + + return memcmp(a->data, b->data, a->datalen); +} /* dns_tlsa_cmp() */ + + +size_t dns_tlsa_print(void *_dst, size_t lim, struct dns_tlsa *tlsa) { + static const unsigned char hex[16] = "0123456789ABCDEF"; + struct dns_buf dst = DNS_B_INTO(_dst, lim); + size_t i; + + dns_b_fmtju(&dst, tlsa->usage, 0); + dns_b_putc(&dst, ' '); + dns_b_fmtju(&dst, tlsa->selector, 0); + dns_b_putc(&dst, ' '); + dns_b_fmtju(&dst, tlsa->matchtype, 0); + dns_b_putc(&dst, ' '); + + for (i = 0; i < tlsa->datalen; i++) { + dns_b_putc(&dst, hex[0x0f & (tlsa->data[i] >> 4)]); + dns_b_putc(&dst, hex[0x0f & (tlsa->data[i] >> 0)]); + } + + return dns_b_strllen(&dst); +} /* dns_tlsa_print() */ + + +/* + * C A A R E S O U R C E R E C O R D + */ + +int dns_caa_parse(struct dns_caa *caa, struct dns_rr *rr, struct dns_packet *P) { + unsigned p = rr->rd.p, pe; + size_t taglen; + + /* Validate RDATA bounds against packet */ + if (rr->rd.len > P->end - rr->rd.p) + return DNS_EILLEGAL; + pe = rr->rd.p + rr->rd.len; + + if (rr->rd.len < 2) + return DNS_EILLEGAL; + + caa->flags = P->data[p++]; + taglen = P->data[p++]; + + if (pe - p < taglen) + return DNS_EILLEGAL; + + if (taglen > sizeof caa->tag - 1) + taglen = sizeof caa->tag - 1; + memcpy(caa->tag, &P->data[p], taglen); + caa->tag[taglen] = '\0'; + p += taglen; + + caa->valuelen = pe - p; + if (caa->valuelen > sizeof caa->value - 1) + caa->valuelen = sizeof caa->value - 1; + memcpy(caa->value, &P->data[p], caa->valuelen); + caa->value[caa->valuelen] = '\0'; + + return 0; +} /* dns_caa_parse() */ + + +int dns_caa_push(struct dns_packet *P, struct dns_caa *caa) { + unsigned p = P->end, pe = P->size; + size_t taglen = strlen(caa->tag); + + if (pe - p < 2 + taglen + caa->valuelen) + return DNS_ENOBUFS; + + P->data[p++] = caa->flags; + P->data[p++] = taglen; + memcpy(&P->data[p], caa->tag, taglen); + p += taglen; + memcpy(&P->data[p], caa->value, caa->valuelen); + p += caa->valuelen; + + P->end = p; + + return 0; +} /* dns_caa_push() */ + + +int dns_caa_cmp(const struct dns_caa *a, const struct dns_caa *b) { + int cmp; + + if ((cmp = (int)a->flags - (int)b->flags)) + return cmp; + if ((cmp = strcasecmp(a->tag, b->tag))) + return cmp; + if ((cmp = (int)a->valuelen - (int)b->valuelen)) + return cmp; + + return memcmp(a->value, b->value, a->valuelen); +} /* dns_caa_cmp() */ + + +size_t dns_caa_print(void *_dst, size_t lim, struct dns_caa *caa) { + struct dns_buf dst = DNS_B_INTO(_dst, lim); + + dns_b_fmtju(&dst, caa->flags, 0); + dns_b_putc(&dst, ' '); + dns_b_puts(&dst, caa->tag); + dns_b_putc(&dst, ' '); + dns_b_putc(&dst, '"'); + dns_b_put(&dst, caa->value, caa->valuelen); + dns_b_putc(&dst, '"'); + + return dns_b_strllen(&dst); +} /* dns_caa_print() */ + + +/* + * U R I R E S O U R C E R E C O R D + */ + +int dns_uri_parse(struct dns_uri *uri, struct dns_rr *rr, struct dns_packet *P) { + unsigned p = rr->rd.p, pe; + size_t targetlen; + + /* Validate RDATA bounds against packet */ + if (rr->rd.len > P->end - rr->rd.p) + return DNS_EILLEGAL; + pe = rr->rd.p + rr->rd.len; + + if (rr->rd.len < 4) + return DNS_EILLEGAL; + + uri->priority = ((unsigned)P->data[p] << 8) | P->data[p+1]; + p += 2; + uri->weight = ((unsigned)P->data[p] << 8) | P->data[p+1]; + p += 2; + + targetlen = pe - p; + if (targetlen > sizeof uri->target - 1) + targetlen = sizeof uri->target - 1; + memcpy(uri->target, &P->data[p], targetlen); + uri->target[targetlen] = '\0'; + + return 0; +} /* dns_uri_parse() */ + + +int dns_uri_push(struct dns_packet *P, struct dns_uri *uri) { + unsigned p = P->end, pe = P->size; + size_t targetlen = strlen(uri->target); + + if (pe - p < 4 + targetlen) + return DNS_ENOBUFS; + + P->data[p++] = (uri->priority >> 8) & 0xff; + P->data[p++] = uri->priority & 0xff; + P->data[p++] = (uri->weight >> 8) & 0xff; + P->data[p++] = uri->weight & 0xff; + memcpy(&P->data[p], uri->target, targetlen); + p += targetlen; + + P->end = p; + + return 0; +} /* dns_uri_push() */ + + +int dns_uri_cmp(const struct dns_uri *a, const struct dns_uri *b) { + int cmp; + + if ((cmp = (int)a->priority - (int)b->priority)) + return cmp; + if ((cmp = (int)a->weight - (int)b->weight)) + return cmp; + + return strcmp(a->target, b->target); +} /* dns_uri_cmp() */ + + +size_t dns_uri_print(void *_dst, size_t lim, struct dns_uri *uri) { + struct dns_buf dst = DNS_B_INTO(_dst, lim); + + dns_b_fmtju(&dst, uri->priority, 0); + dns_b_putc(&dst, ' '); + dns_b_fmtju(&dst, uri->weight, 0); + dns_b_putc(&dst, ' '); + dns_b_putc(&dst, '"'); + dns_b_puts(&dst, uri->target); + dns_b_putc(&dst, '"'); + + return dns_b_strllen(&dst); +} /* dns_uri_print() */ + + +/* + * S V C B / H T T P S R E S O U R C E R E C O R D + */ + +int dns_svcb_parse(struct dns_svcb *svcb, struct dns_rr *rr, struct dns_packet *P) { + unsigned p = rr->rd.p, pe; + int error; + + /* Validate RDATA bounds against packet */ + if (rr->rd.len > P->end - rr->rd.p) + return DNS_EILLEGAL; + pe = rr->rd.p + rr->rd.len; + + if (rr->rd.len < 2) + return DNS_EILLEGAL; + + svcb->priority = ((unsigned)P->data[p] << 8) | P->data[p+1]; + p += 2; + + /* Parse target name */ + if (!dns_d_expand(svcb->target, sizeof svcb->target, p, P, &error)) + return error; + p = dns_d_skip(p, P); + + /* Validate p is within RDATA bounds (check for underflow from skip too) */ + if (p < rr->rd.p || p > pe) + return DNS_EILLEGAL; + + /* Copy SvcParams */ + svcb->paramslen = pe - p; + if (svcb->paramslen > sizeof svcb->params) + svcb->paramslen = sizeof svcb->params; + memcpy(svcb->params, &P->data[p], svcb->paramslen); + + return 0; +} /* dns_svcb_parse() */ + + +int dns_svcb_push(struct dns_packet *P, struct dns_svcb *svcb) { + unsigned p = P->end, pe = P->size; + int error; + + if (pe - p < 2) + return DNS_ENOBUFS; + + P->data[p++] = (svcb->priority >> 8) & 0xff; + P->data[p++] = svcb->priority & 0xff; + + P->end = p; + + /* Push target name */ + if ((error = dns_d_push(P, svcb->target, strlen(svcb->target)))) + return error; + p = P->end; + + /* Push SvcParams */ + if (pe - p < svcb->paramslen) + return DNS_ENOBUFS; + memcpy(&P->data[p], svcb->params, svcb->paramslen); + P->end = p + svcb->paramslen; + + return 0; +} /* dns_svcb_push() */ + + +int dns_svcb_cmp(const struct dns_svcb *a, const struct dns_svcb *b) { + int cmp; + + if ((cmp = (int)a->priority - (int)b->priority)) + return cmp; + + return strcasecmp(a->target, b->target); +} /* dns_svcb_cmp() */ + + +_Bool dns_svcb_getparam(const struct dns_svcb *svcb, enum dns_svcb_key key, const unsigned char **data, size_t *len) { + const unsigned char *p = svcb->params, *pe = p + svcb->paramslen; + + while (p + 4 <= pe) { + unsigned pkey = ((unsigned)p[0] << 8) | p[1]; + unsigned plen = ((unsigned)p[2] << 8) | p[3]; + p += 4; + + if (p + plen > pe) + break; + + if (pkey == (unsigned)key) { + *data = p; + *len = plen; + return 1; + } + p += plen; + } + + return 0; +} /* dns_svcb_getparam() */ + + +static const char *dns_svcb_keyname(unsigned key) { + switch (key) { + case DNS_SVCB_KEY_MANDATORY: return "mandatory"; + case DNS_SVCB_KEY_ALPN: return "alpn"; + case DNS_SVCB_KEY_NO_DEFAULT_ALPN: return "no-default-alpn"; + case DNS_SVCB_KEY_PORT: return "port"; + case DNS_SVCB_KEY_IPV4HINT: return "ipv4hint"; + case DNS_SVCB_KEY_ECH: return "ech"; + case DNS_SVCB_KEY_IPV6HINT: return "ipv6hint"; + case DNS_SVCB_KEY_DOHPATH: return "dohpath"; + case DNS_SVCB_KEY_OHTTP: return "ohttp"; + default: return NULL; + } +} /* dns_svcb_keyname() */ + + +size_t dns_svcb_print(void *_dst, size_t lim, struct dns_svcb *svcb) { + struct dns_buf dst = DNS_B_INTO(_dst, lim); + const unsigned char *p, *pe; + char addrbuf[INET6_ADDRSTRLEN]; + + dns_b_fmtju(&dst, svcb->priority, 0); + dns_b_putc(&dst, ' '); + dns_b_puts(&dst, svcb->target[0] ? svcb->target : "."); + + /* Parse and print SvcParams */ + p = svcb->params; + pe = p + svcb->paramslen; + + while (p + 4 <= pe) { + unsigned key = ((unsigned)p[0] << 8) | p[1]; + unsigned len = ((unsigned)p[2] << 8) | p[3]; + const char *keyname; + p += 4; + + /* Validate len doesn't overflow or exceed remaining buffer */ + if (len > (size_t)(pe - p)) + break; + + dns_b_putc(&dst, ' '); + + keyname = dns_svcb_keyname(key); + if (keyname) { + dns_b_puts(&dst, keyname); + } else { + dns_b_puts(&dst, "key"); + dns_b_fmtju(&dst, key, 0); + } + + if (len > 0) { + dns_b_putc(&dst, '='); + + switch (key) { + case DNS_SVCB_KEY_MANDATORY: { + const unsigned char *mp = p; + int first = 1; + while (mp + 2 <= p + len) { + unsigned mkey = ((unsigned)mp[0] << 8) | mp[1]; + const char *mkeyname = dns_svcb_keyname(mkey); + if (!first) dns_b_putc(&dst, ','); + first = 0; + if (mkeyname) { + dns_b_puts(&dst, mkeyname); + } else { + dns_b_puts(&dst, "key"); + dns_b_fmtju(&dst, mkey, 0); + } + mp += 2; + } + break; + } + case DNS_SVCB_KEY_PORT: + if (len >= 2) { + unsigned port = ((unsigned)p[0] << 8) | p[1]; + dns_b_fmtju(&dst, port, 0); + } + break; + case DNS_SVCB_KEY_ALPN: { + const unsigned char *ap = p, *ape = p + len; + int first = 1; + dns_b_putc(&dst, '"'); + while (ap < ape) { + unsigned alen = *ap++; + if (ap + alen > ape) break; + if (!first) dns_b_putc(&dst, ','); + first = 0; + dns_b_put(&dst, ap, alen); + ap += alen; + } + dns_b_putc(&dst, '"'); + break; + } + case DNS_SVCB_KEY_IPV4HINT: { + const unsigned char *ap = p; + int first = 1; + while (ap + 4 <= p + len) { + if (!first) dns_b_putc(&dst, ','); + first = 0; + if (dns_inet_ntop(AF_INET, ap, addrbuf, sizeof addrbuf)) + dns_b_puts(&dst, addrbuf); + ap += 4; + } + break; + } + case DNS_SVCB_KEY_IPV6HINT: { + const unsigned char *ap = p; + int first = 1; + while (ap + 16 <= p + len) { + if (!first) dns_b_putc(&dst, ','); + first = 0; + if (dns_inet_ntop(AF_INET6, ap, addrbuf, sizeof addrbuf)) + dns_b_puts(&dst, addrbuf); + ap += 16; + } + break; + } + case DNS_SVCB_KEY_DOHPATH: + dns_b_putc(&dst, '"'); + dns_b_put(&dst, p, len); + dns_b_putc(&dst, '"'); + break; + case DNS_SVCB_KEY_ECH: + default: { + /* Base64 encoding for binary params (like ech) */ + char b64buf[2048]; + size_t b64len = dns_base64_encode(b64buf, sizeof(b64buf), p, len); + (void)b64len; + dns_b_puts(&dst, b64buf); + break; + } + } + } + p += len; + } + + return dns_b_strllen(&dst); +} /* dns_svcb_print() */ + + struct dns_txt *dns_txt_init(struct dns_txt *txt, size_t size) { assert(size > offsetof(struct dns_txt, data)); @@ -4011,6 +5140,16 @@ static const struct dns_rrtype { { DNS_T_TXT, "TXT", &dns_txt_initany, &dns_txt_parse, &dns_txt_push, &dns_txt_cmp, &dns_txt_print, 0, }, { DNS_T_SPF, "SPF", &dns_txt_initany, &dns_txt_parse, &dns_txt_push, &dns_txt_cmp, &dns_txt_print, 0, }, { DNS_T_SSHFP, "SSHFP", 0, &dns_sshfp_parse, &dns_sshfp_push, &dns_sshfp_cmp, &dns_sshfp_print, 0, }, + { DNS_T_DS, "DS", 0, &dns_ds_parse, &dns_ds_push, &dns_ds_cmp, &dns_ds_print, 0, }, + { DNS_T_DNSKEY, "DNSKEY", 0, &dns_dnskey_parse, &dns_dnskey_push, &dns_dnskey_cmp, &dns_dnskey_print, 0, }, + { DNS_T_RRSIG, "RRSIG", 0, &dns_rrsig_parse, &dns_rrsig_push, &dns_rrsig_cmp, &dns_rrsig_print, 0, }, + { DNS_T_NSEC, "NSEC", 0, &dns_nsec_parse, &dns_nsec_push, &dns_nsec_cmp, &dns_nsec_print, 0, }, + { DNS_T_NSEC3, "NSEC3", 0, &dns_nsec3_parse, &dns_nsec3_push, &dns_nsec3_cmp, &dns_nsec3_print, 0, }, + { DNS_T_TLSA, "TLSA", 0, &dns_tlsa_parse, &dns_tlsa_push, &dns_tlsa_cmp, &dns_tlsa_print, 0, }, + { DNS_T_SVCB, "SVCB", 0, &dns_svcb_parse, &dns_svcb_push, &dns_svcb_cmp, &dns_svcb_print, 0, }, + { DNS_T_HTTPS, "HTTPS", 0, &dns_svcb_parse, &dns_svcb_push, &dns_svcb_cmp, &dns_svcb_print, 0, }, + { DNS_T_CAA, "CAA", 0, &dns_caa_parse, &dns_caa_push, &dns_caa_cmp, &dns_caa_print, 0, }, + { DNS_T_URI, "URI", 0, &dns_uri_parse, &dns_uri_push, &dns_uri_cmp, &dns_uri_print, 0, }, { DNS_T_AXFR, "AXFR", 0, 0, 0, 0, 0, 0, }, }; /* dns_rrtypes[] */ diff --git a/src/dns.h b/src/dns.h index e57652b..44fd63d 100644 --- a/src/dns.h +++ b/src/dns.h @@ -251,9 +251,19 @@ enum dns_type { DNS_T_AAAA = 28, DNS_T_SRV = 33, DNS_T_OPT = 41, + DNS_T_DS = 43, DNS_T_SSHFP = 44, + DNS_T_RRSIG = 46, + DNS_T_NSEC = 47, + DNS_T_DNSKEY = 48, + DNS_T_NSEC3 = 50, + DNS_T_TLSA = 52, + DNS_T_SVCB = 64, + DNS_T_HTTPS = 65, DNS_T_SPF = 99, - DNS_T_AXFR = 252, + DNS_T_AXFR = 252, + DNS_T_CAA = 257, + DNS_T_URI = 256, DNS_T_ALL = 255 }; /* enum dns_type */ @@ -800,6 +810,261 @@ DNS_PUBLIC int dns_sshfp_cmp(const struct dns_sshfp *, const struct dns_sshfp *) DNS_PUBLIC size_t dns_sshfp_print(void *, size_t, struct dns_sshfp *); +/* + * D S R E S O U R C E R E C O R D (RFC 4034) + */ + +#ifndef DNS_DS_DIGEST_MAXLEN +#define DNS_DS_DIGEST_MAXLEN 64 /* SHA-384 = 48 bytes, allow room for future */ +#endif + +struct dns_ds { + uint16_t keytag; + uint8_t algorithm; + uint8_t digtype; + unsigned char digest[DNS_DS_DIGEST_MAXLEN]; + size_t digestlen; +}; /* struct dns_ds */ + +DNS_PUBLIC int dns_ds_parse(struct dns_ds *, struct dns_rr *, struct dns_packet *); + +DNS_PUBLIC int dns_ds_push(struct dns_packet *, struct dns_ds *); + +DNS_PUBLIC int dns_ds_cmp(const struct dns_ds *, const struct dns_ds *); + +DNS_PUBLIC size_t dns_ds_print(void *, size_t, struct dns_ds *); + + +/* + * D N S K E Y R E S O U R C E R E C O R D (RFC 4034) + */ + +#ifndef DNS_DNSKEY_PUBKEY_MAXLEN +#define DNS_DNSKEY_PUBKEY_MAXLEN 2048 +#endif + +struct dns_dnskey { + uint16_t flags; /* 256=ZSK, 257=KSK */ + uint8_t protocol; /* must be 3 */ + uint8_t algorithm; + unsigned char pubkey[DNS_DNSKEY_PUBKEY_MAXLEN]; + size_t pubkeylen; +}; /* struct dns_dnskey */ + +DNS_PUBLIC int dns_dnskey_parse(struct dns_dnskey *, struct dns_rr *, struct dns_packet *); + +DNS_PUBLIC int dns_dnskey_push(struct dns_packet *, struct dns_dnskey *); + +DNS_PUBLIC int dns_dnskey_cmp(const struct dns_dnskey *, const struct dns_dnskey *); + +DNS_PUBLIC size_t dns_dnskey_print(void *, size_t, struct dns_dnskey *); + + +/* + * R R S I G R E S O U R C E R E C O R D (RFC 4034) + */ + +#ifndef DNS_RRSIG_SIG_MAXLEN +#define DNS_RRSIG_SIG_MAXLEN 2048 +#endif + +struct dns_rrsig { + uint16_t covered; /* type covered */ + uint8_t algorithm; + uint8_t labels; + uint32_t origttl; + uint32_t expiration; + uint32_t inception; + uint16_t keytag; + char signer[DNS_D_MAXNAME + 1]; + unsigned char signature[DNS_RRSIG_SIG_MAXLEN]; + size_t siglen; +}; /* struct dns_rrsig */ + +DNS_PUBLIC int dns_rrsig_parse(struct dns_rrsig *, struct dns_rr *, struct dns_packet *); + +DNS_PUBLIC int dns_rrsig_push(struct dns_packet *, struct dns_rrsig *); + +DNS_PUBLIC int dns_rrsig_cmp(const struct dns_rrsig *, const struct dns_rrsig *); + +DNS_PUBLIC size_t dns_rrsig_print(void *, size_t, struct dns_rrsig *); + + +/* + * N S E C R E S O U R C E R E C O R D (RFC 4034) + */ + +#ifndef DNS_NSEC_TYPEMAP_MAXLEN +#define DNS_NSEC_TYPEMAP_MAXLEN 8192 /* type bitmap can be large */ +#endif + +struct dns_nsec { + char next[DNS_D_MAXNAME + 1]; + unsigned char typemap[DNS_NSEC_TYPEMAP_MAXLEN]; + size_t typemaplen; +}; /* struct dns_nsec */ + +DNS_PUBLIC int dns_nsec_parse(struct dns_nsec *, struct dns_rr *, struct dns_packet *); + +DNS_PUBLIC int dns_nsec_push(struct dns_packet *, struct dns_nsec *); + +DNS_PUBLIC int dns_nsec_cmp(const struct dns_nsec *, const struct dns_nsec *); + +DNS_PUBLIC size_t dns_nsec_print(void *, size_t, struct dns_nsec *); + +DNS_PUBLIC _Bool dns_nsec_hastype(const struct dns_nsec *, enum dns_type); + + +/* + * N S E C 3 R E S O U R C E R E C O R D (RFC 5155) + */ + +#ifndef DNS_NSEC3_SALT_MAXLEN +#define DNS_NSEC3_SALT_MAXLEN 255 +#endif + +#ifndef DNS_NSEC3_HASH_MAXLEN +#define DNS_NSEC3_HASH_MAXLEN 64 /* SHA-1 = 20 bytes, allow room */ +#endif + +struct dns_nsec3 { + uint8_t algorithm; + uint8_t flags; + uint16_t iterations; + unsigned char salt[DNS_NSEC3_SALT_MAXLEN]; + size_t saltlen; + unsigned char nexthash[DNS_NSEC3_HASH_MAXLEN]; + size_t nexthashlen; + unsigned char typemap[DNS_NSEC_TYPEMAP_MAXLEN]; + size_t typemaplen; +}; /* struct dns_nsec3 */ + +DNS_PUBLIC int dns_nsec3_parse(struct dns_nsec3 *, struct dns_rr *, struct dns_packet *); + +DNS_PUBLIC int dns_nsec3_push(struct dns_packet *, struct dns_nsec3 *); + +DNS_PUBLIC int dns_nsec3_cmp(const struct dns_nsec3 *, const struct dns_nsec3 *); + +DNS_PUBLIC size_t dns_nsec3_print(void *, size_t, struct dns_nsec3 *); + +DNS_PUBLIC _Bool dns_nsec3_hastype(const struct dns_nsec3 *, enum dns_type); + + +/* + * T L S A R E S O U R C E R E C O R D (RFC 6698) + */ + +#ifndef DNS_TLSA_DATA_MAXLEN +#define DNS_TLSA_DATA_MAXLEN 2048 +#endif + +struct dns_tlsa { + uint8_t usage; /* 0=CA, 1=Service, 2=TrustAnchor, 3=DomainIssued */ + uint8_t selector; /* 0=Full, 1=SubjectPublicKeyInfo */ + uint8_t matchtype; /* 0=Full, 1=SHA-256, 2=SHA-512 */ + unsigned char data[DNS_TLSA_DATA_MAXLEN]; + size_t datalen; +}; /* struct dns_tlsa */ + +DNS_PUBLIC int dns_tlsa_parse(struct dns_tlsa *, struct dns_rr *, struct dns_packet *); + +DNS_PUBLIC int dns_tlsa_push(struct dns_packet *, struct dns_tlsa *); + +DNS_PUBLIC int dns_tlsa_cmp(const struct dns_tlsa *, const struct dns_tlsa *); + +DNS_PUBLIC size_t dns_tlsa_print(void *, size_t, struct dns_tlsa *); + + +/* + * C A A R E S O U R C E R E C O R D (RFC 8659) + */ + +#ifndef DNS_CAA_TAG_MAXLEN +#define DNS_CAA_TAG_MAXLEN 255 +#endif + +#ifndef DNS_CAA_VALUE_MAXLEN +#define DNS_CAA_VALUE_MAXLEN 4096 +#endif + +struct dns_caa { + uint8_t flags; + char tag[DNS_CAA_TAG_MAXLEN + 1]; + unsigned char value[DNS_CAA_VALUE_MAXLEN]; + size_t valuelen; +}; /* struct dns_caa */ + +DNS_PUBLIC int dns_caa_parse(struct dns_caa *, struct dns_rr *, struct dns_packet *); + +DNS_PUBLIC int dns_caa_push(struct dns_packet *, struct dns_caa *); + +DNS_PUBLIC int dns_caa_cmp(const struct dns_caa *, const struct dns_caa *); + +DNS_PUBLIC size_t dns_caa_print(void *, size_t, struct dns_caa *); + + +/* + * U R I R E S O U R C E R E C O R D (RFC 7553) + */ + +#ifndef DNS_URI_TARGET_MAXLEN +#define DNS_URI_TARGET_MAXLEN 4096 +#endif + +struct dns_uri { + uint16_t priority; + uint16_t weight; + char target[DNS_URI_TARGET_MAXLEN + 1]; +}; /* struct dns_uri */ + +DNS_PUBLIC int dns_uri_parse(struct dns_uri *, struct dns_rr *, struct dns_packet *); + +DNS_PUBLIC int dns_uri_push(struct dns_packet *, struct dns_uri *); + +DNS_PUBLIC int dns_uri_cmp(const struct dns_uri *, const struct dns_uri *); + +DNS_PUBLIC size_t dns_uri_print(void *, size_t, struct dns_uri *); + + +/* + * S V C B / H T T P S R E S O U R C E R E C O R D (RFC 9460) + */ + +#ifndef DNS_SVCB_PARAM_MAXLEN +#define DNS_SVCB_PARAM_MAXLEN 8192 +#endif + +/* SvcParamKey values */ +enum dns_svcb_key { + DNS_SVCB_KEY_MANDATORY = 0, + DNS_SVCB_KEY_ALPN = 1, + DNS_SVCB_KEY_NO_DEFAULT_ALPN = 2, + DNS_SVCB_KEY_PORT = 3, + DNS_SVCB_KEY_IPV4HINT = 4, + DNS_SVCB_KEY_ECH = 5, + DNS_SVCB_KEY_IPV6HINT = 6, + DNS_SVCB_KEY_DOHPATH = 7, + DNS_SVCB_KEY_OHTTP = 8, +}; + +struct dns_svcb { + uint16_t priority; + char target[DNS_D_MAXNAME + 1]; + unsigned char params[DNS_SVCB_PARAM_MAXLEN]; + size_t paramslen; +}; /* struct dns_svcb */ + +DNS_PUBLIC int dns_svcb_parse(struct dns_svcb *, struct dns_rr *, struct dns_packet *); + +DNS_PUBLIC int dns_svcb_push(struct dns_packet *, struct dns_svcb *); + +DNS_PUBLIC int dns_svcb_cmp(const struct dns_svcb *, const struct dns_svcb *); + +DNS_PUBLIC size_t dns_svcb_print(void *, size_t, struct dns_svcb *); + +DNS_PUBLIC _Bool dns_svcb_getparam(const struct dns_svcb *, enum dns_svcb_key, const unsigned char **, size_t *); + + /* * TXT R E S O U R C E R E C O R D */ @@ -839,6 +1104,15 @@ union dns_any { struct dns_srv srv; struct dns_opt opt; struct dns_sshfp sshfp; + struct dns_ds ds; + struct dns_dnskey dnskey; + struct dns_rrsig rrsig; + struct dns_nsec nsec; + struct dns_nsec3 nsec3; + struct dns_tlsa tlsa; + struct dns_caa caa; + struct dns_uri uri; + struct dns_svcb svcb, https; struct dns_txt txt, spf, rdata; }; /* union dns_any */ From 7cb292190d6fdc23c1f03e0d5cdc46fe9d2dbbbc Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Sat, 13 Dec 2025 01:54:52 -0600 Subject: [PATCH 07/25] Add fuzzing (Claude-coded) Claude-coded, with human guidance. Partly reviewed. --- .../004d5b4467bd281005176ed98bdc736f2dadb4b7 | Bin 0 -> 152 bytes .../005503625130125d714578a5d87b175b4539d89c | Bin 0 -> 33 bytes .../006b7ed96a226ecdbc7b112c4de4093feda16971 | Bin 0 -> 195 bytes .../00750186b3a1527973c9dd3eaeef58d562d5dfb3 | Bin 0 -> 21 bytes .../007759a3d0ad4770ac6735cbfbe2b283c84db9a8 | Bin 0 -> 17 bytes .../008d56444b810cede67853ab5734d4bc0b93c324 | Bin 0 -> 79 bytes .../00e5f4561e6369edbaed2370f3d5d1bdabc98f0e | 1 + .../0188fac035ef7505df09b74514a8294a5be40309 | Bin 0 -> 57 bytes .../01db2df7e5a28208e8314e42128dfdc8cfb09e61 | Bin 0 -> 26 bytes .../01eaa0a864b810272d0de33e0b308726fcc6b7a0 | Bin 0 -> 15 bytes .../0227c6f644430f12005bbc938d74d644bf6d2386 | Bin 0 -> 57 bytes .../024d8ac5ba6c7d4b17e3402b71f6e25978de5dfa | Bin 0 -> 19 bytes .../03508a1f2118f7b9329187a4a18d560a7693a303 | Bin 0 -> 36 bytes .../03c2566deda1addb2dec223c310e357634dbd5b2 | Bin 0 -> 17 bytes .../03ed46f88cbc271f6b917f9e8f440c453604e65f | Bin 0 -> 33 bytes .../0431bd5605a90814582ff87dc85914ec12b2a627 | Bin 0 -> 18 bytes .../045193944d0a091aaf777fa05ed28330669b8437 | Bin 0 -> 25 bytes .../05d0dfbbb7b510344526f0a444bde750017ff92a | Bin 0 -> 25 bytes .../05da2667ffae9e804304f1bea363f4300a58e7c9 | Bin 0 -> 32 bytes .../05df148b218b748bbfe7f37c13eaaedade5d6700 | Bin 0 -> 33 bytes .../06a2a934e42a67ad77959b85e3c81fc7b2187f2f | 1 + .../070281d17a5345533517926c9b094351dace55c4 | Bin 0 -> 94 bytes .../0751788f2442c79a88122ac6c4586f531e655945 | Bin 0 -> 31 bytes .../07577f5bf8a0cb2522822c869db256b44cb25036 | Bin 0 -> 21 bytes .../07683053fd336eba9122546c218f1d616213cd61 | Bin 0 -> 35 bytes .../078f97947d8f0238b600f70b1df688d688fcd82c | Bin 0 -> 19 bytes .../07c1942114ec7efada8baf028867bb58f8bc2662 | Bin 0 -> 128 bytes .../084b1b4ee2578618858894a666d5718e8839d4c1 | Bin 0 -> 22 bytes .../0879f8a402eab5987839111e4c5ae0e2b068ec90 | Bin 0 -> 11 bytes .../089dd17dbf3a8fb85d324f9927545e4c62744d3a | Bin 0 -> 62 bytes .../08ce418686914f6d9d05ca6900ad66491452298a | 1 + .../08dbd70914157be6526309e2da61c12d727c3d33 | Bin 0 -> 33 bytes .../090d5c70fbca3713010e573cc99f7bce593fa32d | Bin 0 -> 19 bytes .../09548ccc77059b95196bbc13eb9f88e12676e70b | Bin 0 -> 5 bytes .../09ae93c969f72e208a82bfbb253907f99ad1677d | Bin 0 -> 169 bytes .../09cdf4350c6896b029dd7ca590a7fc64dd754d8f | Bin 0 -> 31 bytes .../09dcfa754505584a732d77622bed3c8772f95b4f | Bin 0 -> 97 bytes .../0a8401e5dca56e461821a1fab11d0418c6999d7d | Bin 0 -> 8 bytes .../0b70b1185a6aeb199d299db723474bee27aeb530 | Bin 0 -> 27 bytes .../0bb16e12d2fad1e48673f14f095a9c40f6dcd328 | Bin 0 -> 74 bytes .../0bb4137672a5e51faaaa21f4af369e328a790ca3 | Bin 0 -> 31 bytes .../0c111d36719d266fe64ba239427ae2bc12433c23 | Bin 0 -> 88 bytes .../0c1e1a587337ae4b17cdc501e732993bb9b1c457 | Bin 0 -> 9 bytes .../0c5202dd7025c4a582dcad0a7bab7cd15816a2e4 | Bin 0 -> 109 bytes .../0c8ced20f9ae57363056192953119aa666c48005 | Bin 0 -> 27 bytes .../0ceef7251d02d2d1230e6e4913e1f4244a031cf5 | Bin 0 -> 34 bytes .../0d04943b4e691a5045e3ca3dd40c49e5222065c4 | Bin 0 -> 30 bytes .../0d530172e4e79615078789372c4b5e6e8ec69299 | Bin 0 -> 58 bytes .../0e36283c3c9f017cf7f98d6f022aa1ec4b65be51 | Bin 0 -> 12 bytes .../0e46b8f3d2b4f81e15c340aec54c4c37b8d3204f | Bin 0 -> 30 bytes .../0e7fd85344fe39368c8c6ada20d06242bb138440 | Bin 0 -> 8 bytes .../0e9d04161ea47c24debe698faef14333461af0c3 | Bin 0 -> 9 bytes .../0ea7f19815fd98b9ecc9d73a567071e33381f650 | Bin 0 -> 16 bytes .../0ebb441ff0ca3d0f47a6872eb1bdd70aa1342382 | Bin 0 -> 105 bytes .../0faa8549a74132bf15b21b5fac6d0c3b225d7f94 | Bin 0 -> 15 bytes .../1036c6d879808bd115f9cea9b0844fcd00281be5 | Bin 0 -> 8 bytes .../10569c7a83583dd4a78f8b36abbc4023e244d108 | Bin 0 -> 89 bytes .../109047ed91b7db609f037751f9926db0029d0cde | Bin 0 -> 53 bytes .../109b5957918c0e2f4b1071c308d0d3196848d1e0 | Bin 0 -> 6 bytes .../10a069bbf6320fe9923d6e7acb629fa2ac3c5c63 | Bin 0 -> 28 bytes .../114065934a86956bac44a8c927a7d590e549fbf9 | Bin 0 -> 26 bytes .../116f91e595122d77dcef49d6a833286c817e1866 | Bin 0 -> 152 bytes .../11aa23868bc0bb6229ce09145652d039f77feae4 | Bin 0 -> 11 bytes .../11b8d17be01eee8a910f6f9d5a4a095185932313 | Bin 0 -> 28 bytes .../12413b3a10b1891c40f60dbd8b8da85b89d6152a | 1 + .../12a2f2831b895478fd299f4211ddaf12c69962e0 | Bin 0 -> 32 bytes .../12c39d533878e2c90e4b84931fc43ba4e10ac59e | Bin 0 -> 11 bytes .../12f9bd56f1bb5eb8f052f6990333e30727152876 | Bin 0 -> 24 bytes .../13015da08d5c46f57e1cef41893c26e46d73182e | Bin 0 -> 10 bytes .../1331912ce4e2480ac78825b9a76d449984082e7d | Bin 0 -> 22 bytes .../133f01814c85c7cca7c83fa9ed39264f22a2b4d4 | Bin 0 -> 136 bytes .../13b1da744fef6e3fdbdfab86cacd35ca6ccd4f35 | Bin 0 -> 22 bytes .../13b8616ab053af4ed4f840ec7adefd887a78fc8f | Bin 0 -> 21 bytes .../13cb0470382fcb0420b41b96168dfeeecb55e7e4 | Bin 0 -> 38 bytes .../13d303fe1e7655fde74811c8a695e8f2380ec23a | Bin 0 -> 31 bytes .../148fb3267d4ba90f0bf7d85a1c7e3f464026587c | Bin 0 -> 10 bytes .../14dab8717b357f64951129dcc4c709254a35faf3 | Bin 0 -> 18 bytes .../14e81ef5ef747499a992048f1249cfb3f50b084a | Bin 0 -> 4 bytes .../150ad98fa141799e87aeb98134268cab7f504d83 | Bin 0 -> 41 bytes .../155f97d79c5b25ed2908e976857e4881f5281e0f | 1 + .../15a0136358bc5ecca64f02500cde044317857bdd | Bin 0 -> 17 bytes .../15d6c0eb199a0cf8407cd77b02bc166fc7557978 | Bin 0 -> 59 bytes .../15e020c721b79eed0472629420c609fe8d73aa44 | Bin 0 -> 238 bytes .../163c1eb74b0fa85af99ad2d2eca7f5f8a4c437e3 | Bin 0 -> 10 bytes .../16bdd353a506b00b8083f32fb8a75a19e76d748d | Bin 0 -> 17 bytes .../16dce872fb741b28f54af84fbd62b1df377296d9 | Bin 0 -> 9 bytes .../1705eb67b97163b2a4447b51d4b262deef08d302 | Bin 0 -> 73 bytes .../176cfd5e4166af97eb9b793a50dbd60ecda2de46 | 1 + .../17e7febee26f41434a7cc99d6c4a17ac9a15095c | Bin 0 -> 38 bytes .../1802f99fb886203d6287e472db4216ab8344bc9f | Bin 0 -> 22 bytes .../1898cd0fac2028a3c0d41d8e8c7d2a6cf52eb4a9 | Bin 0 -> 24 bytes .../1899b05b5143972980b704ef972ac2e6a590e87d | 1 + .../18e487418afd8d37be70cb0e7e34bd73d8414390 | Bin 0 -> 28 bytes .../190f99c8d326c1356c722e734cbd47dbb612c05d | Bin 0 -> 29 bytes .../1b5968225b0149e27005adbc9d9904d6c1089700 | Bin 0 -> 20 bytes .../1b69d765862555d95cdd99e762a688954ad65ec3 | Bin 0 -> 17 bytes .../1b7c228780a6e6f2cef1ef23b5645cab44882817 | Bin 0 -> 68 bytes .../1b86fede95021fbbb3ce9f10702fab186085f0c5 | Bin 0 -> 30 bytes .../1bee83c30d4397fe22748cb8a5d0263af0a5bfa5 | Bin 0 -> 8 bytes .../1d2309f333c0de06793aeba6b6a878e39f01d14e | Bin 0 -> 37 bytes .../1dcc8e264291d11828b0b22270a420b6817becd1 | Bin 0 -> 23 bytes .../1dcd97a6b805af5f65f53e71fea02cf65156da7d | Bin 0 -> 18 bytes .../1e991f051e14b8aa9ea3f0554455f3076301b446 | Bin 0 -> 33 bytes .../1ee638dfe721e629b52855ca4cdc7181d9bc5a46 | Bin 0 -> 5 bytes .../1efef1d21fe7ec059e997c828239f22284d9a0fb | 1 + .../1f5ce31cf0d778db8f47d8a1cd9a9d109e55abf3 | Bin 0 -> 33 bytes .../1f7ccbe5fb0d0f2c48dbd71856f5bb4c79742af5 | Bin 0 -> 11 bytes .../1facdc854b196ac7ac14767c8496c36d60d26cdf | Bin 0 -> 17 bytes .../1fb37ac0ae4e8f55b738aa74464753492441ba7d | Bin 0 -> 21 bytes .../1ffe2d52cb820525e38d1605a0a359eebdb398e7 | Bin 0 -> 30 bytes .../2013e9a73cc1bfd83507c175392a599986ee2f18 | Bin 0 -> 101 bytes .../2068977c49df1d3d18995173c9d9edae79054fe5 | Bin 0 -> 20 bytes .../209b7345bb9819a7c1f3aeb20919a79f963d38d6 | Bin 0 -> 28 bytes .../20c5609f737b9d69e29b5998f29a995de2c2ee8c | Bin 0 -> 16 bytes .../20e120edd7b7be5f6386dbc3dd6f9426deb004b3 | Bin 0 -> 4 bytes .../20e47755852cece76433bf3e1b2534272f555a84 | Bin 0 -> 37 bytes .../21dc08e05bce2e6f9f20f5933a1e433c4e316666 | Bin 0 -> 30 bytes .../225115d7103c4ac3cbcb855cc757a4bbe38bde32 | Bin 0 -> 41 bytes .../22c3b3391ae022650859313249c74ec144a4725b | Bin 0 -> 9 bytes .../22c932275b06c0d00fac1ff09a8755918f6ba6a6 | Bin 0 -> 7 bytes .../232a46d2379702729f340d89e47fffb3c9c93498 | Bin 0 -> 5 bytes .../23d09b303daced036b29340ee28756b0f96e637f | Bin 0 -> 96 bytes .../2459f75de1b77cff2593457199afec81627c3c15 | Bin 0 -> 48 bytes .../24e534c53b2c1845ba1fa8724642f7396bd75b86 | Bin 0 -> 27 bytes .../24e9f8aef329fd55f96e1ccf93ec58de70d73418 | Bin 0 -> 61 bytes .../258b492b1717ca501b5f9afcc1ca6b72582458a3 | Bin 0 -> 11 bytes .../25e35a8badd4df4aa19dbbc45cf9935fa240fdaf | Bin 0 -> 29 bytes .../25f6a3963bd5a37aec83b3a8b70917fb22875a01 | Bin 0 -> 33 bytes .../2639bf7fd8827e464e734665f7c8c7a76a88d95b | Bin 0 -> 23 bytes .../2644fbb18502f0e2c22579cedb87286d7b175c19 | Bin 0 -> 18 bytes .../2670e8c759611cba43c8f6f3c29067c07e50c0c0 | Bin 0 -> 30 bytes .../2681119d4f143dc2da3fea860ff9c96a00bad059 | 1 + .../2684729a8b4379f9a9587fd9157a0e2d21de9a6f | Bin 0 -> 74 bytes .../26fc80ecf848c3f7244c281e4520371d71f3107e | Bin 0 -> 11 bytes .../274709eba6e19af0d3ebfa0beb74148ea48355a0 | Bin 0 -> 20 bytes .../2785d2b5293c8e69361fd91b0947d474afd91eb8 | Bin 0 -> 58 bytes .../2788a4b3b098433709f617edca10aac90eb57448 | Bin 0 -> 19 bytes .../278f043071ca288700e8f5414f659626dcad36cc | Bin 0 -> 25 bytes .../27c7e5a7e4fc98caf6a970101f0edd78a57e08a3 | Bin 0 -> 16 bytes .../27d6a6160a332ce599561d6352e6ac6af9538efd | Bin 0 -> 8 bytes .../284b58105a89c89dfc0b816d7ddad5c06d70a342 | Bin 0 -> 25 bytes .../287a41f434d33bb58ae0ab36ae0c2de40d2990eb | Bin 0 -> 18 bytes .../28a275f67c02f8569d6449841167c71de208ee84 | Bin 0 -> 57 bytes .../28d88d81f5f97872f9106f1be4ebe21818276a08 | Bin 0 -> 9 bytes .../2929aa365eb8905608f619efa7b0f9d1a47e41ec | Bin 0 -> 44 bytes .../2967c03b7326d976d86bb910242c5c6a5245972d | Bin 0 -> 32 bytes .../299526d0acfde5aa4f91aa30a230d03fe20912f9 | Bin 0 -> 67 bytes .../29abb68d8f80967510e56cb5ef269be410176897 | Bin 0 -> 79 bytes .../29f318e193aac254f4f4affac13577e9a6db812f | Bin 0 -> 31 bytes .../2a2cd720a141b512a71915dcf608a41fa4bb5d24 | Bin 0 -> 11 bytes .../2a3c1eb1affc0cd76d261449f86092008f620a9c | Bin 0 -> 69 bytes .../2a443a99441ad42c30179ae728c008efc540f887 | Bin 0 -> 11 bytes .../2a4f29ecaa5cd9ca8e8efd8b0b1235d8fd804e5f | Bin 0 -> 15 bytes .../2a965ee6a7ce02a05004a18851a127836158536e | Bin 0 -> 53 bytes .../2aa8b41d4e859203e7be58ee8075081f13e3b921 | Bin 0 -> 32 bytes .../2aaf25fa3e4b42aa07f21df0ad7fcb6803aa0880 | Bin 0 -> 96 bytes .../2ab293e6fd7dbc1fdafd25df72811b4213697dd3 | 1 + .../2b6b9bb40e334b52ff2a8a56bdbda98987bfc7ff | Bin 0 -> 17 bytes .../2b813f8a1d791bdca3a228eae39e74382630e098 | Bin 0 -> 33 bytes .../2bed39c7a4efafec1bb8b811132215e4cc303159 | Bin 0 -> 60 bytes .../2c32896351e957a3c091f16dc5535f6acce71a39 | Bin 0 -> 71 bytes .../2c7c612c0304da7723d1c19c8d678af8be47da53 | Bin 0 -> 129 bytes .../2c8f63015f30edf62cf2540e7e8489b881235e64 | Bin 0 -> 30 bytes .../2d17624b92f3d77c188f21d5e378dec96740062e | Bin 0 -> 107 bytes .../2d3e2b4bb1dc338154113cb3b5d74f110729b59f | Bin 0 -> 15 bytes .../2d4b8ac96e29a06a4b6e15f38fec1f4f9f373cb0 | Bin 0 -> 22 bytes .../2d968b48bde767b013d3b4d6d09afd55d95d4506 | Bin 0 -> 92 bytes .../2d9c2bcd663bab5c17e3e1ae6690218abe1d9df9 | Bin 0 -> 28 bytes .../2dbc9b7cd7847b9da50ec7f9a7c5bf191ed2b900 | Bin 0 -> 3 bytes .../2dddb569d67174115a1b19323a6186f4fef484e3 | Bin 0 -> 16 bytes .../2e7e89fe53b4273edf1f2be21931e8db12dc530c | 1 + .../2ef35dbabd9ba2c5690c80157c5dd6bf8ed346c6 | Bin 0 -> 31 bytes .../2f1ac793e74e7fcb020125cd4d7ad941c7113709 | Bin 0 -> 68 bytes .../2f5e27af4ddf6e2bcfb022d57f9d2fefd327adfa | Bin 0 -> 7 bytes .../2f7957edf4956a19a4dacbd977fd78aeb006b673 | Bin 0 -> 28 bytes .../2fb870f6dd282bc931a49cf5de4b09e26c6b71fd | Bin 0 -> 18 bytes .../300e4721e35934f03c836a69d92ab7faba459792 | Bin 0 -> 11 bytes .../3010964490465fc0165733cc957861c8542f1e23 | Bin 0 -> 27 bytes .../303cd9332ba168a1236bc6bdaede24e3a2d3d34c | Bin 0 -> 19 bytes .../3058c1b168ddb4f64ada0d80dd85bd866f61f5f2 | Bin 0 -> 47 bytes .../30a6be573b7ea9b40b03863295d1a53b724acfad | Bin 0 -> 7 bytes .../30f1ff183a8fc2826d795d8cd062249781f2440c | Bin 0 -> 33 bytes .../31072690f473a69093626af90f1fb6a48522b99f | Bin 0 -> 88 bytes .../311b3909dd9ee0d129484aa77e8d50f26f33b7e3 | Bin 0 -> 157 bytes .../319058dbfda82da45689707a1022f2a29ff2deab | Bin 0 -> 31 bytes .../3193c89c5787c9dd98b9a0855e1759d5a98cf4d0 | 1 + .../323130e242fce4de003bdde4f4b1216d3ebb30a2 | Bin 0 -> 17 bytes .../32d43a9115ece8e3dc8569a396cfb73093247cbb | Bin 0 -> 19 bytes .../33a9cfceb5d8066702ed804e7966bad5a7c88e04 | Bin 0 -> 120 bytes .../33beb128817667b5653409588429829b2f61224e | Bin 0 -> 32 bytes .../33f8a99df3d81daa6ab63fbbbdc9e86342c5224f | Bin 0 -> 19 bytes .../34123b3cc13aa3f9bd2ed66318bde6ababead504 | Bin 0 -> 38 bytes .../343999770b337f3a499999dfe326bbbe4d6e6866 | Bin 0 -> 23 bytes .../3439bb3bdf88f354e0620bad20cd2521d649c69c | Bin 0 -> 6 bytes .../353358e6df47a6d8cc9770c01f416286b2e0a452 | 1 + .../35696d71e38e278590def3e6bf935e1a2d3fac49 | Bin 0 -> 30 bytes .../35899680e1250f122276fd0eedfff06031a89236 | Bin 0 -> 33 bytes .../3594bb3f4f5107d5506a5ca1013f866c39b8556a | Bin 0 -> 14 bytes .../35c43955fb140ff140b6e674ed21d80614675a2e | Bin 0 -> 136 bytes .../35e51a411331106d14089b211a3cb0666b2142cc | Bin 0 -> 196 bytes .../3670a2d19f299e383d9c1e90827f9bc06639196a | Bin 0 -> 21 bytes .../369e2ae9ce55f43974abb54d28ebd3c68c9f93fd | Bin 0 -> 84 bytes .../374919beb0094c593281de31eb064f5e15ffc616 | Bin 0 -> 18 bytes .../376b99801965f178f8f9b1fb5b384ab49d4a1d02 | Bin 0 -> 59 bytes .../37aadc6d4e6335c87ac50b9631c9c7ffe765ca1c | Bin 0 -> 79 bytes .../37d15e7ccdfaf9180d54744ad215e610e1348dfc | Bin 0 -> 21 bytes .../38434a90d441a9fb09ba0fc40ce8c52043d05a05 | Bin 0 -> 21 bytes .../387708af8f56a45c5cdc25febd3846c15427379d | Bin 0 -> 84 bytes .../38944a1cbfd36341053ed8e51225571fec974d80 | Bin 0 -> 89 bytes .../396ee16d969a15a701832cec9b08b94b5b4be6bb | Bin 0 -> 132 bytes .../39d643b43868b8d966ceed5a2ce8373cdbc04d52 | Bin 0 -> 18 bytes .../3a6f515747bcb977194c9e66b8b59f715dce8bac | Bin 0 -> 25 bytes .../3a7d71cb363b680a99149b082301bb45f4c0b415 | Bin 0 -> 32 bytes .../3a8a3fa1f75957da33929785be0fd494838e083c | Bin 0 -> 147 bytes .../3aad256bb20731d55e953a0a0680b320607e2b14 | Bin 0 -> 77 bytes .../3b15b117c64521f1bfd7ab42276c5e4d38034f59 | Bin 0 -> 109 bytes .../3b37bc229f0357efbf916ea8fcdf42218f99bde2 | Bin 0 -> 66 bytes .../3b48ce37cb4a9595f307da92804038b192550747 | Bin 0 -> 28 bytes .../3c1c5e1289b14cc90748c8b1cd097dfff0c90b0e | Bin 0 -> 49 bytes .../3c2e7c16a57cae362822bacbb30a9db4e1efa06c | Bin 0 -> 8 bytes .../3c5fe231aac61d6c7fff4d587d3f4cccb4d4c97a | Bin 0 -> 17 bytes .../3c71ed87d767c058e43a2616fff6d16f1e4df38a | Bin 0 -> 22 bytes .../3c8673549c42cbaa4884640aab4896cb5e505815 | Bin 0 -> 23 bytes .../3d9cbe2ddba62cfa3a0885add69c8ce2ab279f72 | Bin 0 -> 22 bytes .../3de78e062d58653c0ac406b7ad5666d6c12851f2 | 1 + .../3e367c8f6035bb61685ccdcd7ece2f3cd4d97cae | Bin 0 -> 37 bytes .../3e427b08d214b610fdf6a79409b1675e617500cd | Bin 0 -> 30 bytes .../3e5df3a465e2700ce2a6162943e2414144903a12 | Bin 0 -> 7 bytes .../3e9a73ea8210799e931e347dbae082c56ba7ac83 | Bin 0 -> 33 bytes .../3f17ec086c28ca258ec15625b2e0fbd882f3b561 | Bin 0 -> 121 bytes .../3f29546453678b855931c174a97d6c0894b8f546 | Bin 0 -> 2 bytes .../3f3638f72195ce50e78aa04a8a662836505989f6 | Bin 0 -> 48 bytes .../3fbd827d4341b0787fec3f1696689b285d7c23b3 | Bin 0 -> 36 bytes .../3fd61183fe5d8adda5d35a778ca52bbd3b288912 | Bin 0 -> 29 bytes .../3fde52494ae3583a12011d1b205e60af3c716d69 | Bin 0 -> 8 bytes .../3ffba24e312037bf35fbf5d4b283c499eee33906 | Bin 0 -> 39 bytes .../403cf7da34f75c24898992e8dc8d014e684929ae | Bin 0 -> 3 bytes .../4040349072e187379c686d3c1e8cbb3086f6b9ee | Bin 0 -> 59 bytes .../4053a862cb02dbdd9bb1c3448b7fea6952f881fc | Bin 0 -> 24 bytes .../409ba2e2ed53e29e5e8715e68474e31235b0d48e | Bin 0 -> 27 bytes .../40e42ca1cae27b745c4592353babbfdaaa072591 | Bin 0 -> 23 bytes .../41111dd31321431f1dc1fd5d2eb98b898863570c | Bin 0 -> 14 bytes .../4136010d05a3029994ea3bdda4398993ae871c16 | Bin 0 -> 29 bytes .../414c8014455d6efe6eaaeff34784b0e2f32bc4a0 | Bin 0 -> 30 bytes .../416419ee5586d4b9ab69cea505e662dcdeede61a | Bin 0 -> 13 bytes .../41af7d0ec9cb0d57f394dd15fbb035d55d4110fc | Bin 0 -> 15 bytes .../41bbaa298c4c4e908a176d252144db2f9e12be19 | Bin 0 -> 145 bytes .../41dfb39b5dff440cbfab4ade7fa153e874f9da77 | Bin 0 -> 26 bytes .../41fcef2d7b1ef7a8b1cf1aae36aa141a03ca23fc | Bin 0 -> 50 bytes .../420ec67820cf8d69b8bdfb7c1a43ac382f5aa480 | Bin 0 -> 13 bytes .../430b873b09790ff81c2d498966c8e26a78fffd83 | Bin 0 -> 98 bytes .../4327c3d73887ceef8839dd97bb1a09e6c23e1ba9 | Bin 0 -> 22 bytes .../4371696d9dd3f15434ee62ee46726ebdd7e595b3 | Bin 0 -> 26 bytes .../437580361f6609b9c37abe8ea3ae7c92fcf12b3f | Bin 0 -> 28 bytes .../439a5209d64467e7a5873ce1bd2837d9ed47bf21 | Bin 0 -> 11 bytes .../43a1a1d28b25989db93fa683946e810c26aad67d | Bin 0 -> 34 bytes .../44226925646a23e6a65d8121e1e68fc6f901b06b | Bin 0 -> 93 bytes .../450999aa78da3940ea61da0fbe7e5f2a0b249b69 | Bin 0 -> 44 bytes .../452c399f3b1de9df7ddf7997b6dc5abf7560c9b2 | Bin 0 -> 11 bytes .../456531b41e6297144fd28076ac8a90d1fc1f25bc | Bin 0 -> 8 bytes .../45ad911fb32b2ac8adcce4084c2242b155875dd9 | Bin 0 -> 9 bytes .../465ec4eb5355089baf90ed356f10f0bc4169714d | Bin 0 -> 25 bytes .../46ac6922e7ada864406f345d4be63c8a125f844f | Bin 0 -> 46 bytes .../46c2c633ccb9d653a3d620005fde492fe0fa2850 | Bin 0 -> 17 bytes .../46d8e80b2acb4a6e2d8dcb622e08a4549d178313 | Bin 0 -> 39 bytes .../46f57c86aef859e7d9ef0d1485309620adf49399 | Bin 0 -> 10 bytes .../472f588cf5df3c6cbfb43291078b064f9c359abe | Bin 0 -> 13 bytes .../477f5787adb4d21b2b0237a7c38dd77f449bc7fb | Bin 0 -> 81 bytes .../478785a17da604376f797dc6eff05184417a0b54 | Bin 0 -> 33 bytes .../478f83036019e76cc3c0b3e23052506e20c40017 | Bin 0 -> 34 bytes .../47f3a312cb3e649d16181819cd8917596141c206 | Bin 0 -> 22 bytes .../47fd81f52f47ce828d8c0533f118a0ea0948b19d | Bin 0 -> 33 bytes .../4850e15262fa334e073a4253578816b2bb0c56c9 | Bin 0 -> 79 bytes .../48c4ee21f4b7927ab2e85cbc4de7223ec7eb5a1e | Bin 0 -> 29 bytes .../494765e4523067c1445d1bc6bf03027d613ba080 | Bin 0 -> 38 bytes .../49bfceb44abb0c7297be4dd3e6112d414c8446f9 | Bin 0 -> 7 bytes .../4a3ab300527016b3ab40d3e45e5c3da855684281 | Bin 0 -> 28 bytes .../4b7c99324f541b8de76a037bf539db036ecb5c0d | Bin 0 -> 63 bytes .../4b82f13d0261c97e52d05578f58c32a483cb1080 | Bin 0 -> 95 bytes .../4b9e269275a55dd3718d4b7260e8bde518d7ca8f | Bin 0 -> 27 bytes .../4c010fbd8a725d0601876f99dfc135f3dfaaf6e0 | Bin 0 -> 12 bytes .../4c2a3b02fe388a78aacfb64954f51f25f6b9004a | Bin 0 -> 21 bytes .../4ca009cb61058d218961250f06eda171703cec6e | Bin 0 -> 25 bytes .../4d1187db31c91f844105ba3f4c00b611464e3560 | Bin 0 -> 19 bytes .../4d4f0a4b1922c193d4e00b1948d4e17c36a9a54b | Bin 0 -> 21 bytes .../4d53c24fb69b4154d35d991464bb1fd4fc9c340d | Bin 0 -> 52 bytes .../4d87c37fc5fbd65616fe0a662f8df73d105978e0 | Bin 0 -> 12 bytes .../4db8caf3dc4b08ec5d98c0068bb3874dda1f7f2e | Bin 0 -> 18 bytes .../4dfbf879811b5c5ee4d7ec834380f589e0548e5d | Bin 0 -> 27 bytes .../4e5a1ffb56c47434ad5d4d3f9ebd5cac5edcc005 | Bin 0 -> 146 bytes .../4efd1e41cab142b1e6afb87aff4a93564bb77fd9 | Bin 0 -> 22 bytes .../503b977b6297628ae89b78b54f534204e512854c | Bin 0 -> 29 bytes .../5048c10afb16a0693a8bbddab9a0f9978cc4a43d | Bin 0 -> 90 bytes .../505d58d5145be782cd069ed73e63f72f2cee2e4b | Bin 0 -> 19 bytes .../506c6c22bd683b008ac5954e457970f18efd9aad | Bin 0 -> 20 bytes .../50addb836a7dcf9a25dd60ef4e6369f2c8428510 | Bin 0 -> 5 bytes .../50e2916c5be01c43e754b837af7e3256d552f634 | Bin 0 -> 22 bytes .../51933a06404987f125e5635ddf28809219a2a68e | Bin 0 -> 31 bytes .../51f3926eddddf8d937701dc54ec7361945095d75 | Bin 0 -> 236 bytes .../520876e4a0798f53fbcdb44de7733864f8bb31c1 | Bin 0 -> 23 bytes .../528f3f39bf96344450824170379820aefa897ce4 | Bin 0 -> 42 bytes .../5297f5bcca807013f3df83dff5b9a6b0ac71cbc0 | Bin 0 -> 25 bytes .../52a3a2f80decc02786a8e697ded3f52fd60247e7 | Bin 0 -> 16 bytes .../52ad877c0637876464e28a3799fffd6c0d22637e | Bin 0 -> 27 bytes .../53151ae8707aadedf24369e09b8e3e77556883aa | Bin 0 -> 18 bytes .../5337ce6fa8186d7b28fc0fcf3953a20054ae0590 | Bin 0 -> 65 bytes .../53647029f5b00dbd95987a6041d9386770184b98 | Bin 0 -> 28 bytes .../53818235b41ffa5cac687b6c54c5ec447a2a0a3b | Bin 0 -> 20 bytes .../53a7ed131142efdf699ae848cd598d153059d529 | Bin 0 -> 25 bytes .../547512fb601c3b4f86a43cbf47fcbc26b013ef4f | Bin 0 -> 18 bytes .../558f1a2f8334085ef746479aa4201756f536cd8e | Bin 0 -> 104 bytes .../5659edb82c844fa1dc9d9b59102534901a99064a | Bin 0 -> 26 bytes .../565b85391db489a5169818ec6fba4cd56b57345d | 1 + .../5685e9ddfd19bda07419cd21d034ad3fe1f86627 | Bin 0 -> 51 bytes .../5695350604df54fb966a5a3ccd067eb69a2139bb | Bin 0 -> 36 bytes .../569dc5ef0dff05d8388303623d99bf254e1df0b1 | Bin 0 -> 21 bytes .../56e888ae9db53f2bcba04c4be287530733771bdf | Bin 0 -> 3 bytes .../578d6bc5e168960b32f42af3c80347f4bfa93ca7 | Bin 0 -> 151 bytes .../57af095ee9c6d3ae45606be39e06459a835cde21 | Bin 0 -> 79 bytes .../57b025a38356fb63887e64b370b94df81c0d6f12 | Bin 0 -> 80 bytes .../57ebc68efa336dee0855abfca90000adc3a63225 | Bin 0 -> 21 bytes .../58432e8caa9073eb13b4ddf888aa01e6ebb72859 | Bin 0 -> 53 bytes .../5870e4c340234a88cbac85c980e8fe1ea9426575 | Bin 0 -> 29 bytes .../59345a7d132a37299c0e8907de77992577e6114b | Bin 0 -> 19 bytes .../59407f3c78544be096fe7af58c65d1fc366aeeba | Bin 0 -> 74 bytes .../594c32a7ee11f5ff19dc39d622aef71760953c2b | 1 + .../597ccc89815aa8e4b4b850d8d9f7f0311825c908 | Bin 0 -> 28 bytes .../59c240b944c37af855f6f88debfd3808d8d0f120 | Bin 0 -> 12 bytes .../59c3abb7de3cd82d28502a8de870089d04b7822a | Bin 0 -> 13 bytes .../59ce67752c13c9db5ac85c842487299e08c683a1 | Bin 0 -> 24 bytes .../59f1a5d9bcde6cd43cc683f888182099c672870c | Bin 0 -> 77 bytes .../5a2908e3a8dc79e205c927a28a4d2bfe005e1d1a | Bin 0 -> 28 bytes .../5a4a857994bf30df1002bd2fe3a2402b9823791a | Bin 0 -> 31 bytes .../5aa0eb7787db2622efbb2c768289a7459c44a1ef | Bin 0 -> 124 bytes .../5af8b2bd01fb3dab8c37997f821565468643ca20 | Bin 0 -> 16 bytes .../5b022069e069ef9718f3bfa6f60c76a26d83b86f | Bin 0 -> 94 bytes .../5b247e387294b0b6484fa540ab5f61fd765fe849 | Bin 0 -> 25 bytes .../5b61943f202c580beadc67bf46dbcd3d239461a0 | Bin 0 -> 55 bytes .../5bd5a2986367a6efcfa6029bdc083239c39bbb4e | Bin 0 -> 101 bytes .../5bf90c32b350a9af04172ae830463243937c08d0 | Bin 0 -> 88 bytes .../5c1180df983c912d7ead3971b9dbece4b0b6e8f3 | Bin 0 -> 6 bytes .../5c8e6bb767ae83a155461c99e4817616d455d647 | Bin 0 -> 40 bytes .../5d77f8eb5958f734bc9e9463f86ef9a028156ad5 | Bin 0 -> 133 bytes .../5d7cbd9a82cc27ed30b29d85cb66a7ca1f1ae690 | Bin 0 -> 17 bytes .../5d8b6e6042fdd6adca49056e4f3a3e2399cfe951 | Bin 0 -> 27 bytes .../5df46fe5c4e36ddbd1daf17e2824208af2310e0d | Bin 0 -> 16 bytes .../5e34d048165ad93dfbc584b4575d5ac628ae552b | Bin 0 -> 26 bytes .../5e884b02b4c32c994f64b293690e5d2e16bf4d6d | Bin 0 -> 125 bytes .../5f90a4458d6d7c84a60bcf54bf81636d2d2f0216 | Bin 0 -> 28 bytes .../5faf5ae7d62709a5a7948fb95dc8b7ba57bb1a43 | Bin 0 -> 25 bytes .../6020ced5cc1d82529e9a1bb9a64e0a50f33a47cf | Bin 0 -> 16 bytes .../602a45bf91fc84f84ff0e6b9595b8be0bab4aa6a | 1 + .../605abc95e88752903094cb7a2f91c9af75bef30f | Bin 0 -> 47 bytes .../60842c500584fa4df9b72d7ac1a370e2d89bc531 | Bin 0 -> 30 bytes .../60d6da387a443192250cca1eabb0e25ea816bf17 | Bin 0 -> 106 bytes .../60d71059ef39121ac5b6a3c4ecb288367e687a06 | Bin 0 -> 155 bytes .../61646a48189ef92b8923b84438ad679a4ae2d89c | Bin 0 -> 4 bytes .../616ebc341f05110c6dbae1dbca2981639b5a44a9 | Bin 0 -> 48 bytes .../61ffae70f2829d73ddcf01e7d64e4a8c120fb5fa | Bin 0 -> 30 bytes .../625b2be1dbcf6d4d77fd428151f36e305e44064a | Bin 0 -> 7 bytes .../629b78008d2b9cbbab702f225f1036ee8ab7ca7b | Bin 0 -> 15 bytes .../62c4ae6a2c238f2bc3fc4e18a4d83c56da6dc879 | Bin 0 -> 33 bytes .../62e58c4e5c4445f25e828748f9651c02a83b4017 | Bin 0 -> 27 bytes .../630025e5f166c739a983ac459540067d7742d44c | Bin 0 -> 134 bytes .../634d1bea6a04431b1da127374fcce4a6d23bf141 | Bin 0 -> 36 bytes .../636fe5264807c3ddb2c87f63ae35ffbf98ea47e1 | Bin 0 -> 56 bytes .../6376602ca5d399c3140d5b5186043099d170b289 | Bin 0 -> 215 bytes .../63a72486e93066aaa5e155a3c7b1bff0f10328a2 | Bin 0 -> 18 bytes .../645524aa6db78c993d1094651914fe37c83eae16 | Bin 0 -> 10 bytes .../6483a41c4dc24cf4ca16962d52632872f68585a5 | Bin 0 -> 30 bytes .../648a7dc78e0a604a2dbfc5587c36627ebbcb009c | Bin 0 -> 10 bytes .../64a776515121e2aa8cf2860fef262254c575998e | Bin 0 -> 62 bytes .../64df0684044c25ad10027b14a194c72c303e6dcc | Bin 0 -> 17 bytes .../64faa28a7f9e0c27e32ba48e4e19fe6153aaec41 | Bin 0 -> 80 bytes .../6591dd2f4f7e4b2d435bd2a4d2f251a44b2809ad | Bin 0 -> 166 bytes .../65a58371cde36952ba98cf5dcbf4ec37564029d9 | Bin 0 -> 20 bytes .../660a23d5bfe95cf33aeeec4a6bc5ded09aa026ba | Bin 0 -> 29 bytes .../66151af63a19ab525ee6edd595fa18ef4022eb2f | Bin 0 -> 61 bytes .../67570cee939ab9a5d79e5958cdba3af9d22925ed | Bin 0 -> 97 bytes .../67b524146627f7c89e803c2da45b7ceca9be0bbf | Bin 0 -> 30 bytes .../67c944e6fb20085e917523fe76e5b425b1977f72 | Bin 0 -> 15 bytes .../67e9a4b39e9eea6a98c948d40fd403072f959b9a | Bin 0 -> 81 bytes .../685a009bbf4807d3d8e2a0569b073c5789d9fdaf | Bin 0 -> 39 bytes .../68cc1cf39a47124f89ec1df050768c520bccfcae | Bin 0 -> 56 bytes .../68fc29ea0632a99087f0271a3a3badbca62ca8b4 | Bin 0 -> 97 bytes .../691ab3d0867cce67924089b0a6a88b4228a2ccad | Bin 0 -> 26 bytes .../695393868db0cb0e16d34a65f495af1687efc32b | 1 + .../69f4521858a39cd1ec980ff6cd27e46bfc3dc34c | Bin 0 -> 32 bytes .../6a5c9ebb65a8aa4cb57aeccfb19b4d892093e418 | Bin 0 -> 20 bytes .../6a91265e13e44ed64da1521358cd31f90acc3446 | Bin 0 -> 180 bytes .../6b41c9fe9640cab2ffc743edef96da1837b2e092 | Bin 0 -> 86 bytes .../6b4fbcfa924f1ab19d2a96f385cd5b0f35da5fb3 | Bin 0 -> 10 bytes .../6b7025638f5bd0d685f93a39a88b91a7975f0edb | 1 + .../6be55eb4caac42da1819d88b592ed312dbf9056c | Bin 0 -> 37 bytes .../6c1e78b9df9aefd82cf0b0d172c864d6c8c8e5dc | Bin 0 -> 20 bytes .../6c2199e2fae85a69114891c2d8582281b8f11613 | Bin 0 -> 11 bytes .../6c6513a3d3ebad0c6b8feb0af7e5db347ad3a70b | Bin 0 -> 26 bytes .../6ce32bed375c24a906934aa8faf15a4f5b24ccdb | Bin 0 -> 43 bytes .../6da74a9ad332c2962d01480199e8dfa2602d8792 | 1 + .../6de1f9922be246583e4d25728f325d2dcd59fa24 | Bin 0 -> 141 bytes .../6e645b19228683ecd903e42c12177eeaf6b07c93 | Bin 0 -> 57 bytes .../6eb6574bba71f21a05011c03875fb70b980fe93b | Bin 0 -> 29 bytes .../6f5b6fbff217312f8a2ceeb919594cbb5bebe534 | Bin 0 -> 28 bytes .../6f73e91a1f85bd5de4ff88fba448023370bc4010 | Bin 0 -> 7 bytes .../6fec053837f010b21207e6e27089d4b0eda8aded | Bin 0 -> 21 bytes .../7039e74f2c1069e1586e196cb9e5ef1034970b22 | Bin 0 -> 6 bytes .../7062e45b4963d31c6805938ecd224d1fc0f769cb | Bin 0 -> 10 bytes .../70def9577abfce238371b88c4c33b251c1486cdd | Bin 0 -> 28 bytes .../70f293bd26336a3826077170a8309c1e5f2e0fe2 | Bin 0 -> 198 bytes .../713a3a6ef8cc3bbe4a63e95419a8ad730fb3213e | Bin 0 -> 26 bytes .../71a6b88397b56bc194139b4d7f275121a9a98f5a | Bin 0 -> 16 bytes .../71b40990625eb94a85610b6590daae9f2c6dc61c | Bin 0 -> 141 bytes .../71b598ea180d896d31b86275641378fbb9f66945 | Bin 0 -> 153 bytes .../71b8a87696b6f8ab958c9f51d8bcddd8d97d1576 | Bin 0 -> 52 bytes .../71b9769eda3d7ddd312f5414ed94cb7e3634e620 | Bin 0 -> 97 bytes .../7229ea328368da01b3acd0778271c5bf61089336 | Bin 0 -> 8 bytes .../72446bc7bca0f2abee22c8549b91755ea58a55af | Bin 0 -> 5 bytes .../7285575fac0cbe4574cb21867b5285f86744590a | Bin 0 -> 29 bytes .../72892615ed350434673b46ab87b249a741b21ca9 | Bin 0 -> 46 bytes .../72a390f826f14b12b1aff4f3598c61978ba14f89 | Bin 0 -> 13 bytes .../732a8ea6afc31706bbf621633a7c7a3fcb7a2884 | Bin 0 -> 43 bytes .../7396c4804d631f59e4b43c7d7f5b52ce07406e1b | Bin 0 -> 30 bytes .../73a2faa98ee12889bc52fb0e939abf6163b3bf8a | Bin 0 -> 27 bytes .../73b363dfa85a94af3d185face26e2bd4525fa1e2 | Bin 0 -> 55 bytes .../73d499daf3609303169702b78fec396636aa0d05 | Bin 0 -> 145 bytes .../74120f8360c18539b35d75e5e27e04cceaf7c7d9 | Bin 0 -> 23 bytes .../74b04a5625ccff993592e12bccae1327e5fcbfee | Bin 0 -> 30 bytes .../74ceffd068740ddf10ff45a41494f62ebdf44403 | Bin 0 -> 38 bytes .../75184afc2e443e8fbaa6608d90de86984994c220 | Bin 0 -> 15 bytes .../753a6431e8953e63ededb10b67b98a33209f303c | Bin 0 -> 14 bytes .../75dafc5ef9b0a8fb83804810bd4a422829156067 | Bin 0 -> 7 bytes .../768753c1deff240cadd1656424e37c39db1e63ce | Bin 0 -> 44 bytes .../76bde6a032b06a5ec3e2fc23422bc7efd4d882e8 | Bin 0 -> 114 bytes .../76c6e2daaeb6b0d825a96277228d08c2e73b438e | Bin 0 -> 32 bytes .../76d81862c65f9191a35069f713e46a2228c3ea46 | Bin 0 -> 115 bytes .../76e4b298d466e78d2ededf80f450df22b073df8b | Bin 0 -> 26 bytes .../76fb713e8a6b1b74b569fdfe3cd29e31d87ec60b | Bin 0 -> 41 bytes .../7702e425ab1e031a64c17265e5144d3b09c430dd | Bin 0 -> 16 bytes .../775ff2bff9d70f02afd423569d3162760dea3ce1 | Bin 0 -> 54 bytes .../778457000cb0f413ef1af1051a0fc027b38987a7 | Bin 0 -> 98 bytes .../77c59bf3c9a0690dca13e22c100f4b8549709a87 | Bin 0 -> 120 bytes .../77d6f8901fadfb86bd4c8b81858cd7984af344d3 | 1 + .../78069c262fb1122b671027f10bb7b435c0a40d4b | Bin 0 -> 26 bytes .../78666fae05ebeec6a72fab2638f0588910705270 | Bin 0 -> 132 bytes .../788b1e9c64973e727ef08cf00e666fc8bf4bb30c | Bin 0 -> 24 bytes .../7976204757edff2deb1c156e650271359b212f9a | Bin 0 -> 33 bytes .../79ab59841d2763abb325ed9d4a3666e817f6ff1d | Bin 0 -> 37 bytes .../79ce700d55c2cca2c13d508c2cd308136d0faca5 | Bin 0 -> 83 bytes .../7a07f1115943cbeb261599359693693806587249 | 1 + .../7a4f386a916b438769395c6716428815883ccc47 | Bin 0 -> 27 bytes .../7ad32f0267ee22966343bcec49f2a793afea9a0a | Bin 0 -> 22 bytes .../7b2d569c5e59254eb74304b66650be0fbec34507 | Bin 0 -> 33 bytes .../7c8f95736613be82e6ffd65eeda1755bb5978944 | Bin 0 -> 12 bytes .../7d23baf78bd1aabc420728b302eeeaa7342d603f | Bin 0 -> 32 bytes .../7d65993eacfcdd2df30430de41ac34aeacb0bfe0 | Bin 0 -> 71 bytes .../7d929dd1ea098b5968c1378b62c52251012040d7 | Bin 0 -> 16 bytes .../7d9473f69165c134441599b7105011d7a74164b9 | 1 + .../7dd3e4f69afcaf3457a7eb5bb8ccb5cfd1409c08 | Bin 0 -> 29 bytes .../7de2c673758bf2a01287d3e6baecfc89ce548416 | Bin 0 -> 47 bytes .../7e115dc681dbce159584ef166c3a53758fb15808 | Bin 0 -> 207 bytes .../7e1c71a370e88fde0cb3ab65f5088943e2f23ac5 | Bin 0 -> 72 bytes .../7e1d75233e2ae49cb21aa2f844accba92d3d0c63 | Bin 0 -> 47 bytes .../7e3c77aa0e75eac9dcb2094f806d80308f1dfb14 | 1 + .../7e8a3b6cb88417495876ada5fd0302c24648e987 | Bin 0 -> 14 bytes .../7e9fbd02bb6d60ccbb48d9488ec16a2a752b670c | Bin 0 -> 22 bytes .../7f40ed4ababf3c3f5ea4430db085173f21a031e1 | Bin 0 -> 132 bytes .../7f69d413efa83f0dbde3888ec5e4a3221416ce66 | Bin 0 -> 7 bytes .../7fb538cf9b714f920777b9eacdc743e63d027788 | 1 + .../7fc48b4dcabf565bd1cdd5a27897d9bb066b7471 | Bin 0 -> 13 bytes .../7fdc5e2599199fda28e2f5445a05ad95ddc0cd90 | Bin 0 -> 159 bytes .../803450bd45401a97b6e4ba3021a8aa1d155b5265 | Bin 0 -> 21 bytes .../807bc2baabe4fdc5212a584ff08c0c28bbdba567 | Bin 0 -> 53 bytes .../815347f5bfa8b529db1c89f5e2a66b7cc3ab2bfc | Bin 0 -> 139 bytes .../821718b25668aabe57d82d73a3a83543290ea20b | Bin 0 -> 45 bytes .../822e21892f128ed512c425dbbf9d359227edc62e | Bin 0 -> 11 bytes .../826a05ecc37a32952a4c06e4bc16465e36836e1a | Bin 0 -> 19 bytes .../8279543331b091f3c7a6c49fe1ddca4a1a0cec36 | Bin 0 -> 42 bytes .../82ae89b113bf455728ded19880282984f86d6ee9 | 1 + .../82f8098af20a1a22f8439d8ba51425168378b710 | Bin 0 -> 51 bytes .../8301f70b5769d751da2be0c445d3b3b5078c5b31 | Bin 0 -> 27 bytes .../8379b56f6ba2269e4225ba0ae160e18b7bc0cb1d | Bin 0 -> 51 bytes .../838d7952e2fcb725c9ff91063784a309e8a29663 | Bin 0 -> 19 bytes .../83e3c53e8a4510be7fedba14aa21366dc737b8e2 | Bin 0 -> 145 bytes .../8464c974931e2d8066be5de680ce38d1f10fce66 | Bin 0 -> 22 bytes .../84fa636ffaa8ed667982979a09129c6dd6821121 | Bin 0 -> 9 bytes .../85a052e22baa83cb7191d6ea2f7ded9838a7a5ec | Bin 0 -> 20 bytes .../85ca706906ef0ba28ee0afdd9b413dbfea2bbb59 | Bin 0 -> 29 bytes .../85eac0d93f498c1f1e16499823a369ab8594db63 | Bin 0 -> 38 bytes .../85f38964f20f6dfdaf26feabf93b0f8ecf2bae1f | 1 + .../866e22b8379bb87983c163540ee980806705dec2 | Bin 0 -> 43 bytes .../867687721b1ef247b457d93ab7be31af4f869bdb | Bin 0 -> 33 bytes .../87149a4f5059e447efff1ecd8fab12c0caccb91d | Bin 0 -> 17 bytes .../879f89c5e3b5e218a1e48a8d18163443af5046b5 | Bin 0 -> 4 bytes .../87edd7c4c42ae5d10a80eec3f9c2dfa2c2d7b5e7 | Bin 0 -> 33 bytes .../896592235a4aa39f4c47b1d81bc1a2b465e7e673 | Bin 0 -> 24 bytes .../89e8712ec308913e3f74074be570eb6773401695 | 1 + .../8ad09aa0227eaba348ecf5472012584552712f40 | Bin 0 -> 3 bytes .../8b011784120d3fd10bfb308121f26850e0b8b634 | Bin 0 -> 33 bytes .../8b4e330b4ee85f2982609be6a6fd1283b58de719 | Bin 0 -> 15 bytes .../8b894bfec1e203e79539da1ecc370199af0f9e5a | Bin 0 -> 3 bytes .../8b8cfd770fa56164659c368b7369446aedbe1805 | Bin 0 -> 14 bytes .../8b94bb727f993ad17f5ed86935e72272d10b1420 | Bin 0 -> 27 bytes .../8b96e28fabde440d384485d73e682e7c5478af62 | Bin 0 -> 24 bytes .../8bbac41d66a921fa92f91dacaddabb240d84e622 | 1 + .../8c90057c307d293981d81b8a2e5a282b83b99df9 | Bin 0 -> 142 bytes .../8cd6ee7a9292ef8e83fdbf3469f79617561e68d7 | Bin 0 -> 24 bytes .../8cf71bec44cfa1c3d6f923aece9b11aa8edaa19b | Bin 0 -> 121 bytes .../8d52e742b34b58da655f595e20de01a78909399a | Bin 0 -> 17 bytes .../8d95224900ed09382d46a6a87c0812936cdd9ba4 | Bin 0 -> 25 bytes .../8de39d7edebebc310bbdcdbb786669eabe737df6 | Bin 0 -> 27 bytes .../8e11f353e0645d6b8c73774d787cd620eb3aff33 | Bin 0 -> 7 bytes .../8e16aaa29d34d38ba3fb24b935d07fed1a14a967 | Bin 0 -> 124 bytes .../8e45c124285cc897ede7f0bad0a4d4a11b823f07 | Bin 0 -> 23 bytes .../8e45ca908c08d676a0460a93627269f3f50fd377 | Bin 0 -> 179 bytes .../8e5f0dc31df0670c8e17ee9addfe24b529514f5d | 1 + .../8e603810478e62fd275fcd67260ba2861a6c43d7 | Bin 0 -> 102 bytes .../8e705807465b4b22c48414d0010c56b4aa1cc1ad | Bin 0 -> 22 bytes .../8ea3eb791728e8ef9c42adbb4a7f1e9dfeeb4abc | Bin 0 -> 41 bytes .../8ea46df3cd9fc812cd712434d2d8046b870555eb | Bin 0 -> 80 bytes .../8f19dd249d8e320a3f715fa6188c2c2a047bbc97 | Bin 0 -> 29 bytes .../8f2af75e0bcfc5e78b52a04f368d3cbba10b4429 | Bin 0 -> 118 bytes .../8f88c5fa95cc7a3f0ad61588eac5f8cf46f442dc | Bin 0 -> 4 bytes .../8f9c0c9fd37e8031ca00b306c7dfcde45a996f1d | 1 + .../8f9ee55232574504b81665960d13ee39a1487353 | Bin 0 -> 28 bytes .../902d8066536a59912eb8b90ac8c3965cb8564a8a | Bin 0 -> 29 bytes .../9069ca78e7450a285173431b3e52c5c25299e473 | Bin 0 -> 4 bytes .../90fdcbf7a022cb6795299ec2d0a981402e9a1999 | Bin 0 -> 5 bytes .../9120d853d7b24145ece5f2ea0bebf8acd74d1f17 | Bin 0 -> 38 bytes .../915521aac674e3132ed59636dbefe2a8a614219e | Bin 0 -> 156 bytes .../91573885d73a49dcce985de71bfe2bac92fddf28 | Bin 0 -> 260 bytes .../9167b740c4d2f8a0d279d2286bc039a92d2485c8 | Bin 0 -> 31 bytes .../9167c2ee7884cca512a25c5c46047a51a8ee0037 | Bin 0 -> 37 bytes .../91ea1b5bb00a93330eefd83d06dc30070a8a4a77 | Bin 0 -> 17 bytes .../922c7c3f7b2ce7e996fa24e0e259e71033a0bc79 | Bin 0 -> 70 bytes .../924dca3b94a8a9ed3029f9bea1de5bab3ffc0624 | Bin 0 -> 38 bytes .../92a4fc3e3882d623e160b449b8c5d00b6cf5541a | Bin 0 -> 14 bytes .../92d5f1fd799ea3387dfbcf34e9454eb39022e891 | Bin 0 -> 17 bytes .../9307e86e985db1fea0f0939d211712d2ee5277c4 | Bin 0 -> 77 bytes .../931358fa84efac651ec27d64805438e0e80841a0 | Bin 0 -> 24 bytes .../932c040949d2188ae41e16e391010331fa9d7c10 | Bin 0 -> 47 bytes .../937661a0e2419e7068f3d52098a3fbabee12bbff | Bin 0 -> 216 bytes .../93b1dd76197a98c1dd003731cb19f826905c99c6 | Bin 0 -> 33 bytes .../93ce6463d6320c7f6c25d69d05013afdae31210b | Bin 0 -> 3 bytes .../93e87708ae49d4ecce34d19fb158170823c65a25 | Bin 0 -> 61 bytes .../942c6c3d6165595504b4f6288812ea11bac43bab | Bin 0 -> 19 bytes .../944771f50947af2b24dfa61029b4d27a93939dea | Bin 0 -> 22 bytes .../94b58973cc02b03f39e841b6d46d18a747140d0f | Bin 0 -> 46 bytes .../94efa6407e5aab15c2a342ba3fcad52295fb9814 | Bin 0 -> 33 bytes .../954eabc7f4915e55ab72abaae18babcb319db9dd | 1 + .../954f6e2ab929a0af1e9e6219dc94436889af5afe | Bin 0 -> 52 bytes .../95750b926efdc74598dd99ac2e3e6546112ffb56 | 1 + .../95842eec56c4339b26a57667f0edb733ed7962c0 | Bin 0 -> 9 bytes .../95cd58cb7fe10654007d4484d7ce3ca4ecea0b02 | Bin 0 -> 12 bytes .../96b0b73ccd4c4cbb53ddb0f34d6479952a99062a | Bin 0 -> 22 bytes .../96bbaab1e049a90347a9f8fae767154ac8067c3b | Bin 0 -> 55 bytes .../970240906e2ee951475d085d068a3d094d41c19d | Bin 0 -> 23 bytes .../975fb84d4c49e7e94a68f67199af8bcbb7a207fb | Bin 0 -> 37 bytes .../97a7c440eb6edd3b97857f170a22aaf745c2be08 | Bin 0 -> 26 bytes .../97c9f5b01a64608c4d733fb5e8f80bf60cb6e0e9 | Bin 0 -> 18 bytes .../9824b77161124c1a52a0e90bcdcdf3e3315136ad | Bin 0 -> 41 bytes .../98b0978fd55ec45c2420efcb1fefaf176272e83b | 1 + .../98b7dbc6b57999b18ac60f6c5cbefa9e8b7c1f27 | Bin 0 -> 15 bytes .../98d479ca70fb1e102e8bbeeb6a60cc7fa3b76800 | Bin 0 -> 32 bytes .../98eec35d35186ca0ab0f9e20f98be54e56711755 | Bin 0 -> 73 bytes .../990508507c525656ed05f2a24097542b86861947 | Bin 0 -> 58 bytes .../99068925f5d3f8a1b72f2d994a1b83553734544c | Bin 0 -> 24 bytes .../9915366692cdbe8b59686f62dc43376484d0997e | Bin 0 -> 18 bytes .../999e07e69be47a6d9b79b16ac0acc4d6f364389e | Bin 0 -> 64 bytes .../99c1fd892daa54d32498d85a1f553dcd5c4c4b38 | Bin 0 -> 21 bytes .../99f928fab785bfe6b63ea25e4834a9b68ba69f07 | Bin 0 -> 33 bytes .../9a438b14759dc939b246253f25dbd7cdcc18fc7b | Bin 0 -> 15 bytes .../9adddc94238e63de11effe112ff2ce714aa9a1f1 | Bin 0 -> 14 bytes .../9af47a3a40bf5249e12e0b2890f1f7c81b0ddfc1 | Bin 0 -> 21 bytes .../9b3d11c3f1e4e115b3efa17a9f38879c0a381a20 | Bin 0 -> 28 bytes .../9bb9a330f03a065caff0118814fd5696533a4e23 | Bin 0 -> 16 bytes .../9bcade36d87f3c9af4127e921d669d812fca89f6 | Bin 0 -> 24 bytes .../9c7874f89f89c284b0d44cf008c86e5c199ee323 | 1 + .../9c92687eedbfd81891c7d469f760a798e7b1e214 | Bin 0 -> 49 bytes .../9ccf68d691cc61583a06a46a31e783678a7b16ff | Bin 0 -> 33 bytes .../9cd35d0bed4ed8ae1933a4f32458bca0e93b10d8 | Bin 0 -> 29 bytes .../9ce1604d659135925ccc4dd1f526affe42e689f1 | Bin 0 -> 2 bytes .../9e4d5a788372d861bb193741b5033b188869acd9 | Bin 0 -> 24 bytes .../9e6bc59c61cfe7e36f004d27ba4bc87cc35e4b49 | Bin 0 -> 30 bytes .../9e9a97a4c622249a1a069406b63cd776cd14ae4e | Bin 0 -> 21 bytes .../9f3b8883526aa4009a4c7fecf96fdf9a9fcd5528 | Bin 0 -> 14 bytes .../9f59a0992a5aa733842f62deba316fbeaba95d22 | Bin 0 -> 9 bytes .../a0325e78550fa53de9eb4f8ec7191080143041fe | Bin 0 -> 33 bytes .../a0599f71cd2b664b9c403ebce915dbc3c1f2bb0c | Bin 0 -> 73 bytes .../a0fd0cd2c64fbcfa550512560c6e00c099f9aacc | Bin 0 -> 60 bytes .../a10c77a48789c09c1c4f6c50e00c94955edd1d10 | Bin 0 -> 34 bytes .../a1c29609317113f78ac9f634fc9a19958abb138f | Bin 0 -> 53 bytes .../a26b14bf845f39cd55a68a2e8c20c6ac0236cf09 | Bin 0 -> 52 bytes .../a2f7290b0387a503460cd2ea0a949689c78f4204 | Bin 0 -> 11 bytes .../a2fb72fd3996f6da4e4b705e735290d918104606 | Bin 0 -> 24 bytes .../a3aa5727e4969801c7ce25c0e5a3b893a3598a73 | Bin 0 -> 12 bytes .../a3c57d6371bc722974d303e46c493db32028d7ec | Bin 0 -> 15 bytes .../a3ed2b59b7950022a048b6d67dbac1af4d8a7f0f | Bin 0 -> 73 bytes .../a40b2149f78ef7b33edf90b68f87cff8f2aff2b7 | Bin 0 -> 5 bytes .../a4b1e09fd4b041a945d45035ca6c5b7d6def39fe | Bin 0 -> 87 bytes .../a5b63f7e9ca957c116955db09d5b68d3e2b37862 | 1 + .../a65656539585ed8898d3063d6a3a3b816e6539c7 | Bin 0 -> 86 bytes .../a68e5160505fab79ba7253249e55d9f9c350ce90 | Bin 0 -> 28 bytes .../a6b345c8a480ac7f60d53332eb7b2d4ead9f825a | Bin 0 -> 12 bytes .../a6ed0c1810a5d697a7843341e8ebd728944940e7 | Bin 0 -> 19 bytes .../a78797805a55b6c8414d0a25c186392f2e8c4c2c | Bin 0 -> 6 bytes .../a7a93d84b948364645d95cdad57eac52b849535d | Bin 0 -> 107 bytes .../a7bd988e4fd6abe3f746583c2ef0e9ddb3840e93 | Bin 0 -> 30 bytes .../a7c9344ca7b2dfb694854a0f35a0d7d4b35e4804 | Bin 0 -> 46 bytes .../a7dfaff0f9843772735c0a4bc43e6cbc5ac9f323 | Bin 0 -> 30 bytes .../a7e26305de62e741962b6452e706252aa5f7ca3a | Bin 0 -> 9 bytes .../a80e73ca501e9987103ce87189cf5f7d52f10028 | Bin 0 -> 21 bytes .../a8216f66bbbe6994762f4f141d395188c41ebf2a | Bin 0 -> 32 bytes .../a9745a45eac355f6ac3bee8ad0b35e680e8f964c | Bin 0 -> 35 bytes .../a99586555b9fbfb4389df04d2d523725059fa433 | Bin 0 -> 20 bytes .../a9b8840dafc6c214c23c575adcf706c4f3c14413 | Bin 0 -> 49 bytes .../aa46f107a61179b8898044343e4631373a1eea53 | Bin 0 -> 25 bytes .../aa7513e9789339b47b881855c444d6b9719dbac0 | Bin 0 -> 31 bytes .../aadf3b1901e69ae278397f522411352eee3e60fc | Bin 0 -> 23 bytes .../ab3382ad0d5ab6367b488ae1478373c7bb60fc3e | Bin 0 -> 61 bytes .../ab5852763202f606306d339f8d65ae56ec04a066 | Bin 0 -> 32 bytes .../abcfba43f31a70d4e58451c1d0f81de5fe4fcae2 | Bin 0 -> 24 bytes .../abe4c4ce5c010acaf25f918a10488607555a91aa | Bin 0 -> 28 bytes .../abf885332d343205410c7b0cd718012471865a33 | Bin 0 -> 31 bytes .../ac4bf8da6a8c6922aea26d10a7770ea5b005ce3f | Bin 0 -> 32 bytes .../ac92118dcf23c98714781748676c6802b15d505e | Bin 0 -> 83 bytes .../acae5d16f58a6d3202e43a7ba8a8dc451c9fe83d | Bin 0 -> 107 bytes .../acaec48a1cfb62715e720ab1b3a0caec012d95bf | Bin 0 -> 132 bytes .../acbdc9cfc833721f2d10f27fd760f4397f9294a8 | Bin 0 -> 50 bytes .../acd867ceb457ae8254326eb7c501d155d0cea672 | Bin 0 -> 15 bytes .../ad00c7fe5bb9dd0380f866a7631d0617e7567bd9 | 1 + .../ad07ecee596aa5c1210b851fa9810a2decd8bf99 | Bin 0 -> 36 bytes .../ad0c40ff1d5721d8b01f73454e06260207667d81 | Bin 0 -> 73 bytes .../ad22cc03ebb7577d29b889e5566dd2b0ef2419f7 | Bin 0 -> 24 bytes .../ad9d8929a1e466127fad0c093d952a9bf34bf3bf | Bin 0 -> 35 bytes .../addfeb57f1e2bb551505939b2ac68790a3a7ffd6 | Bin 0 -> 204 bytes .../ae1772fd023f897b7f59e9f039cdea8268f757d9 | Bin 0 -> 75 bytes .../ae2270662f6fb21cca3739ebaede36fcb763137a | Bin 0 -> 25 bytes .../ae3f65080bf46aca7bafd1e129a2508ecd737dec | Bin 0 -> 24 bytes .../ae48c9d1f1f3685ff3107b122ba281d4c4dc084b | Bin 0 -> 19 bytes .../ae940b5ba0a8b47eeb3ff97e852fd369b1304196 | Bin 0 -> 60 bytes .../aed7cc67f73f2efcf63652cd85a1feacad555e16 | Bin 0 -> 106 bytes .../af1ec507d20c15585f88053a00090d47345b8305 | Bin 0 -> 6 bytes .../af2eff0b0b5f017869f4fca654e1a62960704db9 | Bin 0 -> 45 bytes .../af39af37db7a5cd26116d6438ff928b9002732be | Bin 0 -> 33 bytes .../af4335ef850e8dff2e243c9763b7e831f95b0884 | Bin 0 -> 28 bytes .../af488e737e65a06a3c5568b010b21e0e104232bf | Bin 0 -> 25 bytes .../af6686d48e1f6a4f8d739b1017a4aa4fc8baf384 | Bin 0 -> 33 bytes .../af6f39261913488276d4a2c058491e9a32bfabf7 | Bin 0 -> 27 bytes .../afb3e7c0c98741bb299eb3c9dfbff978e9204f6a | Bin 0 -> 91 bytes .../afbc13987f873650de5ed88882f9823422ad5a5b | Bin 0 -> 11 bytes .../aff3e4182a36de06fe672883c7e7cb6c4bf07d68 | Bin 0 -> 10 bytes .../b022b321dc96a791e7432f1cefb9c6b4fb3ed8ad | Bin 0 -> 14 bytes .../b0302009ec735d2b6de0a29923829866d5612b5f | Bin 0 -> 24 bytes .../b04d30b01fc52e67be2bc25ed8ebd31d4a46d7fb | Bin 0 -> 47 bytes .../b0aadeb9071b8fc80d5f194cba93874bcf67f286 | Bin 0 -> 74 bytes .../b0d0c50eb6925a152bcc155725546346a6245941 | Bin 0 -> 3 bytes .../b0f147f1f41c34e4bc3bb3f80d65f2b6c07b71b9 | Bin 0 -> 16 bytes .../b168bcb4776297254332db0d72f5cbd611a99143 | Bin 0 -> 5 bytes .../b172d3d474bbd55ff3cf5846578a78bf91c59f46 | Bin 0 -> 61 bytes .../b1e0969a15dfc06a9deb925dfa8dd72ff0832d32 | Bin 0 -> 65 bytes .../b1fc7413d9261c25622febb0394d19fa1e14091e | Bin 0 -> 26 bytes .../b36dfb1f140e85136b25a40831f33f1f477b1ef7 | Bin 0 -> 11 bytes .../b37982e22cc21cf0cbc0332b51678520fa20a1da | Bin 0 -> 32 bytes .../b39b30f79f1e0d1edb66ecc1dca749965eaa7bf9 | Bin 0 -> 144 bytes .../b3d12afc294638efc98cdec12a9549557f1d6844 | Bin 0 -> 52 bytes .../b3e55e30bb7662846d920af14be6458c955f3dac | Bin 0 -> 130 bytes .../b3f5074e0b8e0f5f4622bb88d9369d12398ea668 | Bin 0 -> 76 bytes .../b404cc9150b9853ed2400f58e466ff2eb7e4b362 | Bin 0 -> 78 bytes .../b4ca7b7bf5100fe77b2c9b3c2ea773915e4a9d6e | Bin 0 -> 15 bytes .../b4f2df5dedddc1e5f8a9486617ad79cbbbd2010b | Bin 0 -> 37 bytes .../b502fd576ff834a6f70374fb4f1259921000de9a | Bin 0 -> 20 bytes .../b53f3fb7e17f57a159c8d084edbb2fc231383283 | Bin 0 -> 26 bytes .../b6160d6e3987e61916f40c4dfb408881072da41d | Bin 0 -> 24 bytes .../b62044534a5b21f09fb8bb7ef761619eb1f96dd2 | Bin 0 -> 146 bytes .../b6556bcd64c670959b5eda5b562017e61c959c73 | Bin 0 -> 3 bytes .../b6ba81343b6ab8baa99a7a9ce560623bda5f29b7 | Bin 0 -> 136 bytes .../b6c79df70615f571647de60b1faba4585a0f6341 | Bin 0 -> 5 bytes .../b742c8cb092e1513b2289332fcea9c7ef44739f2 | Bin 0 -> 112 bytes .../b75666785dd0bfa53606a2c6f5a74d2ef87fa58a | Bin 0 -> 157 bytes .../b7a9f1ef2b417627083ca0e3c01576f970047a10 | Bin 0 -> 9 bytes .../b7c446a931fd7dc25f359d96862796c053774271 | Bin 0 -> 33 bytes .../b802142d13b66385996c9a3dfd6b0c4cd6a75870 | Bin 0 -> 25 bytes .../b806aa2487f8de774e92ce94603761e9f2c04e06 | Bin 0 -> 26 bytes .../b82a81912601d23807c10af4268fdad450c7c7c5 | Bin 0 -> 8 bytes .../b855290b7801979f528ea28a6791aa67b38e1920 | Bin 0 -> 25 bytes .../b88c33da68797d26661b0223bc118bf16fb4fe4f | Bin 0 -> 14 bytes .../b90239fd820cc862a0aa25adea74bbfb50ab2a6f | Bin 0 -> 30 bytes .../b93d354cf1b750a6031980d7875f724efaad99cb | Bin 0 -> 8 bytes .../b96cd06a07aa2ea4cacfa5b7c374a4e1982b7837 | Bin 0 -> 25 bytes .../b9db948517099d516de0284b2f1a3ecd293086a1 | Bin 0 -> 51 bytes .../ba1202ecaadf38968356a7132d0c68961184961d | Bin 0 -> 4 bytes .../ba2c8050d36531e21af24eb4154e8e771f9885fe | Bin 0 -> 121 bytes .../ba3bd70a25f8a3f5a3f88856124872545e6f9db1 | Bin 0 -> 13 bytes .../ba8579bb0ac8a69bff6466bc60550fff46137a95 | Bin 0 -> 15 bytes .../baaddd35c814737a4f27e87d2b5363b795d958e4 | Bin 0 -> 22 bytes .../bab488fece4736c97a7b53a3f60ad95c50800559 | Bin 0 -> 74 bytes regress/corpus/basic_query.bin | Bin 0 -> 33 bytes .../bb801edfcf2761d81a1e3e87e7f4e8defebebaf0 | Bin 0 -> 80 bytes .../bb8f106fe97c546ad80c1f69ce605deee60e3c6c | Bin 0 -> 94 bytes .../bba9f3584e6fa7dbcb51fac4fa8e387915d6a757 | Bin 0 -> 24 bytes .../bbda044b8efddca40bfa624d5f276a0abd397b3a | Bin 0 -> 15 bytes .../bbf23d7a922eb1af713698b5d0a97bd1678dfafc | Bin 0 -> 7 bytes .../bc12b6d759a2d54493ad432b28d4b01827676cd3 | Bin 0 -> 17 bytes .../bcb4e4faf0f79cef1426dba462fd6847f2c69d44 | Bin 0 -> 92 bytes .../bce78666f7faca7fd1b6482b256441d827d23db1 | Bin 0 -> 15 bytes .../bcee87d1ead578589a050bd1d70720ef0895b36d | Bin 0 -> 27 bytes .../bd6a68f75c0a87743da59839837df210ff993ec3 | Bin 0 -> 46 bytes .../bdbd4468da9c8866455530d83bba8afbb170648c | Bin 0 -> 41 bytes .../be2814f401045b146eaeda95c4ef217cd1efd7fc | Bin 0 -> 28 bytes .../be6aacbb35f624d515ad7dba0d243be7f63a6cb5 | Bin 0 -> 144 bytes .../be9d33c759830203b9895cf901edf38941ce8362 | Bin 0 -> 12 bytes .../beee1902079c7a6fdc9b573f3e113f31557a2f10 | Bin 0 -> 16 bytes .../bef8d337015a462023338c4fbb0307b729c93475 | Bin 0 -> 33 bytes .../befc81e605a9ffc8049f3d459e8c0c434a9d6e8c | Bin 0 -> 19 bytes .../bf42bfa5f54f6e7da74e035d1bb220476d62b716 | Bin 0 -> 26 bytes .../bf45059db459aeb3d851961de1b0ba5fdc5a963c | Bin 0 -> 6 bytes .../bf55a41f881bae8c6b5274c6b63bfa9054c00cb5 | Bin 0 -> 51 bytes .../c020dd9e6add4cd8d7a927bd3db3e3d2156cb62b | Bin 0 -> 32 bytes .../c0460f95ede5eb9da2b5c006c32b0dfb86efac9f | Bin 0 -> 183 bytes .../c09edcd7dc248fbb16b9647a12b1c45ed26da487 | Bin 0 -> 33 bytes .../c16733744e1e280006ad5611998a8de5d14732ef | Bin 0 -> 16 bytes .../c1a9516887256b4e5189688352a90b82fb13f56f | Bin 0 -> 32 bytes .../c1b7e1142094815a857b6eb7e33d67c2a35c0ea1 | Bin 0 -> 10 bytes .../c20f8fbba5bac220b3084f9c5b0d66e4fd5d6dd1 | Bin 0 -> 33 bytes .../c263799d4a950306429793b5f147561e0492bd1d | 1 + .../c2e009fb4ba0476584dc90a9ab7d3921b706bf0d | Bin 0 -> 22 bytes .../c2f175f6432b7ce470a316d18c370705d3b828ba | Bin 0 -> 30 bytes .../c3010d09174a3c3b96be53994dde3f2655747438 | 1 + .../c336f4b6a44453b74210504eb4b2ad20723c83ee | Bin 0 -> 25 bytes .../c35bb14ea7df1ecfb0a8c5de65aac4ab608de38e | Bin 0 -> 13 bytes .../c3b494296cba5f6a9f9e76f093fad0cc5bc65804 | Bin 0 -> 22 bytes .../c40f784835c714d59e769b094c8b3055e0487299 | 1 + .../c49b95d2d30f747115ca665727c53b4e20eb00b4 | Bin 0 -> 33 bytes .../c4d559de6a81ad20f83f1649fb1d28c360a34c2d | Bin 0 -> 30 bytes .../c52864c5210cc8df5341c731fbf46f8d38c0922f | Bin 0 -> 14 bytes .../c56b2e8d64ab8c09551529a8bbece474d200f459 | Bin 0 -> 7 bytes .../c5c671484563285fc41967f952bf607fd38212cb | Bin 0 -> 13 bytes .../c617c1f9be12a6be9181d8251e606e86e3b6f18d | Bin 0 -> 21 bytes .../c6b9f4180cdcbbd2a65490f4868a2fa9299f4a5f | Bin 0 -> 21 bytes .../c708564a23cbd68ad4176bee93add3b13946f5b4 | Bin 0 -> 32 bytes .../c7aa7623cea270dfbd0734a1b15174606d659ae6 | Bin 0 -> 16 bytes .../c7ac83f2a9733dbb6aa16a80a806a16fc57babc1 | Bin 0 -> 32 bytes .../c7bc773a4febfc9da9949b48dfa9d36bb88ca993 | Bin 0 -> 28 bytes .../c7e5af1acdf19e3f8326f8c7fe7ee346e5370068 | Bin 0 -> 23 bytes .../c80099666cf976f3b92265aba9542778ccfe3ef5 | 1 + .../c812202b413fb8486cf41dd946111f7e8dc43269 | Bin 0 -> 23 bytes .../c83730cbc9b078dba78a358e2af1fd359978187b | Bin 0 -> 12 bytes .../c8525a2f769bf2d815109db14a3ca924c8632107 | Bin 0 -> 26 bytes .../c8540ad5d178485dfcd598178bfc27f53ee669ad | Bin 0 -> 56 bytes .../c8dc87883b735ad83b1194e72711f49b77307536 | Bin 0 -> 31 bytes .../c9071dfd96736ee35661468f780322be27c58dae | Bin 0 -> 11 bytes .../c9b59c50fb3d5d681ba0d738b03f002ad735086d | 1 + .../c9c4e1e2720eb1d1c7584a3feacdfc4e95d9a6a2 | Bin 0 -> 17 bytes .../ca01ce0515aba88d5e07d3bfb070c735cae2c702 | Bin 0 -> 11 bytes .../ca3d93adc2bfdb1da7a85baec799262e8b501089 | Bin 0 -> 27 bytes .../cae3176c911643b6bf5183c3273c7852f6dac051 | Bin 0 -> 26 bytes .../caf2a4e67e32494c4e55048ad2bc27862b224c22 | Bin 0 -> 30 bytes .../cb8af43d4654eef3988a49a225e5e176a7198a9f | Bin 0 -> 30 bytes .../cbd82c6cc59a05c86f271d83871c788433489d6f | 1 + .../cbe0d65339f01436a83279a39a38039caece4f75 | Bin 0 -> 37 bytes .../cbe6dc1dfe0bd2d1e405449d8ba41755956309d0 | Bin 0 -> 29 bytes .../ccd34d9379114084d19d35d0a9cf9f7932f62194 | Bin 0 -> 49 bytes .../ccd3ac74ef87290a2e75e0c00d106bd3d4c28862 | Bin 0 -> 11 bytes .../cd17446c3c58c27dd19280aec18232b808ec0f16 | Bin 0 -> 18 bytes .../cd366177a6746172025e0466a626159e818d9256 | Bin 0 -> 32 bytes .../cd8f547cae0627fbd063d09009da2d742de93097 | 1 + .../cda35f636a7e30dacacb43664acfb780392fcfaf | 1 + .../cdaf28ed078bb1ae708c4067893e3bf7189232c7 | Bin 0 -> 27 bytes .../cdfc94416f474d8e5a2c36cd4c09e38d47fd30fc | 1 + .../ce029ff4a578276d475748d8b2366393cabf5d69 | Bin 0 -> 4 bytes .../cf1e0565eb5daf5f6ad3cdf195a0f9c802bc337c | Bin 0 -> 28 bytes .../cf762468c981ec4c187555edbde9eaca8c6813cd | Bin 0 -> 24 bytes .../cfc07908070d2bbd3c5fcd06852d5698686e30d2 | Bin 0 -> 33 bytes ...h-1ffe2d52cb820525e38d1605a0a359eebdb398e7 | Bin 0 -> 30 bytes ...h-6a5c9ebb65a8aa4cb57aeccfb19b4d892093e418 | Bin 0 -> 20 bytes ...h-f68d01ae9b54206705c49ddf24eedb6177b01b8c | Bin 0 -> 33 bytes .../d04c6b25a1bf59ddc47f36009b6867b158daa430 | Bin 0 -> 141 bytes .../d04f586e1d2e92ed9dff2690236bf76282e0442b | Bin 0 -> 19 bytes .../d05418c9cae79581541ab9b3352c06606b585dae | Bin 0 -> 24 bytes .../d05ef293a52f6ab11cebe584ef16714c68551486 | Bin 0 -> 9 bytes .../d09d1d4eda0c773342e4beae5429837be0f585cc | Bin 0 -> 29 bytes .../d0e75c385f166feff592fc6e37d7f9f8b862e482 | Bin 0 -> 38 bytes .../d11a5ebb0863dd669610285ddf34b758c59e5178 | Bin 0 -> 195 bytes .../d11dbb1c679510cdb91dd9cb890932398296ced1 | Bin 0 -> 11 bytes .../d146a1173e1dde8a09532320491271a740e31c1f | Bin 0 -> 30 bytes .../d1c130045f8f4c03f73e8f076d2b5cd3495c44f4 | Bin 0 -> 30 bytes .../d1cc254019dcc54e6b32bdacabf708589daff037 | Bin 0 -> 40 bytes .../d2044f8ac75c10c47f66fcccdafaa76878a78774 | Bin 0 -> 6 bytes .../d257712d83aaf0108ada1d496134724ef46270ac | Bin 0 -> 24 bytes .../d2de34a68d9d3e51d89d8df7b7c73493778249bb | Bin 0 -> 156 bytes .../d33c7466850a3d82b93192fd5bd444a7fd5ad8e1 | Bin 0 -> 38 bytes .../d35168db29584eb66f8f31e1dabe95ab382ae2a5 | Bin 0 -> 31 bytes .../d35a89dfaf68742d25497d59e195ed3596d21d66 | Bin 0 -> 12 bytes .../d3769b9479a21d0fd6b70cbfaf85781a1bf86f57 | Bin 0 -> 47 bytes .../d38536ab6ac0f35180a9688772af0a6429f6eeb8 | 1 + .../d3dd97df2493588272c79e1c413fdfddfc68bad2 | Bin 0 -> 8 bytes .../d41c4b56c9666bbf3e2e9b5b65ec2543d9d05683 | Bin 0 -> 5 bytes .../d42f58863612722583a1bc10c257fb76f50951a9 | Bin 0 -> 33 bytes .../d461a444811cd33ebbb1fe415a5e2f71de54526e | Bin 0 -> 33 bytes .../d47da26c514238311232be339862e7b762e2ef6c | Bin 0 -> 59 bytes .../d4e9ddff2b8b4c818291d06eb761dbef03d87eca | Bin 0 -> 9 bytes .../d50c96a92a0196e3aeaf569399006b407d76b971 | 1 + .../d54cbf155e544a94bcde03a5c67631473be5dafc | Bin 0 -> 20 bytes .../d5865c033bd6a5230f8917bc06f6f36e7cdc6e7a | Bin 0 -> 13 bytes .../d5b70b54b05bd7555c73c309c6bec22c87b01c05 | Bin 0 -> 89 bytes .../d5b7c88da455a3d0842dffb27002e12ce8dbda55 | Bin 0 -> 33 bytes .../d6642acdb15110b68db1de860d5117a9170de56b | Bin 0 -> 14 bytes .../d675c3511a7b95d813d9cbbd8596ad486c0237c4 | Bin 0 -> 33 bytes .../d6e06f62e966f8a35132164fecbfdc7c83dd79c6 | Bin 0 -> 21 bytes .../d6f513e2eb15150d2fd9dfc92bfbb637e97e782d | Bin 0 -> 32 bytes .../d6fa1c19e2889b9364516cf0d738351c51da5303 | Bin 0 -> 31 bytes .../d70d3aef8f86800a35e4c8f42e18c642f23abfe5 | Bin 0 -> 27 bytes .../d718b07360712cdcf49043e905b4b573f04b2347 | Bin 0 -> 22 bytes .../d7df0a5136000f430d5a3f43000118ef69d62515 | 1 + .../d7e2a5ae312da1d607870815e239de5ccbdcf814 | Bin 0 -> 33 bytes .../d7fb1bcbe7f3cb856ab66b38482ae83b3277cea6 | Bin 0 -> 24 bytes .../d8030d39888564cebd83b1f797b4a137ca0d9989 | Bin 0 -> 275 bytes .../d83be4bad854f3e4db4beb641b9eb7a155faf712 | Bin 0 -> 137 bytes .../d85b1ce66e7452294089387dfca4aec5e97988b7 | Bin 0 -> 4 bytes .../d86b31b47bb3698d43a7c48c8dd5293c4a62f660 | Bin 0 -> 15 bytes .../d8a4b257342e905f728e2a4137b312cab8120846 | Bin 0 -> 53 bytes .../d8c8b4ef67e1fee0d46e9306eada71d2540dc4f4 | Bin 0 -> 30 bytes .../d8ec92d0811a8326318e0f5b3a6375fa0990a55c | Bin 0 -> 6 bytes .../da5e42c960e5b8ec9edd28ca79d39fe94a159fef | Bin 0 -> 17 bytes .../da986d1b14926903ab8f2b877aa6867045cc35c4 | 1 + .../dac9a07ce39fc291c2120e506280ad2f206eed8f | Bin 0 -> 21 bytes .../dad45a7cfadc44dfe9703a80236c3d339a60d520 | Bin 0 -> 26 bytes .../dbc694587804e087833fcd2c339477298723bcf7 | Bin 0 -> 124 bytes .../dbdea4e5bf4aa45f6fabf59654a091897bfc51dc | Bin 0 -> 25 bytes .../dc0286cd1e5227d67b3976038313be9c3e3b656b | Bin 0 -> 9 bytes .../dc260412a2c568625f5fb2ff652c20c7c8e0dd9f | Bin 0 -> 31 bytes .../dcb0f7291dba05c966d56f9b59ef38510cb812e4 | Bin 0 -> 19 bytes .../dd3f77506432cb506758e1f0bf7290ba2ca0c0e2 | Bin 0 -> 24 bytes .../dd4a88e95bec6954824343743c2223df844d8a5e | Bin 0 -> 32 bytes .../dd76ad17bc40a3448a059e0d47c4219c3aefee00 | Bin 0 -> 195 bytes .../dddc947d42e437a1618a05e49a6881ba7563c0ea | 1 + .../ddff84d1abbaf8fbd088dcfb3e428947a6c5e2ee | Bin 0 -> 26 bytes .../de184c778b1882a5efe29b3d7bdfbb4d2011ecc0 | 1 + .../de9cfa547bdfa6436b81bdc706a3c478c48c4467 | Bin 0 -> 40 bytes .../deb3c397c32213f2b75cd57119b031bbcb7be43f | Bin 0 -> 35 bytes .../df4164db2221bba5c7f05329a075c9d83d3d87e6 | 1 + .../dfd8f26ac2f31a537ce6801b8f2f9480d8cac2e0 | Bin 0 -> 23 bytes .../dfe250171862b9dd3a8d2ce85ac67cf9447ea72e | Bin 0 -> 30 bytes .../dff2c4628a2a1266d7bcbe4b416542c1e5cdb977 | Bin 0 -> 20 bytes .../dff3784aaebbeea5b6d5987fca6dc30350001580 | Bin 0 -> 17 bytes .../e08e13c1cf3765c72c771ad64388f6553eefc71c | Bin 0 -> 50 bytes .../e09a85d2024aad2ab46dc4af5a48cd96bd2ee6dc | Bin 0 -> 18 bytes .../e132f059f6744d273266b43321bb9a6494ec19cd | Bin 0 -> 42 bytes .../e140539d894bf242297292052e3eafd1ed93bee6 | Bin 0 -> 20 bytes .../e1b0da4dae126c6cb5b8b6ffcd384b60565b8584 | Bin 0 -> 248 bytes .../e1f35730151de473d92a908921e98e1c2f4d536b | Bin 0 -> 30 bytes .../e240c7c2b834634aca316187f535e30f34b19e51 | Bin 0 -> 227 bytes .../e2fa6d49b49d33791cc9ee9b77e46ae94872765e | Bin 0 -> 8 bytes .../e322c0d655e44f1cb41d9c7b7a6bfd300365e857 | Bin 0 -> 43 bytes .../e37d7f638fe766aca7a51727dcad97d59ad9333e | Bin 0 -> 171 bytes .../e384c702e9c134d94b1f6906f8c31c6742c0b68b | Bin 0 -> 63 bytes .../e3891bc58a5ceb354a3e041e9922545790b30433 | Bin 0 -> 27 bytes .../e4500ef0752cdf295f3aefb24f4d73022df6a304 | Bin 0 -> 28 bytes .../e4787610773945bdef327950c43e99c36ebe7cf9 | Bin 0 -> 10 bytes .../e5328fba79f51633f3a61cbebb182d5c7d0729bf | Bin 0 -> 15 bytes .../e5520aa429514d0c930ccd3a3ccc4a2a9902dde1 | 1 + .../e5b9c92c85182e6bcb8a14c69695f28bc7576788 | Bin 0 -> 33 bytes .../e5c3ff18aff2d7fe75e822c648b1eeae21016d53 | Bin 0 -> 18 bytes .../e61044b2726dcce1d40c93135118ea0e91d39788 | Bin 0 -> 92 bytes .../e63c01af8f117d4a46551ae8b7f4ef7e59bb1d78 | Bin 0 -> 11 bytes .../e65c7aa5b52962860c6b458ac762d52a00e6699f | Bin 0 -> 21 bytes .../e6d2e54c25d5d871e3a7288e2473d274cb037cd1 | Bin 0 -> 5 bytes .../e6d962028d17a600bfd1372ea001c2bc00345f53 | Bin 0 -> 32 bytes .../e718239d1d6feb67ce990dbc1eaec249c3838888 | 1 + .../e79e7436aa8290e68a342a3795e2c031fdc1b813 | 1 + .../e7ad2d8edec142a341e721c1e80a8403a229da95 | Bin 0 -> 21 bytes .../e860560f2646adcdd8e72dd21b6d937a670dd8e9 | Bin 0 -> 40 bytes .../e895477b645db771b82e3726cd5890f373e196f1 | Bin 0 -> 16 bytes .../e89ffdfc1cf802875b742f7e5509a805839f2797 | Bin 0 -> 14 bytes .../e92c80d956351aa1fea9f9b2b6953cb90902c15b | Bin 0 -> 27 bytes .../e98e9df4583b1d94c8fac1af87a7b8ec209b1262 | Bin 0 -> 9 bytes .../e9a1b59d8d8ce934d5b0e4d5b6604291a669fed5 | Bin 0 -> 6 bytes .../e9bec27dffe6ea73d5519dce854a4b731f4ad8bf | Bin 0 -> 18 bytes .../e9c2e972bf62e6bba22ac5f25cdd110f947130b1 | Bin 0 -> 21 bytes .../ea5cdece5c55d3499a92614d2c57e53c8550951b | Bin 0 -> 33 bytes .../eabcaec749d26064bc4cb7db3229851c15d2695e | Bin 0 -> 6 bytes .../eadda6d32e4cc0131078c2848974b6047dee7933 | Bin 0 -> 164 bytes .../eafcffb7044ce26f3394a621daa7d15ca16fc281 | Bin 0 -> 108 bytes .../eb410760a7b41e840f9c7d12da3724a9d0d1e802 | Bin 0 -> 14 bytes .../ebab52f062927efb574ad86c3e0ab28eb5d27068 | Bin 0 -> 14 bytes .../ec25cccce6c9567d45603f551339b94d5fc69188 | Bin 0 -> 33 bytes .../ec350d764246e941a585ba63958851664b1e3d50 | Bin 0 -> 46 bytes .../ec41abd5b47814d571e107487c9030847bc1f2fe | Bin 0 -> 35 bytes .../ec4f91933aca2727c1793e46dae0278198fbe346 | Bin 0 -> 42 bytes .../ec710d628a65b8934dbd1038f84dc0af88b70829 | Bin 0 -> 110 bytes .../ec912e3eb87a1df645f87db60d539e47be5fa1cf | Bin 0 -> 12 bytes .../ed7c73582120780c5353917d5dfbd8adaf389b30 | Bin 0 -> 53 bytes .../edd7e71e86d9415d732cefdf37e66393806c7e47 | Bin 0 -> 58 bytes .../ee5a2c28b1c668bca4c522eacac516bd93c33cb6 | Bin 0 -> 10 bytes .../ee7f85163d9e299365e1f7e8016dfcb563f22310 | Bin 0 -> 8 bytes .../ee9c74e4c19beefe26bc720f48f3c175b4180f98 | Bin 0 -> 90 bytes .../eea32dfe8837f35252f1dbe6f5b9083b1127f82e | Bin 0 -> 43 bytes .../ef6b146f8ac3d4f0a3178c2b4f259f6cae683657 | Bin 0 -> 83 bytes .../ef960b5a3de322d2cc6491a07c71f660eabb8c25 | Bin 0 -> 29 bytes .../efda36bb855788b972bbc56e28932e18fb778198 | Bin 0 -> 11 bytes .../f033b5595474d07a152d69e5af757231075718dc | Bin 0 -> 24 bytes .../f0534dd7e9c3284b578380927a4d0780d579549b | Bin 0 -> 13 bytes .../f063a6fe0d0cc835eb24e47dde92ff07f52331ca | Bin 0 -> 32 bytes .../f083a64658ded20380f359df1a1239df0cf17dcf | Bin 0 -> 223 bytes .../f0a88bb54525d2c64217b6b2442cf1eb853303ea | 1 + .../f0c3dac7fd48e7087330fa5c10f985fae395f57c | Bin 0 -> 16 bytes .../f11b495ce816cefb46c6ea3d0e8b858faa19cb7c | Bin 0 -> 31 bytes .../f12f6a6a6a22c60a2c6c11f6a31a489eb396634c | Bin 0 -> 127 bytes .../f18d799d4ab9e22c434fe4f4c0fed854d325daa3 | Bin 0 -> 37 bytes .../f254685da142f046cf7feced5fcdd8b2c214cd20 | Bin 0 -> 56 bytes .../f2cbbba8b310e42c48b54a3fe1a6037dba9406cd | Bin 0 -> 50 bytes .../f307eb6024a81f0239d406c3d7d6a101e46df982 | Bin 0 -> 18 bytes .../f33f932b512711df18ef9a4259ba5f4981b35cde | Bin 0 -> 32 bytes .../f363c6bdef3fb8a598a880ab6eb7853cd7a3d1e7 | Bin 0 -> 26 bytes .../f3ac798e103f4e43bb648aa07991089d7af5f339 | Bin 0 -> 12 bytes .../f3bda844df8a4d605ebb09fffa58a133fa9aca58 | Bin 0 -> 19 bytes .../f45bb27ee477adecd3842dbeeaccfb952c1bfb8e | 1 + .../f48c7894588237737a17ef04cccc9f24f01b8a61 | Bin 0 -> 18 bytes .../f4a501dffbd71e6ac93d89cb92f971e832d1be45 | Bin 0 -> 29 bytes .../f51f2cc2931530b44c9d51a442a963aab3b6bfa3 | Bin 0 -> 10 bytes .../f5408240ad667f408df49f194a8a4636276b3885 | Bin 0 -> 33 bytes .../f57af62b211f6ace2d7ff9565ada2fb9fa2baee1 | Bin 0 -> 11 bytes .../f5cea6cb12cea0e384dc483d4bc06a149742cb21 | Bin 0 -> 26 bytes .../f662bb3e9dd5db3b30e321585701d5d940509f18 | Bin 0 -> 15 bytes .../f66928adbe8c1f0fb5eb95a974a027d6bd385fb0 | Bin 0 -> 27 bytes .../f67d44924d8e60bee8aca304e6f113e090d714f7 | Bin 0 -> 22 bytes .../f6b5ab62a3206f100b5ab06d35cc307c351b3dbd | Bin 0 -> 13 bytes .../f6eb289f4cd01f35d79743acbf9bab6acb5d32a8 | Bin 0 -> 73 bytes .../f71c7415b7594fb606768feaaec10435e95acacf | Bin 0 -> 29 bytes .../f758b51e70be89991cce14f676790f2406cccdfd | Bin 0 -> 14 bytes .../f771f6cc2138150ca2d9fa3fbae88e81a175cc70 | Bin 0 -> 17 bytes .../f7986b3839dbb93a11a57682836f9b96c5fb32a8 | Bin 0 -> 11 bytes .../f7cc693b58c88c94a6c351bb1574971149876eba | Bin 0 -> 18 bytes .../f7d13649b99d5fe05b278f1521ef089a610747cc | Bin 0 -> 33 bytes .../f83e05a5e5406f7e75a185a2b88add4cedca8ef6 | Bin 0 -> 6 bytes .../f8863d11f14cc233574f3ae1b845cecb00709562 | Bin 0 -> 22 bytes .../f9eb06b4b1546382e04e278e55c4961354b05780 | Bin 0 -> 3 bytes .../f9f5c6688b589d5652b6a1c26fdda8cfe5857104 | Bin 0 -> 29 bytes .../fa4fc9285df9268b4515356b2c72a7b2727b73c6 | Bin 0 -> 15 bytes .../fa639f8272b21a4c48fb879da6bd149979240dd3 | Bin 0 -> 120 bytes .../fa97ac3d502cbf0e528d7fd0c095272307182bea | Bin 0 -> 15 bytes .../fa9c6165b833407ca1ef6c0fda37f529110a517d | Bin 0 -> 63 bytes .../faec21bbb347c599b994fa4327f695d057d9dfc5 | Bin 0 -> 30 bytes .../fb2ffbaa6eba45dfa3a64adc986b1014b0c41caf | Bin 0 -> 26 bytes .../fb5d23c41634bc2ccdd2b71d3f4773020859d54c | Bin 0 -> 30 bytes .../fc0b5ce130e7629cfecb7a8d0e07b391800b04aa | Bin 0 -> 16 bytes .../fc28b7061090689df41fdea53f16ace9afc162a5 | Bin 0 -> 41 bytes .../fcb798c6e61b3dc04b3737039ec0aff210f904c5 | Bin 0 -> 16 bytes .../fcff85c5edf606f2da5bea520350f28a96c14dd7 | Bin 0 -> 51 bytes .../fd2f97ea0f894f0ca362a5f8c08a5014f7bb10f3 | Bin 0 -> 19 bytes .../fd454f8f9408fef5391200bc93057db0e0bd3d85 | Bin 0 -> 70 bytes .../fd4fd71b6694ee8bc4cc7df5bc1268b3560acbc3 | Bin 0 -> 83 bytes .../fd7b27922595d3f5481a413ab74d6bc75561517c | Bin 0 -> 5 bytes .../fd8a5f544cf6b3dd642f38ef9436f80a76e4f13e | Bin 0 -> 118 bytes .../fe34fc899af30caf165d598d43a41cd8e6bc1765 | Bin 0 -> 39 bytes .../fe6ea2796566c507cfdb690d1196dcbdcfab9ff5 | Bin 0 -> 33 bytes .../fe7e22b8ddf51267bc7b52640e12e985828d2915 | Bin 0 -> 11 bytes .../feb7a9c60c58a2d56576522c186a4118252bc6d8 | Bin 0 -> 26 bytes .../fed13cef825fc50e9dad61fb0f9ca685350064ca | Bin 0 -> 58 bytes .../fef074366f9d7dc652a7cea750e2738f310c34e2 | Bin 0 -> 31 bytes .../ff4ba34380cd42a2aace224feec127c23f46deeb | Bin 0 -> 93 bytes .../ff87afa73e81f9bfb66961ba01311b9161c3f4f1 | Bin 0 -> 164 bytes regress/corpus/selector_domain | 1 + regress/corpus/selector_packet | Bin 0 -> 1 bytes regress/corpus/selector_rr | 1 + ...h-1ffe2d52cb820525e38d1605a0a359eebdb398e7 | Bin 0 -> 30 bytes ...h-6a5c9ebb65a8aa4cb57aeccfb19b4d892093e418 | Bin 0 -> 20 bytes ...h-f68d01ae9b54206705c49ddf24eedb6177b01b8c | Bin 0 -> 33 bytes regress/fuzz_dns.c | 273 ++++++++++++++++++ 969 files changed, 333 insertions(+) create mode 100644 regress/corpus/004d5b4467bd281005176ed98bdc736f2dadb4b7 create mode 100644 regress/corpus/005503625130125d714578a5d87b175b4539d89c create mode 100644 regress/corpus/006b7ed96a226ecdbc7b112c4de4093feda16971 create mode 100644 regress/corpus/00750186b3a1527973c9dd3eaeef58d562d5dfb3 create mode 100644 regress/corpus/007759a3d0ad4770ac6735cbfbe2b283c84db9a8 create mode 100644 regress/corpus/008d56444b810cede67853ab5734d4bc0b93c324 create mode 100644 regress/corpus/00e5f4561e6369edbaed2370f3d5d1bdabc98f0e create mode 100644 regress/corpus/0188fac035ef7505df09b74514a8294a5be40309 create mode 100644 regress/corpus/01db2df7e5a28208e8314e42128dfdc8cfb09e61 create mode 100644 regress/corpus/01eaa0a864b810272d0de33e0b308726fcc6b7a0 create mode 100644 regress/corpus/0227c6f644430f12005bbc938d74d644bf6d2386 create mode 100644 regress/corpus/024d8ac5ba6c7d4b17e3402b71f6e25978de5dfa create mode 100644 regress/corpus/03508a1f2118f7b9329187a4a18d560a7693a303 create mode 100644 regress/corpus/03c2566deda1addb2dec223c310e357634dbd5b2 create mode 100644 regress/corpus/03ed46f88cbc271f6b917f9e8f440c453604e65f create mode 100644 regress/corpus/0431bd5605a90814582ff87dc85914ec12b2a627 create mode 100644 regress/corpus/045193944d0a091aaf777fa05ed28330669b8437 create mode 100644 regress/corpus/05d0dfbbb7b510344526f0a444bde750017ff92a create mode 100644 regress/corpus/05da2667ffae9e804304f1bea363f4300a58e7c9 create mode 100644 regress/corpus/05df148b218b748bbfe7f37c13eaaedade5d6700 create mode 100644 regress/corpus/06a2a934e42a67ad77959b85e3c81fc7b2187f2f create mode 100644 regress/corpus/070281d17a5345533517926c9b094351dace55c4 create mode 100644 regress/corpus/0751788f2442c79a88122ac6c4586f531e655945 create mode 100644 regress/corpus/07577f5bf8a0cb2522822c869db256b44cb25036 create mode 100644 regress/corpus/07683053fd336eba9122546c218f1d616213cd61 create mode 100644 regress/corpus/078f97947d8f0238b600f70b1df688d688fcd82c create mode 100644 regress/corpus/07c1942114ec7efada8baf028867bb58f8bc2662 create mode 100644 regress/corpus/084b1b4ee2578618858894a666d5718e8839d4c1 create mode 100644 regress/corpus/0879f8a402eab5987839111e4c5ae0e2b068ec90 create mode 100644 regress/corpus/089dd17dbf3a8fb85d324f9927545e4c62744d3a create mode 100644 regress/corpus/08ce418686914f6d9d05ca6900ad66491452298a create mode 100644 regress/corpus/08dbd70914157be6526309e2da61c12d727c3d33 create mode 100644 regress/corpus/090d5c70fbca3713010e573cc99f7bce593fa32d create mode 100644 regress/corpus/09548ccc77059b95196bbc13eb9f88e12676e70b create mode 100644 regress/corpus/09ae93c969f72e208a82bfbb253907f99ad1677d create mode 100644 regress/corpus/09cdf4350c6896b029dd7ca590a7fc64dd754d8f create mode 100644 regress/corpus/09dcfa754505584a732d77622bed3c8772f95b4f create mode 100644 regress/corpus/0a8401e5dca56e461821a1fab11d0418c6999d7d create mode 100644 regress/corpus/0b70b1185a6aeb199d299db723474bee27aeb530 create mode 100644 regress/corpus/0bb16e12d2fad1e48673f14f095a9c40f6dcd328 create mode 100644 regress/corpus/0bb4137672a5e51faaaa21f4af369e328a790ca3 create mode 100644 regress/corpus/0c111d36719d266fe64ba239427ae2bc12433c23 create mode 100644 regress/corpus/0c1e1a587337ae4b17cdc501e732993bb9b1c457 create mode 100644 regress/corpus/0c5202dd7025c4a582dcad0a7bab7cd15816a2e4 create mode 100644 regress/corpus/0c8ced20f9ae57363056192953119aa666c48005 create mode 100644 regress/corpus/0ceef7251d02d2d1230e6e4913e1f4244a031cf5 create mode 100644 regress/corpus/0d04943b4e691a5045e3ca3dd40c49e5222065c4 create mode 100644 regress/corpus/0d530172e4e79615078789372c4b5e6e8ec69299 create mode 100644 regress/corpus/0e36283c3c9f017cf7f98d6f022aa1ec4b65be51 create mode 100644 regress/corpus/0e46b8f3d2b4f81e15c340aec54c4c37b8d3204f create mode 100644 regress/corpus/0e7fd85344fe39368c8c6ada20d06242bb138440 create mode 100644 regress/corpus/0e9d04161ea47c24debe698faef14333461af0c3 create mode 100644 regress/corpus/0ea7f19815fd98b9ecc9d73a567071e33381f650 create mode 100644 regress/corpus/0ebb441ff0ca3d0f47a6872eb1bdd70aa1342382 create mode 100644 regress/corpus/0faa8549a74132bf15b21b5fac6d0c3b225d7f94 create mode 100644 regress/corpus/1036c6d879808bd115f9cea9b0844fcd00281be5 create mode 100644 regress/corpus/10569c7a83583dd4a78f8b36abbc4023e244d108 create mode 100644 regress/corpus/109047ed91b7db609f037751f9926db0029d0cde create mode 100644 regress/corpus/109b5957918c0e2f4b1071c308d0d3196848d1e0 create mode 100644 regress/corpus/10a069bbf6320fe9923d6e7acb629fa2ac3c5c63 create mode 100644 regress/corpus/114065934a86956bac44a8c927a7d590e549fbf9 create mode 100644 regress/corpus/116f91e595122d77dcef49d6a833286c817e1866 create mode 100644 regress/corpus/11aa23868bc0bb6229ce09145652d039f77feae4 create mode 100644 regress/corpus/11b8d17be01eee8a910f6f9d5a4a095185932313 create mode 100644 regress/corpus/12413b3a10b1891c40f60dbd8b8da85b89d6152a create mode 100644 regress/corpus/12a2f2831b895478fd299f4211ddaf12c69962e0 create mode 100644 regress/corpus/12c39d533878e2c90e4b84931fc43ba4e10ac59e create mode 100644 regress/corpus/12f9bd56f1bb5eb8f052f6990333e30727152876 create mode 100644 regress/corpus/13015da08d5c46f57e1cef41893c26e46d73182e create mode 100644 regress/corpus/1331912ce4e2480ac78825b9a76d449984082e7d create mode 100644 regress/corpus/133f01814c85c7cca7c83fa9ed39264f22a2b4d4 create mode 100644 regress/corpus/13b1da744fef6e3fdbdfab86cacd35ca6ccd4f35 create mode 100644 regress/corpus/13b8616ab053af4ed4f840ec7adefd887a78fc8f create mode 100644 regress/corpus/13cb0470382fcb0420b41b96168dfeeecb55e7e4 create mode 100644 regress/corpus/13d303fe1e7655fde74811c8a695e8f2380ec23a create mode 100644 regress/corpus/148fb3267d4ba90f0bf7d85a1c7e3f464026587c create mode 100644 regress/corpus/14dab8717b357f64951129dcc4c709254a35faf3 create mode 100644 regress/corpus/14e81ef5ef747499a992048f1249cfb3f50b084a create mode 100644 regress/corpus/150ad98fa141799e87aeb98134268cab7f504d83 create mode 100644 regress/corpus/155f97d79c5b25ed2908e976857e4881f5281e0f create mode 100644 regress/corpus/15a0136358bc5ecca64f02500cde044317857bdd create mode 100644 regress/corpus/15d6c0eb199a0cf8407cd77b02bc166fc7557978 create mode 100644 regress/corpus/15e020c721b79eed0472629420c609fe8d73aa44 create mode 100644 regress/corpus/163c1eb74b0fa85af99ad2d2eca7f5f8a4c437e3 create mode 100644 regress/corpus/16bdd353a506b00b8083f32fb8a75a19e76d748d create mode 100644 regress/corpus/16dce872fb741b28f54af84fbd62b1df377296d9 create mode 100644 regress/corpus/1705eb67b97163b2a4447b51d4b262deef08d302 create mode 100644 regress/corpus/176cfd5e4166af97eb9b793a50dbd60ecda2de46 create mode 100644 regress/corpus/17e7febee26f41434a7cc99d6c4a17ac9a15095c create mode 100644 regress/corpus/1802f99fb886203d6287e472db4216ab8344bc9f create mode 100644 regress/corpus/1898cd0fac2028a3c0d41d8e8c7d2a6cf52eb4a9 create mode 100644 regress/corpus/1899b05b5143972980b704ef972ac2e6a590e87d create mode 100644 regress/corpus/18e487418afd8d37be70cb0e7e34bd73d8414390 create mode 100644 regress/corpus/190f99c8d326c1356c722e734cbd47dbb612c05d create mode 100644 regress/corpus/1b5968225b0149e27005adbc9d9904d6c1089700 create mode 100644 regress/corpus/1b69d765862555d95cdd99e762a688954ad65ec3 create mode 100644 regress/corpus/1b7c228780a6e6f2cef1ef23b5645cab44882817 create mode 100644 regress/corpus/1b86fede95021fbbb3ce9f10702fab186085f0c5 create mode 100644 regress/corpus/1bee83c30d4397fe22748cb8a5d0263af0a5bfa5 create mode 100644 regress/corpus/1d2309f333c0de06793aeba6b6a878e39f01d14e create mode 100644 regress/corpus/1dcc8e264291d11828b0b22270a420b6817becd1 create mode 100644 regress/corpus/1dcd97a6b805af5f65f53e71fea02cf65156da7d create mode 100644 regress/corpus/1e991f051e14b8aa9ea3f0554455f3076301b446 create mode 100644 regress/corpus/1ee638dfe721e629b52855ca4cdc7181d9bc5a46 create mode 100644 regress/corpus/1efef1d21fe7ec059e997c828239f22284d9a0fb create mode 100644 regress/corpus/1f5ce31cf0d778db8f47d8a1cd9a9d109e55abf3 create mode 100644 regress/corpus/1f7ccbe5fb0d0f2c48dbd71856f5bb4c79742af5 create mode 100644 regress/corpus/1facdc854b196ac7ac14767c8496c36d60d26cdf create mode 100644 regress/corpus/1fb37ac0ae4e8f55b738aa74464753492441ba7d create mode 100644 regress/corpus/1ffe2d52cb820525e38d1605a0a359eebdb398e7 create mode 100644 regress/corpus/2013e9a73cc1bfd83507c175392a599986ee2f18 create mode 100644 regress/corpus/2068977c49df1d3d18995173c9d9edae79054fe5 create mode 100644 regress/corpus/209b7345bb9819a7c1f3aeb20919a79f963d38d6 create mode 100644 regress/corpus/20c5609f737b9d69e29b5998f29a995de2c2ee8c create mode 100644 regress/corpus/20e120edd7b7be5f6386dbc3dd6f9426deb004b3 create mode 100644 regress/corpus/20e47755852cece76433bf3e1b2534272f555a84 create mode 100644 regress/corpus/21dc08e05bce2e6f9f20f5933a1e433c4e316666 create mode 100644 regress/corpus/225115d7103c4ac3cbcb855cc757a4bbe38bde32 create mode 100644 regress/corpus/22c3b3391ae022650859313249c74ec144a4725b create mode 100644 regress/corpus/22c932275b06c0d00fac1ff09a8755918f6ba6a6 create mode 100644 regress/corpus/232a46d2379702729f340d89e47fffb3c9c93498 create mode 100644 regress/corpus/23d09b303daced036b29340ee28756b0f96e637f create mode 100644 regress/corpus/2459f75de1b77cff2593457199afec81627c3c15 create mode 100644 regress/corpus/24e534c53b2c1845ba1fa8724642f7396bd75b86 create mode 100644 regress/corpus/24e9f8aef329fd55f96e1ccf93ec58de70d73418 create mode 100644 regress/corpus/258b492b1717ca501b5f9afcc1ca6b72582458a3 create mode 100644 regress/corpus/25e35a8badd4df4aa19dbbc45cf9935fa240fdaf create mode 100644 regress/corpus/25f6a3963bd5a37aec83b3a8b70917fb22875a01 create mode 100644 regress/corpus/2639bf7fd8827e464e734665f7c8c7a76a88d95b create mode 100644 regress/corpus/2644fbb18502f0e2c22579cedb87286d7b175c19 create mode 100644 regress/corpus/2670e8c759611cba43c8f6f3c29067c07e50c0c0 create mode 100644 regress/corpus/2681119d4f143dc2da3fea860ff9c96a00bad059 create mode 100644 regress/corpus/2684729a8b4379f9a9587fd9157a0e2d21de9a6f create mode 100644 regress/corpus/26fc80ecf848c3f7244c281e4520371d71f3107e create mode 100644 regress/corpus/274709eba6e19af0d3ebfa0beb74148ea48355a0 create mode 100644 regress/corpus/2785d2b5293c8e69361fd91b0947d474afd91eb8 create mode 100644 regress/corpus/2788a4b3b098433709f617edca10aac90eb57448 create mode 100644 regress/corpus/278f043071ca288700e8f5414f659626dcad36cc create mode 100644 regress/corpus/27c7e5a7e4fc98caf6a970101f0edd78a57e08a3 create mode 100644 regress/corpus/27d6a6160a332ce599561d6352e6ac6af9538efd create mode 100644 regress/corpus/284b58105a89c89dfc0b816d7ddad5c06d70a342 create mode 100644 regress/corpus/287a41f434d33bb58ae0ab36ae0c2de40d2990eb create mode 100644 regress/corpus/28a275f67c02f8569d6449841167c71de208ee84 create mode 100644 regress/corpus/28d88d81f5f97872f9106f1be4ebe21818276a08 create mode 100644 regress/corpus/2929aa365eb8905608f619efa7b0f9d1a47e41ec create mode 100644 regress/corpus/2967c03b7326d976d86bb910242c5c6a5245972d create mode 100644 regress/corpus/299526d0acfde5aa4f91aa30a230d03fe20912f9 create mode 100644 regress/corpus/29abb68d8f80967510e56cb5ef269be410176897 create mode 100644 regress/corpus/29f318e193aac254f4f4affac13577e9a6db812f create mode 100644 regress/corpus/2a2cd720a141b512a71915dcf608a41fa4bb5d24 create mode 100644 regress/corpus/2a3c1eb1affc0cd76d261449f86092008f620a9c create mode 100644 regress/corpus/2a443a99441ad42c30179ae728c008efc540f887 create mode 100644 regress/corpus/2a4f29ecaa5cd9ca8e8efd8b0b1235d8fd804e5f create mode 100644 regress/corpus/2a965ee6a7ce02a05004a18851a127836158536e create mode 100644 regress/corpus/2aa8b41d4e859203e7be58ee8075081f13e3b921 create mode 100644 regress/corpus/2aaf25fa3e4b42aa07f21df0ad7fcb6803aa0880 create mode 100644 regress/corpus/2ab293e6fd7dbc1fdafd25df72811b4213697dd3 create mode 100644 regress/corpus/2b6b9bb40e334b52ff2a8a56bdbda98987bfc7ff create mode 100644 regress/corpus/2b813f8a1d791bdca3a228eae39e74382630e098 create mode 100644 regress/corpus/2bed39c7a4efafec1bb8b811132215e4cc303159 create mode 100644 regress/corpus/2c32896351e957a3c091f16dc5535f6acce71a39 create mode 100644 regress/corpus/2c7c612c0304da7723d1c19c8d678af8be47da53 create mode 100644 regress/corpus/2c8f63015f30edf62cf2540e7e8489b881235e64 create mode 100644 regress/corpus/2d17624b92f3d77c188f21d5e378dec96740062e create mode 100644 regress/corpus/2d3e2b4bb1dc338154113cb3b5d74f110729b59f create mode 100644 regress/corpus/2d4b8ac96e29a06a4b6e15f38fec1f4f9f373cb0 create mode 100644 regress/corpus/2d968b48bde767b013d3b4d6d09afd55d95d4506 create mode 100644 regress/corpus/2d9c2bcd663bab5c17e3e1ae6690218abe1d9df9 create mode 100644 regress/corpus/2dbc9b7cd7847b9da50ec7f9a7c5bf191ed2b900 create mode 100644 regress/corpus/2dddb569d67174115a1b19323a6186f4fef484e3 create mode 100644 regress/corpus/2e7e89fe53b4273edf1f2be21931e8db12dc530c create mode 100644 regress/corpus/2ef35dbabd9ba2c5690c80157c5dd6bf8ed346c6 create mode 100644 regress/corpus/2f1ac793e74e7fcb020125cd4d7ad941c7113709 create mode 100644 regress/corpus/2f5e27af4ddf6e2bcfb022d57f9d2fefd327adfa create mode 100644 regress/corpus/2f7957edf4956a19a4dacbd977fd78aeb006b673 create mode 100644 regress/corpus/2fb870f6dd282bc931a49cf5de4b09e26c6b71fd create mode 100644 regress/corpus/300e4721e35934f03c836a69d92ab7faba459792 create mode 100644 regress/corpus/3010964490465fc0165733cc957861c8542f1e23 create mode 100644 regress/corpus/303cd9332ba168a1236bc6bdaede24e3a2d3d34c create mode 100644 regress/corpus/3058c1b168ddb4f64ada0d80dd85bd866f61f5f2 create mode 100644 regress/corpus/30a6be573b7ea9b40b03863295d1a53b724acfad create mode 100644 regress/corpus/30f1ff183a8fc2826d795d8cd062249781f2440c create mode 100644 regress/corpus/31072690f473a69093626af90f1fb6a48522b99f create mode 100644 regress/corpus/311b3909dd9ee0d129484aa77e8d50f26f33b7e3 create mode 100644 regress/corpus/319058dbfda82da45689707a1022f2a29ff2deab create mode 100644 regress/corpus/3193c89c5787c9dd98b9a0855e1759d5a98cf4d0 create mode 100644 regress/corpus/323130e242fce4de003bdde4f4b1216d3ebb30a2 create mode 100644 regress/corpus/32d43a9115ece8e3dc8569a396cfb73093247cbb create mode 100644 regress/corpus/33a9cfceb5d8066702ed804e7966bad5a7c88e04 create mode 100644 regress/corpus/33beb128817667b5653409588429829b2f61224e create mode 100644 regress/corpus/33f8a99df3d81daa6ab63fbbbdc9e86342c5224f create mode 100644 regress/corpus/34123b3cc13aa3f9bd2ed66318bde6ababead504 create mode 100644 regress/corpus/343999770b337f3a499999dfe326bbbe4d6e6866 create mode 100644 regress/corpus/3439bb3bdf88f354e0620bad20cd2521d649c69c create mode 100644 regress/corpus/353358e6df47a6d8cc9770c01f416286b2e0a452 create mode 100644 regress/corpus/35696d71e38e278590def3e6bf935e1a2d3fac49 create mode 100644 regress/corpus/35899680e1250f122276fd0eedfff06031a89236 create mode 100644 regress/corpus/3594bb3f4f5107d5506a5ca1013f866c39b8556a create mode 100644 regress/corpus/35c43955fb140ff140b6e674ed21d80614675a2e create mode 100644 regress/corpus/35e51a411331106d14089b211a3cb0666b2142cc create mode 100644 regress/corpus/3670a2d19f299e383d9c1e90827f9bc06639196a create mode 100644 regress/corpus/369e2ae9ce55f43974abb54d28ebd3c68c9f93fd create mode 100644 regress/corpus/374919beb0094c593281de31eb064f5e15ffc616 create mode 100644 regress/corpus/376b99801965f178f8f9b1fb5b384ab49d4a1d02 create mode 100644 regress/corpus/37aadc6d4e6335c87ac50b9631c9c7ffe765ca1c create mode 100644 regress/corpus/37d15e7ccdfaf9180d54744ad215e610e1348dfc create mode 100644 regress/corpus/38434a90d441a9fb09ba0fc40ce8c52043d05a05 create mode 100644 regress/corpus/387708af8f56a45c5cdc25febd3846c15427379d create mode 100644 regress/corpus/38944a1cbfd36341053ed8e51225571fec974d80 create mode 100644 regress/corpus/396ee16d969a15a701832cec9b08b94b5b4be6bb create mode 100644 regress/corpus/39d643b43868b8d966ceed5a2ce8373cdbc04d52 create mode 100644 regress/corpus/3a6f515747bcb977194c9e66b8b59f715dce8bac create mode 100644 regress/corpus/3a7d71cb363b680a99149b082301bb45f4c0b415 create mode 100644 regress/corpus/3a8a3fa1f75957da33929785be0fd494838e083c create mode 100644 regress/corpus/3aad256bb20731d55e953a0a0680b320607e2b14 create mode 100644 regress/corpus/3b15b117c64521f1bfd7ab42276c5e4d38034f59 create mode 100644 regress/corpus/3b37bc229f0357efbf916ea8fcdf42218f99bde2 create mode 100644 regress/corpus/3b48ce37cb4a9595f307da92804038b192550747 create mode 100644 regress/corpus/3c1c5e1289b14cc90748c8b1cd097dfff0c90b0e create mode 100644 regress/corpus/3c2e7c16a57cae362822bacbb30a9db4e1efa06c create mode 100644 regress/corpus/3c5fe231aac61d6c7fff4d587d3f4cccb4d4c97a create mode 100644 regress/corpus/3c71ed87d767c058e43a2616fff6d16f1e4df38a create mode 100644 regress/corpus/3c8673549c42cbaa4884640aab4896cb5e505815 create mode 100644 regress/corpus/3d9cbe2ddba62cfa3a0885add69c8ce2ab279f72 create mode 100644 regress/corpus/3de78e062d58653c0ac406b7ad5666d6c12851f2 create mode 100644 regress/corpus/3e367c8f6035bb61685ccdcd7ece2f3cd4d97cae create mode 100644 regress/corpus/3e427b08d214b610fdf6a79409b1675e617500cd create mode 100644 regress/corpus/3e5df3a465e2700ce2a6162943e2414144903a12 create mode 100644 regress/corpus/3e9a73ea8210799e931e347dbae082c56ba7ac83 create mode 100644 regress/corpus/3f17ec086c28ca258ec15625b2e0fbd882f3b561 create mode 100644 regress/corpus/3f29546453678b855931c174a97d6c0894b8f546 create mode 100644 regress/corpus/3f3638f72195ce50e78aa04a8a662836505989f6 create mode 100644 regress/corpus/3fbd827d4341b0787fec3f1696689b285d7c23b3 create mode 100644 regress/corpus/3fd61183fe5d8adda5d35a778ca52bbd3b288912 create mode 100644 regress/corpus/3fde52494ae3583a12011d1b205e60af3c716d69 create mode 100644 regress/corpus/3ffba24e312037bf35fbf5d4b283c499eee33906 create mode 100644 regress/corpus/403cf7da34f75c24898992e8dc8d014e684929ae create mode 100644 regress/corpus/4040349072e187379c686d3c1e8cbb3086f6b9ee create mode 100644 regress/corpus/4053a862cb02dbdd9bb1c3448b7fea6952f881fc create mode 100644 regress/corpus/409ba2e2ed53e29e5e8715e68474e31235b0d48e create mode 100644 regress/corpus/40e42ca1cae27b745c4592353babbfdaaa072591 create mode 100644 regress/corpus/41111dd31321431f1dc1fd5d2eb98b898863570c create mode 100644 regress/corpus/4136010d05a3029994ea3bdda4398993ae871c16 create mode 100644 regress/corpus/414c8014455d6efe6eaaeff34784b0e2f32bc4a0 create mode 100644 regress/corpus/416419ee5586d4b9ab69cea505e662dcdeede61a create mode 100644 regress/corpus/41af7d0ec9cb0d57f394dd15fbb035d55d4110fc create mode 100644 regress/corpus/41bbaa298c4c4e908a176d252144db2f9e12be19 create mode 100644 regress/corpus/41dfb39b5dff440cbfab4ade7fa153e874f9da77 create mode 100644 regress/corpus/41fcef2d7b1ef7a8b1cf1aae36aa141a03ca23fc create mode 100644 regress/corpus/420ec67820cf8d69b8bdfb7c1a43ac382f5aa480 create mode 100644 regress/corpus/430b873b09790ff81c2d498966c8e26a78fffd83 create mode 100644 regress/corpus/4327c3d73887ceef8839dd97bb1a09e6c23e1ba9 create mode 100644 regress/corpus/4371696d9dd3f15434ee62ee46726ebdd7e595b3 create mode 100644 regress/corpus/437580361f6609b9c37abe8ea3ae7c92fcf12b3f create mode 100644 regress/corpus/439a5209d64467e7a5873ce1bd2837d9ed47bf21 create mode 100644 regress/corpus/43a1a1d28b25989db93fa683946e810c26aad67d create mode 100644 regress/corpus/44226925646a23e6a65d8121e1e68fc6f901b06b create mode 100644 regress/corpus/450999aa78da3940ea61da0fbe7e5f2a0b249b69 create mode 100644 regress/corpus/452c399f3b1de9df7ddf7997b6dc5abf7560c9b2 create mode 100644 regress/corpus/456531b41e6297144fd28076ac8a90d1fc1f25bc create mode 100644 regress/corpus/45ad911fb32b2ac8adcce4084c2242b155875dd9 create mode 100644 regress/corpus/465ec4eb5355089baf90ed356f10f0bc4169714d create mode 100644 regress/corpus/46ac6922e7ada864406f345d4be63c8a125f844f create mode 100644 regress/corpus/46c2c633ccb9d653a3d620005fde492fe0fa2850 create mode 100644 regress/corpus/46d8e80b2acb4a6e2d8dcb622e08a4549d178313 create mode 100644 regress/corpus/46f57c86aef859e7d9ef0d1485309620adf49399 create mode 100644 regress/corpus/472f588cf5df3c6cbfb43291078b064f9c359abe create mode 100644 regress/corpus/477f5787adb4d21b2b0237a7c38dd77f449bc7fb create mode 100644 regress/corpus/478785a17da604376f797dc6eff05184417a0b54 create mode 100644 regress/corpus/478f83036019e76cc3c0b3e23052506e20c40017 create mode 100644 regress/corpus/47f3a312cb3e649d16181819cd8917596141c206 create mode 100644 regress/corpus/47fd81f52f47ce828d8c0533f118a0ea0948b19d create mode 100644 regress/corpus/4850e15262fa334e073a4253578816b2bb0c56c9 create mode 100644 regress/corpus/48c4ee21f4b7927ab2e85cbc4de7223ec7eb5a1e create mode 100644 regress/corpus/494765e4523067c1445d1bc6bf03027d613ba080 create mode 100644 regress/corpus/49bfceb44abb0c7297be4dd3e6112d414c8446f9 create mode 100644 regress/corpus/4a3ab300527016b3ab40d3e45e5c3da855684281 create mode 100644 regress/corpus/4b7c99324f541b8de76a037bf539db036ecb5c0d create mode 100644 regress/corpus/4b82f13d0261c97e52d05578f58c32a483cb1080 create mode 100644 regress/corpus/4b9e269275a55dd3718d4b7260e8bde518d7ca8f create mode 100644 regress/corpus/4c010fbd8a725d0601876f99dfc135f3dfaaf6e0 create mode 100644 regress/corpus/4c2a3b02fe388a78aacfb64954f51f25f6b9004a create mode 100644 regress/corpus/4ca009cb61058d218961250f06eda171703cec6e create mode 100644 regress/corpus/4d1187db31c91f844105ba3f4c00b611464e3560 create mode 100644 regress/corpus/4d4f0a4b1922c193d4e00b1948d4e17c36a9a54b create mode 100644 regress/corpus/4d53c24fb69b4154d35d991464bb1fd4fc9c340d create mode 100644 regress/corpus/4d87c37fc5fbd65616fe0a662f8df73d105978e0 create mode 100644 regress/corpus/4db8caf3dc4b08ec5d98c0068bb3874dda1f7f2e create mode 100644 regress/corpus/4dfbf879811b5c5ee4d7ec834380f589e0548e5d create mode 100644 regress/corpus/4e5a1ffb56c47434ad5d4d3f9ebd5cac5edcc005 create mode 100644 regress/corpus/4efd1e41cab142b1e6afb87aff4a93564bb77fd9 create mode 100644 regress/corpus/503b977b6297628ae89b78b54f534204e512854c create mode 100644 regress/corpus/5048c10afb16a0693a8bbddab9a0f9978cc4a43d create mode 100644 regress/corpus/505d58d5145be782cd069ed73e63f72f2cee2e4b create mode 100644 regress/corpus/506c6c22bd683b008ac5954e457970f18efd9aad create mode 100644 regress/corpus/50addb836a7dcf9a25dd60ef4e6369f2c8428510 create mode 100644 regress/corpus/50e2916c5be01c43e754b837af7e3256d552f634 create mode 100644 regress/corpus/51933a06404987f125e5635ddf28809219a2a68e create mode 100644 regress/corpus/51f3926eddddf8d937701dc54ec7361945095d75 create mode 100644 regress/corpus/520876e4a0798f53fbcdb44de7733864f8bb31c1 create mode 100644 regress/corpus/528f3f39bf96344450824170379820aefa897ce4 create mode 100644 regress/corpus/5297f5bcca807013f3df83dff5b9a6b0ac71cbc0 create mode 100644 regress/corpus/52a3a2f80decc02786a8e697ded3f52fd60247e7 create mode 100644 regress/corpus/52ad877c0637876464e28a3799fffd6c0d22637e create mode 100644 regress/corpus/53151ae8707aadedf24369e09b8e3e77556883aa create mode 100644 regress/corpus/5337ce6fa8186d7b28fc0fcf3953a20054ae0590 create mode 100644 regress/corpus/53647029f5b00dbd95987a6041d9386770184b98 create mode 100644 regress/corpus/53818235b41ffa5cac687b6c54c5ec447a2a0a3b create mode 100644 regress/corpus/53a7ed131142efdf699ae848cd598d153059d529 create mode 100644 regress/corpus/547512fb601c3b4f86a43cbf47fcbc26b013ef4f create mode 100644 regress/corpus/558f1a2f8334085ef746479aa4201756f536cd8e create mode 100644 regress/corpus/5659edb82c844fa1dc9d9b59102534901a99064a create mode 100644 regress/corpus/565b85391db489a5169818ec6fba4cd56b57345d create mode 100644 regress/corpus/5685e9ddfd19bda07419cd21d034ad3fe1f86627 create mode 100644 regress/corpus/5695350604df54fb966a5a3ccd067eb69a2139bb create mode 100644 regress/corpus/569dc5ef0dff05d8388303623d99bf254e1df0b1 create mode 100644 regress/corpus/56e888ae9db53f2bcba04c4be287530733771bdf create mode 100644 regress/corpus/578d6bc5e168960b32f42af3c80347f4bfa93ca7 create mode 100644 regress/corpus/57af095ee9c6d3ae45606be39e06459a835cde21 create mode 100644 regress/corpus/57b025a38356fb63887e64b370b94df81c0d6f12 create mode 100644 regress/corpus/57ebc68efa336dee0855abfca90000adc3a63225 create mode 100644 regress/corpus/58432e8caa9073eb13b4ddf888aa01e6ebb72859 create mode 100644 regress/corpus/5870e4c340234a88cbac85c980e8fe1ea9426575 create mode 100644 regress/corpus/59345a7d132a37299c0e8907de77992577e6114b create mode 100644 regress/corpus/59407f3c78544be096fe7af58c65d1fc366aeeba create mode 100644 regress/corpus/594c32a7ee11f5ff19dc39d622aef71760953c2b create mode 100644 regress/corpus/597ccc89815aa8e4b4b850d8d9f7f0311825c908 create mode 100644 regress/corpus/59c240b944c37af855f6f88debfd3808d8d0f120 create mode 100644 regress/corpus/59c3abb7de3cd82d28502a8de870089d04b7822a create mode 100644 regress/corpus/59ce67752c13c9db5ac85c842487299e08c683a1 create mode 100644 regress/corpus/59f1a5d9bcde6cd43cc683f888182099c672870c create mode 100644 regress/corpus/5a2908e3a8dc79e205c927a28a4d2bfe005e1d1a create mode 100644 regress/corpus/5a4a857994bf30df1002bd2fe3a2402b9823791a create mode 100644 regress/corpus/5aa0eb7787db2622efbb2c768289a7459c44a1ef create mode 100644 regress/corpus/5af8b2bd01fb3dab8c37997f821565468643ca20 create mode 100644 regress/corpus/5b022069e069ef9718f3bfa6f60c76a26d83b86f create mode 100644 regress/corpus/5b247e387294b0b6484fa540ab5f61fd765fe849 create mode 100644 regress/corpus/5b61943f202c580beadc67bf46dbcd3d239461a0 create mode 100644 regress/corpus/5bd5a2986367a6efcfa6029bdc083239c39bbb4e create mode 100644 regress/corpus/5bf90c32b350a9af04172ae830463243937c08d0 create mode 100644 regress/corpus/5c1180df983c912d7ead3971b9dbece4b0b6e8f3 create mode 100644 regress/corpus/5c8e6bb767ae83a155461c99e4817616d455d647 create mode 100644 regress/corpus/5d77f8eb5958f734bc9e9463f86ef9a028156ad5 create mode 100644 regress/corpus/5d7cbd9a82cc27ed30b29d85cb66a7ca1f1ae690 create mode 100644 regress/corpus/5d8b6e6042fdd6adca49056e4f3a3e2399cfe951 create mode 100644 regress/corpus/5df46fe5c4e36ddbd1daf17e2824208af2310e0d create mode 100644 regress/corpus/5e34d048165ad93dfbc584b4575d5ac628ae552b create mode 100644 regress/corpus/5e884b02b4c32c994f64b293690e5d2e16bf4d6d create mode 100644 regress/corpus/5f90a4458d6d7c84a60bcf54bf81636d2d2f0216 create mode 100644 regress/corpus/5faf5ae7d62709a5a7948fb95dc8b7ba57bb1a43 create mode 100644 regress/corpus/6020ced5cc1d82529e9a1bb9a64e0a50f33a47cf create mode 100644 regress/corpus/602a45bf91fc84f84ff0e6b9595b8be0bab4aa6a create mode 100644 regress/corpus/605abc95e88752903094cb7a2f91c9af75bef30f create mode 100644 regress/corpus/60842c500584fa4df9b72d7ac1a370e2d89bc531 create mode 100644 regress/corpus/60d6da387a443192250cca1eabb0e25ea816bf17 create mode 100644 regress/corpus/60d71059ef39121ac5b6a3c4ecb288367e687a06 create mode 100644 regress/corpus/61646a48189ef92b8923b84438ad679a4ae2d89c create mode 100644 regress/corpus/616ebc341f05110c6dbae1dbca2981639b5a44a9 create mode 100644 regress/corpus/61ffae70f2829d73ddcf01e7d64e4a8c120fb5fa create mode 100644 regress/corpus/625b2be1dbcf6d4d77fd428151f36e305e44064a create mode 100644 regress/corpus/629b78008d2b9cbbab702f225f1036ee8ab7ca7b create mode 100644 regress/corpus/62c4ae6a2c238f2bc3fc4e18a4d83c56da6dc879 create mode 100644 regress/corpus/62e58c4e5c4445f25e828748f9651c02a83b4017 create mode 100644 regress/corpus/630025e5f166c739a983ac459540067d7742d44c create mode 100644 regress/corpus/634d1bea6a04431b1da127374fcce4a6d23bf141 create mode 100644 regress/corpus/636fe5264807c3ddb2c87f63ae35ffbf98ea47e1 create mode 100644 regress/corpus/6376602ca5d399c3140d5b5186043099d170b289 create mode 100644 regress/corpus/63a72486e93066aaa5e155a3c7b1bff0f10328a2 create mode 100644 regress/corpus/645524aa6db78c993d1094651914fe37c83eae16 create mode 100644 regress/corpus/6483a41c4dc24cf4ca16962d52632872f68585a5 create mode 100644 regress/corpus/648a7dc78e0a604a2dbfc5587c36627ebbcb009c create mode 100644 regress/corpus/64a776515121e2aa8cf2860fef262254c575998e create mode 100644 regress/corpus/64df0684044c25ad10027b14a194c72c303e6dcc create mode 100644 regress/corpus/64faa28a7f9e0c27e32ba48e4e19fe6153aaec41 create mode 100644 regress/corpus/6591dd2f4f7e4b2d435bd2a4d2f251a44b2809ad create mode 100644 regress/corpus/65a58371cde36952ba98cf5dcbf4ec37564029d9 create mode 100644 regress/corpus/660a23d5bfe95cf33aeeec4a6bc5ded09aa026ba create mode 100644 regress/corpus/66151af63a19ab525ee6edd595fa18ef4022eb2f create mode 100644 regress/corpus/67570cee939ab9a5d79e5958cdba3af9d22925ed create mode 100644 regress/corpus/67b524146627f7c89e803c2da45b7ceca9be0bbf create mode 100644 regress/corpus/67c944e6fb20085e917523fe76e5b425b1977f72 create mode 100644 regress/corpus/67e9a4b39e9eea6a98c948d40fd403072f959b9a create mode 100644 regress/corpus/685a009bbf4807d3d8e2a0569b073c5789d9fdaf create mode 100644 regress/corpus/68cc1cf39a47124f89ec1df050768c520bccfcae create mode 100644 regress/corpus/68fc29ea0632a99087f0271a3a3badbca62ca8b4 create mode 100644 regress/corpus/691ab3d0867cce67924089b0a6a88b4228a2ccad create mode 100644 regress/corpus/695393868db0cb0e16d34a65f495af1687efc32b create mode 100644 regress/corpus/69f4521858a39cd1ec980ff6cd27e46bfc3dc34c create mode 100644 regress/corpus/6a5c9ebb65a8aa4cb57aeccfb19b4d892093e418 create mode 100644 regress/corpus/6a91265e13e44ed64da1521358cd31f90acc3446 create mode 100644 regress/corpus/6b41c9fe9640cab2ffc743edef96da1837b2e092 create mode 100644 regress/corpus/6b4fbcfa924f1ab19d2a96f385cd5b0f35da5fb3 create mode 100644 regress/corpus/6b7025638f5bd0d685f93a39a88b91a7975f0edb create mode 100644 regress/corpus/6be55eb4caac42da1819d88b592ed312dbf9056c create mode 100644 regress/corpus/6c1e78b9df9aefd82cf0b0d172c864d6c8c8e5dc create mode 100644 regress/corpus/6c2199e2fae85a69114891c2d8582281b8f11613 create mode 100644 regress/corpus/6c6513a3d3ebad0c6b8feb0af7e5db347ad3a70b create mode 100644 regress/corpus/6ce32bed375c24a906934aa8faf15a4f5b24ccdb create mode 100644 regress/corpus/6da74a9ad332c2962d01480199e8dfa2602d8792 create mode 100644 regress/corpus/6de1f9922be246583e4d25728f325d2dcd59fa24 create mode 100644 regress/corpus/6e645b19228683ecd903e42c12177eeaf6b07c93 create mode 100644 regress/corpus/6eb6574bba71f21a05011c03875fb70b980fe93b create mode 100644 regress/corpus/6f5b6fbff217312f8a2ceeb919594cbb5bebe534 create mode 100644 regress/corpus/6f73e91a1f85bd5de4ff88fba448023370bc4010 create mode 100644 regress/corpus/6fec053837f010b21207e6e27089d4b0eda8aded create mode 100644 regress/corpus/7039e74f2c1069e1586e196cb9e5ef1034970b22 create mode 100644 regress/corpus/7062e45b4963d31c6805938ecd224d1fc0f769cb create mode 100644 regress/corpus/70def9577abfce238371b88c4c33b251c1486cdd create mode 100644 regress/corpus/70f293bd26336a3826077170a8309c1e5f2e0fe2 create mode 100644 regress/corpus/713a3a6ef8cc3bbe4a63e95419a8ad730fb3213e create mode 100644 regress/corpus/71a6b88397b56bc194139b4d7f275121a9a98f5a create mode 100644 regress/corpus/71b40990625eb94a85610b6590daae9f2c6dc61c create mode 100644 regress/corpus/71b598ea180d896d31b86275641378fbb9f66945 create mode 100644 regress/corpus/71b8a87696b6f8ab958c9f51d8bcddd8d97d1576 create mode 100644 regress/corpus/71b9769eda3d7ddd312f5414ed94cb7e3634e620 create mode 100644 regress/corpus/7229ea328368da01b3acd0778271c5bf61089336 create mode 100644 regress/corpus/72446bc7bca0f2abee22c8549b91755ea58a55af create mode 100644 regress/corpus/7285575fac0cbe4574cb21867b5285f86744590a create mode 100644 regress/corpus/72892615ed350434673b46ab87b249a741b21ca9 create mode 100644 regress/corpus/72a390f826f14b12b1aff4f3598c61978ba14f89 create mode 100644 regress/corpus/732a8ea6afc31706bbf621633a7c7a3fcb7a2884 create mode 100644 regress/corpus/7396c4804d631f59e4b43c7d7f5b52ce07406e1b create mode 100644 regress/corpus/73a2faa98ee12889bc52fb0e939abf6163b3bf8a create mode 100644 regress/corpus/73b363dfa85a94af3d185face26e2bd4525fa1e2 create mode 100644 regress/corpus/73d499daf3609303169702b78fec396636aa0d05 create mode 100644 regress/corpus/74120f8360c18539b35d75e5e27e04cceaf7c7d9 create mode 100644 regress/corpus/74b04a5625ccff993592e12bccae1327e5fcbfee create mode 100644 regress/corpus/74ceffd068740ddf10ff45a41494f62ebdf44403 create mode 100644 regress/corpus/75184afc2e443e8fbaa6608d90de86984994c220 create mode 100644 regress/corpus/753a6431e8953e63ededb10b67b98a33209f303c create mode 100644 regress/corpus/75dafc5ef9b0a8fb83804810bd4a422829156067 create mode 100644 regress/corpus/768753c1deff240cadd1656424e37c39db1e63ce create mode 100644 regress/corpus/76bde6a032b06a5ec3e2fc23422bc7efd4d882e8 create mode 100644 regress/corpus/76c6e2daaeb6b0d825a96277228d08c2e73b438e create mode 100644 regress/corpus/76d81862c65f9191a35069f713e46a2228c3ea46 create mode 100644 regress/corpus/76e4b298d466e78d2ededf80f450df22b073df8b create mode 100644 regress/corpus/76fb713e8a6b1b74b569fdfe3cd29e31d87ec60b create mode 100644 regress/corpus/7702e425ab1e031a64c17265e5144d3b09c430dd create mode 100644 regress/corpus/775ff2bff9d70f02afd423569d3162760dea3ce1 create mode 100644 regress/corpus/778457000cb0f413ef1af1051a0fc027b38987a7 create mode 100644 regress/corpus/77c59bf3c9a0690dca13e22c100f4b8549709a87 create mode 100644 regress/corpus/77d6f8901fadfb86bd4c8b81858cd7984af344d3 create mode 100644 regress/corpus/78069c262fb1122b671027f10bb7b435c0a40d4b create mode 100644 regress/corpus/78666fae05ebeec6a72fab2638f0588910705270 create mode 100644 regress/corpus/788b1e9c64973e727ef08cf00e666fc8bf4bb30c create mode 100644 regress/corpus/7976204757edff2deb1c156e650271359b212f9a create mode 100644 regress/corpus/79ab59841d2763abb325ed9d4a3666e817f6ff1d create mode 100644 regress/corpus/79ce700d55c2cca2c13d508c2cd308136d0faca5 create mode 100644 regress/corpus/7a07f1115943cbeb261599359693693806587249 create mode 100644 regress/corpus/7a4f386a916b438769395c6716428815883ccc47 create mode 100644 regress/corpus/7ad32f0267ee22966343bcec49f2a793afea9a0a create mode 100644 regress/corpus/7b2d569c5e59254eb74304b66650be0fbec34507 create mode 100644 regress/corpus/7c8f95736613be82e6ffd65eeda1755bb5978944 create mode 100644 regress/corpus/7d23baf78bd1aabc420728b302eeeaa7342d603f create mode 100644 regress/corpus/7d65993eacfcdd2df30430de41ac34aeacb0bfe0 create mode 100644 regress/corpus/7d929dd1ea098b5968c1378b62c52251012040d7 create mode 100644 regress/corpus/7d9473f69165c134441599b7105011d7a74164b9 create mode 100644 regress/corpus/7dd3e4f69afcaf3457a7eb5bb8ccb5cfd1409c08 create mode 100644 regress/corpus/7de2c673758bf2a01287d3e6baecfc89ce548416 create mode 100644 regress/corpus/7e115dc681dbce159584ef166c3a53758fb15808 create mode 100644 regress/corpus/7e1c71a370e88fde0cb3ab65f5088943e2f23ac5 create mode 100644 regress/corpus/7e1d75233e2ae49cb21aa2f844accba92d3d0c63 create mode 100644 regress/corpus/7e3c77aa0e75eac9dcb2094f806d80308f1dfb14 create mode 100644 regress/corpus/7e8a3b6cb88417495876ada5fd0302c24648e987 create mode 100644 regress/corpus/7e9fbd02bb6d60ccbb48d9488ec16a2a752b670c create mode 100644 regress/corpus/7f40ed4ababf3c3f5ea4430db085173f21a031e1 create mode 100644 regress/corpus/7f69d413efa83f0dbde3888ec5e4a3221416ce66 create mode 100644 regress/corpus/7fb538cf9b714f920777b9eacdc743e63d027788 create mode 100644 regress/corpus/7fc48b4dcabf565bd1cdd5a27897d9bb066b7471 create mode 100644 regress/corpus/7fdc5e2599199fda28e2f5445a05ad95ddc0cd90 create mode 100644 regress/corpus/803450bd45401a97b6e4ba3021a8aa1d155b5265 create mode 100644 regress/corpus/807bc2baabe4fdc5212a584ff08c0c28bbdba567 create mode 100644 regress/corpus/815347f5bfa8b529db1c89f5e2a66b7cc3ab2bfc create mode 100644 regress/corpus/821718b25668aabe57d82d73a3a83543290ea20b create mode 100644 regress/corpus/822e21892f128ed512c425dbbf9d359227edc62e create mode 100644 regress/corpus/826a05ecc37a32952a4c06e4bc16465e36836e1a create mode 100644 regress/corpus/8279543331b091f3c7a6c49fe1ddca4a1a0cec36 create mode 100644 regress/corpus/82ae89b113bf455728ded19880282984f86d6ee9 create mode 100644 regress/corpus/82f8098af20a1a22f8439d8ba51425168378b710 create mode 100644 regress/corpus/8301f70b5769d751da2be0c445d3b3b5078c5b31 create mode 100644 regress/corpus/8379b56f6ba2269e4225ba0ae160e18b7bc0cb1d create mode 100644 regress/corpus/838d7952e2fcb725c9ff91063784a309e8a29663 create mode 100644 regress/corpus/83e3c53e8a4510be7fedba14aa21366dc737b8e2 create mode 100644 regress/corpus/8464c974931e2d8066be5de680ce38d1f10fce66 create mode 100644 regress/corpus/84fa636ffaa8ed667982979a09129c6dd6821121 create mode 100644 regress/corpus/85a052e22baa83cb7191d6ea2f7ded9838a7a5ec create mode 100644 regress/corpus/85ca706906ef0ba28ee0afdd9b413dbfea2bbb59 create mode 100644 regress/corpus/85eac0d93f498c1f1e16499823a369ab8594db63 create mode 100644 regress/corpus/85f38964f20f6dfdaf26feabf93b0f8ecf2bae1f create mode 100644 regress/corpus/866e22b8379bb87983c163540ee980806705dec2 create mode 100644 regress/corpus/867687721b1ef247b457d93ab7be31af4f869bdb create mode 100644 regress/corpus/87149a4f5059e447efff1ecd8fab12c0caccb91d create mode 100644 regress/corpus/879f89c5e3b5e218a1e48a8d18163443af5046b5 create mode 100644 regress/corpus/87edd7c4c42ae5d10a80eec3f9c2dfa2c2d7b5e7 create mode 100644 regress/corpus/896592235a4aa39f4c47b1d81bc1a2b465e7e673 create mode 100644 regress/corpus/89e8712ec308913e3f74074be570eb6773401695 create mode 100644 regress/corpus/8ad09aa0227eaba348ecf5472012584552712f40 create mode 100644 regress/corpus/8b011784120d3fd10bfb308121f26850e0b8b634 create mode 100644 regress/corpus/8b4e330b4ee85f2982609be6a6fd1283b58de719 create mode 100644 regress/corpus/8b894bfec1e203e79539da1ecc370199af0f9e5a create mode 100644 regress/corpus/8b8cfd770fa56164659c368b7369446aedbe1805 create mode 100644 regress/corpus/8b94bb727f993ad17f5ed86935e72272d10b1420 create mode 100644 regress/corpus/8b96e28fabde440d384485d73e682e7c5478af62 create mode 100644 regress/corpus/8bbac41d66a921fa92f91dacaddabb240d84e622 create mode 100644 regress/corpus/8c90057c307d293981d81b8a2e5a282b83b99df9 create mode 100644 regress/corpus/8cd6ee7a9292ef8e83fdbf3469f79617561e68d7 create mode 100644 regress/corpus/8cf71bec44cfa1c3d6f923aece9b11aa8edaa19b create mode 100644 regress/corpus/8d52e742b34b58da655f595e20de01a78909399a create mode 100644 regress/corpus/8d95224900ed09382d46a6a87c0812936cdd9ba4 create mode 100644 regress/corpus/8de39d7edebebc310bbdcdbb786669eabe737df6 create mode 100644 regress/corpus/8e11f353e0645d6b8c73774d787cd620eb3aff33 create mode 100644 regress/corpus/8e16aaa29d34d38ba3fb24b935d07fed1a14a967 create mode 100644 regress/corpus/8e45c124285cc897ede7f0bad0a4d4a11b823f07 create mode 100644 regress/corpus/8e45ca908c08d676a0460a93627269f3f50fd377 create mode 100644 regress/corpus/8e5f0dc31df0670c8e17ee9addfe24b529514f5d create mode 100644 regress/corpus/8e603810478e62fd275fcd67260ba2861a6c43d7 create mode 100644 regress/corpus/8e705807465b4b22c48414d0010c56b4aa1cc1ad create mode 100644 regress/corpus/8ea3eb791728e8ef9c42adbb4a7f1e9dfeeb4abc create mode 100644 regress/corpus/8ea46df3cd9fc812cd712434d2d8046b870555eb create mode 100644 regress/corpus/8f19dd249d8e320a3f715fa6188c2c2a047bbc97 create mode 100644 regress/corpus/8f2af75e0bcfc5e78b52a04f368d3cbba10b4429 create mode 100644 regress/corpus/8f88c5fa95cc7a3f0ad61588eac5f8cf46f442dc create mode 100644 regress/corpus/8f9c0c9fd37e8031ca00b306c7dfcde45a996f1d create mode 100644 regress/corpus/8f9ee55232574504b81665960d13ee39a1487353 create mode 100644 regress/corpus/902d8066536a59912eb8b90ac8c3965cb8564a8a create mode 100644 regress/corpus/9069ca78e7450a285173431b3e52c5c25299e473 create mode 100644 regress/corpus/90fdcbf7a022cb6795299ec2d0a981402e9a1999 create mode 100644 regress/corpus/9120d853d7b24145ece5f2ea0bebf8acd74d1f17 create mode 100644 regress/corpus/915521aac674e3132ed59636dbefe2a8a614219e create mode 100644 regress/corpus/91573885d73a49dcce985de71bfe2bac92fddf28 create mode 100644 regress/corpus/9167b740c4d2f8a0d279d2286bc039a92d2485c8 create mode 100644 regress/corpus/9167c2ee7884cca512a25c5c46047a51a8ee0037 create mode 100644 regress/corpus/91ea1b5bb00a93330eefd83d06dc30070a8a4a77 create mode 100644 regress/corpus/922c7c3f7b2ce7e996fa24e0e259e71033a0bc79 create mode 100644 regress/corpus/924dca3b94a8a9ed3029f9bea1de5bab3ffc0624 create mode 100644 regress/corpus/92a4fc3e3882d623e160b449b8c5d00b6cf5541a create mode 100644 regress/corpus/92d5f1fd799ea3387dfbcf34e9454eb39022e891 create mode 100644 regress/corpus/9307e86e985db1fea0f0939d211712d2ee5277c4 create mode 100644 regress/corpus/931358fa84efac651ec27d64805438e0e80841a0 create mode 100644 regress/corpus/932c040949d2188ae41e16e391010331fa9d7c10 create mode 100644 regress/corpus/937661a0e2419e7068f3d52098a3fbabee12bbff create mode 100644 regress/corpus/93b1dd76197a98c1dd003731cb19f826905c99c6 create mode 100644 regress/corpus/93ce6463d6320c7f6c25d69d05013afdae31210b create mode 100644 regress/corpus/93e87708ae49d4ecce34d19fb158170823c65a25 create mode 100644 regress/corpus/942c6c3d6165595504b4f6288812ea11bac43bab create mode 100644 regress/corpus/944771f50947af2b24dfa61029b4d27a93939dea create mode 100644 regress/corpus/94b58973cc02b03f39e841b6d46d18a747140d0f create mode 100644 regress/corpus/94efa6407e5aab15c2a342ba3fcad52295fb9814 create mode 100644 regress/corpus/954eabc7f4915e55ab72abaae18babcb319db9dd create mode 100644 regress/corpus/954f6e2ab929a0af1e9e6219dc94436889af5afe create mode 100644 regress/corpus/95750b926efdc74598dd99ac2e3e6546112ffb56 create mode 100644 regress/corpus/95842eec56c4339b26a57667f0edb733ed7962c0 create mode 100644 regress/corpus/95cd58cb7fe10654007d4484d7ce3ca4ecea0b02 create mode 100644 regress/corpus/96b0b73ccd4c4cbb53ddb0f34d6479952a99062a create mode 100644 regress/corpus/96bbaab1e049a90347a9f8fae767154ac8067c3b create mode 100644 regress/corpus/970240906e2ee951475d085d068a3d094d41c19d create mode 100644 regress/corpus/975fb84d4c49e7e94a68f67199af8bcbb7a207fb create mode 100644 regress/corpus/97a7c440eb6edd3b97857f170a22aaf745c2be08 create mode 100644 regress/corpus/97c9f5b01a64608c4d733fb5e8f80bf60cb6e0e9 create mode 100644 regress/corpus/9824b77161124c1a52a0e90bcdcdf3e3315136ad create mode 100644 regress/corpus/98b0978fd55ec45c2420efcb1fefaf176272e83b create mode 100644 regress/corpus/98b7dbc6b57999b18ac60f6c5cbefa9e8b7c1f27 create mode 100644 regress/corpus/98d479ca70fb1e102e8bbeeb6a60cc7fa3b76800 create mode 100644 regress/corpus/98eec35d35186ca0ab0f9e20f98be54e56711755 create mode 100644 regress/corpus/990508507c525656ed05f2a24097542b86861947 create mode 100644 regress/corpus/99068925f5d3f8a1b72f2d994a1b83553734544c create mode 100644 regress/corpus/9915366692cdbe8b59686f62dc43376484d0997e create mode 100644 regress/corpus/999e07e69be47a6d9b79b16ac0acc4d6f364389e create mode 100644 regress/corpus/99c1fd892daa54d32498d85a1f553dcd5c4c4b38 create mode 100644 regress/corpus/99f928fab785bfe6b63ea25e4834a9b68ba69f07 create mode 100644 regress/corpus/9a438b14759dc939b246253f25dbd7cdcc18fc7b create mode 100644 regress/corpus/9adddc94238e63de11effe112ff2ce714aa9a1f1 create mode 100644 regress/corpus/9af47a3a40bf5249e12e0b2890f1f7c81b0ddfc1 create mode 100644 regress/corpus/9b3d11c3f1e4e115b3efa17a9f38879c0a381a20 create mode 100644 regress/corpus/9bb9a330f03a065caff0118814fd5696533a4e23 create mode 100644 regress/corpus/9bcade36d87f3c9af4127e921d669d812fca89f6 create mode 100644 regress/corpus/9c7874f89f89c284b0d44cf008c86e5c199ee323 create mode 100644 regress/corpus/9c92687eedbfd81891c7d469f760a798e7b1e214 create mode 100644 regress/corpus/9ccf68d691cc61583a06a46a31e783678a7b16ff create mode 100644 regress/corpus/9cd35d0bed4ed8ae1933a4f32458bca0e93b10d8 create mode 100644 regress/corpus/9ce1604d659135925ccc4dd1f526affe42e689f1 create mode 100644 regress/corpus/9e4d5a788372d861bb193741b5033b188869acd9 create mode 100644 regress/corpus/9e6bc59c61cfe7e36f004d27ba4bc87cc35e4b49 create mode 100644 regress/corpus/9e9a97a4c622249a1a069406b63cd776cd14ae4e create mode 100644 regress/corpus/9f3b8883526aa4009a4c7fecf96fdf9a9fcd5528 create mode 100644 regress/corpus/9f59a0992a5aa733842f62deba316fbeaba95d22 create mode 100644 regress/corpus/a0325e78550fa53de9eb4f8ec7191080143041fe create mode 100644 regress/corpus/a0599f71cd2b664b9c403ebce915dbc3c1f2bb0c create mode 100644 regress/corpus/a0fd0cd2c64fbcfa550512560c6e00c099f9aacc create mode 100644 regress/corpus/a10c77a48789c09c1c4f6c50e00c94955edd1d10 create mode 100644 regress/corpus/a1c29609317113f78ac9f634fc9a19958abb138f create mode 100644 regress/corpus/a26b14bf845f39cd55a68a2e8c20c6ac0236cf09 create mode 100644 regress/corpus/a2f7290b0387a503460cd2ea0a949689c78f4204 create mode 100644 regress/corpus/a2fb72fd3996f6da4e4b705e735290d918104606 create mode 100644 regress/corpus/a3aa5727e4969801c7ce25c0e5a3b893a3598a73 create mode 100644 regress/corpus/a3c57d6371bc722974d303e46c493db32028d7ec create mode 100644 regress/corpus/a3ed2b59b7950022a048b6d67dbac1af4d8a7f0f create mode 100644 regress/corpus/a40b2149f78ef7b33edf90b68f87cff8f2aff2b7 create mode 100644 regress/corpus/a4b1e09fd4b041a945d45035ca6c5b7d6def39fe create mode 100644 regress/corpus/a5b63f7e9ca957c116955db09d5b68d3e2b37862 create mode 100644 regress/corpus/a65656539585ed8898d3063d6a3a3b816e6539c7 create mode 100644 regress/corpus/a68e5160505fab79ba7253249e55d9f9c350ce90 create mode 100644 regress/corpus/a6b345c8a480ac7f60d53332eb7b2d4ead9f825a create mode 100644 regress/corpus/a6ed0c1810a5d697a7843341e8ebd728944940e7 create mode 100644 regress/corpus/a78797805a55b6c8414d0a25c186392f2e8c4c2c create mode 100644 regress/corpus/a7a93d84b948364645d95cdad57eac52b849535d create mode 100644 regress/corpus/a7bd988e4fd6abe3f746583c2ef0e9ddb3840e93 create mode 100644 regress/corpus/a7c9344ca7b2dfb694854a0f35a0d7d4b35e4804 create mode 100644 regress/corpus/a7dfaff0f9843772735c0a4bc43e6cbc5ac9f323 create mode 100644 regress/corpus/a7e26305de62e741962b6452e706252aa5f7ca3a create mode 100644 regress/corpus/a80e73ca501e9987103ce87189cf5f7d52f10028 create mode 100644 regress/corpus/a8216f66bbbe6994762f4f141d395188c41ebf2a create mode 100644 regress/corpus/a9745a45eac355f6ac3bee8ad0b35e680e8f964c create mode 100644 regress/corpus/a99586555b9fbfb4389df04d2d523725059fa433 create mode 100644 regress/corpus/a9b8840dafc6c214c23c575adcf706c4f3c14413 create mode 100644 regress/corpus/aa46f107a61179b8898044343e4631373a1eea53 create mode 100644 regress/corpus/aa7513e9789339b47b881855c444d6b9719dbac0 create mode 100644 regress/corpus/aadf3b1901e69ae278397f522411352eee3e60fc create mode 100644 regress/corpus/ab3382ad0d5ab6367b488ae1478373c7bb60fc3e create mode 100644 regress/corpus/ab5852763202f606306d339f8d65ae56ec04a066 create mode 100644 regress/corpus/abcfba43f31a70d4e58451c1d0f81de5fe4fcae2 create mode 100644 regress/corpus/abe4c4ce5c010acaf25f918a10488607555a91aa create mode 100644 regress/corpus/abf885332d343205410c7b0cd718012471865a33 create mode 100644 regress/corpus/ac4bf8da6a8c6922aea26d10a7770ea5b005ce3f create mode 100644 regress/corpus/ac92118dcf23c98714781748676c6802b15d505e create mode 100644 regress/corpus/acae5d16f58a6d3202e43a7ba8a8dc451c9fe83d create mode 100644 regress/corpus/acaec48a1cfb62715e720ab1b3a0caec012d95bf create mode 100644 regress/corpus/acbdc9cfc833721f2d10f27fd760f4397f9294a8 create mode 100644 regress/corpus/acd867ceb457ae8254326eb7c501d155d0cea672 create mode 100644 regress/corpus/ad00c7fe5bb9dd0380f866a7631d0617e7567bd9 create mode 100644 regress/corpus/ad07ecee596aa5c1210b851fa9810a2decd8bf99 create mode 100644 regress/corpus/ad0c40ff1d5721d8b01f73454e06260207667d81 create mode 100644 regress/corpus/ad22cc03ebb7577d29b889e5566dd2b0ef2419f7 create mode 100644 regress/corpus/ad9d8929a1e466127fad0c093d952a9bf34bf3bf create mode 100644 regress/corpus/addfeb57f1e2bb551505939b2ac68790a3a7ffd6 create mode 100644 regress/corpus/ae1772fd023f897b7f59e9f039cdea8268f757d9 create mode 100644 regress/corpus/ae2270662f6fb21cca3739ebaede36fcb763137a create mode 100644 regress/corpus/ae3f65080bf46aca7bafd1e129a2508ecd737dec create mode 100644 regress/corpus/ae48c9d1f1f3685ff3107b122ba281d4c4dc084b create mode 100644 regress/corpus/ae940b5ba0a8b47eeb3ff97e852fd369b1304196 create mode 100644 regress/corpus/aed7cc67f73f2efcf63652cd85a1feacad555e16 create mode 100644 regress/corpus/af1ec507d20c15585f88053a00090d47345b8305 create mode 100644 regress/corpus/af2eff0b0b5f017869f4fca654e1a62960704db9 create mode 100644 regress/corpus/af39af37db7a5cd26116d6438ff928b9002732be create mode 100644 regress/corpus/af4335ef850e8dff2e243c9763b7e831f95b0884 create mode 100644 regress/corpus/af488e737e65a06a3c5568b010b21e0e104232bf create mode 100644 regress/corpus/af6686d48e1f6a4f8d739b1017a4aa4fc8baf384 create mode 100644 regress/corpus/af6f39261913488276d4a2c058491e9a32bfabf7 create mode 100644 regress/corpus/afb3e7c0c98741bb299eb3c9dfbff978e9204f6a create mode 100644 regress/corpus/afbc13987f873650de5ed88882f9823422ad5a5b create mode 100644 regress/corpus/aff3e4182a36de06fe672883c7e7cb6c4bf07d68 create mode 100644 regress/corpus/b022b321dc96a791e7432f1cefb9c6b4fb3ed8ad create mode 100644 regress/corpus/b0302009ec735d2b6de0a29923829866d5612b5f create mode 100644 regress/corpus/b04d30b01fc52e67be2bc25ed8ebd31d4a46d7fb create mode 100644 regress/corpus/b0aadeb9071b8fc80d5f194cba93874bcf67f286 create mode 100644 regress/corpus/b0d0c50eb6925a152bcc155725546346a6245941 create mode 100644 regress/corpus/b0f147f1f41c34e4bc3bb3f80d65f2b6c07b71b9 create mode 100644 regress/corpus/b168bcb4776297254332db0d72f5cbd611a99143 create mode 100644 regress/corpus/b172d3d474bbd55ff3cf5846578a78bf91c59f46 create mode 100644 regress/corpus/b1e0969a15dfc06a9deb925dfa8dd72ff0832d32 create mode 100644 regress/corpus/b1fc7413d9261c25622febb0394d19fa1e14091e create mode 100644 regress/corpus/b36dfb1f140e85136b25a40831f33f1f477b1ef7 create mode 100644 regress/corpus/b37982e22cc21cf0cbc0332b51678520fa20a1da create mode 100644 regress/corpus/b39b30f79f1e0d1edb66ecc1dca749965eaa7bf9 create mode 100644 regress/corpus/b3d12afc294638efc98cdec12a9549557f1d6844 create mode 100644 regress/corpus/b3e55e30bb7662846d920af14be6458c955f3dac create mode 100644 regress/corpus/b3f5074e0b8e0f5f4622bb88d9369d12398ea668 create mode 100644 regress/corpus/b404cc9150b9853ed2400f58e466ff2eb7e4b362 create mode 100644 regress/corpus/b4ca7b7bf5100fe77b2c9b3c2ea773915e4a9d6e create mode 100644 regress/corpus/b4f2df5dedddc1e5f8a9486617ad79cbbbd2010b create mode 100644 regress/corpus/b502fd576ff834a6f70374fb4f1259921000de9a create mode 100644 regress/corpus/b53f3fb7e17f57a159c8d084edbb2fc231383283 create mode 100644 regress/corpus/b6160d6e3987e61916f40c4dfb408881072da41d create mode 100644 regress/corpus/b62044534a5b21f09fb8bb7ef761619eb1f96dd2 create mode 100644 regress/corpus/b6556bcd64c670959b5eda5b562017e61c959c73 create mode 100644 regress/corpus/b6ba81343b6ab8baa99a7a9ce560623bda5f29b7 create mode 100644 regress/corpus/b6c79df70615f571647de60b1faba4585a0f6341 create mode 100644 regress/corpus/b742c8cb092e1513b2289332fcea9c7ef44739f2 create mode 100644 regress/corpus/b75666785dd0bfa53606a2c6f5a74d2ef87fa58a create mode 100644 regress/corpus/b7a9f1ef2b417627083ca0e3c01576f970047a10 create mode 100644 regress/corpus/b7c446a931fd7dc25f359d96862796c053774271 create mode 100644 regress/corpus/b802142d13b66385996c9a3dfd6b0c4cd6a75870 create mode 100644 regress/corpus/b806aa2487f8de774e92ce94603761e9f2c04e06 create mode 100644 regress/corpus/b82a81912601d23807c10af4268fdad450c7c7c5 create mode 100644 regress/corpus/b855290b7801979f528ea28a6791aa67b38e1920 create mode 100644 regress/corpus/b88c33da68797d26661b0223bc118bf16fb4fe4f create mode 100644 regress/corpus/b90239fd820cc862a0aa25adea74bbfb50ab2a6f create mode 100644 regress/corpus/b93d354cf1b750a6031980d7875f724efaad99cb create mode 100644 regress/corpus/b96cd06a07aa2ea4cacfa5b7c374a4e1982b7837 create mode 100644 regress/corpus/b9db948517099d516de0284b2f1a3ecd293086a1 create mode 100644 regress/corpus/ba1202ecaadf38968356a7132d0c68961184961d create mode 100644 regress/corpus/ba2c8050d36531e21af24eb4154e8e771f9885fe create mode 100644 regress/corpus/ba3bd70a25f8a3f5a3f88856124872545e6f9db1 create mode 100644 regress/corpus/ba8579bb0ac8a69bff6466bc60550fff46137a95 create mode 100644 regress/corpus/baaddd35c814737a4f27e87d2b5363b795d958e4 create mode 100644 regress/corpus/bab488fece4736c97a7b53a3f60ad95c50800559 create mode 100644 regress/corpus/basic_query.bin create mode 100644 regress/corpus/bb801edfcf2761d81a1e3e87e7f4e8defebebaf0 create mode 100644 regress/corpus/bb8f106fe97c546ad80c1f69ce605deee60e3c6c create mode 100644 regress/corpus/bba9f3584e6fa7dbcb51fac4fa8e387915d6a757 create mode 100644 regress/corpus/bbda044b8efddca40bfa624d5f276a0abd397b3a create mode 100644 regress/corpus/bbf23d7a922eb1af713698b5d0a97bd1678dfafc create mode 100644 regress/corpus/bc12b6d759a2d54493ad432b28d4b01827676cd3 create mode 100644 regress/corpus/bcb4e4faf0f79cef1426dba462fd6847f2c69d44 create mode 100644 regress/corpus/bce78666f7faca7fd1b6482b256441d827d23db1 create mode 100644 regress/corpus/bcee87d1ead578589a050bd1d70720ef0895b36d create mode 100644 regress/corpus/bd6a68f75c0a87743da59839837df210ff993ec3 create mode 100644 regress/corpus/bdbd4468da9c8866455530d83bba8afbb170648c create mode 100644 regress/corpus/be2814f401045b146eaeda95c4ef217cd1efd7fc create mode 100644 regress/corpus/be6aacbb35f624d515ad7dba0d243be7f63a6cb5 create mode 100644 regress/corpus/be9d33c759830203b9895cf901edf38941ce8362 create mode 100644 regress/corpus/beee1902079c7a6fdc9b573f3e113f31557a2f10 create mode 100644 regress/corpus/bef8d337015a462023338c4fbb0307b729c93475 create mode 100644 regress/corpus/befc81e605a9ffc8049f3d459e8c0c434a9d6e8c create mode 100644 regress/corpus/bf42bfa5f54f6e7da74e035d1bb220476d62b716 create mode 100644 regress/corpus/bf45059db459aeb3d851961de1b0ba5fdc5a963c create mode 100644 regress/corpus/bf55a41f881bae8c6b5274c6b63bfa9054c00cb5 create mode 100644 regress/corpus/c020dd9e6add4cd8d7a927bd3db3e3d2156cb62b create mode 100644 regress/corpus/c0460f95ede5eb9da2b5c006c32b0dfb86efac9f create mode 100644 regress/corpus/c09edcd7dc248fbb16b9647a12b1c45ed26da487 create mode 100644 regress/corpus/c16733744e1e280006ad5611998a8de5d14732ef create mode 100644 regress/corpus/c1a9516887256b4e5189688352a90b82fb13f56f create mode 100644 regress/corpus/c1b7e1142094815a857b6eb7e33d67c2a35c0ea1 create mode 100644 regress/corpus/c20f8fbba5bac220b3084f9c5b0d66e4fd5d6dd1 create mode 100644 regress/corpus/c263799d4a950306429793b5f147561e0492bd1d create mode 100644 regress/corpus/c2e009fb4ba0476584dc90a9ab7d3921b706bf0d create mode 100644 regress/corpus/c2f175f6432b7ce470a316d18c370705d3b828ba create mode 100644 regress/corpus/c3010d09174a3c3b96be53994dde3f2655747438 create mode 100644 regress/corpus/c336f4b6a44453b74210504eb4b2ad20723c83ee create mode 100644 regress/corpus/c35bb14ea7df1ecfb0a8c5de65aac4ab608de38e create mode 100644 regress/corpus/c3b494296cba5f6a9f9e76f093fad0cc5bc65804 create mode 100644 regress/corpus/c40f784835c714d59e769b094c8b3055e0487299 create mode 100644 regress/corpus/c49b95d2d30f747115ca665727c53b4e20eb00b4 create mode 100644 regress/corpus/c4d559de6a81ad20f83f1649fb1d28c360a34c2d create mode 100644 regress/corpus/c52864c5210cc8df5341c731fbf46f8d38c0922f create mode 100644 regress/corpus/c56b2e8d64ab8c09551529a8bbece474d200f459 create mode 100644 regress/corpus/c5c671484563285fc41967f952bf607fd38212cb create mode 100644 regress/corpus/c617c1f9be12a6be9181d8251e606e86e3b6f18d create mode 100644 regress/corpus/c6b9f4180cdcbbd2a65490f4868a2fa9299f4a5f create mode 100644 regress/corpus/c708564a23cbd68ad4176bee93add3b13946f5b4 create mode 100644 regress/corpus/c7aa7623cea270dfbd0734a1b15174606d659ae6 create mode 100644 regress/corpus/c7ac83f2a9733dbb6aa16a80a806a16fc57babc1 create mode 100644 regress/corpus/c7bc773a4febfc9da9949b48dfa9d36bb88ca993 create mode 100644 regress/corpus/c7e5af1acdf19e3f8326f8c7fe7ee346e5370068 create mode 100644 regress/corpus/c80099666cf976f3b92265aba9542778ccfe3ef5 create mode 100644 regress/corpus/c812202b413fb8486cf41dd946111f7e8dc43269 create mode 100644 regress/corpus/c83730cbc9b078dba78a358e2af1fd359978187b create mode 100644 regress/corpus/c8525a2f769bf2d815109db14a3ca924c8632107 create mode 100644 regress/corpus/c8540ad5d178485dfcd598178bfc27f53ee669ad create mode 100644 regress/corpus/c8dc87883b735ad83b1194e72711f49b77307536 create mode 100644 regress/corpus/c9071dfd96736ee35661468f780322be27c58dae create mode 100644 regress/corpus/c9b59c50fb3d5d681ba0d738b03f002ad735086d create mode 100644 regress/corpus/c9c4e1e2720eb1d1c7584a3feacdfc4e95d9a6a2 create mode 100644 regress/corpus/ca01ce0515aba88d5e07d3bfb070c735cae2c702 create mode 100644 regress/corpus/ca3d93adc2bfdb1da7a85baec799262e8b501089 create mode 100644 regress/corpus/cae3176c911643b6bf5183c3273c7852f6dac051 create mode 100644 regress/corpus/caf2a4e67e32494c4e55048ad2bc27862b224c22 create mode 100644 regress/corpus/cb8af43d4654eef3988a49a225e5e176a7198a9f create mode 100644 regress/corpus/cbd82c6cc59a05c86f271d83871c788433489d6f create mode 100644 regress/corpus/cbe0d65339f01436a83279a39a38039caece4f75 create mode 100644 regress/corpus/cbe6dc1dfe0bd2d1e405449d8ba41755956309d0 create mode 100644 regress/corpus/ccd34d9379114084d19d35d0a9cf9f7932f62194 create mode 100644 regress/corpus/ccd3ac74ef87290a2e75e0c00d106bd3d4c28862 create mode 100644 regress/corpus/cd17446c3c58c27dd19280aec18232b808ec0f16 create mode 100644 regress/corpus/cd366177a6746172025e0466a626159e818d9256 create mode 100644 regress/corpus/cd8f547cae0627fbd063d09009da2d742de93097 create mode 100644 regress/corpus/cda35f636a7e30dacacb43664acfb780392fcfaf create mode 100644 regress/corpus/cdaf28ed078bb1ae708c4067893e3bf7189232c7 create mode 100644 regress/corpus/cdfc94416f474d8e5a2c36cd4c09e38d47fd30fc create mode 100644 regress/corpus/ce029ff4a578276d475748d8b2366393cabf5d69 create mode 100644 regress/corpus/cf1e0565eb5daf5f6ad3cdf195a0f9c802bc337c create mode 100644 regress/corpus/cf762468c981ec4c187555edbde9eaca8c6813cd create mode 100644 regress/corpus/cfc07908070d2bbd3c5fcd06852d5698686e30d2 create mode 100644 regress/corpus/crash-1ffe2d52cb820525e38d1605a0a359eebdb398e7 create mode 100644 regress/corpus/crash-6a5c9ebb65a8aa4cb57aeccfb19b4d892093e418 create mode 100644 regress/corpus/crash-f68d01ae9b54206705c49ddf24eedb6177b01b8c create mode 100644 regress/corpus/d04c6b25a1bf59ddc47f36009b6867b158daa430 create mode 100644 regress/corpus/d04f586e1d2e92ed9dff2690236bf76282e0442b create mode 100644 regress/corpus/d05418c9cae79581541ab9b3352c06606b585dae create mode 100644 regress/corpus/d05ef293a52f6ab11cebe584ef16714c68551486 create mode 100644 regress/corpus/d09d1d4eda0c773342e4beae5429837be0f585cc create mode 100644 regress/corpus/d0e75c385f166feff592fc6e37d7f9f8b862e482 create mode 100644 regress/corpus/d11a5ebb0863dd669610285ddf34b758c59e5178 create mode 100644 regress/corpus/d11dbb1c679510cdb91dd9cb890932398296ced1 create mode 100644 regress/corpus/d146a1173e1dde8a09532320491271a740e31c1f create mode 100644 regress/corpus/d1c130045f8f4c03f73e8f076d2b5cd3495c44f4 create mode 100644 regress/corpus/d1cc254019dcc54e6b32bdacabf708589daff037 create mode 100644 regress/corpus/d2044f8ac75c10c47f66fcccdafaa76878a78774 create mode 100644 regress/corpus/d257712d83aaf0108ada1d496134724ef46270ac create mode 100644 regress/corpus/d2de34a68d9d3e51d89d8df7b7c73493778249bb create mode 100644 regress/corpus/d33c7466850a3d82b93192fd5bd444a7fd5ad8e1 create mode 100644 regress/corpus/d35168db29584eb66f8f31e1dabe95ab382ae2a5 create mode 100644 regress/corpus/d35a89dfaf68742d25497d59e195ed3596d21d66 create mode 100644 regress/corpus/d3769b9479a21d0fd6b70cbfaf85781a1bf86f57 create mode 100644 regress/corpus/d38536ab6ac0f35180a9688772af0a6429f6eeb8 create mode 100644 regress/corpus/d3dd97df2493588272c79e1c413fdfddfc68bad2 create mode 100644 regress/corpus/d41c4b56c9666bbf3e2e9b5b65ec2543d9d05683 create mode 100644 regress/corpus/d42f58863612722583a1bc10c257fb76f50951a9 create mode 100644 regress/corpus/d461a444811cd33ebbb1fe415a5e2f71de54526e create mode 100644 regress/corpus/d47da26c514238311232be339862e7b762e2ef6c create mode 100644 regress/corpus/d4e9ddff2b8b4c818291d06eb761dbef03d87eca create mode 100644 regress/corpus/d50c96a92a0196e3aeaf569399006b407d76b971 create mode 100644 regress/corpus/d54cbf155e544a94bcde03a5c67631473be5dafc create mode 100644 regress/corpus/d5865c033bd6a5230f8917bc06f6f36e7cdc6e7a create mode 100644 regress/corpus/d5b70b54b05bd7555c73c309c6bec22c87b01c05 create mode 100644 regress/corpus/d5b7c88da455a3d0842dffb27002e12ce8dbda55 create mode 100644 regress/corpus/d6642acdb15110b68db1de860d5117a9170de56b create mode 100644 regress/corpus/d675c3511a7b95d813d9cbbd8596ad486c0237c4 create mode 100644 regress/corpus/d6e06f62e966f8a35132164fecbfdc7c83dd79c6 create mode 100644 regress/corpus/d6f513e2eb15150d2fd9dfc92bfbb637e97e782d create mode 100644 regress/corpus/d6fa1c19e2889b9364516cf0d738351c51da5303 create mode 100644 regress/corpus/d70d3aef8f86800a35e4c8f42e18c642f23abfe5 create mode 100644 regress/corpus/d718b07360712cdcf49043e905b4b573f04b2347 create mode 100644 regress/corpus/d7df0a5136000f430d5a3f43000118ef69d62515 create mode 100644 regress/corpus/d7e2a5ae312da1d607870815e239de5ccbdcf814 create mode 100644 regress/corpus/d7fb1bcbe7f3cb856ab66b38482ae83b3277cea6 create mode 100644 regress/corpus/d8030d39888564cebd83b1f797b4a137ca0d9989 create mode 100644 regress/corpus/d83be4bad854f3e4db4beb641b9eb7a155faf712 create mode 100644 regress/corpus/d85b1ce66e7452294089387dfca4aec5e97988b7 create mode 100644 regress/corpus/d86b31b47bb3698d43a7c48c8dd5293c4a62f660 create mode 100644 regress/corpus/d8a4b257342e905f728e2a4137b312cab8120846 create mode 100644 regress/corpus/d8c8b4ef67e1fee0d46e9306eada71d2540dc4f4 create mode 100644 regress/corpus/d8ec92d0811a8326318e0f5b3a6375fa0990a55c create mode 100644 regress/corpus/da5e42c960e5b8ec9edd28ca79d39fe94a159fef create mode 100644 regress/corpus/da986d1b14926903ab8f2b877aa6867045cc35c4 create mode 100644 regress/corpus/dac9a07ce39fc291c2120e506280ad2f206eed8f create mode 100644 regress/corpus/dad45a7cfadc44dfe9703a80236c3d339a60d520 create mode 100644 regress/corpus/dbc694587804e087833fcd2c339477298723bcf7 create mode 100644 regress/corpus/dbdea4e5bf4aa45f6fabf59654a091897bfc51dc create mode 100644 regress/corpus/dc0286cd1e5227d67b3976038313be9c3e3b656b create mode 100644 regress/corpus/dc260412a2c568625f5fb2ff652c20c7c8e0dd9f create mode 100644 regress/corpus/dcb0f7291dba05c966d56f9b59ef38510cb812e4 create mode 100644 regress/corpus/dd3f77506432cb506758e1f0bf7290ba2ca0c0e2 create mode 100644 regress/corpus/dd4a88e95bec6954824343743c2223df844d8a5e create mode 100644 regress/corpus/dd76ad17bc40a3448a059e0d47c4219c3aefee00 create mode 100644 regress/corpus/dddc947d42e437a1618a05e49a6881ba7563c0ea create mode 100644 regress/corpus/ddff84d1abbaf8fbd088dcfb3e428947a6c5e2ee create mode 100644 regress/corpus/de184c778b1882a5efe29b3d7bdfbb4d2011ecc0 create mode 100644 regress/corpus/de9cfa547bdfa6436b81bdc706a3c478c48c4467 create mode 100644 regress/corpus/deb3c397c32213f2b75cd57119b031bbcb7be43f create mode 100644 regress/corpus/df4164db2221bba5c7f05329a075c9d83d3d87e6 create mode 100644 regress/corpus/dfd8f26ac2f31a537ce6801b8f2f9480d8cac2e0 create mode 100644 regress/corpus/dfe250171862b9dd3a8d2ce85ac67cf9447ea72e create mode 100644 regress/corpus/dff2c4628a2a1266d7bcbe4b416542c1e5cdb977 create mode 100644 regress/corpus/dff3784aaebbeea5b6d5987fca6dc30350001580 create mode 100644 regress/corpus/e08e13c1cf3765c72c771ad64388f6553eefc71c create mode 100644 regress/corpus/e09a85d2024aad2ab46dc4af5a48cd96bd2ee6dc create mode 100644 regress/corpus/e132f059f6744d273266b43321bb9a6494ec19cd create mode 100644 regress/corpus/e140539d894bf242297292052e3eafd1ed93bee6 create mode 100644 regress/corpus/e1b0da4dae126c6cb5b8b6ffcd384b60565b8584 create mode 100644 regress/corpus/e1f35730151de473d92a908921e98e1c2f4d536b create mode 100644 regress/corpus/e240c7c2b834634aca316187f535e30f34b19e51 create mode 100644 regress/corpus/e2fa6d49b49d33791cc9ee9b77e46ae94872765e create mode 100644 regress/corpus/e322c0d655e44f1cb41d9c7b7a6bfd300365e857 create mode 100644 regress/corpus/e37d7f638fe766aca7a51727dcad97d59ad9333e create mode 100644 regress/corpus/e384c702e9c134d94b1f6906f8c31c6742c0b68b create mode 100644 regress/corpus/e3891bc58a5ceb354a3e041e9922545790b30433 create mode 100644 regress/corpus/e4500ef0752cdf295f3aefb24f4d73022df6a304 create mode 100644 regress/corpus/e4787610773945bdef327950c43e99c36ebe7cf9 create mode 100644 regress/corpus/e5328fba79f51633f3a61cbebb182d5c7d0729bf create mode 100644 regress/corpus/e5520aa429514d0c930ccd3a3ccc4a2a9902dde1 create mode 100644 regress/corpus/e5b9c92c85182e6bcb8a14c69695f28bc7576788 create mode 100644 regress/corpus/e5c3ff18aff2d7fe75e822c648b1eeae21016d53 create mode 100644 regress/corpus/e61044b2726dcce1d40c93135118ea0e91d39788 create mode 100644 regress/corpus/e63c01af8f117d4a46551ae8b7f4ef7e59bb1d78 create mode 100644 regress/corpus/e65c7aa5b52962860c6b458ac762d52a00e6699f create mode 100644 regress/corpus/e6d2e54c25d5d871e3a7288e2473d274cb037cd1 create mode 100644 regress/corpus/e6d962028d17a600bfd1372ea001c2bc00345f53 create mode 100644 regress/corpus/e718239d1d6feb67ce990dbc1eaec249c3838888 create mode 100644 regress/corpus/e79e7436aa8290e68a342a3795e2c031fdc1b813 create mode 100644 regress/corpus/e7ad2d8edec142a341e721c1e80a8403a229da95 create mode 100644 regress/corpus/e860560f2646adcdd8e72dd21b6d937a670dd8e9 create mode 100644 regress/corpus/e895477b645db771b82e3726cd5890f373e196f1 create mode 100644 regress/corpus/e89ffdfc1cf802875b742f7e5509a805839f2797 create mode 100644 regress/corpus/e92c80d956351aa1fea9f9b2b6953cb90902c15b create mode 100644 regress/corpus/e98e9df4583b1d94c8fac1af87a7b8ec209b1262 create mode 100644 regress/corpus/e9a1b59d8d8ce934d5b0e4d5b6604291a669fed5 create mode 100644 regress/corpus/e9bec27dffe6ea73d5519dce854a4b731f4ad8bf create mode 100644 regress/corpus/e9c2e972bf62e6bba22ac5f25cdd110f947130b1 create mode 100644 regress/corpus/ea5cdece5c55d3499a92614d2c57e53c8550951b create mode 100644 regress/corpus/eabcaec749d26064bc4cb7db3229851c15d2695e create mode 100644 regress/corpus/eadda6d32e4cc0131078c2848974b6047dee7933 create mode 100644 regress/corpus/eafcffb7044ce26f3394a621daa7d15ca16fc281 create mode 100644 regress/corpus/eb410760a7b41e840f9c7d12da3724a9d0d1e802 create mode 100644 regress/corpus/ebab52f062927efb574ad86c3e0ab28eb5d27068 create mode 100644 regress/corpus/ec25cccce6c9567d45603f551339b94d5fc69188 create mode 100644 regress/corpus/ec350d764246e941a585ba63958851664b1e3d50 create mode 100644 regress/corpus/ec41abd5b47814d571e107487c9030847bc1f2fe create mode 100644 regress/corpus/ec4f91933aca2727c1793e46dae0278198fbe346 create mode 100644 regress/corpus/ec710d628a65b8934dbd1038f84dc0af88b70829 create mode 100644 regress/corpus/ec912e3eb87a1df645f87db60d539e47be5fa1cf create mode 100644 regress/corpus/ed7c73582120780c5353917d5dfbd8adaf389b30 create mode 100644 regress/corpus/edd7e71e86d9415d732cefdf37e66393806c7e47 create mode 100644 regress/corpus/ee5a2c28b1c668bca4c522eacac516bd93c33cb6 create mode 100644 regress/corpus/ee7f85163d9e299365e1f7e8016dfcb563f22310 create mode 100644 regress/corpus/ee9c74e4c19beefe26bc720f48f3c175b4180f98 create mode 100644 regress/corpus/eea32dfe8837f35252f1dbe6f5b9083b1127f82e create mode 100644 regress/corpus/ef6b146f8ac3d4f0a3178c2b4f259f6cae683657 create mode 100644 regress/corpus/ef960b5a3de322d2cc6491a07c71f660eabb8c25 create mode 100644 regress/corpus/efda36bb855788b972bbc56e28932e18fb778198 create mode 100644 regress/corpus/f033b5595474d07a152d69e5af757231075718dc create mode 100644 regress/corpus/f0534dd7e9c3284b578380927a4d0780d579549b create mode 100644 regress/corpus/f063a6fe0d0cc835eb24e47dde92ff07f52331ca create mode 100644 regress/corpus/f083a64658ded20380f359df1a1239df0cf17dcf create mode 100644 regress/corpus/f0a88bb54525d2c64217b6b2442cf1eb853303ea create mode 100644 regress/corpus/f0c3dac7fd48e7087330fa5c10f985fae395f57c create mode 100644 regress/corpus/f11b495ce816cefb46c6ea3d0e8b858faa19cb7c create mode 100644 regress/corpus/f12f6a6a6a22c60a2c6c11f6a31a489eb396634c create mode 100644 regress/corpus/f18d799d4ab9e22c434fe4f4c0fed854d325daa3 create mode 100644 regress/corpus/f254685da142f046cf7feced5fcdd8b2c214cd20 create mode 100644 regress/corpus/f2cbbba8b310e42c48b54a3fe1a6037dba9406cd create mode 100644 regress/corpus/f307eb6024a81f0239d406c3d7d6a101e46df982 create mode 100644 regress/corpus/f33f932b512711df18ef9a4259ba5f4981b35cde create mode 100644 regress/corpus/f363c6bdef3fb8a598a880ab6eb7853cd7a3d1e7 create mode 100644 regress/corpus/f3ac798e103f4e43bb648aa07991089d7af5f339 create mode 100644 regress/corpus/f3bda844df8a4d605ebb09fffa58a133fa9aca58 create mode 100644 regress/corpus/f45bb27ee477adecd3842dbeeaccfb952c1bfb8e create mode 100644 regress/corpus/f48c7894588237737a17ef04cccc9f24f01b8a61 create mode 100644 regress/corpus/f4a501dffbd71e6ac93d89cb92f971e832d1be45 create mode 100644 regress/corpus/f51f2cc2931530b44c9d51a442a963aab3b6bfa3 create mode 100644 regress/corpus/f5408240ad667f408df49f194a8a4636276b3885 create mode 100644 regress/corpus/f57af62b211f6ace2d7ff9565ada2fb9fa2baee1 create mode 100644 regress/corpus/f5cea6cb12cea0e384dc483d4bc06a149742cb21 create mode 100644 regress/corpus/f662bb3e9dd5db3b30e321585701d5d940509f18 create mode 100644 regress/corpus/f66928adbe8c1f0fb5eb95a974a027d6bd385fb0 create mode 100644 regress/corpus/f67d44924d8e60bee8aca304e6f113e090d714f7 create mode 100644 regress/corpus/f6b5ab62a3206f100b5ab06d35cc307c351b3dbd create mode 100644 regress/corpus/f6eb289f4cd01f35d79743acbf9bab6acb5d32a8 create mode 100644 regress/corpus/f71c7415b7594fb606768feaaec10435e95acacf create mode 100644 regress/corpus/f758b51e70be89991cce14f676790f2406cccdfd create mode 100644 regress/corpus/f771f6cc2138150ca2d9fa3fbae88e81a175cc70 create mode 100644 regress/corpus/f7986b3839dbb93a11a57682836f9b96c5fb32a8 create mode 100644 regress/corpus/f7cc693b58c88c94a6c351bb1574971149876eba create mode 100644 regress/corpus/f7d13649b99d5fe05b278f1521ef089a610747cc create mode 100644 regress/corpus/f83e05a5e5406f7e75a185a2b88add4cedca8ef6 create mode 100644 regress/corpus/f8863d11f14cc233574f3ae1b845cecb00709562 create mode 100644 regress/corpus/f9eb06b4b1546382e04e278e55c4961354b05780 create mode 100644 regress/corpus/f9f5c6688b589d5652b6a1c26fdda8cfe5857104 create mode 100644 regress/corpus/fa4fc9285df9268b4515356b2c72a7b2727b73c6 create mode 100644 regress/corpus/fa639f8272b21a4c48fb879da6bd149979240dd3 create mode 100644 regress/corpus/fa97ac3d502cbf0e528d7fd0c095272307182bea create mode 100644 regress/corpus/fa9c6165b833407ca1ef6c0fda37f529110a517d create mode 100644 regress/corpus/faec21bbb347c599b994fa4327f695d057d9dfc5 create mode 100644 regress/corpus/fb2ffbaa6eba45dfa3a64adc986b1014b0c41caf create mode 100644 regress/corpus/fb5d23c41634bc2ccdd2b71d3f4773020859d54c create mode 100644 regress/corpus/fc0b5ce130e7629cfecb7a8d0e07b391800b04aa create mode 100644 regress/corpus/fc28b7061090689df41fdea53f16ace9afc162a5 create mode 100644 regress/corpus/fcb798c6e61b3dc04b3737039ec0aff210f904c5 create mode 100644 regress/corpus/fcff85c5edf606f2da5bea520350f28a96c14dd7 create mode 100644 regress/corpus/fd2f97ea0f894f0ca362a5f8c08a5014f7bb10f3 create mode 100644 regress/corpus/fd454f8f9408fef5391200bc93057db0e0bd3d85 create mode 100644 regress/corpus/fd4fd71b6694ee8bc4cc7df5bc1268b3560acbc3 create mode 100644 regress/corpus/fd7b27922595d3f5481a413ab74d6bc75561517c create mode 100644 regress/corpus/fd8a5f544cf6b3dd642f38ef9436f80a76e4f13e create mode 100644 regress/corpus/fe34fc899af30caf165d598d43a41cd8e6bc1765 create mode 100644 regress/corpus/fe6ea2796566c507cfdb690d1196dcbdcfab9ff5 create mode 100644 regress/corpus/fe7e22b8ddf51267bc7b52640e12e985828d2915 create mode 100644 regress/corpus/feb7a9c60c58a2d56576522c186a4118252bc6d8 create mode 100644 regress/corpus/fed13cef825fc50e9dad61fb0f9ca685350064ca create mode 100644 regress/corpus/fef074366f9d7dc652a7cea750e2738f310c34e2 create mode 100644 regress/corpus/ff4ba34380cd42a2aace224feec127c23f46deeb create mode 100644 regress/corpus/ff87afa73e81f9bfb66961ba01311b9161c3f4f1 create mode 100644 regress/corpus/selector_domain create mode 100644 regress/corpus/selector_packet create mode 100644 regress/corpus/selector_rr create mode 100644 regress/crash-1ffe2d52cb820525e38d1605a0a359eebdb398e7 create mode 100644 regress/crash-6a5c9ebb65a8aa4cb57aeccfb19b4d892093e418 create mode 100644 regress/crash-f68d01ae9b54206705c49ddf24eedb6177b01b8c create mode 100644 regress/fuzz_dns.c diff --git a/regress/corpus/004d5b4467bd281005176ed98bdc736f2dadb4b7 b/regress/corpus/004d5b4467bd281005176ed98bdc736f2dadb4b7 new file mode 100644 index 0000000000000000000000000000000000000000..32ae13bedaf077ecf1b05cd44354b866eea0670f GIT binary patch literal 152 ccmdPbj>HNW8JK|xs}wncf9|3JLS{q*0PT@qz`$^OE&~H21A`L-<6i~_J)i&-a4@Lr>#Kw18W_|dihxr3`uYqEi=b+N K%7I#cfp`FoQwW9t literal 0 HcmV?d00001 diff --git a/regress/corpus/00e5f4561e6369edbaed2370f3d5d1bdabc98f0e b/regress/corpus/00e5f4561e6369edbaed2370f3d5d1bdabc98f0e new file mode 100644 index 0000000..6d974d7 --- /dev/null +++ b/regress/corpus/00e5f4561e6369edbaed2370f3d5d1bdabc98f0e @@ -0,0 +1 @@ +Cû \ No newline at end of file diff --git a/regress/corpus/0188fac035ef7505df09b74514a8294a5be40309 b/regress/corpus/0188fac035ef7505df09b74514a8294a5be40309 new file mode 100644 index 0000000000000000000000000000000000000000..b8b1af8fc93cf4dd46cb8903b684eb1f955f864d GIT binary patch literal 57 ZcmZRoVgLiRIsX~hKrBXv1h4=h0swv}0;K=| literal 0 HcmV?d00001 diff --git a/regress/corpus/01db2df7e5a28208e8314e42128dfdc8cfb09e61 b/regress/corpus/01db2df7e5a28208e8314e42128dfdc8cfb09e61 new file mode 100644 index 0000000000000000000000000000000000000000..23be356522d866913ddd9d4c9bf7e4fd932a7bea GIT binary patch literal 26 dcmZQ%U|?VbVh~`qD9=e{PR`F|U|>&W1OOW#12q5u literal 0 HcmV?d00001 diff --git a/regress/corpus/01eaa0a864b810272d0de33e0b308726fcc6b7a0 b/regress/corpus/01eaa0a864b810272d0de33e0b308726fcc6b7a0 new file mode 100644 index 0000000000000000000000000000000000000000..a12c5af25689a7444a22ce6f3f1dad87f8068557 GIT binary patch literal 15 UcmZQ%U<5)2MnN_P_SBhk0R!^^z5oCK literal 0 HcmV?d00001 diff --git a/regress/corpus/0227c6f644430f12005bbc938d74d644bf6d2386 b/regress/corpus/0227c6f644430f12005bbc938d74d644bf6d2386 new file mode 100644 index 0000000000000000000000000000000000000000..e54e93ad06cf01f996a60d3c0e875e5272b03989 GIT binary patch literal 57 rcmZRoVq|7yU}9ik`1h89fsp~kWK;xlflLsuY7s=5kpa#COE3Tcp+N*? literal 0 HcmV?d00001 diff --git a/regress/corpus/024d8ac5ba6c7d4b17e3402b71f6e25978de5dfa b/regress/corpus/024d8ac5ba6c7d4b17e3402b71f6e25978de5dfa new file mode 100644 index 0000000000000000000000000000000000000000..7998ce11825cb228715e141138893bd485407b0f GIT binary patch literal 19 UcmZQ%U|?Wm6kuRT&ff$D03qN8b^rhX literal 0 HcmV?d00001 diff --git a/regress/corpus/03508a1f2118f7b9329187a4a18d560a7693a303 b/regress/corpus/03508a1f2118f7b9329187a4a18d560a7693a303 new file mode 100644 index 0000000000000000000000000000000000000000..38980037b6ff519d5eb7b201041b7b5f76550362 GIT binary patch literal 36 bcmZRoVq|7yU}9ikWB_9z#ZXHL$~1#;L^8Dl{J05kms4*&oF literal 0 HcmV?d00001 diff --git a/regress/corpus/05df148b218b748bbfe7f37c13eaaedade5d6700 b/regress/corpus/05df148b218b748bbfe7f37c13eaaedade5d6700 new file mode 100644 index 0000000000000000000000000000000000000000..489c0756004a5c06385bf5259a8bdd3d397a8936 GIT binary patch literal 33 ZcmZQ%U@vE2$Vp{RR?THV2kfbgVgNi^0?Ysa literal 0 HcmV?d00001 diff --git a/regress/corpus/06a2a934e42a67ad77959b85e3c81fc7b2187f2f b/regress/corpus/06a2a934e42a67ad77959b85e3c81fc7b2187f2f new file mode 100644 index 0000000..f6e1284 --- /dev/null +++ b/regress/corpus/06a2a934e42a67ad77959b85e3c81fc7b2187f2f @@ -0,0 +1 @@ +ÿ1 diff --git a/regress/corpus/070281d17a5345533517926c9b094351dace55c4 b/regress/corpus/070281d17a5345533517926c9b094351dace55c4 new file mode 100644 index 0000000000000000000000000000000000000000..b68e4fc994c6ed06be150272e3b29ff58f768986 GIT binary patch literal 94 hcmZQz009mLb$xwxAVXgt$~{3o0Gh-MGD)9-5dhDaFmM0> literal 0 HcmV?d00001 diff --git a/regress/corpus/0751788f2442c79a88122ac6c4586f531e655945 b/regress/corpus/0751788f2442c79a88122ac6c4586f531e655945 new file mode 100644 index 0000000000000000000000000000000000000000..8e32fa41c675c9c3fcd86a464d5ef0622a3950f4 GIT binary patch literal 31 XcmZQ%fPi2{2o0qe7;+gH*i#t+59R@J literal 0 HcmV?d00001 diff --git a/regress/corpus/07577f5bf8a0cb2522822c869db256b44cb25036 b/regress/corpus/07577f5bf8a0cb2522822c869db256b44cb25036 new file mode 100644 index 0000000000000000000000000000000000000000..e459571e050930a716b3ae8ceda0d4ce619a40a0 GIT binary patch literal 21 ZcmZQt!~h2RtPJz#GccvkoNd-}nCi{|{ub{st0UATd@w5CO#60He(Y&;S4c literal 0 HcmV?d00001 diff --git a/regress/corpus/078f97947d8f0238b600f70b1df688d688fcd82c b/regress/corpus/078f97947d8f0238b600f70b1df688d688fcd82c new file mode 100644 index 0000000000000000000000000000000000000000..1a8a62d27a817291847886ad217ca28dd4fe8513 GIT binary patch literal 19 Xcmd0sB*>u6z`)1=1kDVJ%s?gp8hQcd literal 0 HcmV?d00001 diff --git a/regress/corpus/07c1942114ec7efada8baf028867bb58f8bc2662 b/regress/corpus/07c1942114ec7efada8baf028867bb58f8bc2662 new file mode 100644 index 0000000000000000000000000000000000000000..17ce87ce4832e1f4b6011aa6eea240c5c4085c6b GIT binary patch literal 128 zcmZQt!~g_L@(fH>jLZxStPBkEnbNBg<})&UV)#!M5W}hK2TW!@*l32TMGTApZ}DO- literal 0 HcmV?d00001 diff --git a/regress/corpus/084b1b4ee2578618858894a666d5718e8839d4c1 b/regress/corpus/084b1b4ee2578618858894a666d5718e8839d4c1 new file mode 100644 index 0000000000000000000000000000000000000000..829e52c31c5ff0d17ca85cee06f468c6985861b5 GIT binary patch literal 22 YcmexSrEJ2$z|H^y91Q9Vj3DR$04PKPLjV8( literal 0 HcmV?d00001 diff --git a/regress/corpus/0879f8a402eab5987839111e4c5ae0e2b068ec90 b/regress/corpus/0879f8a402eab5987839111e4c5ae0e2b068ec90 new file mode 100644 index 0000000000000000000000000000000000000000..1481991eb400c7e9b6f6a43881a3047fd2220800 GIT binary patch literal 11 ScmdPDdVztFQ(s@7fe`={Bm!*! literal 0 HcmV?d00001 diff --git a/regress/corpus/089dd17dbf3a8fb85d324f9927545e4c62744d3a b/regress/corpus/089dd17dbf3a8fb85d324f9927545e4c62744d3a new file mode 100644 index 0000000000000000000000000000000000000000..3b93286b15c7f21bb5a106edf7fb0c5f967349cd GIT binary patch literal 62 jcmYeegb!#iKmbz{b00L)*10aflfdeSQz{$V{gbYko6966b0#pD1 literal 0 HcmV?d00001 diff --git a/regress/corpus/090d5c70fbca3713010e573cc99f7bce593fa32d b/regress/corpus/090d5c70fbca3713010e573cc99f7bce593fa32d new file mode 100644 index 0000000000000000000000000000000000000000..6dd859e0c2b5fc875e6c02a5a98cc8084098de17 GIT binary patch literal 19 acmZRoVq|7uU}j)tVr1Z9V5s`Xzz6^izyc8f literal 0 HcmV?d00001 diff --git a/regress/corpus/09548ccc77059b95196bbc13eb9f88e12676e70b b/regress/corpus/09548ccc77059b95196bbc13eb9f88e12676e70b new file mode 100644 index 0000000000000000000000000000000000000000..4b422fa4bad403262578c35374ceddd2381fd8d1 GIT binary patch literal 5 McmZRoVqjnd00H;_egFUf literal 0 HcmV?d00001 diff --git a/regress/corpus/09ae93c969f72e208a82bfbb253907f99ad1677d b/regress/corpus/09ae93c969f72e208a82bfbb253907f99ad1677d new file mode 100644 index 0000000000000000000000000000000000000000..27bc5d7464dfecaefb21dd1596134b6b01dc561f GIT binary patch literal 169 zcmZR`1OkTtOboyO$HyKxz)(`d%)r3L00)kYf*`gV5VJAN`41OoU|>S9F*JdsP_!_D U6(eauXl4Y9qDna+q@gT*00Y|%sQ>@~ literal 0 HcmV?d00001 diff --git a/regress/corpus/09cdf4350c6896b029dd7ca590a7fc64dd754d8f b/regress/corpus/09cdf4350c6896b029dd7ca590a7fc64dd754d8f new file mode 100644 index 0000000000000000000000000000000000000000..62c1fd2c7e95d97c9651d0a7e2f3791bbb97a826 GIT binary patch literal 31 dcmZRoVq|7uU}Rurf-x8vnHU-V|N9RDi~v1)2nqlI literal 0 HcmV?d00001 diff --git a/regress/corpus/09dcfa754505584a732d77622bed3c8772f95b4f b/regress/corpus/09dcfa754505584a732d77622bed3c8772f95b4f new file mode 100644 index 0000000000000000000000000000000000000000..0c70ec80ed022e86d5737cf243dfc662113bb4b1 GIT binary patch literal 97 zcmZQzU|?iOH~>OGz&IDgg+KpjS2u3>j2#V literal 0 HcmV?d00001 diff --git a/regress/corpus/0c111d36719d266fe64ba239427ae2bc12433c23 b/regress/corpus/0c111d36719d266fe64ba239427ae2bc12433c23 new file mode 100644 index 0000000000000000000000000000000000000000..6b14d9831fdb6f6169d4101e7d3622fe3232982a GIT binary patch literal 88 lcmZRY$-uzK00vAgiVO@)=D5His6_R>|Ns9p8bb8oBmt+H4R8Pe literal 0 HcmV?d00001 diff --git a/regress/corpus/0c1e1a587337ae4b17cdc501e732993bb9b1c457 b/regress/corpus/0c1e1a587337ae4b17cdc501e732993bb9b1c457 new file mode 100644 index 0000000000000000000000000000000000000000..111bea0b5407301e450180fbd739588c3873e7f2 GIT binary patch literal 9 QcmezWpX>ks|6C0J0U=BV4*&oF literal 0 HcmV?d00001 diff --git a/regress/corpus/0c5202dd7025c4a582dcad0a7bab7cd15816a2e4 b/regress/corpus/0c5202dd7025c4a582dcad0a7bab7cd15816a2e4 new file mode 100644 index 0000000000000000000000000000000000000000..9086f5fbcbe46ab5f4a66d58fc4d7071b325a904 GIT binary patch literal 109 zcmZRoVqjooU|Pfg0`{s5jEq2<2_(kI48%Zo)gmARD8lgn|8I~aKJ_4F40d28*z^Jb D65R_T literal 0 HcmV?d00001 diff --git a/regress/corpus/0c8ced20f9ae57363056192953119aa666c48005 b/regress/corpus/0c8ced20f9ae57363056192953119aa666c48005 new file mode 100644 index 0000000000000000000000000000000000000000..a324bee03beed4e4c88a4c427ea19fc7435afe50 GIT binary patch literal 27 acmZQzfB=1c{r_OVT%ME4oSdKg|33h2B?}V( literal 0 HcmV?d00001 diff --git a/regress/corpus/0ceef7251d02d2d1230e6e4913e1f4244a031cf5 b/regress/corpus/0ceef7251d02d2d1230e6e4913e1f4244a031cf5 new file mode 100644 index 0000000000000000000000000000000000000000..b979a11728929c838de901c3e7b049a9d4aa21f9 GIT binary patch literal 34 WcmZRoVqs(egV#Wk6~ctmAT9tWX90Hr literal 0 HcmV?d00001 diff --git a/regress/corpus/0d04943b4e691a5045e3ca3dd40c49e5222065c4 b/regress/corpus/0d04943b4e691a5045e3ca3dd40c49e5222065c4 new file mode 100644 index 0000000000000000000000000000000000000000..52bba02202af3cf0ae4350b289ed468ad9a4dbf0 GIT binary patch literal 30 ccmZQ%{0{*;|L^?I@c%yp5btCF1E&A~0WpFRApigX literal 0 HcmV?d00001 diff --git a/regress/corpus/0d530172e4e79615078789372c4b5e6e8ec69299 b/regress/corpus/0d530172e4e79615078789372c4b5e6e8ec69299 new file mode 100644 index 0000000000000000000000000000000000000000..7d1baf144af8df10a3168181a87cdc851697b9b6 GIT binary patch literal 58 bcmZRw_{)F*t5&W04+KDJ)hdK2R@N#2ta%GA literal 0 HcmV?d00001 diff --git a/regress/corpus/0e36283c3c9f017cf7f98d6f022aa1ec4b65be51 b/regress/corpus/0e36283c3c9f017cf7f98d6f022aa1ec4b65be51 new file mode 100644 index 0000000000000000000000000000000000000000..3c6d6823fbdb6d0a5de097c38ac43b1f1ce6928f GIT binary patch literal 12 TcmZ?ZmbuT!!0$_M}h$N+f& literal 0 HcmV?d00001 diff --git a/regress/corpus/0faa8549a74132bf15b21b5fac6d0c3b225d7f94 b/regress/corpus/0faa8549a74132bf15b21b5fac6d0c3b225d7f94 new file mode 100644 index 0000000000000000000000000000000000000000..4a602e2939659d522a0e5cbf6ce6cd2d63df677e GIT binary patch literal 15 WcmexSrD({&z|O$Pz`(%4=l}p2+yWK= literal 0 HcmV?d00001 diff --git a/regress/corpus/1036c6d879808bd115f9cea9b0844fcd00281be5 b/regress/corpus/1036c6d879808bd115f9cea9b0844fcd00281be5 new file mode 100644 index 0000000000000000000000000000000000000000..ecb2e2f291563e81ff743f97430cf1ba87b1b368 GIT binary patch literal 8 PcmZQ7E-v25z`y_i3lahq literal 0 HcmV?d00001 diff --git a/regress/corpus/10569c7a83583dd4a78f8b36abbc4023e244d108 b/regress/corpus/10569c7a83583dd4a78f8b36abbc4023e244d108 new file mode 100644 index 0000000000000000000000000000000000000000..c55875f17851402206e5c151dd5bd503a7aad940 GIT binary patch literal 89 ycmZQDXMg}!W)Q6hA{ZeoWHv(BAHif`s$vA{Vq{ literal 0 HcmV?d00001 diff --git a/regress/corpus/109047ed91b7db609f037751f9926db0029d0cde b/regress/corpus/109047ed91b7db609f037751f9926db0029d0cde new file mode 100644 index 0000000000000000000000000000000000000000..2947cb03ba774c611fc9fb1eda4c26ab4443a45f GIT binary patch literal 53 ecmZROV*LN#;6DPCvofFpxD*2edn!nZkpTeMeit7A literal 0 HcmV?d00001 diff --git a/regress/corpus/109b5957918c0e2f4b1071c308d0d3196848d1e0 b/regress/corpus/109b5957918c0e2f4b1071c308d0d3196848d1e0 new file mode 100644 index 0000000000000000000000000000000000000000..a97fc5efc626426f2449dce5199ec96fed9265fa GIT binary patch literal 6 Ncmd;JU|?im0000v015yA literal 0 HcmV?d00001 diff --git a/regress/corpus/10a069bbf6320fe9923d6e7acb629fa2ac3c5c63 b/regress/corpus/10a069bbf6320fe9923d6e7acb629fa2ac3c5c63 new file mode 100644 index 0000000000000000000000000000000000000000..e4f879f72e0b8484f9a575889abb97e279e3f2e1 GIT binary patch literal 28 dcmexSrEJK+z|H^y91QCE`V0(=%wQg)0{}Ru0-yi@ literal 0 HcmV?d00001 diff --git a/regress/corpus/114065934a86956bac44a8c927a7d590e549fbf9 b/regress/corpus/114065934a86956bac44a8c927a7d590e549fbf9 new file mode 100644 index 0000000000000000000000000000000000000000..fc821fef4afbf93d95808dce70aea8c147fab946 GIT binary patch literal 26 bcmZQ%U|?VbVjxfiGc*|({xdMJr!oQn3XuW2 literal 0 HcmV?d00001 diff --git a/regress/corpus/116f91e595122d77dcef49d6a833286c817e1866 b/regress/corpus/116f91e595122d77dcef49d6a833286c817e1866 new file mode 100644 index 0000000000000000000000000000000000000000..7cc8c3fe2ed09154864e7a9e7e3fb95a05abd3c2 GIT binary patch literal 152 mcmZQ%U}OLS4G_V=kZ^!clR^M7hym3Us30;0vBwRzyJUTAppey literal 0 HcmV?d00001 diff --git a/regress/corpus/11b8d17be01eee8a910f6f9d5a4a095185932313 b/regress/corpus/11b8d17be01eee8a910f6f9d5a4a095185932313 new file mode 100644 index 0000000000000000000000000000000000000000..b24d9d21277e8500e068434a50214a2dff3e8f5e GIT binary patch literal 28 dcmZQ%U}i|oVPpV<|Lpdu3=IF-QyF7H002C71-<|P literal 0 HcmV?d00001 diff --git a/regress/corpus/12413b3a10b1891c40f60dbd8b8da85b89d6152a b/regress/corpus/12413b3a10b1891c40f60dbd8b8da85b89d6152a new file mode 100644 index 0000000..c06e1eb --- /dev/null +++ b/regress/corpus/12413b3a10b1891c40f60dbd8b8da85b89d6152a @@ -0,0 +1 @@ +™¢ \ No newline at end of file diff --git a/regress/corpus/12a2f2831b895478fd299f4211ddaf12c69962e0 b/regress/corpus/12a2f2831b895478fd299f4211ddaf12c69962e0 new file mode 100644 index 0000000000000000000000000000000000000000..226f499b22bf17e745688065a52046cc5dd5c654 GIT binary patch literal 32 acmZQzU}ONI+=84`=Kn|_IX@R9&IkbBBo65S literal 0 HcmV?d00001 diff --git a/regress/corpus/12c39d533878e2c90e4b84931fc43ba4e10ac59e b/regress/corpus/12c39d533878e2c90e4b84931fc43ba4e10ac59e new file mode 100644 index 0000000000000000000000000000000000000000..afba1a7215831d2958a383d78332e32f0d00cf82 GIT binary patch literal 11 ScmZQt#K^?Jz^u%`zyJUTDFDs@ literal 0 HcmV?d00001 diff --git a/regress/corpus/12f9bd56f1bb5eb8f052f6990333e30727152876 b/regress/corpus/12f9bd56f1bb5eb8f052f6990333e30727152876 new file mode 100644 index 0000000000000000000000000000000000000000..464b5397271977388d574916612f07f58296cb44 GIT binary patch literal 24 ecmdP@|CgB|A(4UM|9}1e`atmeKZD3W22B8g)(Q;( literal 0 HcmV?d00001 diff --git a/regress/corpus/13015da08d5c46f57e1cef41893c26e46d73182e b/regress/corpus/13015da08d5c46f57e1cef41893c26e46d73182e new file mode 100644 index 0000000000000000000000000000000000000000..b3046f9aab5e17a41f99eed2fb45e50707428c95 GIT binary patch literal 10 RcmZQ-VPs%n_+P`o2mlH@0t5g6 literal 0 HcmV?d00001 diff --git a/regress/corpus/1331912ce4e2480ac78825b9a76d449984082e7d b/regress/corpus/1331912ce4e2480ac78825b9a76d449984082e7d new file mode 100644 index 0000000000000000000000000000000000000000..a512c735460ecee72ffe905e3f6f63a74ee2b285 GIT binary patch literal 22 ecmdP@|8qXG!k!iN#aV^_>KPdR?@!RwX9NI&ND2=C literal 0 HcmV?d00001 diff --git a/regress/corpus/133f01814c85c7cca7c83fa9ed39264f22a2b4d4 b/regress/corpus/133f01814c85c7cca7c83fa9ed39264f22a2b4d4 new file mode 100644 index 0000000000000000000000000000000000000000..9d40df42d4f2e2a09532da83c29eecd503e28aab GIT binary patch literal 136 vcmZQt!~g;%gh3)cRZN^9Q&w>@Ffv&E{ZH61pb7?gRtARoAf*ZO=Q98R>LWCi literal 0 HcmV?d00001 diff --git a/regress/corpus/13b1da744fef6e3fdbdfab86cacd35ca6ccd4f35 b/regress/corpus/13b1da744fef6e3fdbdfab86cacd35ca6ccd4f35 new file mode 100644 index 0000000000000000000000000000000000000000..336b13f9d5ae8d32c7c8eca83df1694bea4c4963 GIT binary patch literal 22 acmZQzU}RuU&Ns|u05bmP11W1p21WoU9RrR4 literal 0 HcmV?d00001 diff --git a/regress/corpus/13b8616ab053af4ed4f840ec7adefd887a78fc8f b/regress/corpus/13b8616ab053af4ed4f840ec7adefd887a78fc8f new file mode 100644 index 0000000000000000000000000000000000000000..a0038527e3adaa9337b36ce350170c47f2cedfc2 GIT binary patch literal 21 WcmZRo(qm=-0&eap|105DDhIRF3v literal 0 HcmV?d00001 diff --git a/regress/corpus/155f97d79c5b25ed2908e976857e4881f5281e0f b/regress/corpus/155f97d79c5b25ed2908e976857e4881f5281e0f new file mode 100644 index 0000000..8a0cb52 --- /dev/null +++ b/regress/corpus/155f97d79c5b25ed2908e976857e4881f5281e0f @@ -0,0 +1 @@ +¢ï \ No newline at end of file diff --git a/regress/corpus/15a0136358bc5ecca64f02500cde044317857bdd b/regress/corpus/15a0136358bc5ecca64f02500cde044317857bdd new file mode 100644 index 0000000000000000000000000000000000000000..908d71c29123a882df1318a9d4a9c26715cbfeae GIT binary patch literal 17 TcmZRY$;iZW7YfwwGB5xDNNos~ literal 0 HcmV?d00001 diff --git a/regress/corpus/15d6c0eb199a0cf8407cd77b02bc166fc7557978 b/regress/corpus/15d6c0eb199a0cf8407cd77b02bc166fc7557978 new file mode 100644 index 0000000000000000000000000000000000000000..e5f5ac57b86ef541d21f901dcf79ff4857a41fac GIT binary patch literal 59 ocmZQzU|?k6VPHr&zyJh{AOwP(5C#)O1WYml#ibb>A#9LZ07AwArT_o{ literal 0 HcmV?d00001 diff --git a/regress/corpus/15e020c721b79eed0472629420c609fe8d73aa44 b/regress/corpus/15e020c721b79eed0472629420c609fe8d73aa44 new file mode 100644 index 0000000000000000000000000000000000000000..da5992a715afff23a732853c37922df1a06b7274 GIT binary patch literal 238 zcmZQ%U}OLS4G_VgnV`wQcR=%lCIT2Dm{67gVXzWe6G(Y7h8_tF5o`h|1|b^?WrJM} UbTS&KaCn literal 0 HcmV?d00001 diff --git a/regress/corpus/1899b05b5143972980b704ef972ac2e6a590e87d b/regress/corpus/1899b05b5143972980b704ef972ac2e6a590e87d new file mode 100644 index 0000000..4d9e87d --- /dev/null +++ b/regress/corpus/1899b05b5143972980b704ef972ac2e6a590e87d @@ -0,0 +1 @@ + ¹ \ No newline at end of file diff --git a/regress/corpus/18e487418afd8d37be70cb0e7e34bd73d8414390 b/regress/corpus/18e487418afd8d37be70cb0e7e34bd73d8414390 new file mode 100644 index 0000000000000000000000000000000000000000..7affff099d511c1b896033a0520563fdce61cb6b GIT binary patch literal 28 ccmZRY$;iOK0KyQ!%&_P$0|RqTPL2Qr03}8PmjD0& literal 0 HcmV?d00001 diff --git a/regress/corpus/190f99c8d326c1356c722e734cbd47dbb612c05d b/regress/corpus/190f99c8d326c1356c722e734cbd47dbb612c05d new file mode 100644 index 0000000000000000000000000000000000000000..e7467dcfbd00c4b93be60956f04b2614364f320d GIT binary patch literal 29 ZcmZROVq^dVFtwLa0muPihW`uNd|M!^gF)%Xx|NkGzWd(^52|(%rY1s!% literal 0 HcmV?d00001 diff --git a/regress/corpus/1b86fede95021fbbb3ce9f10702fab186085f0c5 b/regress/corpus/1b86fede95021fbbb3ce9f10702fab186085f0c5 new file mode 100644 index 0000000000000000000000000000000000000000..9730e89b48efcf0806eb2fa49654ccd09fd871e0 GIT binary patch literal 30 ccmZQz00Reo{r@1qT%MB(7GO@!&;9=&0Dw^nB>(^b literal 0 HcmV?d00001 diff --git a/regress/corpus/1bee83c30d4397fe22748cb8a5d0263af0a5bfa5 b/regress/corpus/1bee83c30d4397fe22748cb8a5d0263af0a5bfa5 new file mode 100644 index 0000000000000000000000000000000000000000..675b56012d642dc6cf20f2674fad0c1fd74a1bc4 GIT binary patch literal 8 Pcmd;6U|@X8$ix5u1o#0M literal 0 HcmV?d00001 diff --git a/regress/corpus/1d2309f333c0de06793aeba6b6a878e39f01d14e b/regress/corpus/1d2309f333c0de06793aeba6b6a878e39f01d14e new file mode 100644 index 0000000000000000000000000000000000000000..901fc41de6ba9af5d4279bf35b703085012c2236 GIT binary patch literal 37 ecmdOA(6?Y# literal 0 HcmV?d00001 diff --git a/regress/corpus/2013e9a73cc1bfd83507c175392a599986ee2f18 b/regress/corpus/2013e9a73cc1bfd83507c175392a599986ee2f18 new file mode 100644 index 0000000000000000000000000000000000000000..13e9be7bd6d5f5c8e8186ee877d8795debdc7ac1 GIT binary patch literal 101 UcmZQj`N@C^7%@ap<;may0Lf$mJOBUy literal 0 HcmV?d00001 diff --git a/regress/corpus/2068977c49df1d3d18995173c9d9edae79054fe5 b/regress/corpus/2068977c49df1d3d18995173c9d9edae79054fe5 new file mode 100644 index 0000000000000000000000000000000000000000..7f76b255b63075bbcfb4a46789aefa974a11f2a1 GIT binary patch literal 20 XcmZRo(qm=-0&ea<3=E7Q76S(W7o7pg literal 0 HcmV?d00001 diff --git a/regress/corpus/209b7345bb9819a7c1f3aeb20919a79f963d38d6 b/regress/corpus/209b7345bb9819a7c1f3aeb20919a79f963d38d6 new file mode 100644 index 0000000000000000000000000000000000000000..7c0ddc5c7e543c1c6a9d19edadeab69ffe7d4fe3 GIT binary patch literal 28 dcmZQD-^#$iaC`1NMur0k3=E76OdtXb7y(yR1StRj literal 0 HcmV?d00001 diff --git a/regress/corpus/20c5609f737b9d69e29b5998f29a995de2c2ee8c b/regress/corpus/20c5609f737b9d69e29b5998f29a995de2c2ee8c new file mode 100644 index 0000000000000000000000000000000000000000..cd3ca05d836ab1fddbf452356d265a42d69de890 GIT binary patch literal 16 VcmZQt#K5$Ofr9}E_!(Fk7yuFq0c8LH literal 0 HcmV?d00001 diff --git a/regress/corpus/20e120edd7b7be5f6386dbc3dd6f9426deb004b3 b/regress/corpus/20e120edd7b7be5f6386dbc3dd6f9426deb004b3 new file mode 100644 index 0000000000000000000000000000000000000000..e205239773afb559c4867efc842e0d096818f1cb GIT binary patch literal 4 Lcmc~}|H%LV1H%Dt literal 0 HcmV?d00001 diff --git a/regress/corpus/20e47755852cece76433bf3e1b2534272f555a84 b/regress/corpus/20e47755852cece76433bf3e1b2534272f555a84 new file mode 100644 index 0000000000000000000000000000000000000000..f9846a26cc21e1ad0843db4a6e64d8291fbf1e41 GIT binary patch literal 37 ccmZRoVqgS92nbe$&`^qjA(w%Pfgzd!03u@n-T(jq literal 0 HcmV?d00001 diff --git a/regress/corpus/21dc08e05bce2e6f9f20f5933a1e433c4e316666 b/regress/corpus/21dc08e05bce2e6f9f20f5933a1e433c4e316666 new file mode 100644 index 0000000000000000000000000000000000000000..2f02906b38bb1fb81828e1d6fcfe3a6ff5e6405f GIT binary patch literal 30 dcmZQ%P&Q;_`1b!K0|S)$uUVcA!l}#*i~yQy3Q+(6 literal 0 HcmV?d00001 diff --git a/regress/corpus/225115d7103c4ac3cbcb855cc757a4bbe38bde32 b/regress/corpus/225115d7103c4ac3cbcb855cc757a4bbe38bde32 new file mode 100644 index 0000000000000000000000000000000000000000..f45164191835e8980521836c0fc6c991343531a9 GIT binary patch literal 41 ccmZQt#K6GLz@Yda3t(ViXN_fGjRgP%9|0Nw literal 0 HcmV?d00001 diff --git a/regress/corpus/232a46d2379702729f340d89e47fffb3c9c93498 b/regress/corpus/232a46d2379702729f340d89e47fffb3c9c93498 new file mode 100644 index 0000000000000000000000000000000000000000..7c529a5512b10d213a5c3efb969029ca6bdf9e24 GIT binary patch literal 5 McmZQlW%$bg00Nx>B>(^b literal 0 HcmV?d00001 diff --git a/regress/corpus/23d09b303daced036b29340ee28756b0f96e637f b/regress/corpus/23d09b303daced036b29340ee28756b0f96e637f new file mode 100644 index 0000000000000000000000000000000000000000..2a66a2e4124d22f896c80b8d1298a1816315750c GIT binary patch literal 96 gcmZQz00Reo{r@1qT%MB(7GO@!&xJ@)LjL~`0GfRYB>(^b literal 0 HcmV?d00001 diff --git a/regress/corpus/2459f75de1b77cff2593457199afec81627c3c15 b/regress/corpus/2459f75de1b77cff2593457199afec81627c3c15 new file mode 100644 index 0000000000000000000000000000000000000000..82584a7df1717918f53963ae77b4054b934ea536 GIT binary patch literal 48 mcmZRoVyI$ZU<1Pc|5X?mn5q~U89-u6pvcU?zz6^g@d080 literal 0 HcmV?d00001 diff --git a/regress/corpus/25e35a8badd4df4aa19dbbc45cf9935fa240fdaf b/regress/corpus/25e35a8badd4df4aa19dbbc45cf9935fa240fdaf new file mode 100644 index 0000000000000000000000000000000000000000..a82ab569ef36a445aa3d0b7a1cec1540c8cd8a60 GIT binary patch literal 29 McmdnFlL0pX04YuZa{vGU literal 0 HcmV?d00001 diff --git a/regress/corpus/25f6a3963bd5a37aec83b3a8b70917fb22875a01 b/regress/corpus/25f6a3963bd5a37aec83b3a8b70917fb22875a01 new file mode 100644 index 0000000000000000000000000000000000000000..5bd80b4fb5d3c34c684b65a386b067caa5e44a18 GIT binary patch literal 33 icmdP@|8qVwLqZ}0Gb5C|aN$1#3&VdP_{YHT{|5lY!42pD literal 0 HcmV?d00001 diff --git a/regress/corpus/2639bf7fd8827e464e734665f7c8c7a76a88d95b b/regress/corpus/2639bf7fd8827e464e734665f7c8c7a76a88d95b new file mode 100644 index 0000000000000000000000000000000000000000..d4f4d77940917f3962287fae08ec3879926997e7 GIT binary patch literal 23 ZcmZQz0D>Nd|M&j?{|{ubg18Ll830d!20H)% literal 0 HcmV?d00001 diff --git a/regress/corpus/2644fbb18502f0e2c22579cedb87286d7b175c19 b/regress/corpus/2644fbb18502f0e2c22579cedb87286d7b175c19 new file mode 100644 index 0000000000000000000000000000000000000000..1210c3f1b87a9683aa9654af320216a44ddeb7be GIT binary patch literal 18 ZcmezWpNs2%{r~^}xfqz4jTjgh1OQs}2H*ey literal 0 HcmV?d00001 diff --git a/regress/corpus/2670e8c759611cba43c8f6f3c29067c07e50c0c0 b/regress/corpus/2670e8c759611cba43c8f6f3c29067c07e50c0c0 new file mode 100644 index 0000000000000000000000000000000000000000..d8a9c3880a59067a77561604dcb504ad6e1ee25d GIT binary patch literal 30 dcmZQbV_;zV|3Cf!19MFY0~ELcX*M9%2LNgl1oQv^ literal 0 HcmV?d00001 diff --git a/regress/corpus/2681119d4f143dc2da3fea860ff9c96a00bad059 b/regress/corpus/2681119d4f143dc2da3fea860ff9c96a00bad059 new file mode 100644 index 0000000..3fb9d50 --- /dev/null +++ b/regress/corpus/2681119d4f143dc2da3fea860ff9c96a00bad059 @@ -0,0 +1 @@ +ÿÿÿÿÿ¹ÿÿÿÿÿÿ¹ÿÿÿÿÿÿ¹ÿÿÿÿÿÿ¹ÿÿ \ No newline at end of file diff --git a/regress/corpus/2684729a8b4379f9a9587fd9157a0e2d21de9a6f b/regress/corpus/2684729a8b4379f9a9587fd9157a0e2d21de9a6f new file mode 100644 index 0000000000000000000000000000000000000000..6f33c7778b7e6752afe760cd27dac773f006164c GIT binary patch literal 74 qcmd;6U;qQADn@1o21W)}Fi(?#0f-o&Jcc>{*}=kKLJz@2VF3Vu1p?dv literal 0 HcmV?d00001 diff --git a/regress/corpus/26fc80ecf848c3f7244c281e4520371d71f3107e b/regress/corpus/26fc80ecf848c3f7244c281e4520371d71f3107e new file mode 100644 index 0000000000000000000000000000000000000000..23c0b67e1da32a9a991bca3176743a71f02eeb64 GIT binary patch literal 11 QcmZQ727;5tI~f=l02x37!~g&Q literal 0 HcmV?d00001 diff --git a/regress/corpus/274709eba6e19af0d3ebfa0beb74148ea48355a0 b/regress/corpus/274709eba6e19af0d3ebfa0beb74148ea48355a0 new file mode 100644 index 0000000000000000000000000000000000000000..9368644c39728acec37b52e74522a6818487b0d8 GIT binary patch literal 20 XcmZQzU}ONI+=84`=H&cb5StMI9AX0X literal 0 HcmV?d00001 diff --git a/regress/corpus/2785d2b5293c8e69361fd91b0947d474afd91eb8 b/regress/corpus/2785d2b5293c8e69361fd91b0947d474afd91eb8 new file mode 100644 index 0000000000000000000000000000000000000000..2733edd3832d436dc7ffa70d654eefc7ed1701e2 GIT binary patch literal 58 ncmZQzU}RtbVkQO#2UZ3v28RDYZaM22MzA=LjSa~C28sdza}ERM literal 0 HcmV?d00001 diff --git a/regress/corpus/2788a4b3b098433709f617edca10aac90eb57448 b/regress/corpus/2788a4b3b098433709f617edca10aac90eb57448 new file mode 100644 index 0000000000000000000000000000000000000000..dc97f22b4f080e85ee8ed42d5f0225d5437fd4a5 GIT binary patch literal 19 XcmZRoVqjzd0+u!)W?*1sVqyRQ4sQVw literal 0 HcmV?d00001 diff --git a/regress/corpus/278f043071ca288700e8f5414f659626dcad36cc b/regress/corpus/278f043071ca288700e8f5414f659626dcad36cc new file mode 100644 index 0000000000000000000000000000000000000000..0e00bf130e7603caa173a833d0a0351a5fb91a31 GIT binary patch literal 25 PcmZSJV88^73=E6_0Nwx# literal 0 HcmV?d00001 diff --git a/regress/corpus/27c7e5a7e4fc98caf6a970101f0edd78a57e08a3 b/regress/corpus/27c7e5a7e4fc98caf6a970101f0edd78a57e08a3 new file mode 100644 index 0000000000000000000000000000000000000000..012721048f0afff4cd7b5e4c80b208129e87609d GIT binary patch literal 16 VcmZQlW%&D_0SFWs*cqf47yulA0%iaJ literal 0 HcmV?d00001 diff --git a/regress/corpus/27d6a6160a332ce599561d6352e6ac6af9538efd b/regress/corpus/27d6a6160a332ce599561d6352e6ac6af9538efd new file mode 100644 index 0000000000000000000000000000000000000000..d296fbfd9903697748c5a1ac71ef6e08dd4d1136 GIT binary patch literal 8 Pcmd1H%gdW2$iM&q4X*-R literal 0 HcmV?d00001 diff --git a/regress/corpus/284b58105a89c89dfc0b816d7ddad5c06d70a342 b/regress/corpus/284b58105a89c89dfc0b816d7ddad5c06d70a342 new file mode 100644 index 0000000000000000000000000000000000000000..35e1c62b79a998d98cbd6f146387473e1c9ee13d GIT binary patch literal 25 Tcma!MfPx-||3DTijLQH3AK(G( literal 0 HcmV?d00001 diff --git a/regress/corpus/287a41f434d33bb58ae0ab36ae0c2de40d2990eb b/regress/corpus/287a41f434d33bb58ae0ab36ae0c2de40d2990eb new file mode 100644 index 0000000000000000000000000000000000000000..c743ea1e9a361980f2cf562b032fea1ed5a6613b GIT binary patch literal 18 TcmZQ%WMD|n-^9R>zX=KeFo_3- literal 0 HcmV?d00001 diff --git a/regress/corpus/28a275f67c02f8569d6449841167c71de208ee84 b/regress/corpus/28a275f67c02f8569d6449841167c71de208ee84 new file mode 100644 index 0000000000000000000000000000000000000000..f9e1952eaa17690b38459bbdf75096e1f454817a GIT binary patch literal 57 VcmZQzKnA~e{6yxWu(eTm3;=TY0@wfm literal 0 HcmV?d00001 diff --git a/regress/corpus/28d88d81f5f97872f9106f1be4ebe21818276a08 b/regress/corpus/28d88d81f5f97872f9106f1be4ebe21818276a08 new file mode 100644 index 0000000000000000000000000000000000000000..22fedf371e967b5865b69ab9ce03ec05ba995f10 GIT binary patch literal 9 Pcmex&>;D&K1|R?c9EStX literal 0 HcmV?d00001 diff --git a/regress/corpus/2929aa365eb8905608f619efa7b0f9d1a47e41ec b/regress/corpus/2929aa365eb8905608f619efa7b0f9d1a47e41ec new file mode 100644 index 0000000000000000000000000000000000000000..0494e9591cef5084b6ccefa117debee90589f7d5 GIT binary patch literal 44 pcmZRon!o@CbN(~1sR3Dx3<(SjY#^ck|KkrZFxQlT*g!Cu0RXQ<2i^bx literal 0 HcmV?d00001 diff --git a/regress/corpus/2967c03b7326d976d86bb910242c5c6a5245972d b/regress/corpus/2967c03b7326d976d86bb910242c5c6a5245972d new file mode 100644 index 0000000000000000000000000000000000000000..44be639968c54a8e0f87f595de67ce0b7dfca8f8 GIT binary patch literal 32 ccmZQz77<}^U;rXU#{VF&6GSjFFfc%v0K6;^6951J literal 0 HcmV?d00001 diff --git a/regress/corpus/299526d0acfde5aa4f91aa30a230d03fe20912f9 b/regress/corpus/299526d0acfde5aa4f91aa30a230d03fe20912f9 new file mode 100644 index 0000000000000000000000000000000000000000..ccf6cecf59475011e8f4b16061e63148cca44537 GIT binary patch literal 67 ccmZQ%U}OLS4G_V=kZ^zx!ayOhi^7!v0BeT=hX4Qo literal 0 HcmV?d00001 diff --git a/regress/corpus/29abb68d8f80967510e56cb5ef269be410176897 b/regress/corpus/29abb68d8f80967510e56cb5ef269be410176897 new file mode 100644 index 0000000000000000000000000000000000000000..50f5e1d68ce6ea52630d7fa9cbb13274016728f2 GIT binary patch literal 79 rcmZQzU|?iOH~>OGzz9MR2&TXyAW;TJFac2l<$#1>YJqGZPmB=&rJ4eA literal 0 HcmV?d00001 diff --git a/regress/corpus/29f318e193aac254f4f4affac13577e9a6db812f b/regress/corpus/29f318e193aac254f4f4affac13577e9a6db812f new file mode 100644 index 0000000000000000000000000000000000000000..6f3be800162fe6f62904cfd9a755f249aec52ec0 GIT binary patch literal 31 gcmZRo(qm)*0uhlv4onP+4D1Y6Ap933#-PLi06|~_)Bpeg literal 0 HcmV?d00001 diff --git a/regress/corpus/2a2cd720a141b512a71915dcf608a41fa4bb5d24 b/regress/corpus/2a2cd720a141b512a71915dcf608a41fa4bb5d24 new file mode 100644 index 0000000000000000000000000000000000000000..cdc00327eeae892f3e9c23eb78d9502c8a65ae51 GIT binary patch literal 11 Scmd0sJCBj!Kmvm@0|NjTMgr~t literal 0 HcmV?d00001 diff --git a/regress/corpus/2a3c1eb1affc0cd76d261449f86092008f620a9c b/regress/corpus/2a3c1eb1affc0cd76d261449f86092008f620a9c new file mode 100644 index 0000000000000000000000000000000000000000..8b12312d3c1666d60e44aeb089be3ce25f7882fd GIT binary patch literal 69 ecmZRoVn73IKt3CT<`l3ngac&m1&d;rnF0W93j{R) literal 0 HcmV?d00001 diff --git a/regress/corpus/2a443a99441ad42c30179ae728c008efc540f887 b/regress/corpus/2a443a99441ad42c30179ae728c008efc540f887 new file mode 100644 index 0000000000000000000000000000000000000000..9c1c484454efd9975630c4451dd33b25d02e5a67 GIT binary patch literal 11 ScmY$>XJugGWMyF3X$SxXumM#7 literal 0 HcmV?d00001 diff --git a/regress/corpus/2a4f29ecaa5cd9ca8e8efd8b0b1235d8fd804e5f b/regress/corpus/2a4f29ecaa5cd9ca8e8efd8b0b1235d8fd804e5f new file mode 100644 index 0000000000000000000000000000000000000000..1ae1df8e1deff71f162f4974be4f9aaad49d011a GIT binary patch literal 15 UcmY$>XJuezU|`S(B7Fu%00-s(?f?J) literal 0 HcmV?d00001 diff --git a/regress/corpus/2a965ee6a7ce02a05004a18851a127836158536e b/regress/corpus/2a965ee6a7ce02a05004a18851a127836158536e new file mode 100644 index 0000000000000000000000000000000000000000..efff7ef8249d5bd763aaac7ed88bebe56676aecb GIT binary patch literal 53 mcmZQzNI1a2z{J47z{sQxB*B0YNP;i}<4zFC0a5}2FeLzEt^;EL literal 0 HcmV?d00001 diff --git a/regress/corpus/2aa8b41d4e859203e7be58ee8075081f13e3b921 b/regress/corpus/2aa8b41d4e859203e7be58ee8075081f13e3b921 new file mode 100644 index 0000000000000000000000000000000000000000..0c14cc31038b2da2360530875f8f14c8f83e55da GIT binary patch literal 32 ZcmZRoVqj!I0S*j|jQ{`d1dAsNEnC^L=T*ctPLi30HkR$h+qT& D<>3gF literal 0 HcmV?d00001 diff --git a/regress/corpus/2ab293e6fd7dbc1fdafd25df72811b4213697dd3 b/regress/corpus/2ab293e6fd7dbc1fdafd25df72811b4213697dd3 new file mode 100644 index 0000000..328599f --- /dev/null +++ b/regress/corpus/2ab293e6fd7dbc1fdafd25df72811b4213697dd3 @@ -0,0 +1 @@ +¹¹ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ \ No newline at end of file diff --git a/regress/corpus/2b6b9bb40e334b52ff2a8a56bdbda98987bfc7ff b/regress/corpus/2b6b9bb40e334b52ff2a8a56bdbda98987bfc7ff new file mode 100644 index 0000000000000000000000000000000000000000..7d5ac157b307ce4373233a22b057a6094268112f GIT binary patch literal 17 Zcmey*wf{fY|NsAu{&R6LhcYvS0svSc2gCpX literal 0 HcmV?d00001 diff --git a/regress/corpus/2b813f8a1d791bdca3a228eae39e74382630e098 b/regress/corpus/2b813f8a1d791bdca3a228eae39e74382630e098 new file mode 100644 index 0000000000000000000000000000000000000000..2607c415dfee5cb354ac8bc808ba63dbf4af90aa GIT binary patch literal 33 kcmZQ%U|?VbVh~_1FE3|Lt(ZNjASabMIX{ja@0+9M&_jeVOHjn`TJbeXR literal 0 HcmV?d00001 diff --git a/regress/corpus/2d17624b92f3d77c188f21d5e378dec96740062e b/regress/corpus/2d17624b92f3d77c188f21d5e378dec96740062e new file mode 100644 index 0000000000000000000000000000000000000000..2e3a3c6003da0f1b4be19367b3841629532b93a8 GIT binary patch literal 107 hcmZQj`N_b*%zy+KK_bWi&Yg)YN|?>a@c%!uDga)w1<(Kh literal 0 HcmV?d00001 diff --git a/regress/corpus/2d3e2b4bb1dc338154113cb3b5d74f110729b59f b/regress/corpus/2d3e2b4bb1dc338154113cb3b5d74f110729b59f new file mode 100644 index 0000000000000000000000000000000000000000..06297ff1f8d13d9a040e7fd223de25dc07aad11b GIT binary patch literal 15 WcmZQt#K6G7$iNW$|KI literal 0 HcmV?d00001 diff --git a/regress/corpus/2d968b48bde767b013d3b4d6d09afd55d95d4506 b/regress/corpus/2d968b48bde767b013d3b4d6d09afd55d95d4506 new file mode 100644 index 0000000000000000000000000000000000000000..10a682822cb5c9e8d22f2ff6799f44c8d6dce265 GIT binary patch literal 92 gcmZRY$-uzK00vAgiVO@)=EMMyN(M$lh(4So08mc~5C8xG literal 0 HcmV?d00001 diff --git a/regress/corpus/2d9c2bcd663bab5c17e3e1ae6690218abe1d9df9 b/regress/corpus/2d9c2bcd663bab5c17e3e1ae6690218abe1d9df9 new file mode 100644 index 0000000000000000000000000000000000000000..080980f92053c89647984e4e2249bf4f9535bf2e GIT binary patch literal 28 gcmZSl|NnpQ|Nq`#@SlN`*&;QEk%57MkwKXO0K$9;g#Z8m literal 0 HcmV?d00001 diff --git a/regress/corpus/2dbc9b7cd7847b9da50ec7f9a7c5bf191ed2b900 b/regress/corpus/2dbc9b7cd7847b9da50ec7f9a7c5bf191ed2b900 new file mode 100644 index 0000000000000000000000000000000000000000..7ff94817c7e6683b08a9404c8f2ecea8b07bd98b GIT binary patch literal 3 KcmezIiU9xwzX9U_ literal 0 HcmV?d00001 diff --git a/regress/corpus/2dddb569d67174115a1b19323a6186f4fef484e3 b/regress/corpus/2dddb569d67174115a1b19323a6186f4fef484e3 new file mode 100644 index 0000000000000000000000000000000000000000..52af6bd28f7149b508ffaf16e59b22a83db556ef GIT binary patch literal 16 TcmexSrLWJ(%K!$<42%u{9Fzhh literal 0 HcmV?d00001 diff --git a/regress/corpus/2e7e89fe53b4273edf1f2be21931e8db12dc530c b/regress/corpus/2e7e89fe53b4273edf1f2be21931e8db12dc530c new file mode 100644 index 0000000..9e6e88b --- /dev/null +++ b/regress/corpus/2e7e89fe53b4273edf1f2be21931e8db12dc530c @@ -0,0 +1 @@ +8üÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝ \ No newline at end of file diff --git a/regress/corpus/2ef35dbabd9ba2c5690c80157c5dd6bf8ed346c6 b/regress/corpus/2ef35dbabd9ba2c5690c80157c5dd6bf8ed346c6 new file mode 100644 index 0000000000000000000000000000000000000000..c7a9e709805dfaee5060b240a33d03b31ce2fe35 GIT binary patch literal 31 ecmZROVq}oH&&Y5ffdK*-!PI{S22BR0R7LT@qz`$^OE&~H21A`L-<6i~_J)i)H*TA3#5eD%Wfe0XgNkUl$7K{Ko!Up01 literal 0 HcmV?d00001 diff --git a/regress/corpus/2f5e27af4ddf6e2bcfb022d57f9d2fefd327adfa b/regress/corpus/2f5e27af4ddf6e2bcfb022d57f9d2fefd327adfa new file mode 100644 index 0000000000000000000000000000000000000000..5da6d507e9642f917b6457294c69b9469d64a547 GIT binary patch literal 7 Ocmd0sB*>u6zz6^bOaVRs literal 0 HcmV?d00001 diff --git a/regress/corpus/2f7957edf4956a19a4dacbd977fd78aeb006b673 b/regress/corpus/2f7957edf4956a19a4dacbd977fd78aeb006b673 new file mode 100644 index 0000000000000000000000000000000000000000..44c57e08e217006f088efc9f83b4259bf3eae5a0 GIT binary patch literal 28 bcmZQz_|G6F%K!vSEnou3W@=FcG8qj4Gs6Ql literal 0 HcmV?d00001 diff --git a/regress/corpus/2fb870f6dd282bc931a49cf5de4b09e26c6b71fd b/regress/corpus/2fb870f6dd282bc931a49cf5de4b09e26c6b71fd new file mode 100644 index 0000000000000000000000000000000000000000..08675ce6abfa6b09dcaff9bbe43a19c9aa9aae21 GIT binary patch literal 18 ZcmZROVqj!o5MW?nNM&GPWa8Y(000MF0agG2 literal 0 HcmV?d00001 diff --git a/regress/corpus/300e4721e35934f03c836a69d92ab7faba459792 b/regress/corpus/300e4721e35934f03c836a69d92ab7faba459792 new file mode 100644 index 0000000000000000000000000000000000000000..553d33f55268e620a970a7cb2e3d0149b02d7e5e GIT binary patch literal 11 PcmZRoVqjzdp+yV;1~vg9 literal 0 HcmV?d00001 diff --git a/regress/corpus/3010964490465fc0165733cc957861c8542f1e23 b/regress/corpus/3010964490465fc0165733cc957861c8542f1e23 new file mode 100644 index 0000000000000000000000000000000000000000..9a45b42bb9b7dfb65c4ac41036ee4112e32abf25 GIT binary patch literal 27 ccmZQ%00Blu0S1QTd?0JnrcJAXcoUEb05`w}ZvX%Q literal 0 HcmV?d00001 diff --git a/regress/corpus/303cd9332ba168a1236bc6bdaede24e3a2d3d34c b/regress/corpus/303cd9332ba168a1236bc6bdaede24e3a2d3d34c new file mode 100644 index 0000000000000000000000000000000000000000..9c4a8e7ebdba1d9259f103e21e7c96d2371d47ef GIT binary patch literal 19 TcmZRoVqj!|gGCJg|1$yr5d#As literal 0 HcmV?d00001 diff --git a/regress/corpus/3058c1b168ddb4f64ada0d80dd85bd866f61f5f2 b/regress/corpus/3058c1b168ddb4f64ada0d80dd85bd866f61f5f2 new file mode 100644 index 0000000000000000000000000000000000000000..de8c96e97e6321349390eee9743cc5736f0bf317 GIT binary patch literal 47 ecmeyv@Zab^0|)>~b}$2j_`ee*#KOq*|33i9#s}~K literal 0 HcmV?d00001 diff --git a/regress/corpus/30a6be573b7ea9b40b03863295d1a53b724acfad b/regress/corpus/30a6be573b7ea9b40b03863295d1a53b724acfad new file mode 100644 index 0000000000000000000000000000000000000000..0af3abdaac7e5f96796a7fa9c534b798c0a48f6a GIT binary patch literal 7 OcmZQ&U|_IUWdHyHF#u`+ literal 0 HcmV?d00001 diff --git a/regress/corpus/30f1ff183a8fc2826d795d8cd062249781f2440c b/regress/corpus/30f1ff183a8fc2826d795d8cd062249781f2440c new file mode 100644 index 0000000000000000000000000000000000000000..980148cd09fa795b601eee7447b6d2abdb98d97e GIT binary patch literal 33 icmZQ%U|?VbVh~_1FE3|Lt(ZNjASabMIX@R9!w3LRbOr$c literal 0 HcmV?d00001 diff --git a/regress/corpus/31072690f473a69093626af90f1fb6a48522b99f b/regress/corpus/31072690f473a69093626af90f1fb6a48522b99f new file mode 100644 index 0000000000000000000000000000000000000000..2ca0995fe1905867a305f367ac5652ecc0ef118f GIT binary patch literal 88 zcmZRon!o@CbN(~1sR3Dx3<(SjZ2uV;+^~s*#GrC)K&C#!0R{yq3Dn61#0Nl1CNls4 DCu9q5 literal 0 HcmV?d00001 diff --git a/regress/corpus/311b3909dd9ee0d129484aa77e8d50f26f33b7e3 b/regress/corpus/311b3909dd9ee0d129484aa77e8d50f26f33b7e3 new file mode 100644 index 0000000000000000000000000000000000000000..280dfa7f4dd735f4f0861ab2b9a228eb399c8b25 GIT binary patch literal 157 tcmZROV*LN#;Q#;s40HfMYrvqK6=<0N#6qxu69ZHREcX9@Du`xe006MB9Ay9i literal 0 HcmV?d00001 diff --git a/regress/corpus/319058dbfda82da45689707a1022f2a29ff2deab b/regress/corpus/319058dbfda82da45689707a1022f2a29ff2deab new file mode 100644 index 0000000000000000000000000000000000000000..418b1395057a7d016f029821e0017bb5cfb60411 GIT binary patch literal 31 dcmZQ%U|?VbVi0%_BJvpwKonyx0|R?1BLE%U0&D;P literal 0 HcmV?d00001 diff --git a/regress/corpus/3193c89c5787c9dd98b9a0855e1759d5a98cf4d0 b/regress/corpus/3193c89c5787c9dd98b9a0855e1759d5a98cf4d0 new file mode 100644 index 0000000..ada7621 --- /dev/null +++ b/regress/corpus/3193c89c5787c9dd98b9a0855e1759d5a98cf4d0 @@ -0,0 +1 @@ +ÿÿÿ¹ÿÿÿÿÿÿ¹ÿÿÿ \ No newline at end of file diff --git a/regress/corpus/323130e242fce4de003bdde4f4b1216d3ebb30a2 b/regress/corpus/323130e242fce4de003bdde4f4b1216d3ebb30a2 new file mode 100644 index 0000000000000000000000000000000000000000..e499ca15be717c86698b801f75808a568872bc8d GIT binary patch literal 17 Ycmd;6U|?YQ^Y=dkL%Ajc!zpG504je3)Bpeg literal 0 HcmV?d00001 diff --git a/regress/corpus/32d43a9115ece8e3dc8569a396cfb73093247cbb b/regress/corpus/32d43a9115ece8e3dc8569a396cfb73093247cbb new file mode 100644 index 0000000000000000000000000000000000000000..dc6d43a91926f07ab0a948feba4e49359a973191 GIT binary patch literal 19 RcmZQ%U}8W3W(M|DMgRdf0CWHV literal 0 HcmV?d00001 diff --git a/regress/corpus/33a9cfceb5d8066702ed804e7966bad5a7c88e04 b/regress/corpus/33a9cfceb5d8066702ed804e7966bad5a7c88e04 new file mode 100644 index 0000000000000000000000000000000000000000..31b5f8a251cbf8bba8ea4e1a7e12a6969a12b5fb GIT binary patch literal 120 ncmZQ%U}OLS#+@LNA>jZYm_{YEWi}q>luKoJz(a)dIpC7`x7+v837r)58(g+ literal 0 HcmV?d00001 diff --git a/regress/corpus/33f8a99df3d81daa6ab63fbbbdc9e86342c5224f b/regress/corpus/33f8a99df3d81daa6ab63fbbbdc9e86342c5224f new file mode 100644 index 0000000000000000000000000000000000000000..82c104577bcc994e0152f19750d82bd3239409f1 GIT binary patch literal 19 YcmZRoVqj!oaA06${QsW;1Qsy>03KxnU;qFB literal 0 HcmV?d00001 diff --git a/regress/corpus/34123b3cc13aa3f9bd2ed66318bde6ababead504 b/regress/corpus/34123b3cc13aa3f9bd2ed66318bde6ababead504 new file mode 100644 index 0000000000000000000000000000000000000000..becf69d5bf5bd3bda00986d6b0f88e25ac42765e GIT binary patch literal 38 lcmYdbVEE4XJr5ZFv-clpbtd)42%E^ECBZa literal 0 HcmV?d00001 diff --git a/regress/corpus/3439bb3bdf88f354e0620bad20cd2521d649c69c b/regress/corpus/3439bb3bdf88f354e0620bad20cd2521d649c69c new file mode 100644 index 0000000000000000000000000000000000000000..2162b187e794a8fd7c6985fbe699af20365d4450 GIT binary patch literal 6 Ncmd0sB*?(P000HJ0TKWJ literal 0 HcmV?d00001 diff --git a/regress/corpus/353358e6df47a6d8cc9770c01f416286b2e0a452 b/regress/corpus/353358e6df47a6d8cc9770c01f416286b2e0a452 new file mode 100644 index 0000000..e74ba8e --- /dev/null +++ b/regress/corpus/353358e6df47a6d8cc9770c01f416286b2e0a452 @@ -0,0 +1 @@ +@ ÿÿ \ No newline at end of file diff --git a/regress/corpus/35696d71e38e278590def3e6bf935e1a2d3fac49 b/regress/corpus/35696d71e38e278590def3e6bf935e1a2d3fac49 new file mode 100644 index 0000000000000000000000000000000000000000..dde7d1913298bb02dc6665ea1e6d61f85ab05af2 GIT binary patch literal 30 WcmZRodcn^C1dI$28o^)!iUI&f7XxMh literal 0 HcmV?d00001 diff --git a/regress/corpus/35899680e1250f122276fd0eedfff06031a89236 b/regress/corpus/35899680e1250f122276fd0eedfff06031a89236 new file mode 100644 index 0000000000000000000000000000000000000000..a2e6daa9609b1c2615d2d6d5cad09f61973ebb3c GIT binary patch literal 33 acmZQ%U|?Wm6kuRT&fkOvav2!dQyBreDh%KN literal 0 HcmV?d00001 diff --git a/regress/corpus/3594bb3f4f5107d5506a5ca1013f866c39b8556a b/regress/corpus/3594bb3f4f5107d5506a5ca1013f866c39b8556a new file mode 100644 index 0000000000000000000000000000000000000000..0f5353d04c42804b2e01531a6352a6788c0e30d8 GIT binary patch literal 14 UcmZQt!~g^=tf}+oGpRBH01)j0c>n+a literal 0 HcmV?d00001 diff --git a/regress/corpus/35c43955fb140ff140b6e674ed21d80614675a2e b/regress/corpus/35c43955fb140ff140b6e674ed21d80614675a2e new file mode 100644 index 0000000000000000000000000000000000000000..16c510875d07584a2a1c4acc7baf8330a231d8a3 GIT binary patch literal 136 Pcmewn`;U=f-~lfHI_Lso literal 0 HcmV?d00001 diff --git a/regress/corpus/35e51a411331106d14089b211a3cb0666b2142cc b/regress/corpus/35e51a411331106d14089b211a3cb0666b2142cc new file mode 100644 index 0000000000000000000000000000000000000000..2feb0939e91bcdd39f58118dc8442d41827a6aba GIT binary patch literal 196 zcmZQ%U}OLS4G_VgnV`wQcR=%lCIT2Dm{67g3?#!CB+@Iql{{R3h4;GyO literal 0 HcmV?d00001 diff --git a/regress/corpus/37aadc6d4e6335c87ac50b9631c9c7ffe765ca1c b/regress/corpus/37aadc6d4e6335c87ac50b9631c9c7ffe765ca1c new file mode 100644 index 0000000000000000000000000000000000000000..6e4f0f8e8ef6a4fa253b760da233de69cb7f1b08 GIT binary patch literal 79 acmZQj`N;qQEMQ6y%46__F^Hhq;c5VD^8tqd literal 0 HcmV?d00001 diff --git a/regress/corpus/37d15e7ccdfaf9180d54744ad215e610e1348dfc b/regress/corpus/37d15e7ccdfaf9180d54744ad215e610e1348dfc new file mode 100644 index 0000000000000000000000000000000000000000..6dfbb1ada1cfcd9b9084ced1e57137cb2902696b GIT binary patch literal 21 YcmZQz77<}^0AU6oVr2aP|3AZj02{dl5&!@I literal 0 HcmV?d00001 diff --git a/regress/corpus/38434a90d441a9fb09ba0fc40ce8c52043d05a05 b/regress/corpus/38434a90d441a9fb09ba0fc40ce8c52043d05a05 new file mode 100644 index 0000000000000000000000000000000000000000..f36745f52a0df20c8d575a751d0112f40f2de7cc GIT binary patch literal 21 Ycmeyv@E-zp{@?kZf#DAe1JnQi0I?ztW&i*H literal 0 HcmV?d00001 diff --git a/regress/corpus/387708af8f56a45c5cdc25febd3846c15427379d b/regress/corpus/387708af8f56a45c5cdc25febd3846c15427379d new file mode 100644 index 0000000000000000000000000000000000000000..89f9ded1abb5beff5e511d6f36f294f0c80af4ba GIT binary patch literal 84 zcmZRon!o@CbN(~1sR3Dx3<(SjZ2uV;+^~s*#GrC)K&C!ZX-P>@HxM&2CgVmQE{ GzyJUq_6@B7 literal 0 HcmV?d00001 diff --git a/regress/corpus/38944a1cbfd36341053ed8e51225571fec974d80 b/regress/corpus/38944a1cbfd36341053ed8e51225571fec974d80 new file mode 100644 index 0000000000000000000000000000000000000000..3e9ebed7bf731fc56030d81ba1e528e03720289c GIT binary patch literal 89 jcmZQDXMg}!W)Q6hA{ZeoWHv(BAHf8%V5(7t4H*~#XJZ0} literal 0 HcmV?d00001 diff --git a/regress/corpus/396ee16d969a15a701832cec9b08b94b5b4be6bb b/regress/corpus/396ee16d969a15a701832cec9b08b94b5b4be6bb new file mode 100644 index 0000000000000000000000000000000000000000..d231c2471f808186ecaf6e0d8419837008b46fa6 GIT binary patch literal 132 gcmdPbW@KOnqDUn05s8hT`R6Vw0IS9-h{v300A$QO*8l(j literal 0 HcmV?d00001 diff --git a/regress/corpus/39d643b43868b8d966ceed5a2ce8373cdbc04d52 b/regress/corpus/39d643b43868b8d966ceed5a2ce8373cdbc04d52 new file mode 100644 index 0000000000000000000000000000000000000000..f1193d6fa7f6e02599950f214c1ff533c20253ae GIT binary patch literal 18 TcmbOv$iTn=!kj?NU<jLZxStPBkEnbNBg<})(X{r~@;l>tb=!G1Uk4wF)}eS QFoNxv4<;F^7BMga07XS-k^lez literal 0 HcmV?d00001 diff --git a/regress/corpus/3aad256bb20731d55e953a0a0680b320607e2b14 b/regress/corpus/3aad256bb20731d55e953a0a0680b320607e2b14 new file mode 100644 index 0000000000000000000000000000000000000000..78a3467e42206508fb6ae7e158a8079743b03ae6 GIT binary patch literal 77 tcmYdbVEE4Nd|M&j?{|{ub0x=^4gWPYBFbIGcTp$Lk9*6*9rbR#nnjlrm20*Sh0Gq7| A5C8xG literal 0 HcmV?d00001 diff --git a/regress/corpus/3b48ce37cb4a9595f307da92804038b192550747 b/regress/corpus/3b48ce37cb4a9595f307da92804038b192550747 new file mode 100644 index 0000000000000000000000000000000000000000..5d352efd6f91ee13d8413c73ff7b802fcb43290a GIT binary patch literal 28 RcmZSJV88&3KoKBj1ONd601N;C literal 0 HcmV?d00001 diff --git a/regress/corpus/3c1c5e1289b14cc90748c8b1cd097dfff0c90b0e b/regress/corpus/3c1c5e1289b14cc90748c8b1cd097dfff0c90b0e new file mode 100644 index 0000000000000000000000000000000000000000..65afe9234dfeb3919fcdb000a4cd5e4c2a0ff167 GIT binary patch literal 49 fcmZRoVqj!oU}9j1W&i>pjRIieKtWC*Rs~`JEhhnJ literal 0 HcmV?d00001 diff --git a/regress/corpus/3c2e7c16a57cae362822bacbb30a9db4e1efa06c b/regress/corpus/3c2e7c16a57cae362822bacbb30a9db4e1efa06c new file mode 100644 index 0000000000000000000000000000000000000000..0cd6589ee94420487935d93b938a104705cd07d6 GIT binary patch literal 8 Mcmd0sB**{)00-Ow5&!@I literal 0 HcmV?d00001 diff --git a/regress/corpus/3c5fe231aac61d6c7fff4d587d3f4cccb4d4c97a b/regress/corpus/3c5fe231aac61d6c7fff4d587d3f4cccb4d4c97a new file mode 100644 index 0000000000000000000000000000000000000000..f0df7307fe3324bdb85500d9c8788f169ac6f4b2 GIT binary patch literal 17 VcmZRoVq|7uU}OMcCWfj-3;+t+0igf@ literal 0 HcmV?d00001 diff --git a/regress/corpus/3c71ed87d767c058e43a2616fff6d16f1e4df38a b/regress/corpus/3c71ed87d767c058e43a2616fff6d16f1e4df38a new file mode 100644 index 0000000000000000000000000000000000000000..dd4f1b79fd069dbde4fa38c500a9a3704e2b274a GIT binary patch literal 22 Xcmd;6V1NR~R7M7dA63f#8Q2*B7PJE~ literal 0 HcmV?d00001 diff --git a/regress/corpus/3c8673549c42cbaa4884640aab4896cb5e505815 b/regress/corpus/3c8673549c42cbaa4884640aab4896cb5e505815 new file mode 100644 index 0000000000000000000000000000000000000000..ae7f2962e6a62c9f5fb92f701fcf5aca02c34f21 GIT binary patch literal 23 bcmZQDXJBBs4a5u#|2Y{L8JHM=1Op=gAgTf& literal 0 HcmV?d00001 diff --git a/regress/corpus/3d9cbe2ddba62cfa3a0885add69c8ce2ab279f72 b/regress/corpus/3d9cbe2ddba62cfa3a0885add69c8ce2ab279f72 new file mode 100644 index 0000000000000000000000000000000000000000..f61e5ba85218d367e7a517e38bf3a5b8ab7f59b3 GIT binary patch literal 22 VcmZRoVq|7uU}S*fsznS&3;+-V0nz{f literal 0 HcmV?d00001 diff --git a/regress/corpus/3de78e062d58653c0ac406b7ad5666d6c12851f2 b/regress/corpus/3de78e062d58653c0ac406b7ad5666d6c12851f2 new file mode 100644 index 0000000..b3b7f99 --- /dev/null +++ b/regress/corpus/3de78e062d58653c0ac406b7ad5666d6c12851f2 @@ -0,0 +1 @@ +55555555555555511111110 \ No newline at end of file diff --git a/regress/corpus/3e367c8f6035bb61685ccdcd7ece2f3cd4d97cae b/regress/corpus/3e367c8f6035bb61685ccdcd7ece2f3cd4d97cae new file mode 100644 index 0000000000000000000000000000000000000000..79a19a9275e7bb89105d6aed33ce2d388eeec8a8 GIT binary patch literal 37 jcmZQDXJBBM&A=eT@c;jR1_m7lFdxj+(b2j6A4~uMvI+~( literal 0 HcmV?d00001 diff --git a/regress/corpus/3e427b08d214b610fdf6a79409b1675e617500cd b/regress/corpus/3e427b08d214b610fdf6a79409b1675e617500cd new file mode 100644 index 0000000000000000000000000000000000000000..9269acd8e48aaaa3f4bd3586328701060913771a GIT binary patch literal 30 YcmZQ%U@vE2$Vp{RR?THV0qj5?05muPPyhe` literal 0 HcmV?d00001 diff --git a/regress/corpus/3e5df3a465e2700ce2a6162943e2414144903a12 b/regress/corpus/3e5df3a465e2700ce2a6162943e2414144903a12 new file mode 100644 index 0000000000000000000000000000000000000000..e6b5b9f18fb3ad7dca1ced584296f65a46fd7ed3 GIT binary patch literal 7 Ocmd1H%bO&~zyJUWJ^}6k literal 0 HcmV?d00001 diff --git a/regress/corpus/3e9a73ea8210799e931e347dbae082c56ba7ac83 b/regress/corpus/3e9a73ea8210799e931e347dbae082c56ba7ac83 new file mode 100644 index 0000000000000000000000000000000000000000..0b1d2fb989cc468ce5ee64b906eeb92151d94965 GIT binary patch literal 33 bcmZQD->S&KaCsG= literal 0 HcmV?d00001 diff --git a/regress/corpus/3fd61183fe5d8adda5d35a778ca52bbd3b288912 b/regress/corpus/3fd61183fe5d8adda5d35a778ca52bbd3b288912 new file mode 100644 index 0000000000000000000000000000000000000000..c8845878baa32a8942aebe9378c71fdbbdb58bb3 GIT binary patch literal 29 bcmZQt#K_3R00N4P3=GUOfD8}~7GVSc9hd=Y literal 0 HcmV?d00001 diff --git a/regress/corpus/3fde52494ae3583a12011d1b205e60af3c716d69 b/regress/corpus/3fde52494ae3583a12011d1b205e60af3c716d69 new file mode 100644 index 0000000000000000000000000000000000000000..c30ecd409d29ebccff7fbd05868b718745165618 GIT binary patch literal 8 PcmZQt#K7=Bh2cK{3atYN literal 0 HcmV?d00001 diff --git a/regress/corpus/3ffba24e312037bf35fbf5d4b283c499eee33906 b/regress/corpus/3ffba24e312037bf35fbf5d4b283c499eee33906 new file mode 100644 index 0000000000000000000000000000000000000000..a9c82d625ea8caebec4c16a28c7d081d0e1cb99c GIT binary patch literal 39 lcmZRon!o@CbN(~1sR3Dx3<(SjY#^ck|KkrZFoRf=832W#2JQd= literal 0 HcmV?d00001 diff --git a/regress/corpus/403cf7da34f75c24898992e8dc8d014e684929ae b/regress/corpus/403cf7da34f75c24898992e8dc8d014e684929ae new file mode 100644 index 0000000000000000000000000000000000000000..f789ccc06c6219aff17dc1f4ca7016f567b25e63 GIT binary patch literal 3 KcmezOodEy@>jCxv literal 0 HcmV?d00001 diff --git a/regress/corpus/4040349072e187379c686d3c1e8cbb3086f6b9ee b/regress/corpus/4040349072e187379c686d3c1e8cbb3086f6b9ee new file mode 100644 index 0000000000000000000000000000000000000000..c02814fb179132c69e6a8d853331e9264ac0a578 GIT binary patch literal 59 ncmZQ#V_>`d|NnnRH3s%_28J95=491e1`MFk?1C)T4B`L)MTQ5G literal 0 HcmV?d00001 diff --git a/regress/corpus/4053a862cb02dbdd9bb1c3448b7fea6952f881fc b/regress/corpus/4053a862cb02dbdd9bb1c3448b7fea6952f881fc new file mode 100644 index 0000000000000000000000000000000000000000..9bc00e63234d4cdfac4c9f39fd7d0b8a35f30faf GIT binary patch literal 24 dcmdP@|C5;^A(4TZ5kxXF+%UiJpMizp2LM~u2aEs! literal 0 HcmV?d00001 diff --git a/regress/corpus/409ba2e2ed53e29e5e8715e68474e31235b0d48e b/regress/corpus/409ba2e2ed53e29e5e8715e68474e31235b0d48e new file mode 100644 index 0000000000000000000000000000000000000000..36b8ccb25fa5bc7a78f336871872fb0906a372a3 GIT binary patch literal 27 icmdP@|8qXG!k!fj4FCVv7iSgzs|T|7CulP0GXem;J`4>2 literal 0 HcmV?d00001 diff --git a/regress/corpus/40e42ca1cae27b745c4592353babbfdaaa072591 b/regress/corpus/40e42ca1cae27b745c4592353babbfdaaa072591 new file mode 100644 index 0000000000000000000000000000000000000000..590cb88b38b276b7cb8bdef2ed1195d77279a002 GIT binary patch literal 23 dcmZQt#K^?Jz`&?%$iTo3WH2yrFsSP@0ss_(0b>9F literal 0 HcmV?d00001 diff --git a/regress/corpus/41111dd31321431f1dc1fd5d2eb98b898863570c b/regress/corpus/41111dd31321431f1dc1fd5d2eb98b898863570c new file mode 100644 index 0000000000000000000000000000000000000000..216f7b039a9fb49a84302b0f3eced18e6c82a733 GIT binary patch literal 14 ScmZQt#KZssiVO@)42%E?NdU_L literal 0 HcmV?d00001 diff --git a/regress/corpus/4136010d05a3029994ea3bdda4398993ae871c16 b/regress/corpus/4136010d05a3029994ea3bdda4398993ae871c16 new file mode 100644 index 0000000000000000000000000000000000000000..f49c29aa5862e8998134b402a35cf528af984cb3 GIT binary patch literal 29 icmdP@|8qVwLqZ}0!~g&K|Mh`@;rD+a`~Uxc44MGSqz;e( literal 0 HcmV?d00001 diff --git a/regress/corpus/414c8014455d6efe6eaaeff34784b0e2f32bc4a0 b/regress/corpus/414c8014455d6efe6eaaeff34784b0e2f32bc4a0 new file mode 100644 index 0000000000000000000000000000000000000000..e0f66c5f7971faadbfa427e5355b2b74f179ff0a GIT binary patch literal 30 WcmZQ%U|?WO&0z#l44SAwnE?PS$pc^j literal 0 HcmV?d00001 diff --git a/regress/corpus/416419ee5586d4b9ab69cea505e662dcdeede61a b/regress/corpus/416419ee5586d4b9ab69cea505e662dcdeede61a new file mode 100644 index 0000000000000000000000000000000000000000..7b4a0907edda04dfef162f84602bf21e5870bbd8 GIT binary patch literal 13 RcmZQ727!~sI~f>?82}?u1gZc4 literal 0 HcmV?d00001 diff --git a/regress/corpus/41af7d0ec9cb0d57f394dd15fbb035d55d4110fc b/regress/corpus/41af7d0ec9cb0d57f394dd15fbb035d55d4110fc new file mode 100644 index 0000000000000000000000000000000000000000..ebe3106da2bddb1201af408329d8c741933b9bb2 GIT binary patch literal 15 RcmZQt#K^>8#=y=10RRhv0ObGx literal 0 HcmV?d00001 diff --git a/regress/corpus/41bbaa298c4c4e908a176d252144db2f9e12be19 b/regress/corpus/41bbaa298c4c4e908a176d252144db2f9e12be19 new file mode 100644 index 0000000000000000000000000000000000000000..88d88abd339e0a3b82c458a71365102fc7307b63 GIT binary patch literal 145 zcmZRoV!!~t3~UT+nhXpqQ&6QqqQCw#PhmjPL#$c{h6IpdAAlI$@Q*+dAYl6cKmGv2 F6aZrc5H@!eL+n@&GOd0&f5S literal 0 HcmV?d00001 diff --git a/regress/corpus/437580361f6609b9c37abe8ea3ae7c92fcf12b3f b/regress/corpus/437580361f6609b9c37abe8ea3ae7c92fcf12b3f new file mode 100644 index 0000000000000000000000000000000000000000..8052b249dcc5faecc933b45fb6cc7e5ef90faba3 GIT binary patch literal 28 ecmZQ%U}OLS#+@LNA>ja@0+9M&_jeVOHUj`L#RXgd literal 0 HcmV?d00001 diff --git a/regress/corpus/439a5209d64467e7a5873ce1bd2837d9ed47bf21 b/regress/corpus/439a5209d64467e7a5873ce1bd2837d9ed47bf21 new file mode 100644 index 0000000000000000000000000000000000000000..fc6084c03e84270ca8f538dbb40edcc0446f6a73 GIT binary patch literal 11 QcmZQ_V%VSX9|-su03BBaZU6uP literal 0 HcmV?d00001 diff --git a/regress/corpus/43a1a1d28b25989db93fa683946e810c26aad67d b/regress/corpus/43a1a1d28b25989db93fa683946e810c26aad67d new file mode 100644 index 0000000000000000000000000000000000000000..a75e5c96999da06bf8adac4151f2db5b03ec0078 GIT binary patch literal 34 fcmZQD`wsz(K#GAuhryhIfnhd?1p>GK>*xRgJ>L&G literal 0 HcmV?d00001 diff --git a/regress/corpus/44226925646a23e6a65d8121e1e68fc6f901b06b b/regress/corpus/44226925646a23e6a65d8121e1e68fc6f901b06b new file mode 100644 index 0000000000000000000000000000000000000000..df9fdfedf6eacb94271cd84f7271494a9a1b0d38 GIT binary patch literal 93 gcmZQz0D>Nd|M!^gF)%Xx|NkGzWd(^*3P1({00(UcOaK4? literal 0 HcmV?d00001 diff --git a/regress/corpus/450999aa78da3940ea61da0fbe7e5f2a0b249b69 b/regress/corpus/450999aa78da3940ea61da0fbe7e5f2a0b249b69 new file mode 100644 index 0000000000000000000000000000000000000000..704c46bb67670285ba80c79cba39ecdb81a8af91 GIT binary patch literal 44 RcmZQt#8}6G39t$N0027o0-FE; literal 0 HcmV?d00001 diff --git a/regress/corpus/452c399f3b1de9df7ddf7997b6dc5abf7560c9b2 b/regress/corpus/452c399f3b1de9df7ddf7997b6dc5abf7560c9b2 new file mode 100644 index 0000000000000000000000000000000000000000..bfa0b18297fc2d7ace69d8855c2c952467a8a54d GIT binary patch literal 11 QcmdPb*Jog0&MF5C#JSBai{Y42(M=LNGZ1LpuUF literal 0 HcmV?d00001 diff --git a/regress/corpus/46c2c633ccb9d653a3d620005fde492fe0fa2850 b/regress/corpus/46c2c633ccb9d653a3d620005fde492fe0fa2850 new file mode 100644 index 0000000000000000000000000000000000000000..7515c1ccb3cec1f89f190b5c131fee23765f1e1c GIT binary patch literal 17 XcmdO&$;F`aubv?Ri2m3A|LFh#HmwJ7 literal 0 HcmV?d00001 diff --git a/regress/corpus/46d8e80b2acb4a6e2d8dcb622e08a4549d178313 b/regress/corpus/46d8e80b2acb4a6e2d8dcb622e08a4549d178313 new file mode 100644 index 0000000000000000000000000000000000000000..da37a570ea4fe4f6bdc0fb4541eee6b114372cc3 GIT binary patch literal 39 gcmZQzU}Ruma$scug8vK*h9H`;0Yrkh4CPQE079Vyp#T5? literal 0 HcmV?d00001 diff --git a/regress/corpus/46f57c86aef859e7d9ef0d1485309620adf49399 b/regress/corpus/46f57c86aef859e7d9ef0d1485309620adf49399 new file mode 100644 index 0000000000000000000000000000000000000000..aa7634eabdb3663a910a0203b46fdcc90dccf662 GIT binary patch literal 10 RcmZQt#3;tV&cwjL000J^0L1_R literal 0 HcmV?d00001 diff --git a/regress/corpus/472f588cf5df3c6cbfb43291078b064f9c359abe b/regress/corpus/472f588cf5df3c6cbfb43291078b064f9c359abe new file mode 100644 index 0000000000000000000000000000000000000000..c35eb7a893ce0443a9c6e999bb13037c72d281bf GIT binary patch literal 13 TcmZQt#8}6`#K5o&NHGEc5rYCu literal 0 HcmV?d00001 diff --git a/regress/corpus/477f5787adb4d21b2b0237a7c38dd77f449bc7fb b/regress/corpus/477f5787adb4d21b2b0237a7c38dd77f449bc7fb new file mode 100644 index 0000000000000000000000000000000000000000..af20ece696e533912d0e79846b676d8f12072ccb GIT binary patch literal 81 zcmZQzU|?iOH~>OGz{tSZ$jHFp4`hHiKnxUtb3iJ<04NHU21)^0Urdmw|yjl@S0Ulme9i literal 0 HcmV?d00001 diff --git a/regress/corpus/4c010fbd8a725d0601876f99dfc135f3dfaaf6e0 b/regress/corpus/4c010fbd8a725d0601876f99dfc135f3dfaaf6e0 new file mode 100644 index 0000000000000000000000000000000000000000..9acf56b92bda668b5ac4b9ad4b1242bf482af72a GIT binary patch literal 12 RcmZRY$;bc%%nS@`asUXF0k{AF literal 0 HcmV?d00001 diff --git a/regress/corpus/4c2a3b02fe388a78aacfb64954f51f25f6b9004a b/regress/corpus/4c2a3b02fe388a78aacfb64954f51f25f6b9004a new file mode 100644 index 0000000000000000000000000000000000000000..68564d68e874480de8bc16ceb211c4c082b9d20f GIT binary patch literal 21 YcmZQlWng3g0ZkxQWMF6b`=5aU01ZR}b^rhX literal 0 HcmV?d00001 diff --git a/regress/corpus/4ca009cb61058d218961250f06eda171703cec6e b/regress/corpus/4ca009cb61058d218961250f06eda171703cec6e new file mode 100644 index 0000000000000000000000000000000000000000..6429e6e4146b9a386f7896bc7049496bea8ef9dc GIT binary patch literal 25 OcmZST#saDs7#IPcstZ~G literal 0 HcmV?d00001 diff --git a/regress/corpus/4d1187db31c91f844105ba3f4c00b611464e3560 b/regress/corpus/4d1187db31c91f844105ba3f4c00b611464e3560 new file mode 100644 index 0000000000000000000000000000000000000000..ea6938dee43c01a5c7c5e4d07173e68f57202e69 GIT binary patch literal 19 ScmdPb*Jog5fB}6Vj}ZV2eE}f= literal 0 HcmV?d00001 diff --git a/regress/corpus/4d4f0a4b1922c193d4e00b1948d4e17c36a9a54b b/regress/corpus/4d4f0a4b1922c193d4e00b1948d4e17c36a9a54b new file mode 100644 index 0000000000000000000000000000000000000000..5b70c199b9d3898b51b4aeeac490947727d9940d GIT binary patch literal 21 QcmZRoVt@fgC}R-=01FiXAOHXW literal 0 HcmV?d00001 diff --git a/regress/corpus/4d53c24fb69b4154d35d991464bb1fd4fc9c340d b/regress/corpus/4d53c24fb69b4154d35d991464bb1fd4fc9c340d new file mode 100644 index 0000000000000000000000000000000000000000..f1d427664c0be15e832329f22fcefea30c218f3a GIT binary patch literal 52 ccmZQ%{QsYU@joLNFmU1rtkH}N4FCTF0I-k-eE`gpkYE79|Nj9imjy}y literal 0 HcmV?d00001 diff --git a/regress/corpus/4dfbf879811b5c5ee4d7ec834380f589e0548e5d b/regress/corpus/4dfbf879811b5c5ee4d7ec834380f589e0548e5d new file mode 100644 index 0000000000000000000000000000000000000000..77084eb092fc686954f44c91304b417f78282780 GIT binary patch literal 27 dcmZQz77_X5z{vO?0(So2`JdrG0}wed006&X4iNwV literal 0 HcmV?d00001 diff --git a/regress/corpus/4e5a1ffb56c47434ad5d4d3f9ebd5cac5edcc005 b/regress/corpus/4e5a1ffb56c47434ad5d4d3f9ebd5cac5edcc005 new file mode 100644 index 0000000000000000000000000000000000000000..972852637c36ad6b0cb2ba41bc2f43b3ef8122e2 GIT binary patch literal 146 zcmZRoVt@l92#XC!u`y^)VPs%n2QnC#fJ#7O412*65J?ap0$5-S5Y2_m!OliekE8@@ G#S{RTLIn2! literal 0 HcmV?d00001 diff --git a/regress/corpus/4efd1e41cab142b1e6afb87aff4a93564bb77fd9 b/regress/corpus/4efd1e41cab142b1e6afb87aff4a93564bb77fd9 new file mode 100644 index 0000000000000000000000000000000000000000..ed416ab6141d935206399b7b6c0741c0f35ba541 GIT binary patch literal 22 YcmZRY$;bc(Of9ku3`{MGKn|lJ02vVi82|tP literal 0 HcmV?d00001 diff --git a/regress/corpus/503b977b6297628ae89b78b54f534204e512854c b/regress/corpus/503b977b6297628ae89b78b54f534204e512854c new file mode 100644 index 0000000000000000000000000000000000000000..07e25f24e2a9a443f996c11c768aceb1c46f5182 GIT binary patch literal 29 ZcmZQ%00Kr3!Jr7G8U8acu%`lfi~tT*0kZ%A literal 0 HcmV?d00001 diff --git a/regress/corpus/5048c10afb16a0693a8bbddab9a0f9978cc4a43d b/regress/corpus/5048c10afb16a0693a8bbddab9a0f9978cc4a43d new file mode 100644 index 0000000000000000000000000000000000000000..e6ac0dc7ff80dc4b4e6ee07af1bd80373f9d0d12 GIT binary patch literal 90 UcmZQj`N@C^7%@ap<%#710I<*kJOBUy literal 0 HcmV?d00001 diff --git a/regress/corpus/505d58d5145be782cd069ed73e63f72f2cee2e4b b/regress/corpus/505d58d5145be782cd069ed73e63f72f2cee2e4b new file mode 100644 index 0000000000000000000000000000000000000000..94d0b8b6e457ea8d90464d87336c2eddaf662db9 GIT binary patch literal 19 acmZQ%P-b9c`1b!K1H*sK^6XS*21WogGX+-w literal 0 HcmV?d00001 diff --git a/regress/corpus/506c6c22bd683b008ac5954e457970f18efd9aad b/regress/corpus/506c6c22bd683b008ac5954e457970f18efd9aad new file mode 100644 index 0000000000000000000000000000000000000000..54335cd27b037b02d1eff3bb4f4c727b21d28304 GIT binary patch literal 20 UcmXSCKg9q7xnL4Vu%|Kt03HM6ffqP1FfiR?U}RwY{~xH16|Y(%j6>J&1QcLoV9@&y1n6?;d=aPsNG%Wm Kwc!E3kmUdz-Vn0@ literal 0 HcmV?d00001 diff --git a/regress/corpus/520876e4a0798f53fbcdb44de7733864f8bb31c1 b/regress/corpus/520876e4a0798f53fbcdb44de7733864f8bb31c1 new file mode 100644 index 0000000000000000000000000000000000000000..7e798978dca2088d57251fd14d10245a80711b17 GIT binary patch literal 23 dcmZQ%{Quwa|9|N#3=9nanHU)uqZxsW{{U|!2#f## literal 0 HcmV?d00001 diff --git a/regress/corpus/528f3f39bf96344450824170379820aefa897ce4 b/regress/corpus/528f3f39bf96344450824170379820aefa897ce4 new file mode 100644 index 0000000000000000000000000000000000000000..3d18b75644157d3dad69a7dcbe1187f67ff6edc5 GIT binary patch literal 42 QcmZQ#V;}&kK=MFU00mY6i2wiq literal 0 HcmV?d00001 diff --git a/regress/corpus/5297f5bcca807013f3df83dff5b9a6b0ac71cbc0 b/regress/corpus/5297f5bcca807013f3df83dff5b9a6b0ac71cbc0 new file mode 100644 index 0000000000000000000000000000000000000000..76350539ff611afdf76e445fff33b9993382812c GIT binary patch literal 25 ccmZQz00BiHW@h;J-zq03M}UEWJ++k)04zHMq5uE@ literal 0 HcmV?d00001 diff --git a/regress/corpus/52a3a2f80decc02786a8e697ded3f52fd60247e7 b/regress/corpus/52a3a2f80decc02786a8e697ded3f52fd60247e7 new file mode 100644 index 0000000000000000000000000000000000000000..8d6c630cf5116eb90b1ffb6b7fd03b5600b3c228 GIT binary patch literal 16 WcmbOv$iTqB$k5E7D9^wIWB~vWe*tR% literal 0 HcmV?d00001 diff --git a/regress/corpus/52ad877c0637876464e28a3799fffd6c0d22637e b/regress/corpus/52ad877c0637876464e28a3799fffd6c0d22637e new file mode 100644 index 0000000000000000000000000000000000000000..c1b0158b6b768b2f2b201876f873e1b606143020 GIT binary patch literal 27 XcmZRoVqj!|0|y31#{d7p+(irkB2@!m literal 0 HcmV?d00001 diff --git a/regress/corpus/53151ae8707aadedf24369e09b8e3e77556883aa b/regress/corpus/53151ae8707aadedf24369e09b8e3e77556883aa new file mode 100644 index 0000000000000000000000000000000000000000..cc330100c6ecb48e99e1d58538e5e4fa91b33008 GIT binary patch literal 18 acmew{i-&=MVG)BN1H=EizpK{#n+O0r6$jA( literal 0 HcmV?d00001 diff --git a/regress/corpus/5337ce6fa8186d7b28fc0fcf3953a20054ae0590 b/regress/corpus/5337ce6fa8186d7b28fc0fcf3953a20054ae0590 new file mode 100644 index 0000000000000000000000000000000000000000..aa0dd5ae5ca198166f1816c5049aecf110f5c14f GIT binary patch literal 65 wcmZRon!o@CbN(~1sR3Dx3<(SjY#^ck3=D1{nt@>sNEnFV!~u}#WDvm!00XfGb^rhX literal 0 HcmV?d00001 diff --git a/regress/corpus/53647029f5b00dbd95987a6041d9386770184b98 b/regress/corpus/53647029f5b00dbd95987a6041d9386770184b98 new file mode 100644 index 0000000000000000000000000000000000000000..49aaf9079894e6a3b27ec302eb058ca2f80ec3d3 GIT binary patch literal 28 McmdnFlL03H04Li4a{vGU literal 0 HcmV?d00001 diff --git a/regress/corpus/53818235b41ffa5cac687b6c54c5ec447a2a0a3b b/regress/corpus/53818235b41ffa5cac687b6c54c5ec447a2a0a3b new file mode 100644 index 0000000000000000000000000000000000000000..ee81a770b5ef9e89b57ed12a6673459523b1470b GIT binary patch literal 20 OcmXSCWk3b&sf+*$p8)Cr literal 0 HcmV?d00001 diff --git a/regress/corpus/53a7ed131142efdf699ae848cd598d153059d529 b/regress/corpus/53a7ed131142efdf699ae848cd598d153059d529 new file mode 100644 index 0000000000000000000000000000000000000000..698a5eeb2d54359427893e81acdb04672033c38e GIT binary patch literal 25 ZcmZQzfB=2{{~*9zo|DR)oS*yuKLA-+3FQC) literal 0 HcmV?d00001 diff --git a/regress/corpus/547512fb601c3b4f86a43cbf47fcbc26b013ef4f b/regress/corpus/547512fb601c3b4f86a43cbf47fcbc26b013ef4f new file mode 100644 index 0000000000000000000000000000000000000000..18fbdeb9bd3abddbd9abdbab3f101ca079cd0bf0 GIT binary patch literal 18 Ucmew{i-!RU{@49owdUVM05X#X{r~^~ literal 0 HcmV?d00001 diff --git a/regress/corpus/558f1a2f8334085ef746479aa4201756f536cd8e b/regress/corpus/558f1a2f8334085ef746479aa4201756f536cd8e new file mode 100644 index 0000000000000000000000000000000000000000..89e828e7174969c0d29f87b65c87568914d6fe48 GIT binary patch literal 104 hcmZQj`N_b*%zy+KK_bWi&Yg)YN|?>a@c%zt6#z{^1<(Kh literal 0 HcmV?d00001 diff --git a/regress/corpus/5659edb82c844fa1dc9d9b59102534901a99064a b/regress/corpus/5659edb82c844fa1dc9d9b59102534901a99064a new file mode 100644 index 0000000000000000000000000000000000000000..e97f2076f5828a4cbfa6bf884605c8554f4bb00e GIT binary patch literal 26 UcmZQt#K-^yjLL=}3JEX*02TuP`~Uy| literal 0 HcmV?d00001 diff --git a/regress/corpus/565b85391db489a5169818ec6fba4cd56b57345d b/regress/corpus/565b85391db489a5169818ec6fba4cd56b57345d new file mode 100644 index 0000000..2e05ebe --- /dev/null +++ b/regress/corpus/565b85391db489a5169818ec6fba4cd56b57345d @@ -0,0 +1 @@ +nž' \ No newline at end of file diff --git a/regress/corpus/5685e9ddfd19bda07419cd21d034ad3fe1f86627 b/regress/corpus/5685e9ddfd19bda07419cd21d034ad3fe1f86627 new file mode 100644 index 0000000000000000000000000000000000000000..820377c7db10dacffcebc7be70da561a48994de3 GIT binary patch literal 51 ZcmaF$3Je$-z(5Pkfw0j@h{9LSzXAN|6374m literal 0 HcmV?d00001 diff --git a/regress/corpus/5695350604df54fb966a5a3ccd067eb69a2139bb b/regress/corpus/5695350604df54fb966a5a3ccd067eb69a2139bb new file mode 100644 index 0000000000000000000000000000000000000000..ce0708d0dfbe7467b9f1bc68766cd394b20e814c GIT binary patch literal 36 ccmZQtWX#CJz`(#G1tcJVhX;wnV8g%w04HYwg#Z8m literal 0 HcmV?d00001 diff --git a/regress/corpus/569dc5ef0dff05d8388303623d99bf254e1df0b1 b/regress/corpus/569dc5ef0dff05d8388303623d99bf254e1df0b1 new file mode 100644 index 0000000000000000000000000000000000000000..c91a95392890fff9e3aa120e2a2df6dd5be393d7 GIT binary patch literal 21 acmZQ7Eh#DL?gkQ!49X0Q45t_v7`g#T>;=34 literal 0 HcmV?d00001 diff --git a/regress/corpus/56e888ae9db53f2bcba04c4be287530733771bdf b/regress/corpus/56e888ae9db53f2bcba04c4be287530733771bdf new file mode 100644 index 0000000000000000000000000000000000000000..bbfb76b9d33ea5e7fdd2d8e33ee8660b9063da24 GIT binary patch literal 3 KcmZQ#WB>pF3jhQF literal 0 HcmV?d00001 diff --git a/regress/corpus/578d6bc5e168960b32f42af3c80347f4bfa93ca7 b/regress/corpus/578d6bc5e168960b32f42af3c80347f4bfa93ca7 new file mode 100644 index 0000000000000000000000000000000000000000..33d01289423e0c01988f52210c4d7271097af12d GIT binary patch literal 151 zcmZQt#K6G7!X(eYRK>{5z`)ADFrO*CDq%h&L*4)X|5+J;1RU&#v3|oCSm*!<0Ltvg bB8w)($i&FNz{J472)1WFm}ID0#J~suE#+xp literal 0 HcmV?d00001 diff --git a/regress/corpus/57af095ee9c6d3ae45606be39e06459a835cde21 b/regress/corpus/57af095ee9c6d3ae45606be39e06459a835cde21 new file mode 100644 index 0000000000000000000000000000000000000000..22198c04aa97853e3f5d9c8a8b7e768a4c7682e5 GIT binary patch literal 79 mcmZQzU|?iOH~>OGzz9MR2&SMS5K)*kNFE}~$cW4a=?4I%ngU$_ literal 0 HcmV?d00001 diff --git a/regress/corpus/57b025a38356fb63887e64b370b94df81c0d6f12 b/regress/corpus/57b025a38356fb63887e64b370b94df81c0d6f12 new file mode 100644 index 0000000000000000000000000000000000000000..5a433c4479d3e3274d1882b4688fef2da4bc5389 GIT binary patch literal 80 zcmZRoVqjooU|Pfg0`{s5jEq1&Gb4i!h;IkPKt2N#m}078`2YX+|NsB@V`>2^0m=c@ F0sxeM4O0LB literal 0 HcmV?d00001 diff --git a/regress/corpus/57ebc68efa336dee0855abfca90000adc3a63225 b/regress/corpus/57ebc68efa336dee0855abfca90000adc3a63225 new file mode 100644 index 0000000000000000000000000000000000000000..a2f97183c8c589899fe1b2dc61210cdec22741b1 GIT binary patch literal 21 ZcmZQt#K^?Jz`)4Bz|H}r8U6y<%m5O<0l5GG literal 0 HcmV?d00001 diff --git a/regress/corpus/58432e8caa9073eb13b4ddf888aa01e6ebb72859 b/regress/corpus/58432e8caa9073eb13b4ddf888aa01e6ebb72859 new file mode 100644 index 0000000000000000000000000000000000000000..1f08b8041c1913109247c5e205122ae22c014c68 GIT binary patch literal 53 dcmZQz0D>Nd|M&j?{|{ubg18vqJc`J91_1vU2MPcH literal 0 HcmV?d00001 diff --git a/regress/corpus/5870e4c340234a88cbac85c980e8fe1ea9426575 b/regress/corpus/5870e4c340234a88cbac85c980e8fe1ea9426575 new file mode 100644 index 0000000000000000000000000000000000000000..1dad2599c663053404109b2eff8eb71ea79fb9a6 GIT binary patch literal 29 YcmZQz0D>Nd|M&j?{|{ubg1B%10B&jpYybcN literal 0 HcmV?d00001 diff --git a/regress/corpus/59345a7d132a37299c0e8907de77992577e6114b b/regress/corpus/59345a7d132a37299c0e8907de77992577e6114b new file mode 100644 index 0000000000000000000000000000000000000000..480e6eca624b2a2d2bf56a9a18c7f9ba8876d9a5 GIT binary patch literal 19 ScmZQzfB=1ceINrwG6Dbx$^jez literal 0 HcmV?d00001 diff --git a/regress/corpus/59407f3c78544be096fe7af58c65d1fc366aeeba b/regress/corpus/59407f3c78544be096fe7af58c65d1fc366aeeba new file mode 100644 index 0000000000000000000000000000000000000000..cd355d30f2086e783b027513ec3d73745114ac82 GIT binary patch literal 74 ncmZRoVn73I3~ZVV3@lR^u*;}}m9sH0ura|jG72*6Wtaj0Z_fjf literal 0 HcmV?d00001 diff --git a/regress/corpus/594c32a7ee11f5ff19dc39d622aef71760953c2b b/regress/corpus/594c32a7ee11f5ff19dc39d622aef71760953c2b new file mode 100644 index 0000000..2f02b46 --- /dev/null +++ b/regress/corpus/594c32a7ee11f5ff19dc39d622aef71760953c2b @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/regress/corpus/597ccc89815aa8e4b4b850d8d9f7f0311825c908 b/regress/corpus/597ccc89815aa8e4b4b850d8d9f7f0311825c908 new file mode 100644 index 0000000000000000000000000000000000000000..b3f07437114ea12bce8f16ac1abe32ba22ef2080 GIT binary patch literal 28 dcmexSrEJK+z|H^y91QCE`ix*E12Y4o0{}Rk0-yi@ literal 0 HcmV?d00001 diff --git a/regress/corpus/59c240b944c37af855f6f88debfd3808d8d0f120 b/regress/corpus/59c240b944c37af855f6f88debfd3808d8d0f120 new file mode 100644 index 0000000000000000000000000000000000000000..d99c657f474434e8c472b0a93d9861ec56e0cde0 GIT binary patch literal 12 TcmZQ_VqjooVBF65|Nnmg44DJ` literal 0 HcmV?d00001 diff --git a/regress/corpus/59c3abb7de3cd82d28502a8de870089d04b7822a b/regress/corpus/59c3abb7de3cd82d28502a8de870089d04b7822a new file mode 100644 index 0000000000000000000000000000000000000000..bfbc45c0df5102595c05da2d1c468aa7fce0d7b8 GIT binary patch literal 13 RcmZSLWB`IyoD7UW2ml3j0KotN literal 0 HcmV?d00001 diff --git a/regress/corpus/59ce67752c13c9db5ac85c842487299e08c683a1 b/regress/corpus/59ce67752c13c9db5ac85c842487299e08c683a1 new file mode 100644 index 0000000000000000000000000000000000000000..5a62d335b0799b90afbbba040b14af287d6dfe6f GIT binary patch literal 24 dcmZQ7Eh#DL?k?F`V$=-+4vGx_85kJ<0|0)~3DN)n literal 0 HcmV?d00001 diff --git a/regress/corpus/59f1a5d9bcde6cd43cc683f888182099c672870c b/regress/corpus/59f1a5d9bcde6cd43cc683f888182099c672870c new file mode 100644 index 0000000000000000000000000000000000000000..a19cdeb2d6bd18c9f8fa3afd2a52cd38cd600290 GIT binary patch literal 77 zcmZQDZ&!3+U|_gCmw|zifx(G^@h<~|9#8-ZI2hFR_0>UA3=IrwU`0#}`uh3|i(o2% Kih;7fKwJQHR0vuC literal 0 HcmV?d00001 diff --git a/regress/corpus/5a2908e3a8dc79e205c927a28a4d2bfe005e1d1a b/regress/corpus/5a2908e3a8dc79e205c927a28a4d2bfe005e1d1a new file mode 100644 index 0000000000000000000000000000000000000000..64c46ee1f5490f1deed822cb2edba3cb08102d18 GIT binary patch literal 28 YcmZRoVqj!|0|y31#{d6!g87RW04m!A82|tP literal 0 HcmV?d00001 diff --git a/regress/corpus/5a4a857994bf30df1002bd2fe3a2402b9823791a b/regress/corpus/5a4a857994bf30df1002bd2fe3a2402b9823791a new file mode 100644 index 0000000000000000000000000000000000000000..d6723ae89d53b3f60560f391fda2f0dcfc3877b7 GIT binary patch literal 31 kcmZQ%{Quwa|9@!)28RDk4h)Qo7#JBC{{t}t7f|Fs0HnYPN&o-= literal 0 HcmV?d00001 diff --git a/regress/corpus/5aa0eb7787db2622efbb2c768289a7459c44a1ef b/regress/corpus/5aa0eb7787db2622efbb2c768289a7459c44a1ef new file mode 100644 index 0000000000000000000000000000000000000000..3a473d146390f1790fb34019ae3e506b9996c4eb GIT binary patch literal 124 zcmdP@|C1phk%8HPnUP^l0)sv(mzm+h1&03&7a;V1>;OeOb|q+{>=#%V{{LqN098p) AZ2$lO literal 0 HcmV?d00001 diff --git a/regress/corpus/5af8b2bd01fb3dab8c37997f821565468643ca20 b/regress/corpus/5af8b2bd01fb3dab8c37997f821565468643ca20 new file mode 100644 index 0000000000000000000000000000000000000000..f8738c85d46706e9d21cbfcb0c818e270eb9ddf2 GIT binary patch literal 16 Xcmd;6U|?YQ^Y=dkLpcM(DP{)%CF=yM literal 0 HcmV?d00001 diff --git a/regress/corpus/5b022069e069ef9718f3bfa6f60c76a26d83b86f b/regress/corpus/5b022069e069ef9718f3bfa6f60c76a26d83b86f new file mode 100644 index 0000000000000000000000000000000000000000..dcbab9d92e5fe6a9ff1e02caeb982a6a44f23d8b GIT binary patch literal 94 mcmZQt!~g-Tj2M7}L0w;;fq{`3tb&n&fgQrYP>2vf(*gi;CjtWi literal 0 HcmV?d00001 diff --git a/regress/corpus/5b247e387294b0b6484fa540ab5f61fd765fe849 b/regress/corpus/5b247e387294b0b6484fa540ab5f61fd765fe849 new file mode 100644 index 0000000000000000000000000000000000000000..98b00da3e9f53b41695791394a39e3eed0e23186 GIT binary patch literal 25 gcmZQ%U|?W!U~pt)jAmrED9=e{PR`F|U`S;I04Ht)4gdfE literal 0 HcmV?d00001 diff --git a/regress/corpus/5b61943f202c580beadc67bf46dbcd3d239461a0 b/regress/corpus/5b61943f202c580beadc67bf46dbcd3d239461a0 new file mode 100644 index 0000000000000000000000000000000000000000..6a78da71bdacf26831e0a5338a6b7304537dbbf7 GIT binary patch literal 55 kcmZQu#K^?Jz`)PIz{v1|fuR}500Bt^VAO%LC15ND0GIIvHvj+t literal 0 HcmV?d00001 diff --git a/regress/corpus/5bd5a2986367a6efcfa6029bdc083239c39bbb4e b/regress/corpus/5bd5a2986367a6efcfa6029bdc083239c39bbb4e new file mode 100644 index 0000000000000000000000000000000000000000..c457e6253235f678c5dabc69a3437493ab76f5e8 GIT binary patch literal 101 tcmZRoVt@l92#bv&mVtqdL32tu0|Psd0pb9`UMK@7a}^r^slg7W0056#6u62ml5T0X_f# literal 0 HcmV?d00001 diff --git a/regress/corpus/5c8e6bb767ae83a155461c99e4817616d455d647 b/regress/corpus/5c8e6bb767ae83a155461c99e4817616d455d647 new file mode 100644 index 0000000000000000000000000000000000000000..42630faaada070f186aac21cc1f9c7f6828559cb GIT binary patch literal 40 qcmZQzU|?k6VPHr&z`(%p|NsAge}H@jMn*;kMrj5|b}$<#!vFxLF$RzT literal 0 HcmV?d00001 diff --git a/regress/corpus/5d77f8eb5958f734bc9e9463f86ef9a028156ad5 b/regress/corpus/5d77f8eb5958f734bc9e9463f86ef9a028156ad5 new file mode 100644 index 0000000000000000000000000000000000000000..d54a8b4937c9d9e2b58ceb5a52294debb504cf10 GIT binary patch literal 133 ScmbQuKnXZOiDsDInTr65SOT8_ literal 0 HcmV?d00001 diff --git a/regress/corpus/5d7cbd9a82cc27ed30b29d85cb66a7ca1f1ae690 b/regress/corpus/5d7cbd9a82cc27ed30b29d85cb66a7ca1f1ae690 new file mode 100644 index 0000000000000000000000000000000000000000..b416776cae2c395a53ef0e9d01241e92cbe2aff1 GIT binary patch literal 17 RcmZRoVgLeB5W&C#A^-@^0G0p% literal 0 HcmV?d00001 diff --git a/regress/corpus/5d8b6e6042fdd6adca49056e4f3a3e2399cfe951 b/regress/corpus/5d8b6e6042fdd6adca49056e4f3a3e2399cfe951 new file mode 100644 index 0000000000000000000000000000000000000000..3280bc2fedd73011c275b42ac54f9dae0708def9 GIT binary patch literal 27 hcmZQ%{Quwa|9@!)28Kn342%qn|ACl+>kq^G{{Vsm2_*mk literal 0 HcmV?d00001 diff --git a/regress/corpus/5df46fe5c4e36ddbd1daf17e2824208af2310e0d b/regress/corpus/5df46fe5c4e36ddbd1daf17e2824208af2310e0d new file mode 100644 index 0000000000000000000000000000000000000000..87373944db92b78d3e5bd4b173d20650c7f9d59c GIT binary patch literal 16 WcmbOv$iTqB_!~$tGccsiV*~&eh61Mm literal 0 HcmV?d00001 diff --git a/regress/corpus/5e34d048165ad93dfbc584b4575d5ac628ae552b b/regress/corpus/5e34d048165ad93dfbc584b4575d5ac628ae552b new file mode 100644 index 0000000000000000000000000000000000000000..aee926fcc4e75fe8f85713ddb3a648fa96582ca3 GIT binary patch literal 26 ZcmZQ%U|?VbVjxh2Pz?FG3=Hh4i~tC*0c`*P literal 0 HcmV?d00001 diff --git a/regress/corpus/5e884b02b4c32c994f64b293690e5d2e16bf4d6d b/regress/corpus/5e884b02b4c32c994f64b293690e5d2e16bf4d6d new file mode 100644 index 0000000000000000000000000000000000000000..4c24fac75537a06f3e8c47ae9e96028287cf430a GIT binary patch literal 125 zcmZRoVt@l92#XC!u`y^)0rManAagHR6fBdO$?%_v;rIXe*aHkDHOwF}IB*29+<=&k PVa|WJC>F+#DrE)$7^m literal 0 HcmV?d00001 diff --git a/regress/corpus/6020ced5cc1d82529e9a1bb9a64e0a50f33a47cf b/regress/corpus/6020ced5cc1d82529e9a1bb9a64e0a50f33a47cf new file mode 100644 index 0000000000000000000000000000000000000000..4c4cdb8e0e55d55cec91d41943020a8a9bf8781a GIT binary patch literal 16 QcmZQt!~gjZYm}bzz10X6eNw{WADUb*N7c~d5 literal 0 HcmV?d00001 diff --git a/regress/corpus/60d71059ef39121ac5b6a3c4ecb288367e687a06 b/regress/corpus/60d71059ef39121ac5b6a3c4ecb288367e687a06 new file mode 100644 index 0000000000000000000000000000000000000000..fc478db6743a2597b8145a5e3044920e08f71b44 GIT binary patch literal 155 qcmZQHVqmEM%fP^paDYz%Nd2$-yNZe7Kahn2SWtMh;%LJS2C)G4QwMzj literal 0 HcmV?d00001 diff --git a/regress/corpus/61646a48189ef92b8923b84438ad679a4ae2d89c b/regress/corpus/61646a48189ef92b8923b84438ad679a4ae2d89c new file mode 100644 index 0000000000000000000000000000000000000000..4772b02864455010a2975e9ad29e8c279463c67d GIT binary patch literal 4 LcmZRoVqgFO0eS#^ literal 0 HcmV?d00001 diff --git a/regress/corpus/616ebc341f05110c6dbae1dbca2981639b5a44a9 b/regress/corpus/616ebc341f05110c6dbae1dbca2981639b5a44a9 new file mode 100644 index 0000000000000000000000000000000000000000..9c5576c83eed0bee383c53c470bf8ff1157e193b GIT binary patch literal 48 jcmZQz0D>Nd|M&j?{|{ubg1Emy1Q_T6Nw5%<&%gix^kfE_ literal 0 HcmV?d00001 diff --git a/regress/corpus/61ffae70f2829d73ddcf01e7d64e4a8c120fb5fa b/regress/corpus/61ffae70f2829d73ddcf01e7d64e4a8c120fb5fa new file mode 100644 index 0000000000000000000000000000000000000000..be51713b3f5f348c7a8921c9d442b52109e4d79b GIT binary patch literal 30 VcmZQ_VqpA_2^KLhGB8Fn0sv0v6f*z- literal 0 HcmV?d00001 diff --git a/regress/corpus/625b2be1dbcf6d4d77fd428151f36e305e44064a b/regress/corpus/625b2be1dbcf6d4d77fd428151f36e305e44064a new file mode 100644 index 0000000000000000000000000000000000000000..86d1762e0d8068f35e1a5277512640cafa9d9640 GIT binary patch literal 7 Lcmc~}X8-{J12X`2 literal 0 HcmV?d00001 diff --git a/regress/corpus/629b78008d2b9cbbab702f225f1036ee8ab7ca7b b/regress/corpus/629b78008d2b9cbbab702f225f1036ee8ab7ca7b new file mode 100644 index 0000000000000000000000000000000000000000..4cdc06bab8291f76f024fcbe256dccf3b74cee32 GIT binary patch literal 15 WcmdP@|8qXG!k!iN#r1^@S^oe&R0o&< literal 0 HcmV?d00001 diff --git a/regress/corpus/62c4ae6a2c238f2bc3fc4e18a4d83c56da6dc879 b/regress/corpus/62c4ae6a2c238f2bc3fc4e18a4d83c56da6dc879 new file mode 100644 index 0000000000000000000000000000000000000000..9c7839c2437004454fa6d535a8c96d21fc05bb44 GIT binary patch literal 33 ecmZQ%U|?VbVh~_1FE3|Lg>sYga~T-eQyBp(fdhm9 literal 0 HcmV?d00001 diff --git a/regress/corpus/62e58c4e5c4445f25e828748f9651c02a83b4017 b/regress/corpus/62e58c4e5c4445f25e828748f9651c02a83b4017 new file mode 100644 index 0000000000000000000000000000000000000000..fff8a1a9787639a399adb39b21a9bf027c75fc7d GIT binary patch literal 27 YcmdPbXJvo@eFiX#lYv1Wi1Zm40T8MIF8}}l literal 0 HcmV?d00001 diff --git a/regress/corpus/630025e5f166c739a983ac459540067d7742d44c b/regress/corpus/630025e5f166c739a983ac459540067d7742d44c new file mode 100644 index 0000000000000000000000000000000000000000..87668aa5d660bb4a2397e5f0d77cf837f53a7a5d GIT binary patch literal 134 zcmZQlWng3g0ZkxQWMF6b`=5cSiUBCdvf6>;gsr literal 0 HcmV?d00001 diff --git a/regress/corpus/6376602ca5d399c3140d5b5186043099d170b289 b/regress/corpus/6376602ca5d399c3140d5b5186043099d170b289 new file mode 100644 index 0000000000000000000000000000000000000000..5d350c139278c520faf5eedfc7f9130ef3fc7908 GIT binary patch literal 215 hcmZQt#K5$OVJ{JYVITos_W>Qo&#J*-kUk#<7yNd|M&j?{|{ub0x=^<2n2ouF&CJn2P8pKOpAb$njjU*20*Sh09Gpp@&Et; literal 0 HcmV?d00001 diff --git a/regress/corpus/64df0684044c25ad10027b14a194c72c303e6dcc b/regress/corpus/64df0684044c25ad10027b14a194c72c303e6dcc new file mode 100644 index 0000000000000000000000000000000000000000..17c1a21f4d908c3df4e35e18a7142dc93ec5a2d5 GIT binary patch literal 17 OcmZQzKmv>m42%E(761bP literal 0 HcmV?d00001 diff --git a/regress/corpus/64faa28a7f9e0c27e32ba48e4e19fe6153aaec41 b/regress/corpus/64faa28a7f9e0c27e32ba48e4e19fe6153aaec41 new file mode 100644 index 0000000000000000000000000000000000000000..3283640b2efdf2d0f05e9f1b9cf73b6fe70885e1 GIT binary patch literal 80 vcmZRY$-uzK00vAgiVO@)=D5His6_R>|Ns9p8UnR2G9(Hx*n8fAXorvhR_YH% literal 0 HcmV?d00001 diff --git a/regress/corpus/6591dd2f4f7e4b2d435bd2a4d2f251a44b2809ad b/regress/corpus/6591dd2f4f7e4b2d435bd2a4d2f251a44b2809ad new file mode 100644 index 0000000000000000000000000000000000000000..d42aee03afe52711a876319e6ac2459fa2cef5db GIT binary patch literal 166 rcmZRoVn73IKt3CT<`l3ngu}qVvKK6hrj!<3nAISgf$ji;y$n+TIS~Xo literal 0 HcmV?d00001 diff --git a/regress/corpus/65a58371cde36952ba98cf5dcbf4ec37564029d9 b/regress/corpus/65a58371cde36952ba98cf5dcbf4ec37564029d9 new file mode 100644 index 0000000000000000000000000000000000000000..1c28e56838cb712414807361b8e857a5898fbc41 GIT binary patch literal 20 WcmZROVqjoo00U(pLxF)Il@S00zW~Mn literal 0 HcmV?d00001 diff --git a/regress/corpus/660a23d5bfe95cf33aeeec4a6bc5ded09aa026ba b/regress/corpus/660a23d5bfe95cf33aeeec4a6bc5ded09aa026ba new file mode 100644 index 0000000000000000000000000000000000000000..5d24b642bf5da52a90778f876146aa6b2f20c305 GIT binary patch literal 29 gcmd0sB*>u6z`)1=1kDVJ%pjV9AwQRafjyNG05jqPE&u=k literal 0 HcmV?d00001 diff --git a/regress/corpus/66151af63a19ab525ee6edd595fa18ef4022eb2f b/regress/corpus/66151af63a19ab525ee6edd595fa18ef4022eb2f new file mode 100644 index 0000000000000000000000000000000000000000..562964e9fdc5ffc17bc5cfb32bd114a392d49253 GIT binary patch literal 61 scmZQD->T@qz`$^OE&~H21A`L-<6i~_J)i)H*8md+@!_ISmVpH$02wX@^#A|> literal 0 HcmV?d00001 diff --git a/regress/corpus/67570cee939ab9a5d79e5958cdba3af9d22925ed b/regress/corpus/67570cee939ab9a5d79e5958cdba3af9d22925ed new file mode 100644 index 0000000000000000000000000000000000000000..edd726f66a5d1cbb51fb2a42e794b93742db1a8e GIT binary patch literal 97 kcmZRoVqjzd0x%J*$iNWIz^KCjq#+=efeFSWi;iXh0H%HdW&i*H literal 0 HcmV?d00001 diff --git a/regress/corpus/67b524146627f7c89e803c2da45b7ceca9be0bbf b/regress/corpus/67b524146627f7c89e803c2da45b7ceca9be0bbf new file mode 100644 index 0000000000000000000000000000000000000000..7eaaa38395f83f8a44e928dd5f2fbbb8b8f831c6 GIT binary patch literal 30 fcmZQzVPIhT|3Cf!19MFY0|Ofa2)F?;h@}qzUsD8_ literal 0 HcmV?d00001 diff --git a/regress/corpus/67c944e6fb20085e917523fe76e5b425b1977f72 b/regress/corpus/67c944e6fb20085e917523fe76e5b425b1977f72 new file mode 100644 index 0000000000000000000000000000000000000000..0767cf27f3753d5bd21b682456b1f21f7b61d6a1 GIT binary patch literal 15 TcmZQ_Vqjdv00N8*jM0n$3yJ|o literal 0 HcmV?d00001 diff --git a/regress/corpus/67e9a4b39e9eea6a98c948d40fd403072f959b9a b/regress/corpus/67e9a4b39e9eea6a98c948d40fd403072f959b9a new file mode 100644 index 0000000000000000000000000000000000000000..a9b96103cfd48fdcc0fbb15eefb5af9279d149bc GIT binary patch literal 81 tcmZQzU}RtbVkQO#2UZ3v28RDYE-p~cdWMmKQ5_^b6(+?1f&1} literal 0 HcmV?d00001 diff --git a/regress/corpus/685a009bbf4807d3d8e2a0569b073c5789d9fdaf b/regress/corpus/685a009bbf4807d3d8e2a0569b073c5789d9fdaf new file mode 100644 index 0000000000000000000000000000000000000000..134bd172bb260c5c01d272813a1e00a4f8dfc1ce GIT binary patch literal 39 XcmXSCWq<=lIE#UuAr;C23o-%#86E)a literal 0 HcmV?d00001 diff --git a/regress/corpus/68cc1cf39a47124f89ec1df050768c520bccfcae b/regress/corpus/68cc1cf39a47124f89ec1df050768c520bccfcae new file mode 100644 index 0000000000000000000000000000000000000000..b36c741140533942d048a6b0b83090f3877c2f1f GIT binary patch literal 56 rcmZQt#K^#)$iS$~q{;wf0f8nED>AS%{Qb`W5@Gz041gjaRg4S(O_2~- literal 0 HcmV?d00001 diff --git a/regress/corpus/68fc29ea0632a99087f0271a3a3badbca62ca8b4 b/regress/corpus/68fc29ea0632a99087f0271a3a3badbca62ca8b4 new file mode 100644 index 0000000000000000000000000000000000000000..27e7b64c97af68a2ef4653b75e34daa4ea8c2050 GIT binary patch literal 97 ocmZQ%{QsYU@joLNFmR#(+%hQ2Kpa-6h$fT<2}Lt9F#P`y083#C#sB~S literal 0 HcmV?d00001 diff --git a/regress/corpus/691ab3d0867cce67924089b0a6a88b4228a2ccad b/regress/corpus/691ab3d0867cce67924089b0a6a88b4228a2ccad new file mode 100644 index 0000000000000000000000000000000000000000..6815d9bd3808031c9a5efd6c22173990cc5ad34a GIT binary patch literal 26 ZcmZQ%V3T2BWB>tgMJR)zo`Hd#5daJ(0T}=Q literal 0 HcmV?d00001 diff --git a/regress/corpus/695393868db0cb0e16d34a65f495af1687efc32b b/regress/corpus/695393868db0cb0e16d34a65f495af1687efc32b new file mode 100644 index 0000000..c147de3 --- /dev/null +++ b/regress/corpus/695393868db0cb0e16d34a65f495af1687efc32b @@ -0,0 +1 @@ + ¹¹ \ No newline at end of file diff --git a/regress/corpus/69f4521858a39cd1ec980ff6cd27e46bfc3dc34c b/regress/corpus/69f4521858a39cd1ec980ff6cd27e46bfc3dc34c new file mode 100644 index 0000000000000000000000000000000000000000..759cb31a58914b700b54ca326122b8f637677108 GIT binary patch literal 32 mcmZQ*(AQ>UU}k1u5M^XI#lXPu|NsAY3=E7w7DEGbDkA`6at4OGz{tSZ$jHFp4`hHiKnxUtb3iH(04N1k1C$4{z^WL*%6I)|1OV_8 B1mXYy literal 0 HcmV?d00001 diff --git a/regress/corpus/6b4fbcfa924f1ab19d2a96f385cd5b0f35da5fb3 b/regress/corpus/6b4fbcfa924f1ab19d2a96f385cd5b0f35da5fb3 new file mode 100644 index 0000000000000000000000000000000000000000..ff7714a1819f9bdd819ad2d4b30b8cfa8308caa2 GIT binary patch literal 10 PcmZSLW)O>J0AfY}1U3Ni literal 0 HcmV?d00001 diff --git a/regress/corpus/6b7025638f5bd0d685f93a39a88b91a7975f0edb b/regress/corpus/6b7025638f5bd0d685f93a39a88b91a7975f0edb new file mode 100644 index 0000000..0368ed2 --- /dev/null +++ b/regress/corpus/6b7025638f5bd0d685f93a39a88b91a7975f0edb @@ -0,0 +1 @@ +sss \ No newline at end of file diff --git a/regress/corpus/6be55eb4caac42da1819d88b592ed312dbf9056c b/regress/corpus/6be55eb4caac42da1819d88b592ed312dbf9056c new file mode 100644 index 0000000000000000000000000000000000000000..39cb1474d031c4273acede3515e981e97975956d GIT binary patch literal 37 ScmZQnXMg}k2oQwQC=>t)tN>L2 literal 0 HcmV?d00001 diff --git a/regress/corpus/6c1e78b9df9aefd82cf0b0d172c864d6c8c8e5dc b/regress/corpus/6c1e78b9df9aefd82cf0b0d172c864d6c8c8e5dc new file mode 100644 index 0000000000000000000000000000000000000000..b78ff198a90d4df4e9598f9cef46fcdd5aea3e81 GIT binary patch literal 20 WcmZQzU}RuU&Ns+qfPjaL42%F5Ndi{@ literal 0 HcmV?d00001 diff --git a/regress/corpus/6c2199e2fae85a69114891c2d8582281b8f11613 b/regress/corpus/6c2199e2fae85a69114891c2d8582281b8f11613 new file mode 100644 index 0000000000000000000000000000000000000000..5ec2ea123a95410b4f3ceafad14c96f961b0343b GIT binary patch literal 11 ScmZRY$;iOKz|7Dh%K!ie`2j%y literal 0 HcmV?d00001 diff --git a/regress/corpus/6c6513a3d3ebad0c6b8feb0af7e5db347ad3a70b b/regress/corpus/6c6513a3d3ebad0c6b8feb0af7e5db347ad3a70b new file mode 100644 index 0000000000000000000000000000000000000000..e0c793a914df5907b4ba465c04b776c136938a09 GIT binary patch literal 26 YcmZQ%U|?VbVjxh2G5#|!u%|Kt00|%gkpKVy literal 0 HcmV?d00001 diff --git a/regress/corpus/6ce32bed375c24a906934aa8faf15a4f5b24ccdb b/regress/corpus/6ce32bed375c24a906934aa8faf15a4f5b24ccdb new file mode 100644 index 0000000000000000000000000000000000000000..49085a0254811506d35858fc97bcabc8de09d0ed GIT binary patch literal 43 dcmZRY$;bc#KvJxS;XjbY3g+hkNn}2d3jkp&aje*et03f7xSO5S3 literal 0 HcmV?d00001 diff --git a/regress/corpus/6e645b19228683ecd903e42c12177eeaf6b07c93 b/regress/corpus/6e645b19228683ecd903e42c12177eeaf6b07c93 new file mode 100644 index 0000000000000000000000000000000000000000..f5a87dc20636e9ddc3a89c8bfaf2e521003413f0 GIT binary patch literal 57 ZcmZQzU}OLy1knTMK7q3kvM?3{BLFh}0fhhn literal 0 HcmV?d00001 diff --git a/regress/corpus/6eb6574bba71f21a05011c03875fb70b980fe93b b/regress/corpus/6eb6574bba71f21a05011c03875fb70b980fe93b new file mode 100644 index 0000000000000000000000000000000000000000..95535e6d7a3754c07550de013576bc6164a2a5ba GIT binary patch literal 29 ecmZQ%U|?VbVj$pTwn)t>XHL$~Wlv>{1pxpniUkh< literal 0 HcmV?d00001 diff --git a/regress/corpus/6f5b6fbff217312f8a2ceeb919594cbb5bebe534 b/regress/corpus/6f5b6fbff217312f8a2ceeb919594cbb5bebe534 new file mode 100644 index 0000000000000000000000000000000000000000..e5dab61a560b667039638551ede49055d49a1c54 GIT binary patch literal 28 ecmdP@|8qVwLqZ}0Gb5C|V1D600}Dg_{~rK>uL-08 literal 0 HcmV?d00001 diff --git a/regress/corpus/6f73e91a1f85bd5de4ff88fba448023370bc4010 b/regress/corpus/6f73e91a1f85bd5de4ff88fba448023370bc4010 new file mode 100644 index 0000000000000000000000000000000000000000..26dc3b35d5676793b863bdc7b122a3047e84f037 GIT binary patch literal 7 OcmZQ_Vqjdz&<6kn76Ekt literal 0 HcmV?d00001 diff --git a/regress/corpus/6fec053837f010b21207e6e27089d4b0eda8aded b/regress/corpus/6fec053837f010b21207e6e27089d4b0eda8aded new file mode 100644 index 0000000000000000000000000000000000000000..e0ff31518bc195c86581bcd511bb5994018bc515 GIT binary patch literal 21 ScmZRoVgLh12n8Y+F#rGy7y%#v literal 0 HcmV?d00001 diff --git a/regress/corpus/7039e74f2c1069e1586e196cb9e5ef1034970b22 b/regress/corpus/7039e74f2c1069e1586e196cb9e5ef1034970b22 new file mode 100644 index 0000000000000000000000000000000000000000..4aeb3f7025b1674902d4c9ea19628c37b4d198e3 GIT binary patch literal 6 NcmdPbW@KQF1^@zF0J;DG literal 0 HcmV?d00001 diff --git a/regress/corpus/7062e45b4963d31c6805938ecd224d1fc0f769cb b/regress/corpus/7062e45b4963d31c6805938ecd224d1fc0f769cb new file mode 100644 index 0000000000000000000000000000000000000000..7c2725db9c851ea02b15243643e2235913a1e43f GIT binary patch literal 10 Rcmewn`|mFU1B3Zi1^^xD1U&!% literal 0 HcmV?d00001 diff --git a/regress/corpus/70def9577abfce238371b88c4c33b251c1486cdd b/regress/corpus/70def9577abfce238371b88c4c33b251c1486cdd new file mode 100644 index 0000000000000000000000000000000000000000..d3c8968a50b12eb6464dcd663a7ff6414b5e4b87 GIT binary patch literal 28 ecmZQ%{Quwa|9@!)CI^N^j0`~dABfdJEOr2bC literal 0 HcmV?d00001 diff --git a/regress/corpus/70f293bd26336a3826077170a8309c1e5f2e0fe2 b/regress/corpus/70f293bd26336a3826077170a8309c1e5f2e0fe2 new file mode 100644 index 0000000000000000000000000000000000000000..642c6281da7133386d890ec44f462b49caabfa13 GIT binary patch literal 198 wcmZRY>Fn(61jHnR7&vftW@KPuAlU#c8cY#D-P90^0#qSJ1_lOZh89@{00XEoOaK4? literal 0 HcmV?d00001 diff --git a/regress/corpus/713a3a6ef8cc3bbe4a63e95419a8ad730fb3213e b/regress/corpus/713a3a6ef8cc3bbe4a63e95419a8ad730fb3213e new file mode 100644 index 0000000000000000000000000000000000000000..0cdc9e7f0a1a3827537b639b647977572f38ee74 GIT binary patch literal 26 bcmZQz0D>Nd|M&j?{|{m^Y-M0b2GRNeX3Yk! literal 0 HcmV?d00001 diff --git a/regress/corpus/71a6b88397b56bc194139b4d7f275121a9a98f5a b/regress/corpus/71a6b88397b56bc194139b4d7f275121a9a98f5a new file mode 100644 index 0000000000000000000000000000000000000000..26c6a7703de8acbc773d09555cae1afec4c82e52 GIT binary patch literal 16 ScmZQt#K^?P00fL+f)M};C;+hl literal 0 HcmV?d00001 diff --git a/regress/corpus/71b40990625eb94a85610b6590daae9f2c6dc61c b/regress/corpus/71b40990625eb94a85610b6590daae9f2c6dc61c new file mode 100644 index 0000000000000000000000000000000000000000..63b40857ab7defc006adaeb6b3c6e053bbfa0f73 GIT binary patch literal 141 pcmZQ%U}OLS#+@LNA>jZYm_{YE#QL6D0ru literal 0 HcmV?d00001 diff --git a/regress/corpus/72892615ed350434673b46ab87b249a741b21ca9 b/regress/corpus/72892615ed350434673b46ab87b249a741b21ca9 new file mode 100644 index 0000000000000000000000000000000000000000..27801103378d19c171f4d1ae7d01aba71857dcf9 GIT binary patch literal 46 TcmZQ%U~B{eH6U&PG4KNb&q)OGzz9Yl3WC85MzAO&SQ5wv^28VcZG8f1 literal 0 HcmV?d00001 diff --git a/regress/corpus/73d499daf3609303169702b78fec396636aa0d05 b/regress/corpus/73d499daf3609303169702b78fec396636aa0d05 new file mode 100644 index 0000000000000000000000000000000000000000..332c203493d843cce3a535fcbf37c76e437f1cc3 GIT binary patch literal 145 hcmZRY$ymk2!vF?a^aTw6V*kGfSg6+ literal 0 HcmV?d00001 diff --git a/regress/corpus/74b04a5625ccff993592e12bccae1327e5fcbfee b/regress/corpus/74b04a5625ccff993592e12bccae1327e5fcbfee new file mode 100644 index 0000000000000000000000000000000000000000..d31a759480c6a0263b56894ba66e053cee1f9e6a GIT binary patch literal 30 ecmZQt#K6G7$nYNqE&v(Hj0~~=|NZ~BkP!d|2olEt literal 0 HcmV?d00001 diff --git a/regress/corpus/74ceffd068740ddf10ff45a41494f62ebdf44403 b/regress/corpus/74ceffd068740ddf10ff45a41494f62ebdf44403 new file mode 100644 index 0000000000000000000000000000000000000000..adb7791146d3690ae485e01351530f30d91c9db8 GIT binary patch literal 38 YcmZRo(qm=-0&ea|~07SVJ6%_>l67~a0 literal 0 HcmV?d00001 diff --git a/regress/corpus/75dafc5ef9b0a8fb83804810bd4a422829156067 b/regress/corpus/75dafc5ef9b0a8fb83804810bd4a422829156067 new file mode 100644 index 0000000000000000000000000000000000000000..076b3c9b639d3aa951544146d8490231f9d7dad0 GIT binary patch literal 7 OcmZST?(Sw_U<3dNI{~Et literal 0 HcmV?d00001 diff --git a/regress/corpus/768753c1deff240cadd1656424e37c39db1e63ce b/regress/corpus/768753c1deff240cadd1656424e37c39db1e63ce new file mode 100644 index 0000000000000000000000000000000000000000..a019c3d3a0cb159ae44aad14f39b9b33dd6e2060 GIT binary patch literal 44 icmZR`1OkTtObiVF;}0+}*OV|YurZ(lHy{@zrVjwl@&-5n literal 0 HcmV?d00001 diff --git a/regress/corpus/76bde6a032b06a5ec3e2fc23422bc7efd4d882e8 b/regress/corpus/76bde6a032b06a5ec3e2fc23422bc7efd4d882e8 new file mode 100644 index 0000000000000000000000000000000000000000..852e7a7258d3725259c8e7fad8926bf75e3029fe GIT binary patch literal 114 rcmZRoVn73I3~ZVV3@lSnh2f$E)U$!K?FC{GgN;EGVhn@>mYD(o9?1qr literal 0 HcmV?d00001 diff --git a/regress/corpus/76c6e2daaeb6b0d825a96277228d08c2e73b438e b/regress/corpus/76c6e2daaeb6b0d825a96277228d08c2e73b438e new file mode 100644 index 0000000000000000000000000000000000000000..5c6e6753075c3fd1c232b7c7704c0c684349e2ad GIT binary patch literal 32 ScmZQ7W(0v^Y@mvPfe`?nLkeX8 literal 0 HcmV?d00001 diff --git a/regress/corpus/76d81862c65f9191a35069f713e46a2228c3ea46 b/regress/corpus/76d81862c65f9191a35069f713e46a2228c3ea46 new file mode 100644 index 0000000000000000000000000000000000000000..8934ca9d987337afc160ba0a2d6cf0e09304e5c9 GIT binary patch literal 115 bcmZRoVq|7uU}QjGAQJjas1d1?egBW1I2v)%e067c-4FCWD literal 0 HcmV?d00001 diff --git a/regress/corpus/7702e425ab1e031a64c17265e5144d3b09c430dd b/regress/corpus/7702e425ab1e031a64c17265e5144d3b09c430dd new file mode 100644 index 0000000000000000000000000000000000000000..479f95fe80a1917531eecc14ab040a85a363b8c7 GIT binary patch literal 16 VcmZRY$;bc%%nU8E3`~m{82}H80pOGzz9MR2&NePK|&A=6$W!aY7u}Dss^Y6ZUB%8(y;44BLM1l1ZDsL literal 0 HcmV?d00001 diff --git a/regress/corpus/77c59bf3c9a0690dca13e22c100f4b8549709a87 b/regress/corpus/77c59bf3c9a0690dca13e22c100f4b8549709a87 new file mode 100644 index 0000000000000000000000000000000000000000..f1eefdd207d91a588f04dc06d6fbd406fd96882b GIT binary patch literal 120 lcmexS#Q+5fFa|2k#E8nr$zuY`D1u0!7UmgH8Z3%Q008iW0+|2+ literal 0 HcmV?d00001 diff --git a/regress/corpus/77d6f8901fadfb86bd4c8b81858cd7984af344d3 b/regress/corpus/77d6f8901fadfb86bd4c8b81858cd7984af344d3 new file mode 100644 index 0000000..98acd35 --- /dev/null +++ b/regress/corpus/77d6f8901fadfb86bd4c8b81858cd7984af344d3 @@ -0,0 +1 @@ +5555555555555'51111110 \ No newline at end of file diff --git a/regress/corpus/78069c262fb1122b671027f10bb7b435c0a40d4b b/regress/corpus/78069c262fb1122b671027f10bb7b435c0a40d4b new file mode 100644 index 0000000000000000000000000000000000000000..9838f3b1cf5485765dc7d5758d2799ef81022d6b GIT binary patch literal 26 YcmZQ%U|?VbVjxh2Pz=mKnmv^f00S-nlmGw# literal 0 HcmV?d00001 diff --git a/regress/corpus/78666fae05ebeec6a72fab2638f0588910705270 b/regress/corpus/78666fae05ebeec6a72fab2638f0588910705270 new file mode 100644 index 0000000000000000000000000000000000000000..0486ee2270a593af9fc5b9f5c460e0ec3b159f17 GIT binary patch literal 132 ccmZQlW%y4+AcNCvCWgbU|Nk=_u3}&S0C1CeQ~&?~ literal 0 HcmV?d00001 diff --git a/regress/corpus/788b1e9c64973e727ef08cf00e666fc8bf4bb30c b/regress/corpus/788b1e9c64973e727ef08cf00e666fc8bf4bb30c new file mode 100644 index 0000000000000000000000000000000000000000..2aad81f6ebe6b443cf926d737e1a58965d39de1a GIT binary patch literal 24 dcmd;6U|>vTWME+U`=5cK{67e2GBBKC1^`%c2>Jj3 literal 0 HcmV?d00001 diff --git a/regress/corpus/7976204757edff2deb1c156e650271359b212f9a b/regress/corpus/7976204757edff2deb1c156e650271359b212f9a new file mode 100644 index 0000000000000000000000000000000000000000..fc41dd1b186fdf8bd0493202aafb4a5eb910551d GIT binary patch literal 33 fcmZRo(qm+R0uhlv4osY@7&b9{W?+VhEn)xwPdx<> literal 0 HcmV?d00001 diff --git a/regress/corpus/79ab59841d2763abb325ed9d4a3666e817f6ff1d b/regress/corpus/79ab59841d2763abb325ed9d4a3666e817f6ff1d new file mode 100644 index 0000000000000000000000000000000000000000..3f1cbfd936b8b875539521b3f65208fc8c8b9e9a GIT binary patch literal 37 PcmdPbZom&18JMF1LvRo} literal 0 HcmV?d00001 diff --git a/regress/corpus/79ce700d55c2cca2c13d508c2cd308136d0faca5 b/regress/corpus/79ce700d55c2cca2c13d508c2cd308136d0faca5 new file mode 100644 index 0000000000000000000000000000000000000000..bfb5da26fc2d1e9bbe749cc74718b582ec29181d GIT binary patch literal 83 zcmZRoVqjooU|Pfg0`{s5jEq1&Gb4i!h;IkPAU*>FQ`I7%AQO=P|Nrm*|NrmD)CH6U I$^q2^0J&cc`2YX_ literal 0 HcmV?d00001 diff --git a/regress/corpus/7a07f1115943cbeb261599359693693806587249 b/regress/corpus/7a07f1115943cbeb261599359693693806587249 new file mode 100644 index 0000000..9296585 --- /dev/null +++ b/regress/corpus/7a07f1115943cbeb261599359693693806587249 @@ -0,0 +1 @@ +.@ \ No newline at end of file diff --git a/regress/corpus/7a4f386a916b438769395c6716428815883ccc47 b/regress/corpus/7a4f386a916b438769395c6716428815883ccc47 new file mode 100644 index 0000000000000000000000000000000000000000..49605847c59d2eaea00592d0c9e0052f814f33e5 GIT binary patch literal 27 acmezWpUa5r|9>C}Bp@Ug12aP?5CH(+3k_`m literal 0 HcmV?d00001 diff --git a/regress/corpus/7ad32f0267ee22966343bcec49f2a793afea9a0a b/regress/corpus/7ad32f0267ee22966343bcec49f2a793afea9a0a new file mode 100644 index 0000000000000000000000000000000000000000..7cb7f7ad2ccdea159414069cdc5c943691d525c5 GIT binary patch literal 22 ZcmZQ%00ZXo97*Qn{9Hz61_t(2MgSSg0<-`C literal 0 HcmV?d00001 diff --git a/regress/corpus/7b2d569c5e59254eb74304b66650be0fbec34507 b/regress/corpus/7b2d569c5e59254eb74304b66650be0fbec34507 new file mode 100644 index 0000000000000000000000000000000000000000..9d29657a798a91812c7b9d92a89b1280366b40b8 GIT binary patch literal 33 hcmZRo(qm+R0uhlv4h#$q4h)Qp{}~vVEP%p`7yv`61Z@BS literal 0 HcmV?d00001 diff --git a/regress/corpus/7c8f95736613be82e6ffd65eeda1755bb5978944 b/regress/corpus/7c8f95736613be82e6ffd65eeda1755bb5978944 new file mode 100644 index 0000000000000000000000000000000000000000..34d970563bbc80c0e0640caf87fdb1dc73a7e80a GIT binary patch literal 12 Rcmc~}X8;0u2KIzhMgRyx0b&3E literal 0 HcmV?d00001 diff --git a/regress/corpus/7d23baf78bd1aabc420728b302eeeaa7342d603f b/regress/corpus/7d23baf78bd1aabc420728b302eeeaa7342d603f new file mode 100644 index 0000000000000000000000000000000000000000..d2560f4f5cb11003901f7b33cf70b4b9e1bbbbf9 GIT binary patch literal 32 McmdnFlL0RP04=8ha{vGU literal 0 HcmV?d00001 diff --git a/regress/corpus/7d65993eacfcdd2df30430de41ac34aeacb0bfe0 b/regress/corpus/7d65993eacfcdd2df30430de41ac34aeacb0bfe0 new file mode 100644 index 0000000000000000000000000000000000000000..570e330ba479d819c9d4bb7dbbc3d035774af501 GIT binary patch literal 71 qcmd;6U;qQADn@1o21W)}Fi(?#0f-o&Jcc>{*}=jL40=!+odN)N`vTkm literal 0 HcmV?d00001 diff --git a/regress/corpus/7d929dd1ea098b5968c1378b62c52251012040d7 b/regress/corpus/7d929dd1ea098b5968c1378b62c52251012040d7 new file mode 100644 index 0000000000000000000000000000000000000000..9416333b40a35f31c9daab1abc519a99aff8d57e GIT binary patch literal 16 UcmZQt#K_3R00N2(3``7+01B=E%>V!Z literal 0 HcmV?d00001 diff --git a/regress/corpus/7d9473f69165c134441599b7105011d7a74164b9 b/regress/corpus/7d9473f69165c134441599b7105011d7a74164b9 new file mode 100644 index 0000000..0acf748 --- /dev/null +++ b/regress/corpus/7d9473f69165c134441599b7105011d7a74164b9 @@ -0,0 +1 @@ + 99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 Ž ÿ  \ No newline at end of file diff --git a/regress/corpus/7dd3e4f69afcaf3457a7eb5bb8ccb5cfd1409c08 b/regress/corpus/7dd3e4f69afcaf3457a7eb5bb8ccb5cfd1409c08 new file mode 100644 index 0000000000000000000000000000000000000000..934e8ee66e9107a3292a49bea1e15cee347095bf GIT binary patch literal 29 bcmZRuXJBGrNMQZXz`#(>3MAk_k%0jKEyw~x literal 0 HcmV?d00001 diff --git a/regress/corpus/7de2c673758bf2a01287d3e6baecfc89ce548416 b/regress/corpus/7de2c673758bf2a01287d3e6baecfc89ce548416 new file mode 100644 index 0000000000000000000000000000000000000000..a92c3b03c241e5346063a90dcb169ab4cf7e42b2 GIT binary patch literal 47 ZcmZQ%U@vE2$Z=53WxxlTfs*V%3;;`B0!RP= literal 0 HcmV?d00001 diff --git a/regress/corpus/7e115dc681dbce159584ef166c3a53758fb15808 b/regress/corpus/7e115dc681dbce159584ef166c3a53758fb15808 new file mode 100644 index 0000000000000000000000000000000000000000..1380b080f55f82f41a33c52fa233ea8de0956e6f GIT binary patch literal 207 hcmZRY=}b0YWME<-T{9yYdI;IV$iTqB%+Mms002Z|GXDSo literal 0 HcmV?d00001 diff --git a/regress/corpus/7e1c71a370e88fde0cb3ab65f5088943e2f23ac5 b/regress/corpus/7e1c71a370e88fde0cb3ab65f5088943e2f23ac5 new file mode 100644 index 0000000000000000000000000000000000000000..aad43317c95015e3a4c1e45b3bb114a7c7270edb GIT binary patch literal 72 UcmZQt#K-^yjLL=}ifq6L07D%B`~Uy| literal 0 HcmV?d00001 diff --git a/regress/corpus/7e1d75233e2ae49cb21aa2f844accba92d3d0c63 b/regress/corpus/7e1d75233e2ae49cb21aa2f844accba92d3d0c63 new file mode 100644 index 0000000000000000000000000000000000000000..f6a3dbfc637dc8eb1ddf3e1708c7e1adfa7310a8 GIT binary patch literal 47 bcmZQt#K^?Jpbi2Ir?CSu1_p*`AO-;d^@QH literal 0 HcmV?d00001 diff --git a/regress/corpus/7f40ed4ababf3c3f5ea4430db085173f21a031e1 b/regress/corpus/7f40ed4ababf3c3f5ea4430db085173f21a031e1 new file mode 100644 index 0000000000000000000000000000000000000000..19244123dc4da60c332361a9051ad9965e26e5d4 GIT binary patch literal 132 xcmdP@|8qXG!U-T)q4A1Hpn(h$hyfrC^~G6*|LPflHtksfWi$NWpP;GF2ms7RNVxz2 literal 0 HcmV?d00001 diff --git a/regress/corpus/7f69d413efa83f0dbde3888ec5e4a3221416ce66 b/regress/corpus/7f69d413efa83f0dbde3888ec5e4a3221416ce66 new file mode 100644 index 0000000000000000000000000000000000000000..c616ba2780e6fa7a6aef162cd8f32912c0c00cca GIT binary patch literal 7 Ocmd0sBH%5+ literal 0 HcmV?d00001 diff --git a/regress/corpus/7fb538cf9b714f920777b9eacdc743e63d027788 b/regress/corpus/7fb538cf9b714f920777b9eacdc743e63d027788 new file mode 100644 index 0000000..7023df4 --- /dev/null +++ b/regress/corpus/7fb538cf9b714f920777b9eacdc743e63d027788 @@ -0,0 +1 @@ +^ÿ@ \ No newline at end of file diff --git a/regress/corpus/7fc48b4dcabf565bd1cdd5a27897d9bb066b7471 b/regress/corpus/7fc48b4dcabf565bd1cdd5a27897d9bb066b7471 new file mode 100644 index 0000000000000000000000000000000000000000..3894377bf90622cfa2eefd0f8248ea27ffd2e182 GIT binary patch literal 13 ScmezWpX)yea4|45gaQCT$_Hiu literal 0 HcmV?d00001 diff --git a/regress/corpus/7fdc5e2599199fda28e2f5445a05ad95ddc0cd90 b/regress/corpus/7fdc5e2599199fda28e2f5445a05ad95ddc0cd90 new file mode 100644 index 0000000000000000000000000000000000000000..20f42e239c012fc01bc797eb84a24f14688af37b GIT binary patch literal 159 zcmZ{du?>JQ5ChK-nS+%WfsP$guu7yXlEEmRC@9|`T-awfwhFAaVOa|#D0b$fh|Ap* c-9l~BJ>ipzWq;Lsi|rR=0t1b|GMrq|1Mfa?TL1t6 literal 0 HcmV?d00001 diff --git a/regress/corpus/803450bd45401a97b6e4ba3021a8aa1d155b5265 b/regress/corpus/803450bd45401a97b6e4ba3021a8aa1d155b5265 new file mode 100644 index 0000000000000000000000000000000000000000..1b0a83fa7b7f4cb95d80e7e91fe2e8c747abda4c GIT binary patch literal 21 UcmZRoVgLh11_l-&1c5~i01IFNC;$Ke literal 0 HcmV?d00001 diff --git a/regress/corpus/807bc2baabe4fdc5212a584ff08c0c28bbdba567 b/regress/corpus/807bc2baabe4fdc5212a584ff08c0c28bbdba567 new file mode 100644 index 0000000000000000000000000000000000000000..ced1a5c95aadf532ed2a355813800d684db3886a GIT binary patch literal 53 ycmW-U!3h8$48(F3DURX8hbua;TS%=20*NgZ5S3)69p~ts?Z3eZ&ytA(PqObkM}002~f1Cam# literal 0 HcmV?d00001 diff --git a/regress/corpus/822e21892f128ed512c425dbbf9d359227edc62e b/regress/corpus/822e21892f128ed512c425dbbf9d359227edc62e new file mode 100644 index 0000000000000000000000000000000000000000..cb1d0ea3321bc04c444dd24c7f777f9bcd52d8f2 GIT binary patch literal 11 ScmZRw_`8aMfw6%>WEB7tT>~Ki literal 0 HcmV?d00001 diff --git a/regress/corpus/826a05ecc37a32952a4c06e4bc16465e36836e1a b/regress/corpus/826a05ecc37a32952a4c06e4bc16465e36836e1a new file mode 100644 index 0000000000000000000000000000000000000000..a94100615b9e0160016df73d2279a948becf4d8a GIT binary patch literal 19 UcmZQt#K-^yjLLdI;y0KH02J{7^#A|> literal 0 HcmV?d00001 diff --git a/regress/corpus/8279543331b091f3c7a6c49fe1ddca4a1a0cec36 b/regress/corpus/8279543331b091f3c7a6c49fe1ddca4a1a0cec36 new file mode 100644 index 0000000000000000000000000000000000000000..f8d9d2c3d2602b630642073ddc632fb44eda6ee3 GIT binary patch literal 42 pcmYdbVEE43M>|Np;5h=7zb002CBA;$m! literal 0 HcmV?d00001 diff --git a/regress/corpus/838d7952e2fcb725c9ff91063784a309e8a29663 b/regress/corpus/838d7952e2fcb725c9ff91063784a309e8a29663 new file mode 100644 index 0000000000000000000000000000000000000000..9591762708a500bd269e63537fa489b7e4b3f88f GIT binary patch literal 19 VcmZQ_V%VSX9}KD()PVFN1^{go3!MM} literal 0 HcmV?d00001 diff --git a/regress/corpus/83e3c53e8a4510be7fedba14aa21366dc737b8e2 b/regress/corpus/83e3c53e8a4510be7fedba14aa21366dc737b8e2 new file mode 100644 index 0000000000000000000000000000000000000000..b740b315ca3f1b51c7a33dce67a2cfad7b48cc59 GIT binary patch literal 145 zcmZRoV!!~t3~UT+nhXpqQ&6SgqHsM4AO#M5d$LwV>BlKkP-`O literal 0 HcmV?d00001 diff --git a/regress/corpus/84fa636ffaa8ed667982979a09129c6dd6821121 b/regress/corpus/84fa636ffaa8ed667982979a09129c6dd6821121 new file mode 100644 index 0000000000000000000000000000000000000000..648e9228e75ce66b0e6f19b912ca79272f59dfdf GIT binary patch literal 9 Qcmd;6U|>vTWME(b00W8umH+?% literal 0 HcmV?d00001 diff --git a/regress/corpus/85a052e22baa83cb7191d6ea2f7ded9838a7a5ec b/regress/corpus/85a052e22baa83cb7191d6ea2f7ded9838a7a5ec new file mode 100644 index 0000000000000000000000000000000000000000..704f882e7763f7ac967fdc0a74a781231385eb0a GIT binary patch literal 20 XcmZQt#KXwIz`*0f0|Ev>%*X%$6(s?i literal 0 HcmV?d00001 diff --git a/regress/corpus/85ca706906ef0ba28ee0afdd9b413dbfea2bbb59 b/regress/corpus/85ca706906ef0ba28ee0afdd9b413dbfea2bbb59 new file mode 100644 index 0000000000000000000000000000000000000000..574650c9b54ead5efecfc27e68a15b9383a484cb GIT binary patch literal 29 ecmZQzU}Rtx0TK=jtPDW#ABY)&*#3WhE&~7@EdzM~ literal 0 HcmV?d00001 diff --git a/regress/corpus/85eac0d93f498c1f1e16499823a369ab8594db63 b/regress/corpus/85eac0d93f498c1f1e16499823a369ab8594db63 new file mode 100644 index 0000000000000000000000000000000000000000..25257d68716b7175bdc75d1be510a556fce66e5f GIT binary patch literal 38 NcmdOA(6^{32mm~w5p@6n literal 0 HcmV?d00001 diff --git a/regress/corpus/85f38964f20f6dfdaf26feabf93b0f8ecf2bae1f b/regress/corpus/85f38964f20f6dfdaf26feabf93b0f8ecf2bae1f new file mode 100644 index 0000000..464c263 --- /dev/null +++ b/regress/corpus/85f38964f20f6dfdaf26feabf93b0f8ecf2bae1f @@ -0,0 +1 @@ +/?€€€€ \ No newline at end of file diff --git a/regress/corpus/866e22b8379bb87983c163540ee980806705dec2 b/regress/corpus/866e22b8379bb87983c163540ee980806705dec2 new file mode 100644 index 0000000000000000000000000000000000000000..8bf040b25a99940a290246265f8d314f8336dca8 GIT binary patch literal 43 kcmZQt#Hh*u0*VZbe2VN0X8-^HS7%^g{6EVB6)-RZ0LRk`QUCw| literal 0 HcmV?d00001 diff --git a/regress/corpus/867687721b1ef247b457d93ab7be31af4f869bdb b/regress/corpus/867687721b1ef247b457d93ab7be31af4f869bdb new file mode 100644 index 0000000000000000000000000000000000000000..eab73202b4751e2b4f8cf5dec223b617c05dcd89 GIT binary patch literal 33 fcmZQzWME=oaA0MyVqo~sz`#(>3MAk_k%0jKDzpM0 literal 0 HcmV?d00001 diff --git a/regress/corpus/87149a4f5059e447efff1ecd8fab12c0caccb91d b/regress/corpus/87149a4f5059e447efff1ecd8fab12c0caccb91d new file mode 100644 index 0000000000000000000000000000000000000000..a253cd4525dbcd2abc6c291048811565daf60e84 GIT binary patch literal 17 ScmZQz0E7P^z@V?M&ja literal 0 HcmV?d00001 diff --git a/regress/corpus/89e8712ec308913e3f74074be570eb6773401695 b/regress/corpus/89e8712ec308913e3f74074be570eb6773401695 new file mode 100644 index 0000000..67f6c78 --- /dev/null +++ b/regress/corpus/89e8712ec308913e3f74074be570eb6773401695 @@ -0,0 +1 @@ +555555555555555555555555 \ No newline at end of file diff --git a/regress/corpus/8ad09aa0227eaba348ecf5472012584552712f40 b/regress/corpus/8ad09aa0227eaba348ecf5472012584552712f40 new file mode 100644 index 0000000000000000000000000000000000000000..59766a473303f264fd11c3d255a99b7b919c2017 GIT binary patch literal 3 KcmZSj!T{1Tz2t literal 0 HcmV?d00001 diff --git a/regress/corpus/8b4e330b4ee85f2982609be6a6fd1283b58de719 b/regress/corpus/8b4e330b4ee85f2982609be6a6fd1283b58de719 new file mode 100644 index 0000000000000000000000000000000000000000..6bc4d4ac2ee353f3cab639434e581346459f0b62 GIT binary patch literal 15 WcmZRoVqj!oaA06$)Memb!~g&bgaMua literal 0 HcmV?d00001 diff --git a/regress/corpus/8b894bfec1e203e79539da1ecc370199af0f9e5a b/regress/corpus/8b894bfec1e203e79539da1ecc370199af0f9e5a new file mode 100644 index 0000000000000000000000000000000000000000..a542652ac94b9f04a858baa8476720b90c19b4a8 GIT binary patch literal 3 KcmexS#Q*>U-vM&~ literal 0 HcmV?d00001 diff --git a/regress/corpus/8b8cfd770fa56164659c368b7369446aedbe1805 b/regress/corpus/8b8cfd770fa56164659c368b7369446aedbe1805 new file mode 100644 index 0000000000000000000000000000000000000000..b1eb489627a46b4caba0206d20b4e395588b54ea GIT binary patch literal 14 NcmZQz00Sln1pojX00RI3 literal 0 HcmV?d00001 diff --git a/regress/corpus/8b94bb727f993ad17f5ed86935e72272d10b1420 b/regress/corpus/8b94bb727f993ad17f5ed86935e72272d10b1420 new file mode 100644 index 0000000000000000000000000000000000000000..d102fde54c41f3d2e2aeaf60be22ccdb06ffad5d GIT binary patch literal 27 ZcmZQ%U|?VbVi0%_BJvpwKosK~MgSFH0xtjn literal 0 HcmV?d00001 diff --git a/regress/corpus/8b96e28fabde440d384485d73e682e7c5478af62 b/regress/corpus/8b96e28fabde440d384485d73e682e7c5478af62 new file mode 100644 index 0000000000000000000000000000000000000000..e1486044464d87cdda7574b1c9cd6a4fe36e263c GIT binary patch literal 24 WcmZRoVqj!oU}9j1W&i>p4Fv!Y-~inK literal 0 HcmV?d00001 diff --git a/regress/corpus/8bbac41d66a921fa92f91dacaddabb240d84e622 b/regress/corpus/8bbac41d66a921fa92f91dacaddabb240d84e622 new file mode 100644 index 0000000..221da46 --- /dev/null +++ b/regress/corpus/8bbac41d66a921fa92f91dacaddabb240d84e622 @@ -0,0 +1 @@ + ¹1? \ No newline at end of file diff --git a/regress/corpus/8c90057c307d293981d81b8a2e5a282b83b99df9 b/regress/corpus/8c90057c307d293981d81b8a2e5a282b83b99df9 new file mode 100644 index 0000000000000000000000000000000000000000..57b53af43179a6e2c2ece34da6ad9b69f5bb7c76 GIT binary patch literal 142 ecmZQ%Ox|S3ut}Q%2)qUeY}%B(Y11YKAO--}CMwAQ literal 0 HcmV?d00001 diff --git a/regress/corpus/8cd6ee7a9292ef8e83fdbf3469f79617561e68d7 b/regress/corpus/8cd6ee7a9292ef8e83fdbf3469f79617561e68d7 new file mode 100644 index 0000000000000000000000000000000000000000..b71a6f270842cb495558abb3a640f66a15a32841 GIT binary patch literal 24 YcmZQt#K^$Fz{x0M2&ABZk(q%J02E9C0ssI2 literal 0 HcmV?d00001 diff --git a/regress/corpus/8cf71bec44cfa1c3d6f923aece9b11aa8edaa19b b/regress/corpus/8cf71bec44cfa1c3d6f923aece9b11aa8edaa19b new file mode 100644 index 0000000000000000000000000000000000000000..053d34d8f163f7b7b845a021dac7483e80621a74 GIT binary patch literal 121 jcmZQ%U}OLS#+@LNA>jZYm_{YE@Bmbm$UN+3!BqeNJt_yW literal 0 HcmV?d00001 diff --git a/regress/corpus/8d52e742b34b58da655f595e20de01a78909399a b/regress/corpus/8d52e742b34b58da655f595e20de01a78909399a new file mode 100644 index 0000000000000000000000000000000000000000..02b0ce3eaae1a400385e0f0406c44e34f8826604 GIT binary patch literal 17 WcmXR{WB`Ku_mlG(a~T}jQyBp#zXU}9 literal 0 HcmV?d00001 diff --git a/regress/corpus/8d95224900ed09382d46a6a87c0812936cdd9ba4 b/regress/corpus/8d95224900ed09382d46a6a87c0812936cdd9ba4 new file mode 100644 index 0000000000000000000000000000000000000000..1f0479bf1b495bbaa92287a3e5a14f2e05ee5161 GIT binary patch literal 25 WcmZQ%U@vE2$Z=p!R?THV0(t-@LjqC& literal 0 HcmV?d00001 diff --git a/regress/corpus/8de39d7edebebc310bbdcdbb786669eabe737df6 b/regress/corpus/8de39d7edebebc310bbdcdbb786669eabe737df6 new file mode 100644 index 0000000000000000000000000000000000000000..0dc3e8e7df6b9bc37750b53822b325857bda58df GIT binary patch literal 27 fcmZQ%{Quwa|9@L)21W)3CPoIv|3DlK#0=~Jbqodq literal 0 HcmV?d00001 diff --git a/regress/corpus/8e11f353e0645d6b8c73774d787cd620eb3aff33 b/regress/corpus/8e11f353e0645d6b8c73774d787cd620eb3aff33 new file mode 100644 index 0000000000000000000000000000000000000000..780f0e951fd82ad15260e96c33d5c23edd06cf1c GIT binary patch literal 7 McmZQFW@G>Y00B$@Hvj+t literal 0 HcmV?d00001 diff --git a/regress/corpus/8e16aaa29d34d38ba3fb24b935d07fed1a14a967 b/regress/corpus/8e16aaa29d34d38ba3fb24b935d07fed1a14a967 new file mode 100644 index 0000000000000000000000000000000000000000..194f9fe9c70ecf6e2beb3f46cca472d41ddf2120 GIT binary patch literal 124 ocmZQt!~g;%ct9dp`v3p``|&7(N)b@YAkWIcFdw8gVg7su0MzLpF literal 0 HcmV?d00001 diff --git a/regress/corpus/8e45c124285cc897ede7f0bad0a4d4a11b823f07 b/regress/corpus/8e45c124285cc897ede7f0bad0a4d4a11b823f07 new file mode 100644 index 0000000000000000000000000000000000000000..4258813bcc001b1662f6cedbfb6894831ef90752 GIT binary patch literal 23 XcmZQt#K^?Jz`)PIz{v0dNJ0Ss8TkRP literal 0 HcmV?d00001 diff --git a/regress/corpus/8e45ca908c08d676a0460a93627269f3f50fd377 b/regress/corpus/8e45ca908c08d676a0460a93627269f3f50fd377 new file mode 100644 index 0000000000000000000000000000000000000000..e16b818cc27d9fca22d7290f2928f361be3c7317 GIT binary patch literal 179 hcmZQz0D>Nd|M!^gF)%VP{{Ii;vVz2j1R(Wv1_1Ci22KC~ literal 0 HcmV?d00001 diff --git a/regress/corpus/8e5f0dc31df0670c8e17ee9addfe24b529514f5d b/regress/corpus/8e5f0dc31df0670c8e17ee9addfe24b529514f5d new file mode 100644 index 0000000..983c71b --- /dev/null +++ b/regress/corpus/8e5f0dc31df0670c8e17ee9addfe24b529514f5d @@ -0,0 +1 @@ +Jž \ No newline at end of file diff --git a/regress/corpus/8e603810478e62fd275fcd67260ba2861a6c43d7 b/regress/corpus/8e603810478e62fd275fcd67260ba2861a6c43d7 new file mode 100644 index 0000000000000000000000000000000000000000..6d9a1dd76c213760e71dce554040a74ce37a3812 GIT binary patch literal 102 zcmZRoVqjooVp_xi0`{s5jErCw11kdqJDA0Y2|(gNWkAGa4PrBa*o@4KArKZ&plT5_ JBZvbt5dgw81JM8g literal 0 HcmV?d00001 diff --git a/regress/corpus/8e705807465b4b22c48414d0010c56b4aa1cc1ad b/regress/corpus/8e705807465b4b22c48414d0010c56b4aa1cc1ad new file mode 100644 index 0000000000000000000000000000000000000000..ca8f7cf8c086bf70cd0ed90f15a3cf29b31fbda6 GIT binary patch literal 22 VcmZQlWng5014RaQhQI$A7yt`_0!;t_ literal 0 HcmV?d00001 diff --git a/regress/corpus/8ea3eb791728e8ef9c42adbb4a7f1e9dfeeb4abc b/regress/corpus/8ea3eb791728e8ef9c42adbb4a7f1e9dfeeb4abc new file mode 100644 index 0000000000000000000000000000000000000000..02b9a7c84a7afc7cad7b913532840209067f8135 GIT binary patch literal 41 dcmZQ%WMur$00aL8fLt)J1(Glh6C(qI7yw8>0*e3u literal 0 HcmV?d00001 diff --git a/regress/corpus/8ea46df3cd9fc812cd712434d2d8046b870555eb b/regress/corpus/8ea46df3cd9fc812cd712434d2d8046b870555eb new file mode 100644 index 0000000000000000000000000000000000000000..bbb5eef4b6209efb1f458e15a533f41a38dac278 GIT binary patch literal 80 pcmZRoVyI$ZU}La`0R+q1x&jkKz=X8H8jQds8^izq{~168BLJdp8$|#B literal 0 HcmV?d00001 diff --git a/regress/corpus/8f19dd249d8e320a3f715fa6188c2c2a047bbc97 b/regress/corpus/8f19dd249d8e320a3f715fa6188c2c2a047bbc97 new file mode 100644 index 0000000000000000000000000000000000000000..c48f136aee43e728142f0ab63abf2ceab721d4dd GIT binary patch literal 29 XcmZROVq^dVFtr!LR%T#iPyjLk57hx4 literal 0 HcmV?d00001 diff --git a/regress/corpus/8f2af75e0bcfc5e78b52a04f368d3cbba10b4429 b/regress/corpus/8f2af75e0bcfc5e78b52a04f368d3cbba10b4429 new file mode 100644 index 0000000000000000000000000000000000000000..3b60fd9df22d08e386734803e9bbf567d71e15db GIT binary patch literal 118 lcmZRoVkl)`WPkw1onSiQ0G|So@xSixDki2XHmU;#1^~}L2#Ejy literal 0 HcmV?d00001 diff --git a/regress/corpus/8f88c5fa95cc7a3f0ad61588eac5f8cf46f442dc b/regress/corpus/8f88c5fa95cc7a3f0ad61588eac5f8cf46f442dc new file mode 100644 index 0000000000000000000000000000000000000000..e7aeddf692a3e90707685818bdb785a3e9b7dfc5 GIT binary patch literal 4 LcmZSj|DOQ>1qT8F literal 0 HcmV?d00001 diff --git a/regress/corpus/8f9c0c9fd37e8031ca00b306c7dfcde45a996f1d b/regress/corpus/8f9c0c9fd37e8031ca00b306c7dfcde45a996f1d new file mode 100644 index 0000000..88432a0 --- /dev/null +++ b/regress/corpus/8f9c0c9fd37e8031ca00b306c7dfcde45a996f1d @@ -0,0 +1 @@ +„bÿÿÿÿÿ¹ÿÿÿÿÿ¹ÿÿ-ÿ \ No newline at end of file diff --git a/regress/corpus/8f9ee55232574504b81665960d13ee39a1487353 b/regress/corpus/8f9ee55232574504b81665960d13ee39a1487353 new file mode 100644 index 0000000000000000000000000000000000000000..6abd588c4e46308b379e7015fd8f46fe2f0e6aad GIT binary patch literal 28 acmZRoVqj#@V}JogW=0V6|NlFz(To5hbOa0l literal 0 HcmV?d00001 diff --git a/regress/corpus/902d8066536a59912eb8b90ac8c3965cb8564a8a b/regress/corpus/902d8066536a59912eb8b90ac8c3965cb8564a8a new file mode 100644 index 0000000000000000000000000000000000000000..67c915a5c0b40217ac821a0bb0291d0300b8ab84 GIT binary patch literal 29 ccmZRo(qm)*0uk;5APNk$7#I{8tQeFS04C1@G5`Po literal 0 HcmV?d00001 diff --git a/regress/corpus/9069ca78e7450a285173431b3e52c5c25299e473 b/regress/corpus/9069ca78e7450a285173431b3e52c5c25299e473 new file mode 100644 index 0000000000000000000000000000000000000000..593f4708db84ac8fd0f5cc47c634f38c013fe9e4 GIT binary patch literal 4 LcmZQzU|;|M00aO5 literal 0 HcmV?d00001 diff --git a/regress/corpus/90fdcbf7a022cb6795299ec2d0a981402e9a1999 b/regress/corpus/90fdcbf7a022cb6795299ec2d0a981402e9a1999 new file mode 100644 index 0000000000000000000000000000000000000000..5a6795a8f414e8652a5827d87042216792126683 GIT binary patch literal 5 McmY#jVEoSr00O50A^-pY literal 0 HcmV?d00001 diff --git a/regress/corpus/9120d853d7b24145ece5f2ea0bebf8acd74d1f17 b/regress/corpus/9120d853d7b24145ece5f2ea0bebf8acd74d1f17 new file mode 100644 index 0000000000000000000000000000000000000000..a2ef4c828f4a4b04d8dc0b3bdd9fbaf4d8080d4b GIT binary patch literal 38 icmd;6U|?YQbBg)@|GK}c)+$^8@_-;62{16|I{*L=XAJuQ literal 0 HcmV?d00001 diff --git a/regress/corpus/915521aac674e3132ed59636dbefe2a8a614219e b/regress/corpus/915521aac674e3132ed59636dbefe2a8a614219e new file mode 100644 index 0000000000000000000000000000000000000000..f75a20b0aa634eb9428a8a858e17817c7a294486 GIT binary patch literal 156 mcmZQHWMHWOyK2pgb_NhgIKZa>r2g0aUBv|A4;at}+6(~m>j@J8 literal 0 HcmV?d00001 diff --git a/regress/corpus/91573885d73a49dcce985de71bfe2bac92fddf28 b/regress/corpus/91573885d73a49dcce985de71bfe2bac92fddf28 new file mode 100644 index 0000000000000000000000000000000000000000..edd4d47447385b3aeaccce45a065e54668c77266 GIT binary patch literal 260 zcmdPbjzj__aDWhGWMBp&1fL45KX(y;X%Pbmz%52%6hPUD40Zqi|G!&O0wnh%$>U(& U1-lScEvBOr!FERe{~s9%0P%Ef%m4rY literal 0 HcmV?d00001 diff --git a/regress/corpus/9167b740c4d2f8a0d279d2286bc039a92d2485c8 b/regress/corpus/9167b740c4d2f8a0d279d2286bc039a92d2485c8 new file mode 100644 index 0000000000000000000000000000000000000000..670edfeb48e3a51d4e3391146d6336176832fed7 GIT binary patch literal 31 XcmZRo(qm)*0uk;%APNB#SwL(6EI$G4 literal 0 HcmV?d00001 diff --git a/regress/corpus/9167c2ee7884cca512a25c5c46047a51a8ee0037 b/regress/corpus/9167c2ee7884cca512a25c5c46047a51a8ee0037 new file mode 100644 index 0000000000000000000000000000000000000000..cb12294d12faf53b94328f0cbc63875fbbc78ed6 GIT binary patch literal 37 acmX?c;>6v%cP9xlXagw>@S=)=5eNbK%NS+= literal 0 HcmV?d00001 diff --git a/regress/corpus/91ea1b5bb00a93330eefd83d06dc30070a8a4a77 b/regress/corpus/91ea1b5bb00a93330eefd83d06dc30070a8a4a77 new file mode 100644 index 0000000000000000000000000000000000000000..aa3896050673a5ead112dcdd92b01f0e9ebbd5f0 GIT binary patch literal 17 WcmZQ%U|?VbVus}WTm}aAR7L;^z5%ZQ literal 0 HcmV?d00001 diff --git a/regress/corpus/922c7c3f7b2ce7e996fa24e0e259e71033a0bc79 b/regress/corpus/922c7c3f7b2ce7e996fa24e0e259e71033a0bc79 new file mode 100644 index 0000000000000000000000000000000000000000..9eaa962d439d7c93b68f20691783ad0d06720ad8 GIT binary patch literal 70 gcmZRoVt@l92#XC!u`y^)0rManAagHR6uZn60C?O4X8-^I literal 0 HcmV?d00001 diff --git a/regress/corpus/924dca3b94a8a9ed3029f9bea1de5bab3ffc0624 b/regress/corpus/924dca3b94a8a9ed3029f9bea1de5bab3ffc0624 new file mode 100644 index 0000000000000000000000000000000000000000..81810840eeba6424bc525632122a146402b7145f GIT binary patch literal 38 bcmZRo(qm=-0&ea<3>+W^gamOR04xXqMzI3w literal 0 HcmV?d00001 diff --git a/regress/corpus/92a4fc3e3882d623e160b449b8c5d00b6cf5541a b/regress/corpus/92a4fc3e3882d623e160b449b8c5d00b6cf5541a new file mode 100644 index 0000000000000000000000000000000000000000..cdfab627efad2b548e24dceb013ae08c47e592be GIT binary patch literal 14 VcmexSrD({&z|O$Pz`(%42mlwx0oDKj literal 0 HcmV?d00001 diff --git a/regress/corpus/92d5f1fd799ea3387dfbcf34e9454eb39022e891 b/regress/corpus/92d5f1fd799ea3387dfbcf34e9454eb39022e891 new file mode 100644 index 0000000000000000000000000000000000000000..e1e47baa70bc569deda87efc1b1204211035d6c7 GIT binary patch literal 17 QcmZRoVqj!|gGCIC013zeApigX literal 0 HcmV?d00001 diff --git a/regress/corpus/9307e86e985db1fea0f0939d211712d2ee5277c4 b/regress/corpus/9307e86e985db1fea0f0939d211712d2ee5277c4 new file mode 100644 index 0000000000000000000000000000000000000000..64b167e3f63d1b8c0a13b5068d6ee30363922f4a GIT binary patch literal 77 zcmexSrEJK+z|H^y91QCE`ix*E1Jfc#MkX**5lDiC9l%^v2?oYEuqXo~GXtXo00S`v AF#rGn literal 0 HcmV?d00001 diff --git a/regress/corpus/931358fa84efac651ec27d64805438e0e80841a0 b/regress/corpus/931358fa84efac651ec27d64805438e0e80841a0 new file mode 100644 index 0000000000000000000000000000000000000000..3097562da5f9dece86522e7705f75b7ff901a896 GIT binary patch literal 24 WcmZRoVt@lSAd8J*$`ppl3{wCUUjo_6at(ELnR;%VL(*|6-1_hPDOAP5KJfw0NX?p A>;M1& literal 0 HcmV?d00001 diff --git a/regress/corpus/93b1dd76197a98c1dd003731cb19f826905c99c6 b/regress/corpus/93b1dd76197a98c1dd003731cb19f826905c99c6 new file mode 100644 index 0000000000000000000000000000000000000000..3a3d74e6d19648eaa86693b409fee8da4f28742d GIT binary patch literal 33 lcmZQt#K^?JAi%)jzlf26K@5l){xdl+FfL+XWC5}n7yw081F8T3 literal 0 HcmV?d00001 diff --git a/regress/corpus/93ce6463d6320c7f6c25d69d05013afdae31210b b/regress/corpus/93ce6463d6320c7f6c25d69d05013afdae31210b new file mode 100644 index 0000000000000000000000000000000000000000..5e6ab445eb443f56ac7952334db56ad21411e470 GIT binary patch literal 3 KcmZQlWB>pFO8_JQ literal 0 HcmV?d00001 diff --git a/regress/corpus/93e87708ae49d4ecce34d19fb158170823c65a25 b/regress/corpus/93e87708ae49d4ecce34d19fb158170823c65a25 new file mode 100644 index 0000000000000000000000000000000000000000..57408bd90709528599d76e8e27d247824049bc20 GIT binary patch literal 61 ccmZQ%U}OLS4G_V=kZ^zx!ayOhivpDZ09;)HhX4Qo literal 0 HcmV?d00001 diff --git a/regress/corpus/942c6c3d6165595504b4f6288812ea11bac43bab b/regress/corpus/942c6c3d6165595504b4f6288812ea11bac43bab new file mode 100644 index 0000000000000000000000000000000000000000..88242bdab9193ceb84ebc6cd313fac4615007a08 GIT binary patch literal 19 ZcmbOv$iTqB2*m&Yr{?D}FfgSu0sttc1WW(` literal 0 HcmV?d00001 diff --git a/regress/corpus/944771f50947af2b24dfa61029b4d27a93939dea b/regress/corpus/944771f50947af2b24dfa61029b4d27a93939dea new file mode 100644 index 0000000000000000000000000000000000000000..4b175b42212e729e00b75f23675f86aa964a94f7 GIT binary patch literal 22 dcmZQt#K5@!|Ns9NfH;}4A@={j|Nj;;0sxn^4h#SQ literal 0 HcmV?d00001 diff --git a/regress/corpus/94b58973cc02b03f39e841b6d46d18a747140d0f b/regress/corpus/94b58973cc02b03f39e841b6d46d18a747140d0f new file mode 100644 index 0000000000000000000000000000000000000000..9fe9881430a65b94e94475a603739bebae48dcdd GIT binary patch literal 46 acmZQz0D>Nd|M&j?{|{ubg1E>4RR93W+y!v} literal 0 HcmV?d00001 diff --git a/regress/corpus/94efa6407e5aab15c2a342ba3fcad52295fb9814 b/regress/corpus/94efa6407e5aab15c2a342ba3fcad52295fb9814 new file mode 100644 index 0000000000000000000000000000000000000000..d6620478ff32c7fe2250a241bd6a991f9179b8c3 GIT binary patch literal 33 fcmZQt#K^?Jz`zKE4D1XHia<7q%gMmN3}FEP7?1$q literal 0 HcmV?d00001 diff --git a/regress/corpus/954eabc7f4915e55ab72abaae18babcb319db9dd b/regress/corpus/954eabc7f4915e55ab72abaae18babcb319db9dd new file mode 100644 index 0000000..63bc5a3 --- /dev/null +++ b/regress/corpus/954eabc7f4915e55ab72abaae18babcb319db9dd @@ -0,0 +1 @@ +¹¹¹ÿÿÿÿÿÿÿ`ÿÿÿ2ÖÖÿÿÿÿ`ÿÿÿ2ÖÖÿ`ÿÿÿ2ÖÖÿÿÿÿ`ÿÿÿ2ÖÖÖÖÖÖÖÖÿÿÿÿÖÖÖÖÖÿÿÿÿÿ \ No newline at end of file diff --git a/regress/corpus/954f6e2ab929a0af1e9e6219dc94436889af5afe b/regress/corpus/954f6e2ab929a0af1e9e6219dc94436889af5afe new file mode 100644 index 0000000000000000000000000000000000000000..1286688c7ac59c28692baedef025cecd33c7dbdb GIT binary patch literal 52 YcmZQt#8}6G39t$>SZx#g%fMg)08xhn+5i9m literal 0 HcmV?d00001 diff --git a/regress/corpus/95750b926efdc74598dd99ac2e3e6546112ffb56 b/regress/corpus/95750b926efdc74598dd99ac2e3e6546112ffb56 new file mode 100644 index 0000000..759a121 --- /dev/null +++ b/regress/corpus/95750b926efdc74598dd99ac2e3e6546112ffb56 @@ -0,0 +1 @@ +¢ÿ]ÿþÿþ¡ \ No newline at end of file diff --git a/regress/corpus/95842eec56c4339b26a57667f0edb733ed7962c0 b/regress/corpus/95842eec56c4339b26a57667f0edb733ed7962c0 new file mode 100644 index 0000000000000000000000000000000000000000..a33aee5eb41b1ef0a537682ed449fc68814c8ca2 GIT binary patch literal 9 QcmZQt#K6kHz?9Ai00tfb6aWAK literal 0 HcmV?d00001 diff --git a/regress/corpus/95cd58cb7fe10654007d4484d7ce3ca4ecea0b02 b/regress/corpus/95cd58cb7fe10654007d4484d7ce3ca4ecea0b02 new file mode 100644 index 0000000000000000000000000000000000000000..0651cb1d5d1aaed72e69c479c64e46f4de7f15f9 GIT binary patch literal 12 PcmdnV00i}-Ad&$946gxB literal 0 HcmV?d00001 diff --git a/regress/corpus/96b0b73ccd4c4cbb53ddb0f34d6479952a99062a b/regress/corpus/96b0b73ccd4c4cbb53ddb0f34d6479952a99062a new file mode 100644 index 0000000000000000000000000000000000000000..3be1f9ab9ede0b41242d671b856bd4c62bbe429d GIT binary patch literal 22 ZcmZQ%U|?hvU|>kj-vkD^3=Hh4i~u)&1?&I- literal 0 HcmV?d00001 diff --git a/regress/corpus/96bbaab1e049a90347a9f8fae767154ac8067c3b b/regress/corpus/96bbaab1e049a90347a9f8fae767154ac8067c3b new file mode 100644 index 0000000000000000000000000000000000000000..48752da933ee55b16083fa9dc3afadb4a59ff845 GIT binary patch literal 55 gcmZQ%00BluAqIxze1=V{UGRfVn;16jPhemG05-D?wg3PC literal 0 HcmV?d00001 diff --git a/regress/corpus/970240906e2ee951475d085d068a3d094d41c19d b/regress/corpus/970240906e2ee951475d085d068a3d094d41c19d new file mode 100644 index 0000000000000000000000000000000000000000..03e018da5d73aa58b2e33cf856b59bded1865b5d GIT binary patch literal 23 YcmZQj(Pa>mWdH)E7BB&1Gcg(g02OKh;{X5v literal 0 HcmV?d00001 diff --git a/regress/corpus/975fb84d4c49e7e94a68f67199af8bcbb7a207fb b/regress/corpus/975fb84d4c49e7e94a68f67199af8bcbb7a207fb new file mode 100644 index 0000000000000000000000000000000000000000..491e513b9e59193c29f7aa8c274b2f55f1d7ad08 GIT binary patch literal 37 ccmey%@E-`&{_g}r28KT@3{323K=J>707{7sAOHXW literal 0 HcmV?d00001 diff --git a/regress/corpus/97a7c440eb6edd3b97857f170a22aaf745c2be08 b/regress/corpus/97a7c440eb6edd3b97857f170a22aaf745c2be08 new file mode 100644 index 0000000000000000000000000000000000000000..9b9ee7acfd2138a5d49901e250a4949fa1e11330 GIT binary patch literal 26 YcmZROVq|~;MuvkxCL<4!U~*sp01UVREdT%j literal 0 HcmV?d00001 diff --git a/regress/corpus/97c9f5b01a64608c4d733fb5e8f80bf60cb6e0e9 b/regress/corpus/97c9f5b01a64608c4d733fb5e8f80bf60cb6e0e9 new file mode 100644 index 0000000000000000000000000000000000000000..7d59f2d0438d1de466e482048ac62b2aafe26b27 GIT binary patch literal 18 Scmewn%K!t63=Ae))foU9^8#l8 literal 0 HcmV?d00001 diff --git a/regress/corpus/9824b77161124c1a52a0e90bcdcdf3e3315136ad b/regress/corpus/9824b77161124c1a52a0e90bcdcdf3e3315136ad new file mode 100644 index 0000000000000000000000000000000000000000..8e1fa1b735cbe64aee427a2dcd6396651833db49 GIT binary patch literal 41 dcmZRoVq|7uU}WH8fPvd{VJslc2xaRr001{40y6*r literal 0 HcmV?d00001 diff --git a/regress/corpus/98b0978fd55ec45c2420efcb1fefaf176272e83b b/regress/corpus/98b0978fd55ec45c2420efcb1fefaf176272e83b new file mode 100644 index 0000000..ad3f06a --- /dev/null +++ b/regress/corpus/98b0978fd55ec45c2420efcb1fefaf176272e83b @@ -0,0 +1 @@ + ¹ \ No newline at end of file diff --git a/regress/corpus/98b7dbc6b57999b18ac60f6c5cbefa9e8b7c1f27 b/regress/corpus/98b7dbc6b57999b18ac60f6c5cbefa9e8b7c1f27 new file mode 100644 index 0000000000000000000000000000000000000000..5622580ae64d880169d9598da5207f18dd99fd23 GIT binary patch literal 15 PcmXSCKg9q8?5T_Z5{v=1 literal 0 HcmV?d00001 diff --git a/regress/corpus/98d479ca70fb1e102e8bbeeb6a60cc7fa3b76800 b/regress/corpus/98d479ca70fb1e102e8bbeeb6a60cc7fa3b76800 new file mode 100644 index 0000000000000000000000000000000000000000..18b7112a1c9b4a7469619819d512cefccf777cac GIT binary patch literal 32 lcmdP@|8qVwLqZ}0!~g&K`V7DSgTOxqO$G)AeSQ6{i~s-&4o3h0 literal 0 HcmV?d00001 diff --git a/regress/corpus/98eec35d35186ca0ab0f9e20f98be54e56711755 b/regress/corpus/98eec35d35186ca0ab0f9e20f98be54e56711755 new file mode 100644 index 0000000000000000000000000000000000000000..549f2b16a238f95f4a93ff73ea02f4657a111704 GIT binary patch literal 73 ScmZSj!axaNglJ}DU<3d~i2(Wl literal 0 HcmV?d00001 diff --git a/regress/corpus/990508507c525656ed05f2a24097542b86861947 b/regress/corpus/990508507c525656ed05f2a24097542b86861947 new file mode 100644 index 0000000000000000000000000000000000000000..af9a36c65a1b4dc6f1100083cd4cd0f8dbc2e667 GIT binary patch literal 58 ZcmZRoVgLiRIsX~hKrBXv1h4=>0sw%`0;K=| literal 0 HcmV?d00001 diff --git a/regress/corpus/99068925f5d3f8a1b72f2d994a1b83553734544c b/regress/corpus/99068925f5d3f8a1b72f2d994a1b83553734544c new file mode 100644 index 0000000000000000000000000000000000000000..5fba9a95474eb91c2a8c02e8df02a3a183e24af7 GIT binary patch literal 24 ccmZQ%U|?VbVjy5H&yi$K&d+6FU{7TP02N09u>b%7 literal 0 HcmV?d00001 diff --git a/regress/corpus/9915366692cdbe8b59686f62dc43376484d0997e b/regress/corpus/9915366692cdbe8b59686f62dc43376484d0997e new file mode 100644 index 0000000000000000000000000000000000000000..9a4c072ac58f98eb1b84b3248231c88073cbe8d5 GIT binary patch literal 18 TcmdnV00Q-*V2Xj^A15aO7X$)c literal 0 HcmV?d00001 diff --git a/regress/corpus/999e07e69be47a6d9b79b16ac0acc4d6f364389e b/regress/corpus/999e07e69be47a6d9b79b16ac0acc4d6f364389e new file mode 100644 index 0000000000000000000000000000000000000000..324a89803de441e9b0d4ac103af8d6a904621cf6 GIT binary patch literal 64 ncmZQt^ox;!fq_xkkb!~yKM0`n|G!26ptRtBMi5{ClZ>wcpfDX| literal 0 HcmV?d00001 diff --git a/regress/corpus/99c1fd892daa54d32498d85a1f553dcd5c4c4b38 b/regress/corpus/99c1fd892daa54d32498d85a1f553dcd5c4c4b38 new file mode 100644 index 0000000000000000000000000000000000000000..bc8f93574da9e6f761fc7a008f8d81c8474c9f29 GIT binary patch literal 21 XcmZRoVqjoofPzH~|Nq}%jb;P@9uovx literal 0 HcmV?d00001 diff --git a/regress/corpus/99f928fab785bfe6b63ea25e4834a9b68ba69f07 b/regress/corpus/99f928fab785bfe6b63ea25e4834a9b68ba69f07 new file mode 100644 index 0000000000000000000000000000000000000000..fe7f736816e800684b067fe8976b45883909ec44 GIT binary patch literal 33 jcmZQt#K^?Jz`zK^itLK)3}*j9U{+Ty0|PryjDZmVbnFMi literal 0 HcmV?d00001 diff --git a/regress/corpus/9a438b14759dc939b246253f25dbd7cdcc18fc7b b/regress/corpus/9a438b14759dc939b246253f25dbd7cdcc18fc7b new file mode 100644 index 0000000000000000000000000000000000000000..256c285f268537e2fc70382a3f460d0314d3656f GIT binary patch literal 15 QcmZRoVqjzd0~Qbi00#U3g8%>k literal 0 HcmV?d00001 diff --git a/regress/corpus/9adddc94238e63de11effe112ff2ce714aa9a1f1 b/regress/corpus/9adddc94238e63de11effe112ff2ce714aa9a1f1 new file mode 100644 index 0000000000000000000000000000000000000000..2f29174b1c1ef1c596a3ff2d71ddb358090f46ad GIT binary patch literal 14 TcmZQ_VqjooVB8+f_#X%W6to3a literal 0 HcmV?d00001 diff --git a/regress/corpus/9af47a3a40bf5249e12e0b2890f1f7c81b0ddfc1 b/regress/corpus/9af47a3a40bf5249e12e0b2890f1f7c81b0ddfc1 new file mode 100644 index 0000000000000000000000000000000000000000..32a00289c31660fcd9606b36aac94de5f7995503 GIT binary patch literal 21 WcmZQ%P-b9cIK=<~j6jMxl@S0Bg#lUs literal 0 HcmV?d00001 diff --git a/regress/corpus/9b3d11c3f1e4e115b3efa17a9f38879c0a381a20 b/regress/corpus/9b3d11c3f1e4e115b3efa17a9f38879c0a381a20 new file mode 100644 index 0000000000000000000000000000000000000000..36d6c003b27ce4e3104900dd9533616db3656b2a GIT binary patch literal 28 kcmdP@|C1phk%8HPnUP^d0s}L{g$oS-87{Ce{Qu7k0E6)fuK)l5 literal 0 HcmV?d00001 diff --git a/regress/corpus/9bb9a330f03a065caff0118814fd5696533a4e23 b/regress/corpus/9bb9a330f03a065caff0118814fd5696533a4e23 new file mode 100644 index 0000000000000000000000000000000000000000..fc8d882183a3e57506882692bc34f366616cb9fc GIT binary patch literal 16 ScmZRoVqj!oU}1n@t3?0^xdCDT literal 0 HcmV?d00001 diff --git a/regress/corpus/9bcade36d87f3c9af4127e921d669d812fca89f6 b/regress/corpus/9bcade36d87f3c9af4127e921d669d812fca89f6 new file mode 100644 index 0000000000000000000000000000000000000000..4b20029b13156a34611b505f1f39f1cad3a5da37 GIT binary patch literal 24 bcmZQ%U|?WmU{21@Wlv=U6R`}ju`00uE5Zbm literal 0 HcmV?d00001 diff --git a/regress/corpus/9c7874f89f89c284b0d44cf008c86e5c199ee323 b/regress/corpus/9c7874f89f89c284b0d44cf008c86e5c199ee323 new file mode 100644 index 0000000..cb56b56 --- /dev/null +++ b/regress/corpus/9c7874f89f89c284b0d44cf008c86e5c199ee323 @@ -0,0 +1 @@ +Y¢ \ No newline at end of file diff --git a/regress/corpus/9c92687eedbfd81891c7d469f760a798e7b1e214 b/regress/corpus/9c92687eedbfd81891c7d469f760a798e7b1e214 new file mode 100644 index 0000000000000000000000000000000000000000..c016b51340d6a224478acd4bc3833ab308f0ff98 GIT binary patch literal 49 qcmdP@pUA-Mz|6?7CV@f!|4)Vl1eclN!Ucx^3>O$+3>Jp}|Cs@2$q)ws literal 0 HcmV?d00001 diff --git a/regress/corpus/9ccf68d691cc61583a06a46a31e783678a7b16ff b/regress/corpus/9ccf68d691cc61583a06a46a31e783678a7b16ff new file mode 100644 index 0000000000000000000000000000000000000000..a9c95e050cb33ecc880d165f58c2860b6a11d03e GIT binary patch literal 33 jcmZQz77<}^U;rXU#{d8SYyAK3zyPEf85n@nP9O^at)33U literal 0 HcmV?d00001 diff --git a/regress/corpus/9cd35d0bed4ed8ae1933a4f32458bca0e93b10d8 b/regress/corpus/9cd35d0bed4ed8ae1933a4f32458bca0e93b10d8 new file mode 100644 index 0000000000000000000000000000000000000000..0a867fff21abb8893489438946f5b88c400b156f GIT binary patch literal 29 hcmZQ%00Blu0S1QTe1=V{H*I3rv_FAi6Od+L002-=2aW&$ literal 0 HcmV?d00001 diff --git a/regress/corpus/9ce1604d659135925ccc4dd1f526affe42e689f1 b/regress/corpus/9ce1604d659135925ccc4dd1f526affe42e689f1 new file mode 100644 index 0000000000000000000000000000000000000000..f71ac66a63ac339d7af6ffdfa9d67f1fdb33791c GIT binary patch literal 2 JcmbPh|uExIqbh literal 0 HcmV?d00001 diff --git a/regress/corpus/a0599f71cd2b664b9c403ebce915dbc3c1f2bb0c b/regress/corpus/a0599f71cd2b664b9c403ebce915dbc3c1f2bb0c new file mode 100644 index 0000000000000000000000000000000000000000..19450b2a91b3507f6625cc52b5dbe44806c12d4b GIT binary patch literal 73 jcmZQz0D>Nd|M!^g0U7`Q{|E8mfECWd&1e8>1IhvbjB5wW literal 0 HcmV?d00001 diff --git a/regress/corpus/a0fd0cd2c64fbcfa550512560c6e00c099f9aacc b/regress/corpus/a0fd0cd2c64fbcfa550512560c6e00c099f9aacc new file mode 100644 index 0000000000000000000000000000000000000000..51bc74695a15e757e5a7c0081d3faeee1a08d362 GIT binary patch literal 60 gcmZQz009mLb$xwxAVXgtNSwe2fa;h*>hu{H0f^=p(EtDd literal 0 HcmV?d00001 diff --git a/regress/corpus/a10c77a48789c09c1c4f6c50e00c94955edd1d10 b/regress/corpus/a10c77a48789c09c1c4f6c50e00c94955edd1d10 new file mode 100644 index 0000000000000000000000000000000000000000..25c53effc3a85c81a3f1a03a8fd189648a56acad GIT binary patch literal 34 WcmXT_j{?|v7$D&Pe=u#7$_N0LHxUy6 literal 0 HcmV?d00001 diff --git a/regress/corpus/a1c29609317113f78ac9f634fc9a19958abb138f b/regress/corpus/a1c29609317113f78ac9f634fc9a19958abb138f new file mode 100644 index 0000000000000000000000000000000000000000..5a2e5a1367b705c8e99f1b50963ffe5eb1ebb099 GIT binary patch literal 53 bcmZQDXMg}!W)Q6hA{gN;Bqm(Ykbw~Z9l-%D literal 0 HcmV?d00001 diff --git a/regress/corpus/a26b14bf845f39cd55a68a2e8c20c6ac0236cf09 b/regress/corpus/a26b14bf845f39cd55a68a2e8c20c6ac0236cf09 new file mode 100644 index 0000000000000000000000000000000000000000..126c85e371d52fd8e22edc0ecc5bb34f0711a59f GIT binary patch literal 52 fcmZQt#K5$O0R&Wm=m81<3PNOoQcUUdVSo_;4rUcU literal 0 HcmV?d00001 diff --git a/regress/corpus/a2f7290b0387a503460cd2ea0a949689c78f4204 b/regress/corpus/a2f7290b0387a503460cd2ea0a949689c78f4204 new file mode 100644 index 0000000000000000000000000000000000000000..d5b8fe70fee0941a5ee97f68509dfa07e8e9d974 GIT binary patch literal 11 ScmZQtw3FfXO$G)AMg{;F3j-4X literal 0 HcmV?d00001 diff --git a/regress/corpus/a2fb72fd3996f6da4e4b705e735290d918104606 b/regress/corpus/a2fb72fd3996f6da4e4b705e735290d918104606 new file mode 100644 index 0000000000000000000000000000000000000000..4f38f16c3a5df2fb8a28d51814b46cc59d885c85 GIT binary patch literal 24 bcmZQt#K_3R00N2(3``7+%rk&YW(EcT6<+~s literal 0 HcmV?d00001 diff --git a/regress/corpus/a3aa5727e4969801c7ce25c0e5a3b893a3598a73 b/regress/corpus/a3aa5727e4969801c7ce25c0e5a3b893a3598a73 new file mode 100644 index 0000000000000000000000000000000000000000..df0ca0662e517a285e2dbaba1a769f2c54d842f4 GIT binary patch literal 12 PcmZRY$-uzK00xWz2EYKG literal 0 HcmV?d00001 diff --git a/regress/corpus/a3c57d6371bc722974d303e46c493db32028d7ec b/regress/corpus/a3c57d6371bc722974d303e46c493db32028d7ec new file mode 100644 index 0000000000000000000000000000000000000000..015002e681c837db0392372267c0d5d6983d8e45 GIT binary patch literal 15 VcmZRoVyI$ZU<1Pc|Nk>E000=}1ONa4 literal 0 HcmV?d00001 diff --git a/regress/corpus/a3ed2b59b7950022a048b6d67dbac1af4d8a7f0f b/regress/corpus/a3ed2b59b7950022a048b6d67dbac1af4d8a7f0f new file mode 100644 index 0000000000000000000000000000000000000000..91ff342df5d36332cf6e8d1b610eb85a1710f1a9 GIT binary patch literal 73 gcmZRY$z+ZWj4hBriy{LQ7&0)zm~aMEfJu-60JBX90{{R3 literal 0 HcmV?d00001 diff --git a/regress/corpus/a40b2149f78ef7b33edf90b68f87cff8f2aff2b7 b/regress/corpus/a40b2149f78ef7b33edf90b68f87cff8f2aff2b7 new file mode 100644 index 0000000000000000000000000000000000000000..345bbc3b46802d36b1598251aa5f76b9d30829bd GIT binary patch literal 5 Mcmd1H6J)Rl00dP5EdT%j literal 0 HcmV?d00001 diff --git a/regress/corpus/a4b1e09fd4b041a945d45035ca6c5b7d6def39fe b/regress/corpus/a4b1e09fd4b041a945d45035ca6c5b7d6def39fe new file mode 100644 index 0000000000000000000000000000000000000000..b41c155d072ba76a00bc028009bbc3077ca7a75a GIT binary patch literal 87 lcmZQDXMg}!W)Q6hA{b$;NF+9l>5rlUt{NfCz+k|@2mos|0)hYl literal 0 HcmV?d00001 diff --git a/regress/corpus/a5b63f7e9ca957c116955db09d5b68d3e2b37862 b/regress/corpus/a5b63f7e9ca957c116955db09d5b68d3e2b37862 new file mode 100644 index 0000000..316d93e --- /dev/null +++ b/regress/corpus/a5b63f7e9ca957c116955db09d5b68d3e2b37862 @@ -0,0 +1 @@ + ÿý& \ No newline at end of file diff --git a/regress/corpus/a65656539585ed8898d3063d6a3a3b816e6539c7 b/regress/corpus/a65656539585ed8898d3063d6a3a3b816e6539c7 new file mode 100644 index 0000000000000000000000000000000000000000..98e7dd63db9d47d7f0a3c837b5062e4720d8be1c GIT binary patch literal 86 XcmZQj`N;qQEMSTe$|Hwjhid`=U%CM* literal 0 HcmV?d00001 diff --git a/regress/corpus/a68e5160505fab79ba7253249e55d9f9c350ce90 b/regress/corpus/a68e5160505fab79ba7253249e55d9f9c350ce90 new file mode 100644 index 0000000000000000000000000000000000000000..9daede02d2ce556d3af3aab4fb7349275176845c GIT binary patch literal 28 ccmZRY$;cqq!|85sJ37{X@&07Gd6T>t<8 literal 0 HcmV?d00001 diff --git a/regress/corpus/a6b345c8a480ac7f60d53332eb7b2d4ead9f825a b/regress/corpus/a6b345c8a480ac7f60d53332eb7b2d4ead9f825a new file mode 100644 index 0000000000000000000000000000000000000000..87f317b36a693b4850709e57ec4b3ec94fb5ad3e GIT binary patch literal 12 ScmZQt#K3Tyg8>NsF#-S(Cjy56 literal 0 HcmV?d00001 diff --git a/regress/corpus/a6ed0c1810a5d697a7843341e8ebd728944940e7 b/regress/corpus/a6ed0c1810a5d697a7843341e8ebd728944940e7 new file mode 100644 index 0000000000000000000000000000000000000000..ae71907dc155859c4242ea2fabf28614157aebfa GIT binary patch literal 19 Xcmey*_5VMY(SIP|;$mQC2n8YlXe9^) literal 0 HcmV?d00001 diff --git a/regress/corpus/a78797805a55b6c8414d0a25c186392f2e8c4c2c b/regress/corpus/a78797805a55b6c8414d0a25c186392f2e8c4c2c new file mode 100644 index 0000000000000000000000000000000000000000..47b9db1e68c98de3395e9cb8a3d21b7c3002e371 GIT binary patch literal 6 Ncmd1H6J)Sw000Go0WAOk literal 0 HcmV?d00001 diff --git a/regress/corpus/a7a93d84b948364645d95cdad57eac52b849535d b/regress/corpus/a7a93d84b948364645d95cdad57eac52b849535d new file mode 100644 index 0000000000000000000000000000000000000000..75386a0bed98ad47c36ea78886f6eb1c4994573e GIT binary patch literal 107 UcmZRoVgLd*h9nw-Xt3D~0G#C}00000 literal 0 HcmV?d00001 diff --git a/regress/corpus/a7bd988e4fd6abe3f746583c2ef0e9ddb3840e93 b/regress/corpus/a7bd988e4fd6abe3f746583c2ef0e9ddb3840e93 new file mode 100644 index 0000000000000000000000000000000000000000..142ffde8bcff2f37c5e97e8e2019a9179c2cd662 GIT binary patch literal 30 WcmZQ_VqjokWcZH;76HW=qZt7NF%dQZ literal 0 HcmV?d00001 diff --git a/regress/corpus/a7c9344ca7b2dfb694854a0f35a0d7d4b35e4804 b/regress/corpus/a7c9344ca7b2dfb694854a0f35a0d7d4b35e4804 new file mode 100644 index 0000000000000000000000000000000000000000..6d24a7cfc67b87e463ce792e304ddffecd709eca GIT binary patch literal 46 WcmZRoVqs(egV#Wk6~aUzk;MQwzX5ju literal 0 HcmV?d00001 diff --git a/regress/corpus/a7dfaff0f9843772735c0a4bc43e6cbc5ac9f323 b/regress/corpus/a7dfaff0f9843772735c0a4bc43e6cbc5ac9f323 new file mode 100644 index 0000000000000000000000000000000000000000..2261c47441a5b94abe0f338bd99e59f616cd3d50 GIT binary patch literal 30 gcmW;30Sy2k48X8W2WrrPe;xZnt99$J#Qg9HHHCWzy#N3J literal 0 HcmV?d00001 diff --git a/regress/corpus/a7e26305de62e741962b6452e706252aa5f7ca3a b/regress/corpus/a7e26305de62e741962b6452e706252aa5f7ca3a new file mode 100644 index 0000000000000000000000000000000000000000..cb1443451fd04cbae1bd14c63126dd099bd07971 GIT binary patch literal 9 QcmZQ_U|?iqV2ox200Q6uq5uE@ literal 0 HcmV?d00001 diff --git a/regress/corpus/a80e73ca501e9987103ce87189cf5f7d52f10028 b/regress/corpus/a80e73ca501e9987103ce87189cf5f7d52f10028 new file mode 100644 index 0000000000000000000000000000000000000000..60e9f1c1546642391cc315ca840f7cb07a86a94c GIT binary patch literal 21 WcmZRoVqj!|fkh1e|KDMaW&{8p6a-rU literal 0 HcmV?d00001 diff --git a/regress/corpus/a8216f66bbbe6994762f4f141d395188c41ebf2a b/regress/corpus/a8216f66bbbe6994762f4f141d395188c41ebf2a new file mode 100644 index 0000000000000000000000000000000000000000..71e199ca413022de120e52751cba433ad0a7d20a GIT binary patch literal 32 bcmZRoVgLdb2F?Z`#mEk1F@gjbnV}>A9Pa@i literal 0 HcmV?d00001 diff --git a/regress/corpus/a9745a45eac355f6ac3bee8ad0b35e680e8f964c b/regress/corpus/a9745a45eac355f6ac3bee8ad0b35e680e8f964c new file mode 100644 index 0000000000000000000000000000000000000000..96b83c592f3fb2d8574062bca89d07262e6c1f17 GIT binary patch literal 35 ocmdP@nZUq2Kat@-Gb2L+BSRtskiKx?KLZQHe<1jGkm3Ii0LxqsssI20 literal 0 HcmV?d00001 diff --git a/regress/corpus/a99586555b9fbfb4389df04d2d523725059fa433 b/regress/corpus/a99586555b9fbfb4389df04d2d523725059fa433 new file mode 100644 index 0000000000000000000000000000000000000000..62435c861c4367c1878ed30ff57d4a76aabbd622 GIT binary patch literal 20 UcmZQt#K^?P00fL+f*HgD01Wp4v;Y7A literal 0 HcmV?d00001 diff --git a/regress/corpus/a9b8840dafc6c214c23c575adcf706c4f3c14413 b/regress/corpus/a9b8840dafc6c214c23c575adcf706c4f3c14413 new file mode 100644 index 0000000000000000000000000000000000000000..a2533cd93ca3118916a6315694ab1c7e53717feb GIT binary patch literal 49 kcmZQz0D>Nd|M&j?{|{ubg1Emy1Q_`00V%K;RDgj2005B&=Kufz literal 0 HcmV?d00001 diff --git a/regress/corpus/aa46f107a61179b8898044343e4631373a1eea53 b/regress/corpus/aa46f107a61179b8898044343e4631373a1eea53 new file mode 100644 index 0000000000000000000000000000000000000000..031b91f4e805cdc060546177806fc00e4346d605 GIT binary patch literal 25 ccmZQ%U}Rzd0!0wPFqwgofkBLcJ#{7{01N^F)&Kwi literal 0 HcmV?d00001 diff --git a/regress/corpus/aa7513e9789339b47b881855c444d6b9719dbac0 b/regress/corpus/aa7513e9789339b47b881855c444d6b9719dbac0 new file mode 100644 index 0000000000000000000000000000000000000000..6a4752b953927e579ff351716f06c4dddc14998b GIT binary patch literal 31 icmZQzU}RNd|M&j?{|{ubg19)rc@&xR3;-&J2MPcH literal 0 HcmV?d00001 diff --git a/regress/corpus/ab5852763202f606306d339f8d65ae56ec04a066 b/regress/corpus/ab5852763202f606306d339f8d65ae56ec04a066 new file mode 100644 index 0000000000000000000000000000000000000000..7673ad61b876efae5280ecf9cc55c3beddba65d3 GIT binary patch literal 32 dcmZQzU|?iOIKTh|j0{Xb3`Af;5X53&0017x0XqNy literal 0 HcmV?d00001 diff --git a/regress/corpus/abcfba43f31a70d4e58451c1d0f81de5fe4fcae2 b/regress/corpus/abcfba43f31a70d4e58451c1d0f81de5fe4fcae2 new file mode 100644 index 0000000000000000000000000000000000000000..bf5e530b759572695d38557d8bd2f055689be164 GIT binary patch literal 24 YcmZRY$-uzK00vAgiVO^3f`QQx02*}y9RL6T literal 0 HcmV?d00001 diff --git a/regress/corpus/abe4c4ce5c010acaf25f918a10488607555a91aa b/regress/corpus/abe4c4ce5c010acaf25f918a10488607555a91aa new file mode 100644 index 0000000000000000000000000000000000000000..e129e04467aa23a756866030a74c19e8781a7687 GIT binary patch literal 28 ccmZRoVq|7uU}Rurf-&TN1Nlsh|Ns9704H4qCjbBd literal 0 HcmV?d00001 diff --git a/regress/corpus/abf885332d343205410c7b0cd718012471865a33 b/regress/corpus/abf885332d343205410c7b0cd718012471865a33 new file mode 100644 index 0000000000000000000000000000000000000000..04871ca54f63b76af728d0746f2e0f0b94a20c82 GIT binary patch literal 31 gcmZQt#K^?Jz`)4Bz|O#+2xNgcoD2-iARz`u02eC&-~a#s literal 0 HcmV?d00001 diff --git a/regress/corpus/ac4bf8da6a8c6922aea26d10a7770ea5b005ce3f b/regress/corpus/ac4bf8da6a8c6922aea26d10a7770ea5b005ce3f new file mode 100644 index 0000000000000000000000000000000000000000..7ddf88abcd197f3a7c79303f7e1783a56df135f6 GIT binary patch literal 32 ccmZQ%U|?VbVj$pTwn)u^vj4NEGRA@c03|*IRsaA1 literal 0 HcmV?d00001 diff --git a/regress/corpus/ac92118dcf23c98714781748676c6802b15d505e b/regress/corpus/ac92118dcf23c98714781748676c6802b15d505e new file mode 100644 index 0000000000000000000000000000000000000000..d258f2d06807c5e6ed1b7b0939569a849a173317 GIT binary patch literal 83 zcmZRoVo+sNWnf@o5CRfE;J^dUf-;z9GBPj-Fl=RDNM>O8@dJcWfIdTxUe1pn0t`O@ DXGJi> literal 0 HcmV?d00001 diff --git a/regress/corpus/acae5d16f58a6d3202e43a7ba8a8dc451c9fe83d b/regress/corpus/acae5d16f58a6d3202e43a7ba8a8dc451c9fe83d new file mode 100644 index 0000000000000000000000000000000000000000..d4bdf856f9e3ccc2a3c9f891097382f0ab871f6e GIT binary patch literal 107 zcmZQz0D>Nd|M&j?{|{ub0x=^<2n2ouF&7YH6=Y!0gGwC}Bp@U@m!XlFA(WX5LNSB_00^HMOaK4? literal 0 HcmV?d00001 diff --git a/regress/corpus/acd867ceb457ae8254326eb7c501d155d0cea672 b/regress/corpus/acd867ceb457ae8254326eb7c501d155d0cea672 new file mode 100644 index 0000000000000000000000000000000000000000..d1107a9a2a1c70750216034e918abb1c03538a33 GIT binary patch literal 15 RcmZQt!~g-T3=B-^i~tGz0TciL literal 0 HcmV?d00001 diff --git a/regress/corpus/ad00c7fe5bb9dd0380f866a7631d0617e7567bd9 b/regress/corpus/ad00c7fe5bb9dd0380f866a7631d0617e7567bd9 new file mode 100644 index 0000000..762b37d --- /dev/null +++ b/regress/corpus/ad00c7fe5bb9dd0380f866a7631d0617e7567bd9 @@ -0,0 +1 @@ +/þùŸ ¼¨sqþ \ No newline at end of file diff --git a/regress/corpus/ad07ecee596aa5c1210b851fa9810a2decd8bf99 b/regress/corpus/ad07ecee596aa5c1210b851fa9810a2decd8bf99 new file mode 100644 index 0000000000000000000000000000000000000000..56d624d7a29aadf448ee9c0993d4af9a493fe56e GIT binary patch literal 36 ecmZQD{|^C-K#GAuhryhIfnhd?1q8SMg9!j&s}U3c literal 0 HcmV?d00001 diff --git a/regress/corpus/ad0c40ff1d5721d8b01f73454e06260207667d81 b/regress/corpus/ad0c40ff1d5721d8b01f73454e06260207667d81 new file mode 100644 index 0000000000000000000000000000000000000000..4935d36054038b7b1829e1adc095caf9ab83443e GIT binary patch literal 73 scmZRoVn73I43e4*3@lR^5Hc(bY!D%kQZ^vgoC4MaVzLjLZxStPBkERhZJN66P~9)cybepOpbfz`=ev3&AMJ+;s6@Jp+n5 duxtPvAQTf|sX;&ulqN_)jALYCWMBl@4*=?zctQXG literal 0 HcmV?d00001 diff --git a/regress/corpus/ae1772fd023f897b7f59e9f039cdea8268f757d9 b/regress/corpus/ae1772fd023f897b7f59e9f039cdea8268f757d9 new file mode 100644 index 0000000000000000000000000000000000000000..9e4c0610bda1e93a9e6365f7cc00d91db585a63a GIT binary patch literal 75 gcmZQz0D>Nd|M!^g0U7`Q{|E8mfECUnzyN6j0F{FWO8@`> literal 0 HcmV?d00001 diff --git a/regress/corpus/ae2270662f6fb21cca3739ebaede36fcb763137a b/regress/corpus/ae2270662f6fb21cca3739ebaede36fcb763137a new file mode 100644 index 0000000000000000000000000000000000000000..6c5817149cdc63f308c113e9fce414abfd44a461 GIT binary patch literal 25 bcmdP@|C5;^A(4TZ5lY@Lzwn=dh2aMPU#AC; literal 0 HcmV?d00001 diff --git a/regress/corpus/ae3f65080bf46aca7bafd1e129a2508ecd737dec b/regress/corpus/ae3f65080bf46aca7bafd1e129a2508ecd737dec new file mode 100644 index 0000000000000000000000000000000000000000..2d834238fb392f92a6d8a74db85128ed8a095ab1 GIT binary patch literal 24 acmZQ%U}a!nuvY~Via^Z3zzoFfsf+*$BLMsW literal 0 HcmV?d00001 diff --git a/regress/corpus/ae48c9d1f1f3685ff3107b122ba281d4c4dc084b b/regress/corpus/ae48c9d1f1f3685ff3107b122ba281d4c4dc084b new file mode 100644 index 0000000000000000000000000000000000000000..2a03574101946159b82b3f463046ba257a3f7c0f GIT binary patch literal 19 UcmZ?ZW@KdGVEF$Zgn$?b06g;vO#lD@ literal 0 HcmV?d00001 diff --git a/regress/corpus/ae940b5ba0a8b47eeb3ff97e852fd369b1304196 b/regress/corpus/ae940b5ba0a8b47eeb3ff97e852fd369b1304196 new file mode 100644 index 0000000000000000000000000000000000000000..bc4f05ab1a42016f99b819e848d31d6e46560efc GIT binary patch literal 60 rcmZQz0D|8@%mrdF=rJ(-2LeV2lYtdTGc5x0G#P+|vH_5bU}*yY1jz?3 literal 0 HcmV?d00001 diff --git a/regress/corpus/aed7cc67f73f2efcf63652cd85a1feacad555e16 b/regress/corpus/aed7cc67f73f2efcf63652cd85a1feacad555e16 new file mode 100644 index 0000000000000000000000000000000000000000..9b26ab56a0ea1b8ce6223d39eff0b16c0a8b9c22 GIT binary patch literal 106 zcmZRoVq{=uU|?imWdH(AAXa2xXZXtq;xRn~kr+S&Lj+wwk>NkX-~a4DVMZoKuK)iT Im{b`!0Xh>1MF0Q* literal 0 HcmV?d00001 diff --git a/regress/corpus/af1ec507d20c15585f88053a00090d47345b8305 b/regress/corpus/af1ec507d20c15585f88053a00090d47345b8305 new file mode 100644 index 0000000000000000000000000000000000000000..a8f38d96fc128de6aef4de3f46b597ca624f502b GIT binary patch literal 6 NcmZQ&;9_9-4FCa00Sf>C literal 0 HcmV?d00001 diff --git a/regress/corpus/af2eff0b0b5f017869f4fca654e1a62960704db9 b/regress/corpus/af2eff0b0b5f017869f4fca654e1a62960704db9 new file mode 100644 index 0000000000000000000000000000000000000000..586ceccf62e5f6b33e91df3eb8919831b96b73ff GIT binary patch literal 45 ZcmZRoVqjzd0u>-;0ph=mObkM}002)m184vM literal 0 HcmV?d00001 diff --git a/regress/corpus/af39af37db7a5cd26116d6438ff928b9002732be b/regress/corpus/af39af37db7a5cd26116d6438ff928b9002732be new file mode 100644 index 0000000000000000000000000000000000000000..e9e132305b5229660a602b516e4cdff3973b0518 GIT binary patch literal 33 icmZQt#K^?Jz`&?%$iTo3WH2yrFsSS614Wp@JVpQ{cmb9G literal 0 HcmV?d00001 diff --git a/regress/corpus/af4335ef850e8dff2e243c9763b7e831f95b0884 b/regress/corpus/af4335ef850e8dff2e243c9763b7e831f95b0884 new file mode 100644 index 0000000000000000000000000000000000000000..29b5ee20fc6f73c5cfce720efef8451ab2ec7df7 GIT binary patch literal 28 jcmdP@|8qXG!k!fj4FCVv7iSgzs|T|7CulP0Gg<=x$%YI_ literal 0 HcmV?d00001 diff --git a/regress/corpus/af488e737e65a06a3c5568b010b21e0e104232bf b/regress/corpus/af488e737e65a06a3c5568b010b21e0e104232bf new file mode 100644 index 0000000000000000000000000000000000000000..2a3048d4044341803a986400cbd4e57923db6fea GIT binary patch literal 25 ccmZQ%P-b9cIK{xg@c;ii1|SoJ7?@KT0X#?qM*si- literal 0 HcmV?d00001 diff --git a/regress/corpus/af6686d48e1f6a4f8d739b1017a4aa4fc8baf384 b/regress/corpus/af6686d48e1f6a4f8d739b1017a4aa4fc8baf384 new file mode 100644 index 0000000000000000000000000000000000000000..1b94229dc1691d8322a2b9d4433d54f6c1d772be GIT binary patch literal 33 XcmZQ%U|?Wm6kuRT&fkOy*i#t+!U_(F literal 0 HcmV?d00001 diff --git a/regress/corpus/af6f39261913488276d4a2c058491e9a32bfabf7 b/regress/corpus/af6f39261913488276d4a2c058491e9a32bfabf7 new file mode 100644 index 0000000000000000000000000000000000000000..0a05bc60050d126fabb17679cf8eff9470d72ba1 GIT binary patch literal 27 dcmZQ%{Qv*|P9XlT{GXHcBE!X<7eRml2mtUE4^;pF literal 0 HcmV?d00001 diff --git a/regress/corpus/afb3e7c0c98741bb299eb3c9dfbff978e9204f6a b/regress/corpus/afb3e7c0c98741bb299eb3c9dfbff978e9204f6a new file mode 100644 index 0000000000000000000000000000000000000000..bab8782cc6b2c6aa1c671af51c64d1764a0a593c GIT binary patch literal 91 ncmZQt!~g-Tj2M7JpMimq87$4nz`zb+V5mX}a4@LrBWVEuT8aU! literal 0 HcmV?d00001 diff --git a/regress/corpus/afbc13987f873650de5ed88882f9823422ad5a5b b/regress/corpus/afbc13987f873650de5ed88882f9823422ad5a5b new file mode 100644 index 0000000000000000000000000000000000000000..edf006342e31622f82b4e1e37d2f09e4ac19a20c GIT binary patch literal 11 ScmZRoVqj!oU}9j1W&i*MtpM8q literal 0 HcmV?d00001 diff --git a/regress/corpus/aff3e4182a36de06fe672883c7e7cb6c4bf07d68 b/regress/corpus/aff3e4182a36de06fe672883c7e7cb6c4bf07d68 new file mode 100644 index 0000000000000000000000000000000000000000..e4305c5ad8062b51a5efdafbe28715f24785c16d GIT binary patch literal 10 RcmZQ&;9_704%ZvPyhe` literal 0 HcmV?d00001 diff --git a/regress/corpus/b0302009ec735d2b6de0a29923829866d5612b5f b/regress/corpus/b0302009ec735d2b6de0a29923829866d5612b5f new file mode 100644 index 0000000000000000000000000000000000000000..ecb482a7f778f5068a24dcbf63f747f55d951137 GIT binary patch literal 24 bcmZQ_VqjqS4+ISC|NsA}0yFalRga( literal 0 HcmV?d00001 diff --git a/regress/corpus/b04d30b01fc52e67be2bc25ed8ebd31d4a46d7fb b/regress/corpus/b04d30b01fc52e67be2bc25ed8ebd31d4a46d7fb new file mode 100644 index 0000000000000000000000000000000000000000..7a28628b39a1307a7c7b7171f5648ce04cd0c74d GIT binary patch literal 47 lcmZRoVqj!oU}9j1W&i>p&A%5oHio1hG_sd;l;S0rmg@ literal 0 HcmV?d00001 diff --git a/regress/corpus/b0aadeb9071b8fc80d5f194cba93874bcf67f286 b/regress/corpus/b0aadeb9071b8fc80d5f194cba93874bcf67f286 new file mode 100644 index 0000000000000000000000000000000000000000..fad9328b833a712742b9d8896f98cd035068cd55 GIT binary patch literal 74 fcmZRY$z+ZWj4hBriy{LQ7&0)zm~aMMK#&0dyE+I0 literal 0 HcmV?d00001 diff --git a/regress/corpus/b0d0c50eb6925a152bcc155725546346a6245941 b/regress/corpus/b0d0c50eb6925a152bcc155725546346a6245941 new file mode 100644 index 0000000000000000000000000000000000000000..c5390590cf4bd0548d49722ae931ee318c484165 GIT binary patch literal 3 KcmZQ#V*mgE6#xkU literal 0 HcmV?d00001 diff --git a/regress/corpus/b0f147f1f41c34e4bc3bb3f80d65f2b6c07b71b9 b/regress/corpus/b0f147f1f41c34e4bc3bb3f80d65f2b6c07b71b9 new file mode 100644 index 0000000000000000000000000000000000000000..a77df6204b72f3ee2c75179643fe4fddb1e0271b GIT binary patch literal 16 WcmbOv$iTqB2*m&Yr{*)IG6Db_vjg7% literal 0 HcmV?d00001 diff --git a/regress/corpus/b168bcb4776297254332db0d72f5cbd611a99143 b/regress/corpus/b168bcb4776297254332db0d72f5cbd611a99143 new file mode 100644 index 0000000000000000000000000000000000000000..b91105e9724baec3f1c0ad889a57a23b3386113a GIT binary patch literal 5 McmZQ#V_;wa001Wd2><{9 literal 0 HcmV?d00001 diff --git a/regress/corpus/b172d3d474bbd55ff3cf5846578a78bf91c59f46 b/regress/corpus/b172d3d474bbd55ff3cf5846578a78bf91c59f46 new file mode 100644 index 0000000000000000000000000000000000000000..d4e10469d218aa63c81d5812a5c69dba99926175 GIT binary patch literal 61 zcmZRY$-uzK00IUeU}3b#$kfQf)X><>1jsNkHEU4>$|*4{U(T=`tPDt4gBcGP7yvIt B348zm literal 0 HcmV?d00001 diff --git a/regress/corpus/b1e0969a15dfc06a9deb925dfa8dd72ff0832d32 b/regress/corpus/b1e0969a15dfc06a9deb925dfa8dd72ff0832d32 new file mode 100644 index 0000000000000000000000000000000000000000..419d1c6e718e4c85e87fd4f04437bfc90b1767de GIT binary patch literal 65 ucmZRon!o@CbN(~1sU?7!j0|ib`ac7M8<@{9hk=0+gy6&hkoaT}!3Y2ajs|uB literal 0 HcmV?d00001 diff --git a/regress/corpus/b1fc7413d9261c25622febb0394d19fa1e14091e b/regress/corpus/b1fc7413d9261c25622febb0394d19fa1e14091e new file mode 100644 index 0000000000000000000000000000000000000000..68b35fa4975a42aad97d84c87a36d09034617848 GIT binary patch literal 26 dcmZQ%U|?hvU|>kj-vk283_v26fq^}h5dc*22U7q5 literal 0 HcmV?d00001 diff --git a/regress/corpus/b36dfb1f140e85136b25a40831f33f1f477b1ef7 b/regress/corpus/b36dfb1f140e85136b25a40831f33f1f477b1ef7 new file mode 100644 index 0000000000000000000000000000000000000000..66c3c979a06af1b264b982ac44067c61e4f398fc GIT binary patch literal 11 QcmZRoVqjzd0w$&^00nUX`~Uy| literal 0 HcmV?d00001 diff --git a/regress/corpus/b37982e22cc21cf0cbc0332b51678520fa20a1da b/regress/corpus/b37982e22cc21cf0cbc0332b51678520fa20a1da new file mode 100644 index 0000000000000000000000000000000000000000..cce05e4c54299bf913bfa504c59ec240f23267b8 GIT binary patch literal 32 bcmZQzU<5*j+=84`=Kn|_IX{ literal 0 HcmV?d00001 diff --git a/regress/corpus/b3f5074e0b8e0f5f4622bb88d9369d12398ea668 b/regress/corpus/b3f5074e0b8e0f5f4622bb88d9369d12398ea668 new file mode 100644 index 0000000000000000000000000000000000000000..b888335706359085024955cb03c5052a856156d4 GIT binary patch literal 76 McmexS#XvOx0Bx!Pa{vGU literal 0 HcmV?d00001 diff --git a/regress/corpus/b404cc9150b9853ed2400f58e466ff2eb7e4b362 b/regress/corpus/b404cc9150b9853ed2400f58e466ff2eb7e4b362 new file mode 100644 index 0000000000000000000000000000000000000000..561aa3fb0a5cced684f936733cfe926c1fb04445 GIT binary patch literal 78 zcmZRon!o@CbN(~1sR3Dx44MoKYzz!c4F4Gz+z@iH3=HBx$po+@156UAkU^i}-+z0M H!pRH(q%{i= literal 0 HcmV?d00001 diff --git a/regress/corpus/b4ca7b7bf5100fe77b2c9b3c2ea773915e4a9d6e b/regress/corpus/b4ca7b7bf5100fe77b2c9b3c2ea773915e4a9d6e new file mode 100644 index 0000000000000000000000000000000000000000..a0ebe228badb53da876c647fb771fbfb4b4ccf92 GIT binary patch literal 15 TcmZQz0E7Sk|1;?8>oWoX7NP@; literal 0 HcmV?d00001 diff --git a/regress/corpus/b4f2df5dedddc1e5f8a9486617ad79cbbbd2010b b/regress/corpus/b4f2df5dedddc1e5f8a9486617ad79cbbbd2010b new file mode 100644 index 0000000000000000000000000000000000000000..7d02cc049e3d3d89923f4d2dbe3149c50ff7023f GIT binary patch literal 37 kcmZQ%VBlb6U|_IiVE7LNy+91)fq)7FgOigJ15olm0J+@>xBvhE literal 0 HcmV?d00001 diff --git a/regress/corpus/b502fd576ff834a6f70374fb4f1259921000de9a b/regress/corpus/b502fd576ff834a6f70374fb4f1259921000de9a new file mode 100644 index 0000000000000000000000000000000000000000..18d8e399c0567f6aaea5fbadba29899dc89c04bf GIT binary patch literal 20 XcmZQt#K^?Jz`zKE4D29+L4*MS4DNd|M&j?{|{sdFl=RDNM=~24**-U2WS8Q literal 0 HcmV?d00001 diff --git a/regress/corpus/b62044534a5b21f09fb8bb7ef761619eb1f96dd2 b/regress/corpus/b62044534a5b21f09fb8bb7ef761619eb1f96dd2 new file mode 100644 index 0000000000000000000000000000000000000000..0be1ff95d642908eb0c42d8acd05b9d89f94d145 GIT binary patch literal 146 ecmZQ%Ox|S3ut}Q%0=xzaY}%B(Y11YKAO-*ht1A-# literal 0 HcmV?d00001 diff --git a/regress/corpus/b6556bcd64c670959b5eda5b562017e61c959c73 b/regress/corpus/b6556bcd64c670959b5eda5b562017e61c959c73 new file mode 100644 index 0000000000000000000000000000000000000000..cde2c646663742b578f356c05c8eb38bb0a0c9af GIT binary patch literal 3 Kcmewn%K!iar2$p| literal 0 HcmV?d00001 diff --git a/regress/corpus/b6ba81343b6ab8baa99a7a9ce560623bda5f29b7 b/regress/corpus/b6ba81343b6ab8baa99a7a9ce560623bda5f29b7 new file mode 100644 index 0000000000000000000000000000000000000000..42c207be0104d42c4f2ec205304a480edf4e07c6 GIT binary patch literal 136 zcmZQt!~g_L@(fH>jLZxStPBkEnbNBg<})&UV)#!CU|?cERVap2*AJM?d@~ literal 0 HcmV?d00001 diff --git a/regress/corpus/b7a9f1ef2b417627083ca0e3c01576f970047a10 b/regress/corpus/b7a9f1ef2b417627083ca0e3c01576f970047a10 new file mode 100644 index 0000000000000000000000000000000000000000..706ef88f6a2e14fe06f1fc32c31306f81fa62946 GIT binary patch literal 9 QcmZQlW%&Ewriy_901k=*+5i9m literal 0 HcmV?d00001 diff --git a/regress/corpus/b7c446a931fd7dc25f359d96862796c053774271 b/regress/corpus/b7c446a931fd7dc25f359d96862796c053774271 new file mode 100644 index 0000000000000000000000000000000000000000..504814e36ef23a736f212cee15434497bd74cef0 GIT binary patch literal 33 icmZQz77<}^U|_KS|DW+c5HkP)kn6y}2;yq|{|^9_UJFeC literal 0 HcmV?d00001 diff --git a/regress/corpus/b802142d13b66385996c9a3dfd6b0c4cd6a75870 b/regress/corpus/b802142d13b66385996c9a3dfd6b0c4cd6a75870 new file mode 100644 index 0000000000000000000000000000000000000000..80c74642b62b47704be7549f292988c5d5b4a2ea GIT binary patch literal 25 ccmZQ%U|?VbVh~_1&q-xY&d+6FU{7TP02o37{Qv*} literal 0 HcmV?d00001 diff --git a/regress/corpus/b806aa2487f8de774e92ce94603761e9f2c04e06 b/regress/corpus/b806aa2487f8de774e92ce94603761e9f2c04e06 new file mode 100644 index 0000000000000000000000000000000000000000..6759dde16548d2078f1e0947b90ed0c0eff4b65e GIT binary patch literal 26 XcmZQ7W&{BSC@3y2{tU!b3=E6_D+mOe literal 0 HcmV?d00001 diff --git a/regress/corpus/b82a81912601d23807c10af4268fdad450c7c7c5 b/regress/corpus/b82a81912601d23807c10af4268fdad450c7c7c5 new file mode 100644 index 0000000000000000000000000000000000000000..ca8d7b3bcef060434595b5e76b811ec523042af6 GIT binary patch literal 8 PcmY$>XN_fG+Gzj)1{eXO literal 0 HcmV?d00001 diff --git a/regress/corpus/b855290b7801979f528ea28a6791aa67b38e1920 b/regress/corpus/b855290b7801979f528ea28a6791aa67b38e1920 new file mode 100644 index 0000000000000000000000000000000000000000..3e9c5a89286ccde39d0a8f62634ae4dabec97122 GIT binary patch literal 25 acmZQzU}6A+P5GM`81gr1Zvuh;$&3I&fCv8o literal 0 HcmV?d00001 diff --git a/regress/corpus/b88c33da68797d26661b0223bc118bf16fb4fe4f b/regress/corpus/b88c33da68797d26661b0223bc118bf16fb4fe4f new file mode 100644 index 0000000000000000000000000000000000000000..dec20151b6b77612a86ceb43f6e92762f43e902c GIT binary patch literal 14 PcmZP+U|>kj-vk8!A-M*0 literal 0 HcmV?d00001 diff --git a/regress/corpus/b90239fd820cc862a0aa25adea74bbfb50ab2a6f b/regress/corpus/b90239fd820cc862a0aa25adea74bbfb50ab2a6f new file mode 100644 index 0000000000000000000000000000000000000000..86450aeb113bbc1cac37bd1e513880ab2eb18c0d GIT binary patch literal 30 ecmZQ%U|?VbVjxfiVrCG|$;lC5U|>&eWdr~bK>~09 literal 0 HcmV?d00001 diff --git a/regress/corpus/b93d354cf1b750a6031980d7875f724efaad99cb b/regress/corpus/b93d354cf1b750a6031980d7875f724efaad99cb new file mode 100644 index 0000000000000000000000000000000000000000..ae358163c1804e149bfd6635fb3db6bea3c38b65 GIT binary patch literal 8 PcmZQlW%&D_fq?-43J3xu literal 0 HcmV?d00001 diff --git a/regress/corpus/b96cd06a07aa2ea4cacfa5b7c374a4e1982b7837 b/regress/corpus/b96cd06a07aa2ea4cacfa5b7c374a4e1982b7837 new file mode 100644 index 0000000000000000000000000000000000000000..7c32a8279153865e7d6b0a4d91a4adef7aa7a87f GIT binary patch literal 25 bcmZQt#K^?Jz`&?%$iTq<9}Hdt0pn``U&srV literal 0 HcmV?d00001 diff --git a/regress/corpus/b9db948517099d516de0284b2f1a3ecd293086a1 b/regress/corpus/b9db948517099d516de0284b2f1a3ecd293086a1 new file mode 100644 index 0000000000000000000000000000000000000000..50a3ec471f3f9f0c9dea3e5bc64147206ade92c5 GIT binary patch literal 51 zcmWN`K@ET~6a}!p5rU2#cEA9xFn|-(Od0v?)}-ypM(kcrbcZhsH?wN?RnnqL8!q_) D!wLxA literal 0 HcmV?d00001 diff --git a/regress/corpus/ba1202ecaadf38968356a7132d0c68961184961d b/regress/corpus/ba1202ecaadf38968356a7132d0c68961184961d new file mode 100644 index 0000000000000000000000000000000000000000..f6fbf24ccc6c073ff036f0319cbeb33b2d724a6a GIT binary patch literal 4 LcmZQ#WY7Zu06hRQ literal 0 HcmV?d00001 diff --git a/regress/corpus/ba2c8050d36531e21af24eb4154e8e771f9885fe b/regress/corpus/ba2c8050d36531e21af24eb4154e8e771f9885fe new file mode 100644 index 0000000000000000000000000000000000000000..66ce6f8d5ec4acb7f354b49bdf9565f5454bc15b GIT binary patch literal 121 ncmZRoVq|7uU}QjGAQJ)tY4*?7Sa)AgR literal 0 HcmV?d00001 diff --git a/regress/corpus/ba3bd70a25f8a3f5a3f88856124872545e6f9db1 b/regress/corpus/ba3bd70a25f8a3f5a3f88856124872545e6f9db1 new file mode 100644 index 0000000000000000000000000000000000000000..3379407b30a716ebfa20dc6e5d9ddb3758395f0c GIT binary patch literal 13 Ucmd0sJCBj!Kmr59e+C8y03dGz$^ZZW literal 0 HcmV?d00001 diff --git a/regress/corpus/ba8579bb0ac8a69bff6466bc60550fff46137a95 b/regress/corpus/ba8579bb0ac8a69bff6466bc60550fff46137a95 new file mode 100644 index 0000000000000000000000000000000000000000..a33796a786b3e87b4bada2ad529bbbb0737785d4 GIT binary patch literal 15 OcmZQz00Sln#RvcZAOHja literal 0 HcmV?d00001 diff --git a/regress/corpus/baaddd35c814737a4f27e87d2b5363b795d958e4 b/regress/corpus/baaddd35c814737a4f27e87d2b5363b795d958e4 new file mode 100644 index 0000000000000000000000000000000000000000..6f20e0629c65cc5e850e96a61f38857483cfdfaf GIT binary patch literal 22 Tcmewn`;P$u41r8ehOG<$GxY;Q literal 0 HcmV?d00001 diff --git a/regress/corpus/bab488fece4736c97a7b53a3f60ad95c50800559 b/regress/corpus/bab488fece4736c97a7b53a3f60ad95c50800559 new file mode 100644 index 0000000000000000000000000000000000000000..19460ca2af1c5256b8caf0e48ab86c2467076152 GIT binary patch literal 74 pcmZQt!~g>Jstk;bU={-_0|Psl#fS+&;&4$826cUXAfFkc8UR*t0mT3S literal 0 HcmV?d00001 diff --git a/regress/corpus/basic_query.bin b/regress/corpus/basic_query.bin new file mode 100644 index 0000000000000000000000000000000000000000..81b6e3cad345b7355a4d6f9cbfb67abd3b165841 GIT binary patch literal 33 hcmZQzU}OLx5MVAZFK17!NX#wBNo7vX&jm>^0su;61)=}| literal 0 HcmV?d00001 diff --git a/regress/corpus/bb801edfcf2761d81a1e3e87e7f4e8defebebaf0 b/regress/corpus/bb801edfcf2761d81a1e3e87e7f4e8defebebaf0 new file mode 100644 index 0000000000000000000000000000000000000000..5873d8e58bc4909017d92193d83db5344a8a7a33 GIT binary patch literal 80 zcmZQz0D>Nd|M&j?{|{ub0x=^4gWPYBFbIGcTp$Lk9s|Qyuzb}bpbAYe0aB}M0F;H% F+5lJx3!MM} literal 0 HcmV?d00001 diff --git a/regress/corpus/bb8f106fe97c546ad80c1f69ce605deee60e3c6c b/regress/corpus/bb8f106fe97c546ad80c1f69ce605deee60e3c6c new file mode 100644 index 0000000000000000000000000000000000000000..d6d37edf0329d7d73e1fdb4f18c57d72cf4c53c4 GIT binary patch literal 94 rcmZRoVn73IKt3CT<`l3ngu}qVvKK6hrWBbA(*n`~)DHxE8KwXLq51?l literal 0 HcmV?d00001 diff --git a/regress/corpus/bba9f3584e6fa7dbcb51fac4fa8e387915d6a757 b/regress/corpus/bba9f3584e6fa7dbcb51fac4fa8e387915d6a757 new file mode 100644 index 0000000000000000000000000000000000000000..c30f69bdbf539c8da492155e0499c2b1bae1cefd GIT binary patch literal 24 ecmZQt#K^<|1d4o$>$001#g0UiJV literal 0 HcmV?d00001 diff --git a/regress/corpus/bdbd4468da9c8866455530d83bba8afbb170648c b/regress/corpus/bdbd4468da9c8866455530d83bba8afbb170648c new file mode 100644 index 0000000000000000000000000000000000000000..59722b70bd6c81a67b8a7b30fd9bbe22eae8a076 GIT binary patch literal 41 YcmZRoVqgS9R1mBP;X^3~MTY+j03gx=Gynhq literal 0 HcmV?d00001 diff --git a/regress/corpus/be2814f401045b146eaeda95c4ef217cd1efd7fc b/regress/corpus/be2814f401045b146eaeda95c4ef217cd1efd7fc new file mode 100644 index 0000000000000000000000000000000000000000..7cd9f5a65efa9dd7cf4025e2a12e79835398064a GIT binary patch literal 28 ccmZQ%U}IolkYQj1k_-%rP@3UC0|PrF017k#P5=M^ literal 0 HcmV?d00001 diff --git a/regress/corpus/be6aacbb35f624d515ad7dba0d243be7f63a6cb5 b/regress/corpus/be6aacbb35f624d515ad7dba0d243be7f63a6cb5 new file mode 100644 index 0000000000000000000000000000000000000000..fb8b5d1f4a9e62f0a50973357194ec9ec28098b6 GIT binary patch literal 144 hcmZRoVqjzd0x%J*2x93lfG9A?Wnh9a=|V>{007z>0t)~D literal 0 HcmV?d00001 diff --git a/regress/corpus/be9d33c759830203b9895cf901edf38941ce8362 b/regress/corpus/be9d33c759830203b9895cf901edf38941ce8362 new file mode 100644 index 0000000000000000000000000000000000000000..8c1962c776ee17d5be6fc39f1cf5dab94c506006 GIT binary patch literal 12 PcmZRoVgLdT5WxTd1(E=T literal 0 HcmV?d00001 diff --git a/regress/corpus/beee1902079c7a6fdc9b573f3e113f31557a2f10 b/regress/corpus/beee1902079c7a6fdc9b573f3e113f31557a2f10 new file mode 100644 index 0000000000000000000000000000000000000000..e92b9ad74addb9be96e76f27e44361f8f1b1bcdf GIT binary patch literal 16 QcmZRoVqj!|fkh0A00~L~ApigX literal 0 HcmV?d00001 diff --git a/regress/corpus/bef8d337015a462023338c4fbb0307b729c93475 b/regress/corpus/bef8d337015a462023338c4fbb0307b729c93475 new file mode 100644 index 0000000000000000000000000000000000000000..d7a25acc40b203368c3de5e481abd9ea5f4e6f41 GIT binary patch literal 33 gcmZQ%U|?WmV6bIi_zwjPoXi%fIY2QWU{7TP0IsqLy8r+H literal 0 HcmV?d00001 diff --git a/regress/corpus/befc81e605a9ffc8049f3d459e8c0c434a9d6e8c b/regress/corpus/befc81e605a9ffc8049f3d459e8c0c434a9d6e8c new file mode 100644 index 0000000000000000000000000000000000000000..df236fc7f63c63d95f84395123b831fa7d57e01c GIT binary patch literal 19 acmd;6U|>vTWME+U`=5cKT$6#}6f*!JZ3F)R literal 0 HcmV?d00001 diff --git a/regress/corpus/bf42bfa5f54f6e7da74e035d1bb220476d62b716 b/regress/corpus/bf42bfa5f54f6e7da74e035d1bb220476d62b716 new file mode 100644 index 0000000000000000000000000000000000000000..11c8a3520cb82365cb7723415258251295a4ec7e GIT binary patch literal 26 bcmZQzU}RtxVQ^qzWq^SHj6nK-el7z57Ec2? literal 0 HcmV?d00001 diff --git a/regress/corpus/bf45059db459aeb3d851961de1b0ba5fdc5a963c b/regress/corpus/bf45059db459aeb3d851961de1b0ba5fdc5a963c new file mode 100644 index 0000000000000000000000000000000000000000..a2033d1f4c71827abaeeaf47ca31baa8838a4dbe GIT binary patch literal 6 NcmZQlW%&D_0RRQS0we$c literal 0 HcmV?d00001 diff --git a/regress/corpus/bf55a41f881bae8c6b5274c6b63bfa9054c00cb5 b/regress/corpus/bf55a41f881bae8c6b5274c6b63bfa9054c00cb5 new file mode 100644 index 0000000000000000000000000000000000000000..09ef6df754b9be5066a2bfe68150a3012ee8b6d3 GIT binary patch literal 51 wcmZRoVq|7uU}Rur00K=QR%H0k2x2omgK!xB{$~fW7?~Iu{{LrSQf1%-0H3x94gdfE literal 0 HcmV?d00001 diff --git a/regress/corpus/c020dd9e6add4cd8d7a927bd3db3e3d2156cb62b b/regress/corpus/c020dd9e6add4cd8d7a927bd3db3e3d2156cb62b new file mode 100644 index 0000000000000000000000000000000000000000..e9a8735876ea5fd2783d3486f5bfa483a0765435 GIT binary patch literal 32 ocmdP@|8qVwLqZ}0Gb6)=3;$Ud{xkgg|BpeFfq_Av;rD-L0Mn}seEm3;+NV00IC2 literal 0 HcmV?d00001 diff --git a/regress/corpus/c1a9516887256b4e5189688352a90b82fb13f56f b/regress/corpus/c1a9516887256b4e5189688352a90b82fb13f56f new file mode 100644 index 0000000000000000000000000000000000000000..1d1559c271911fde18e587ce5d2bef8fd877756d GIT binary patch literal 32 mcmdP@|8qVwLqZ}0Gb6)=3;$Ud{sX~322BPA27QL#|Cs^d-VK2O literal 0 HcmV?d00001 diff --git a/regress/corpus/c1b7e1142094815a857b6eb7e33d67c2a35c0ea1 b/regress/corpus/c1b7e1142094815a857b6eb7e33d67c2a35c0ea1 new file mode 100644 index 0000000000000000000000000000000000000000..c2ee67261556725dec518b04a9bb60a44a89c524 GIT binary patch literal 10 RcmbOv$iTqB$mzI~5da9b0jU50 literal 0 HcmV?d00001 diff --git a/regress/corpus/c20f8fbba5bac220b3084f9c5b0d66e4fd5d6dd1 b/regress/corpus/c20f8fbba5bac220b3084f9c5b0d66e4fd5d6dd1 new file mode 100644 index 0000000000000000000000000000000000000000..ba174f5fcb1733f227fbdbf738d3fe63ed2e8b2c GIT binary patch literal 33 fcmezWpUa5r|Ns9+|NjFiE+7RZxfqxkLV*YXTnrJV literal 0 HcmV?d00001 diff --git a/regress/corpus/c263799d4a950306429793b5f147561e0492bd1d b/regress/corpus/c263799d4a950306429793b5f147561e0492bd1d new file mode 100644 index 0000000..bec63c5 --- /dev/null +++ b/regress/corpus/c263799d4a950306429793b5f147561e0492bd1d @@ -0,0 +1 @@ +@ ÿÿ \ No newline at end of file diff --git a/regress/corpus/c2e009fb4ba0476584dc90a9ab7d3921b706bf0d b/regress/corpus/c2e009fb4ba0476584dc90a9ab7d3921b706bf0d new file mode 100644 index 0000000000000000000000000000000000000000..aa08bdd632ea1a2406b02fca3532694a96b3899f GIT binary patch literal 22 ZcmZRo(%Z-Y1l&xE7@2@HBM>tD2LL2<0}lWI literal 0 HcmV?d00001 diff --git a/regress/corpus/c2f175f6432b7ce470a316d18c370705d3b828ba b/regress/corpus/c2f175f6432b7ce470a316d18c370705d3b828ba new file mode 100644 index 0000000000000000000000000000000000000000..d59f39408b7d4c688f07aac40bef3b46cee30c23 GIT binary patch literal 30 ccmZROVq^dVFtt~ifssK0#Q)F0z?8}e02x*Sg#Z8m literal 0 HcmV?d00001 diff --git a/regress/corpus/c3010d09174a3c3b96be53994dde3f2655747438 b/regress/corpus/c3010d09174a3c3b96be53994dde3f2655747438 new file mode 100644 index 0000000..86da56b --- /dev/null +++ b/regress/corpus/c3010d09174a3c3b96be53994dde3f2655747438 @@ -0,0 +1 @@ +8ý \ No newline at end of file diff --git a/regress/corpus/c336f4b6a44453b74210504eb4b2ad20723c83ee b/regress/corpus/c336f4b6a44453b74210504eb4b2ad20723c83ee new file mode 100644 index 0000000000000000000000000000000000000000..2e3bbd08bd775dcc9322178c683da206618bf717 GIT binary patch literal 25 bcmZQlWng5`V`N}p`1>D7Ffb@Gu!ETZENldL literal 0 HcmV?d00001 diff --git a/regress/corpus/c35bb14ea7df1ecfb0a8c5de65aac4ab608de38e b/regress/corpus/c35bb14ea7df1ecfb0a8c5de65aac4ab608de38e new file mode 100644 index 0000000000000000000000000000000000000000..0d7c2075be17738d9be6231298d77e5d9e3434b2 GIT binary patch literal 13 TcmbOv$iTqB_!~$tq%r~k5Ay;B literal 0 HcmV?d00001 diff --git a/regress/corpus/c3b494296cba5f6a9f9e76f093fad0cc5bc65804 b/regress/corpus/c3b494296cba5f6a9f9e76f093fad0cc5bc65804 new file mode 100644 index 0000000000000000000000000000000000000000..5cce2062a6feadff4bc82f0e226a338399f8b353 GIT binary patch literal 22 ZcmZQt#K^?Jz`&?%$iTo3WH5ku3;+_00R{j7 literal 0 HcmV?d00001 diff --git a/regress/corpus/c40f784835c714d59e769b094c8b3055e0487299 b/regress/corpus/c40f784835c714d59e769b094c8b3055e0487299 new file mode 100644 index 0000000..0ecd08d --- /dev/null +++ b/regress/corpus/c40f784835c714d59e769b094c8b3055e0487299 @@ -0,0 +1 @@ +ž \ No newline at end of file diff --git a/regress/corpus/c49b95d2d30f747115ca665727c53b4e20eb00b4 b/regress/corpus/c49b95d2d30f747115ca665727c53b4e20eb00b4 new file mode 100644 index 0000000000000000000000000000000000000000..ab67e770cc0261fcf8a54fa9be22db9e65057210 GIT binary patch literal 33 icmZQz77_X5z`)?Zz{vO?1a^W5hW|Sm8U8ac0GR;mtPu|Y literal 0 HcmV?d00001 diff --git a/regress/corpus/c4d559de6a81ad20f83f1649fb1d28c360a34c2d b/regress/corpus/c4d559de6a81ad20f83f1649fb1d28c360a34c2d new file mode 100644 index 0000000000000000000000000000000000000000..053b135a51614cb32a07a93d9e50a38e8e2dfde5 GIT binary patch literal 30 jcmZQt#K6eF`0)S#|6hUl|Njd>oXpq|`~Tnne+wA_9&;2Q literal 0 HcmV?d00001 diff --git a/regress/corpus/c52864c5210cc8df5341c731fbf46f8d38c0922f b/regress/corpus/c52864c5210cc8df5341c731fbf46f8d38c0922f new file mode 100644 index 0000000000000000000000000000000000000000..e28823034f6a530c4e564bf8a39079e49536cb5a GIT binary patch literal 14 VcmZQt#8}6`z`$ns?=J&`2>=*K1Bw6u literal 0 HcmV?d00001 diff --git a/regress/corpus/c56b2e8d64ab8c09551529a8bbece474d200f459 b/regress/corpus/c56b2e8d64ab8c09551529a8bbece474d200f459 new file mode 100644 index 0000000000000000000000000000000000000000..ae98294cd8049ef2cb995accc66292f1a107498f GIT binary patch literal 7 Ocmd0sJCBj!Kmq^@u>#8g literal 0 HcmV?d00001 diff --git a/regress/corpus/c5c671484563285fc41967f952bf607fd38212cb b/regress/corpus/c5c671484563285fc41967f952bf607fd38212cb new file mode 100644 index 0000000000000000000000000000000000000000..84d35dd80e84548121dd78bac66a4c981b63d392 GIT binary patch literal 13 OcmdnV00Q-*UYX#q|E literal 0 HcmV?d00001 diff --git a/regress/corpus/c617c1f9be12a6be9181d8251e606e86e3b6f18d b/regress/corpus/c617c1f9be12a6be9181d8251e606e86e3b6f18d new file mode 100644 index 0000000000000000000000000000000000000000..9e45bb68e4f0e1756c7152eebc66e35417797730 GIT binary patch literal 21 YcmZRw_`8ac0RmRl{av-@U&X3b07CW%C;$Ke literal 0 HcmV?d00001 diff --git a/regress/corpus/c6b9f4180cdcbbd2a65490f4868a2fa9299f4a5f b/regress/corpus/c6b9f4180cdcbbd2a65490f4868a2fa9299f4a5f new file mode 100644 index 0000000000000000000000000000000000000000..f91dbf26e40809beb1894144cbb9b2a263e79354 GIT binary patch literal 21 acmZ?ZW@Kbw;Q0Ta;eUQE10%zK5C8x}%Lyw0 literal 0 HcmV?d00001 diff --git a/regress/corpus/c708564a23cbd68ad4176bee93add3b13946f5b4 b/regress/corpus/c708564a23cbd68ad4176bee93add3b13946f5b4 new file mode 100644 index 0000000000000000000000000000000000000000..8986e6f23eca611d382cbc23a4ab383bb613bd54 GIT binary patch literal 32 YcmZRoVgLdb21XFY$PQ;QgZa!101&SLmjD0& literal 0 HcmV?d00001 diff --git a/regress/corpus/c7aa7623cea270dfbd0734a1b15174606d659ae6 b/regress/corpus/c7aa7623cea270dfbd0734a1b15174606d659ae6 new file mode 100644 index 0000000000000000000000000000000000000000..7adfc207d4bf910ca3f3389bb6079b12986e6abf GIT binary patch literal 16 WcmZSLWB`IyoD7T%R)7C9G5`P%$O88O literal 0 HcmV?d00001 diff --git a/regress/corpus/c7ac83f2a9733dbb6aa16a80a806a16fc57babc1 b/regress/corpus/c7ac83f2a9733dbb6aa16a80a806a16fc57babc1 new file mode 100644 index 0000000000000000000000000000000000000000..2375d630bd0a0d72c015ff38e8daf6ef4d28bedf GIT binary patch literal 32 VcmZQ%Z~_7bhUENBn1DT%5dhtT4}Smv literal 0 HcmV?d00001 diff --git a/regress/corpus/c7bc773a4febfc9da9949b48dfa9d36bb88ca993 b/regress/corpus/c7bc773a4febfc9da9949b48dfa9d36bb88ca993 new file mode 100644 index 0000000000000000000000000000000000000000..4e6167ed7ee5bc11ade4cf87569756ce18044f71 GIT binary patch literal 28 dcmZQt#K-^yjLL>!s`WR^P9Tqg@uasmBLFs;1e*W= literal 0 HcmV?d00001 diff --git a/regress/corpus/c7e5af1acdf19e3f8326f8c7fe7ee346e5370068 b/regress/corpus/c7e5af1acdf19e3f8326f8c7fe7ee346e5370068 new file mode 100644 index 0000000000000000000000000000000000000000..11c58baf46888da42d5e14461f5ff3b8aacc6443 GIT binary patch literal 23 ccmZQ%U}a!XX0TUfU|>)LVg?3g2KH1&01JWv9{>OV literal 0 HcmV?d00001 diff --git a/regress/corpus/c80099666cf976f3b92265aba9542778ccfe3ef5 b/regress/corpus/c80099666cf976f3b92265aba9542778ccfe3ef5 new file mode 100644 index 0000000..724c9bf --- /dev/null +++ b/regress/corpus/c80099666cf976f3b92265aba9542778ccfe3ef5 @@ -0,0 +1 @@ +/þùŸ ˆsqþ \ No newline at end of file diff --git a/regress/corpus/c812202b413fb8486cf41dd946111f7e8dc43269 b/regress/corpus/c812202b413fb8486cf41dd946111f7e8dc43269 new file mode 100644 index 0000000000000000000000000000000000000000..3479a715b1685945ea77f9d232368e71b8f37cff GIT binary patch literal 23 ScmZSTh5!ZzMg|53I2!<6w+9pe literal 0 HcmV?d00001 diff --git a/regress/corpus/c83730cbc9b078dba78a358e2af1fd359978187b b/regress/corpus/c83730cbc9b078dba78a358e2af1fd359978187b new file mode 100644 index 0000000000000000000000000000000000000000..ed8e1983a87871a2a8a3512944a8ed073b6c6d8a GIT binary patch literal 12 TcmZRoVqjrlU}a!f#4r~C2qyu> literal 0 HcmV?d00001 diff --git a/regress/corpus/c8525a2f769bf2d815109db14a3ca924c8632107 b/regress/corpus/c8525a2f769bf2d815109db14a3ca924c8632107 new file mode 100644 index 0000000000000000000000000000000000000000..abe2fdaf6dd5e82ea7105a8d5611706d1e6265f7 GIT binary patch literal 26 ZcmZQt#K^$Fz{x0M2&ABZkr~Kf1OOIJ0RjL3 literal 0 HcmV?d00001 diff --git a/regress/corpus/c8540ad5d178485dfcd598178bfc27f53ee669ad b/regress/corpus/c8540ad5d178485dfcd598178bfc27f53ee669ad new file mode 100644 index 0000000000000000000000000000000000000000..2d3c81b3f391ec02f526219c87074fae4c5a2d3c GIT binary patch literal 56 WcmZQz009mLbudi~p|1~A%Lo7qx&XES literal 0 HcmV?d00001 diff --git a/regress/corpus/c8dc87883b735ad83b1194e72711f49b77307536 b/regress/corpus/c8dc87883b735ad83b1194e72711f49b77307536 new file mode 100644 index 0000000000000000000000000000000000000000..390e5ed923d873afd5ca710ae48157af9474b67a GIT binary patch literal 31 icmd1H%gdW2$iTqB2*eD{42sMknt>rdmw|yjl@S0{Oax5; literal 0 HcmV?d00001 diff --git a/regress/corpus/c9071dfd96736ee35661468f780322be27c58dae b/regress/corpus/c9071dfd96736ee35661468f780322be27c58dae new file mode 100644 index 0000000000000000000000000000000000000000..176c86dba44d20f3c88250ea6b040c2e2e8e4615 GIT binary patch literal 11 QcmZRoVgLe02F67U00uDuApigX literal 0 HcmV?d00001 diff --git a/regress/corpus/c9b59c50fb3d5d681ba0d738b03f002ad735086d b/regress/corpus/c9b59c50fb3d5d681ba0d738b03f002ad735086d new file mode 100644 index 0000000..4fb12d4 --- /dev/null +++ b/regress/corpus/c9b59c50fb3d5d681ba0d738b03f002ad735086d @@ -0,0 +1 @@ +¹¹¹ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ \ No newline at end of file diff --git a/regress/corpus/c9c4e1e2720eb1d1c7584a3feacdfc4e95d9a6a2 b/regress/corpus/c9c4e1e2720eb1d1c7584a3feacdfc4e95d9a6a2 new file mode 100644 index 0000000000000000000000000000000000000000..d0b367c4801fbbfe03af0e577fb279dc7fbd8500 GIT binary patch literal 17 WcmZQt#Hh`=lYxPe0SK5G92o!>bOG1^ literal 0 HcmV?d00001 diff --git a/regress/corpus/ca01ce0515aba88d5e07d3bfb070c735cae2c702 b/regress/corpus/ca01ce0515aba88d5e07d3bfb070c735cae2c702 new file mode 100644 index 0000000000000000000000000000000000000000..455d385160605f3d317bc4f7273b9b44376d6ed5 GIT binary patch literal 11 QcmZQt#K`2oh>-yZ01Su$ng9R* literal 0 HcmV?d00001 diff --git a/regress/corpus/ca3d93adc2bfdb1da7a85baec799262e8b501089 b/regress/corpus/ca3d93adc2bfdb1da7a85baec799262e8b501089 new file mode 100644 index 0000000000000000000000000000000000000000..4521d5e9fa15d05d1293e8244d3e8f4af4a40f8d GIT binary patch literal 27 bcmZQ_VqjqS4+ISCAQB7~F)%hTMl%8c%j*um literal 0 HcmV?d00001 diff --git a/regress/corpus/cae3176c911643b6bf5183c3273c7852f6dac051 b/regress/corpus/cae3176c911643b6bf5183c3273c7852f6dac051 new file mode 100644 index 0000000000000000000000000000000000000000..008f3850f01ae46f35d975ccea474f0b140b011b GIT binary patch literal 26 TcmZRoVgLh15Xs2S@E8sNJ#YzR literal 0 HcmV?d00001 diff --git a/regress/corpus/caf2a4e67e32494c4e55048ad2bc27862b224c22 b/regress/corpus/caf2a4e67e32494c4e55048ad2bc27862b224c22 new file mode 100644 index 0000000000000000000000000000000000000000..a96b3033bd92796664c22dd9e57c45fb89ef49d4 GIT binary patch literal 30 ZcmZQz0D>Nd|M&j?{|{ubg1B&?4*+xp1)Bf> literal 0 HcmV?d00001 diff --git a/regress/corpus/cb8af43d4654eef3988a49a225e5e176a7198a9f b/regress/corpus/cb8af43d4654eef3988a49a225e5e176a7198a9f new file mode 100644 index 0000000000000000000000000000000000000000..3fd253411b113d77e5b5cb891aacada5a9264a47 GIT binary patch literal 30 gcmZQt#K^?Jz#s<1jEjK83?R+G%fQSCWHT@V04ZYv3;+NC literal 0 HcmV?d00001 diff --git a/regress/corpus/cbd82c6cc59a05c86f271d83871c788433489d6f b/regress/corpus/cbd82c6cc59a05c86f271d83871c788433489d6f new file mode 100644 index 0000000..836a934 --- /dev/null +++ b/regress/corpus/cbd82c6cc59a05c86f271d83871c788433489d6f @@ -0,0 +1 @@ +ÿÿÿÿÿ¹ÿÿÿÿÿÿ¹ÿÿÿ \ No newline at end of file diff --git a/regress/corpus/cbe0d65339f01436a83279a39a38039caece4f75 b/regress/corpus/cbe0d65339f01436a83279a39a38039caece4f75 new file mode 100644 index 0000000000000000000000000000000000000000..1ddac98d881f30b73b1d18dbd31ff9843c5b2e41 GIT binary patch literal 37 ecmZQlWng4rQe^-EO(0feV2879L7cz;85jT_7y~N+ literal 0 HcmV?d00001 diff --git a/regress/corpus/cbe6dc1dfe0bd2d1e405449d8ba41755956309d0 b/regress/corpus/cbe6dc1dfe0bd2d1e405449d8ba41755956309d0 new file mode 100644 index 0000000000000000000000000000000000000000..813f4e72fd9132ed98338099f36bd55d76a0adb2 GIT binary patch literal 29 RcmdnV00glZ03^!52>^O_2TcF~ literal 0 HcmV?d00001 diff --git a/regress/corpus/ccd34d9379114084d19d35d0a9cf9f7932f62194 b/regress/corpus/ccd34d9379114084d19d35d0a9cf9f7932f62194 new file mode 100644 index 0000000000000000000000000000000000000000..9d1d61e82859bc2bef5e0787e47118e45f546212 GIT binary patch literal 49 dcmZROV*LN#;6E0?00xX8axa9f%rHri0RRsu7rFod literal 0 HcmV?d00001 diff --git a/regress/corpus/ccd3ac74ef87290a2e75e0c00d106bd3d4c28862 b/regress/corpus/ccd3ac74ef87290a2e75e0c00d106bd3d4c28862 new file mode 100644 index 0000000000000000000000000000000000000000..579400ba2ed98f517674eb0ed1ce1d8f2515c4fe GIT binary patch literal 11 QcmZQt#K-^yjLL?L00&M0`~Uy| literal 0 HcmV?d00001 diff --git a/regress/corpus/cd17446c3c58c27dd19280aec18232b808ec0f16 b/regress/corpus/cd17446c3c58c27dd19280aec18232b808ec0f16 new file mode 100644 index 0000000000000000000000000000000000000000..821e92059f6cc7b87d480c17a8b18022c46a24ad GIT binary patch literal 18 UcmXSCKg9q6$@#eq4D6|l03Q|t^#A|> literal 0 HcmV?d00001 diff --git a/regress/corpus/cd366177a6746172025e0466a626159e818d9256 b/regress/corpus/cd366177a6746172025e0466a626159e818d9256 new file mode 100644 index 0000000000000000000000000000000000000000..9fb512aeebe2f479e738633615839952465afefd GIT binary patch literal 32 mcmdP@|8qXGLP8<~!~g&F#aV^_>Vd3(44Mr34Ep-|TNwfC#te%9 literal 0 HcmV?d00001 diff --git a/regress/corpus/cd8f547cae0627fbd063d09009da2d742de93097 b/regress/corpus/cd8f547cae0627fbd063d09009da2d742de93097 new file mode 100644 index 0000000..9719f35 --- /dev/null +++ b/regress/corpus/cd8f547cae0627fbd063d09009da2d742de93097 @@ -0,0 +1 @@ +88888888888È8888888888888888888888888È888888888888888888888888888888888888888888888888888888ôÿÿœMMM²²² \ No newline at end of file diff --git a/regress/corpus/cda35f636a7e30dacacb43664acfb780392fcfaf b/regress/corpus/cda35f636a7e30dacacb43664acfb780392fcfaf new file mode 100644 index 0000000..c34f649 --- /dev/null +++ b/regress/corpus/cda35f636a7e30dacacb43664acfb780392fcfaf @@ -0,0 +1 @@ +÷ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ ¹ \ No newline at end of file diff --git a/regress/corpus/cdaf28ed078bb1ae708c4067893e3bf7189232c7 b/regress/corpus/cdaf28ed078bb1ae708c4067893e3bf7189232c7 new file mode 100644 index 0000000000000000000000000000000000000000..0f5856b5b0c633aa79eb74117e9403b2bbbc8d59 GIT binary patch literal 27 hcmZQt#K^?Jz`zK^3;Ea?jQ;=s&%ii~fqCA%c>qKM2L=ED literal 0 HcmV?d00001 diff --git a/regress/corpus/cdfc94416f474d8e5a2c36cd4c09e38d47fd30fc b/regress/corpus/cdfc94416f474d8e5a2c36cd4c09e38d47fd30fc new file mode 100644 index 0000000..3b94979 --- /dev/null +++ b/regress/corpus/cdfc94416f474d8e5a2c36cd4c09e38d47fd30fc @@ -0,0 +1 @@ +‹‹ \ No newline at end of file diff --git a/regress/corpus/ce029ff4a578276d475748d8b2366393cabf5d69 b/regress/corpus/ce029ff4a578276d475748d8b2366393cabf5d69 new file mode 100644 index 0000000000000000000000000000000000000000..3299596f8db5262b66155d10f6e9e2e0d0b3052d GIT binary patch literal 4 LcmZS5U|<9Q0EGZ7 literal 0 HcmV?d00001 diff --git a/regress/corpus/cf1e0565eb5daf5f6ad3cdf195a0f9c802bc337c b/regress/corpus/cf1e0565eb5daf5f6ad3cdf195a0f9c802bc337c new file mode 100644 index 0000000000000000000000000000000000000000..4b15c116e03ed2ff1bbafdb9ed43c2433e548c9c GIT binary patch literal 28 ecmZQzW@PyPUqpnFnZbd9!2!hiuK^@>0%-tk!wZQ3 literal 0 HcmV?d00001 diff --git a/regress/corpus/cf762468c981ec4c187555edbde9eaca8c6813cd b/regress/corpus/cf762468c981ec4c187555edbde9eaca8c6813cd new file mode 100644 index 0000000000000000000000000000000000000000..d08b361e0d3e4c7152618c2d6fa0ecaf81e20199 GIT binary patch literal 24 PcmZSJV88&Y7#SD<1A73p literal 0 HcmV?d00001 diff --git a/regress/corpus/cfc07908070d2bbd3c5fcd06852d5698686e30d2 b/regress/corpus/cfc07908070d2bbd3c5fcd06852d5698686e30d2 new file mode 100644 index 0000000000000000000000000000000000000000..c41abd372d90a240de214c3ee12ac3ec2ee55d9d GIT binary patch literal 33 OcmZST#sjJt7#IN?oe#1A literal 0 HcmV?d00001 diff --git a/regress/corpus/crash-1ffe2d52cb820525e38d1605a0a359eebdb398e7 b/regress/corpus/crash-1ffe2d52cb820525e38d1605a0a359eebdb398e7 new file mode 100644 index 0000000000000000000000000000000000000000..7f212f61f5ccff4ec1df93e3ad134f901c7c212b GIT binary patch literal 30 hcmZQz77_X5z`)?Zz{vRj|IYtFz`&r#$N(gPOaPn_42S># literal 0 HcmV?d00001 diff --git a/regress/corpus/crash-6a5c9ebb65a8aa4cb57aeccfb19b4d892093e418 b/regress/corpus/crash-6a5c9ebb65a8aa4cb57aeccfb19b4d892093e418 new file mode 100644 index 0000000000000000000000000000000000000000..5321e94a9dc5be16e7c733af0184a0bf5746b9bf GIT binary patch literal 20 XcmZQz009mLb$xwxAVXhYpMeno3C96L literal 0 HcmV?d00001 diff --git a/regress/corpus/crash-f68d01ae9b54206705c49ddf24eedb6177b01b8c b/regress/corpus/crash-f68d01ae9b54206705c49ddf24eedb6177b01b8c new file mode 100644 index 0000000000000000000000000000000000000000..a5ae2f5d26b446a6735a3555f15a6e7cc62ce82d GIT binary patch literal 33 fcmZQzU}Ruma$scug8vK*4&`7LhzA6W4GatbD&PWz literal 0 HcmV?d00001 diff --git a/regress/corpus/d04c6b25a1bf59ddc47f36009b6867b158daa430 b/regress/corpus/d04c6b25a1bf59ddc47f36009b6867b158daa430 new file mode 100644 index 0000000000000000000000000000000000000000..0645433216866d1b45f8d3a57416c0451b4abb58 GIT binary patch literal 141 kcmZQ%L;!6F^CvR61Oz{SBGdp`3{dc+3dW)et-`qJ!2kdN literal 0 HcmV?d00001 diff --git a/regress/corpus/d04f586e1d2e92ed9dff2690236bf76282e0442b b/regress/corpus/d04f586e1d2e92ed9dff2690236bf76282e0442b new file mode 100644 index 0000000000000000000000000000000000000000..24779016be1b94638137378974b46ceb8bcc5d07 GIT binary patch literal 19 WcmZQz009mLb$xwxAVXiDfe`=*Cjk@y literal 0 HcmV?d00001 diff --git a/regress/corpus/d05418c9cae79581541ab9b3352c06606b585dae b/regress/corpus/d05418c9cae79581541ab9b3352c06606b585dae new file mode 100644 index 0000000000000000000000000000000000000000..ceb67ec6aa0a72b261a29c472701e1b5c8e427b3 GIT binary patch literal 24 RcmdnV00gn9Ac28_6980Q29^K- literal 0 HcmV?d00001 diff --git a/regress/corpus/d05ef293a52f6ab11cebe584ef16714c68551486 b/regress/corpus/d05ef293a52f6ab11cebe584ef16714c68551486 new file mode 100644 index 0000000000000000000000000000000000000000..b6b1958224d8c69073524734dc345d19bea2958b GIT binary patch literal 9 QcmZQt#K7=Bh2j4{01mPQ1poj5 literal 0 HcmV?d00001 diff --git a/regress/corpus/d09d1d4eda0c773342e4beae5429837be0f585cc b/regress/corpus/d09d1d4eda0c773342e4beae5429837be0f585cc new file mode 100644 index 0000000000000000000000000000000000000000..294eb3370316fa5e7030023a179cfaa947dd27fc GIT binary patch literal 29 fcmZQ%{Quwazcd37FfuUyX9NQV#%M+chX4NoYElNi literal 0 HcmV?d00001 diff --git a/regress/corpus/d0e75c385f166feff592fc6e37d7f9f8b862e482 b/regress/corpus/d0e75c385f166feff592fc6e37d7f9f8b862e482 new file mode 100644 index 0000000000000000000000000000000000000000..ea3725a629c92e058a3a5ee30cfc761b69d002d3 GIT binary patch literal 38 lcmZQzfC5H#AR|n35yRuhYT67OwhZd}`szR-eSLifMgULW1i%0Q literal 0 HcmV?d00001 diff --git a/regress/corpus/d11a5ebb0863dd669610285ddf34b758c59e5178 b/regress/corpus/d11a5ebb0863dd669610285ddf34b758c59e5178 new file mode 100644 index 0000000000000000000000000000000000000000..e18f63d61f49a71ff2b832b538d32c8d146c6c23 GIT binary patch literal 195 zcmZQ%U}OLS4G_V=kZ^!cQ&aN;5W|2Wi~*+wU?3UBAd!Zfgo6Qb3IkLY;wq>ZkWxS} Gp)3GwWD{Wk literal 0 HcmV?d00001 diff --git a/regress/corpus/d11dbb1c679510cdb91dd9cb890932398296ced1 b/regress/corpus/d11dbb1c679510cdb91dd9cb890932398296ced1 new file mode 100644 index 0000000000000000000000000000000000000000..af5315d9d47f4575ea54258e95ecfcc4e5db22fe GIT binary patch literal 11 ScmZQt#K7=BnUNv(|33f|*aTt# literal 0 HcmV?d00001 diff --git a/regress/corpus/d146a1173e1dde8a09532320491271a740e31c1f b/regress/corpus/d146a1173e1dde8a09532320491271a740e31c1f new file mode 100644 index 0000000000000000000000000000000000000000..75522b9e54825c24aae0b6ec7ded00e08cdf014f GIT binary patch literal 30 jcmZQz77_X5z`)?Zz{vRj|IYtF!0>-3Bg20N1|Smvs_G6B literal 0 HcmV?d00001 diff --git a/regress/corpus/d1c130045f8f4c03f73e8f076d2b5cd3495c44f4 b/regress/corpus/d1c130045f8f4c03f73e8f076d2b5cd3495c44f4 new file mode 100644 index 0000000000000000000000000000000000000000..d6550352420f2e5097fdef8ca33ac4f52c47634a GIT binary patch literal 30 fcmZQz5MW^X|3BV=fw`uHfq{(y1l)ia#L@=J0TBQ; literal 0 HcmV?d00001 diff --git a/regress/corpus/d257712d83aaf0108ada1d496134724ef46270ac b/regress/corpus/d257712d83aaf0108ada1d496134724ef46270ac new file mode 100644 index 0000000000000000000000000000000000000000..8a311978e2d2cfb6f6e72c926996fead2e6eb065 GIT binary patch literal 24 TcmZQzKmz|kfI(khpD`K$FMI{% literal 0 HcmV?d00001 diff --git a/regress/corpus/d2de34a68d9d3e51d89d8df7b7c73493778249bb b/regress/corpus/d2de34a68d9d3e51d89d8df7b7c73493778249bb new file mode 100644 index 0000000000000000000000000000000000000000..4da7ff7466bc8c6c6c502901eeca6b5e72b35e59 GIT binary patch literal 156 ccmdPbj>HNW8JK|xs}#9{f9|3JLgqvR0Kd3AH~;_u literal 0 HcmV?d00001 diff --git a/regress/corpus/d33c7466850a3d82b93192fd5bd444a7fd5ad8e1 b/regress/corpus/d33c7466850a3d82b93192fd5bd444a7fd5ad8e1 new file mode 100644 index 0000000000000000000000000000000000000000..b219ccc43da8dbad1b66008f17fee5435f29623f GIT binary patch literal 38 hcmZRY$-uzK00JBg>iYUX4l|g?z|^A103jF{4FNGR0;0kZ%A literal 0 HcmV?d00001 diff --git a/regress/corpus/d47da26c514238311232be339862e7b762e2ef6c b/regress/corpus/d47da26c514238311232be339862e7b762e2ef6c new file mode 100644 index 0000000000000000000000000000000000000000..36bae91b9194cd19a386d4e1d0fa3e7cc089c0e6 GIT binary patch literal 59 bcmZRoVqs(egV#Wk6~aUzv55f{EMfovO%4JX literal 0 HcmV?d00001 diff --git a/regress/corpus/d4e9ddff2b8b4c818291d06eb761dbef03d87eca b/regress/corpus/d4e9ddff2b8b4c818291d06eb761dbef03d87eca new file mode 100644 index 0000000000000000000000000000000000000000..2217b0d8e266bef19979ad4f23034a9634d14e34 GIT binary patch literal 9 OcmZRoVqjoo00IC5@Bn@Q literal 0 HcmV?d00001 diff --git a/regress/corpus/d50c96a92a0196e3aeaf569399006b407d76b971 b/regress/corpus/d50c96a92a0196e3aeaf569399006b407d76b971 new file mode 100644 index 0000000..53ba5a6 --- /dev/null +++ b/regress/corpus/d50c96a92a0196e3aeaf569399006b407d76b971 @@ -0,0 +1 @@ +÷ÉÉÉÉÉɦ¦¦¦¦¦¦¦¦ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉɹ \ No newline at end of file diff --git a/regress/corpus/d54cbf155e544a94bcde03a5c67631473be5dafc b/regress/corpus/d54cbf155e544a94bcde03a5c67631473be5dafc new file mode 100644 index 0000000000000000000000000000000000000000..43098ad41ece00d86cd31a21a0f8e4a448048c28 GIT binary patch literal 20 ZcmZQ7Eh#DL24Y4AWd=ruQw$6Y-2gvo1u*~s literal 0 HcmV?d00001 diff --git a/regress/corpus/d5865c033bd6a5230f8917bc06f6f36e7cdc6e7a b/regress/corpus/d5865c033bd6a5230f8917bc06f6f36e7cdc6e7a new file mode 100644 index 0000000000000000000000000000000000000000..0a77fbb63506521f01c6fcd79343565a25cddf9d GIT binary patch literal 13 RcmZ?Z{?G9LKLZd00RS$h2t)t? literal 0 HcmV?d00001 diff --git a/regress/corpus/d5b70b54b05bd7555c73c309c6bec22c87b01c05 b/regress/corpus/d5b70b54b05bd7555c73c309c6bec22c87b01c05 new file mode 100644 index 0000000000000000000000000000000000000000..a4d120a17148946b696a0d411274ca192ab14f1a GIT binary patch literal 89 zcmZRoVqjooU|Pfg0`{s5jEq2<2_(kI3={{6+5s_86o{Cr7C{C7|NjkAh*d8{4gf>n B3HJa1 literal 0 HcmV?d00001 diff --git a/regress/corpus/d5b7c88da455a3d0842dffb27002e12ce8dbda55 b/regress/corpus/d5b7c88da455a3d0842dffb27002e12ce8dbda55 new file mode 100644 index 0000000000000000000000000000000000000000..8eaa2e0aeece0821efc463410927ab69e92b0b6c GIT binary patch literal 33 ccmZQ%U|?VbVlc2)v}RCLgmRdHGS&KaC^)23Vo2KH1&0ET-C8vpWi}q|J5@9nR{SthX4B$H1!z)HFOZ) literal 0 HcmV?d00001 diff --git a/regress/corpus/d7fb1bcbe7f3cb856ab66b38482ae83b3277cea6 b/regress/corpus/d7fb1bcbe7f3cb856ab66b38482ae83b3277cea6 new file mode 100644 index 0000000000000000000000000000000000000000..ad6afa07887c9457eecb03bd5bee6f4129f34179 GIT binary patch literal 24 acmZQzU}RuqWB`KP{~(Z@pUc1j6aoN6=LWR^ literal 0 HcmV?d00001 diff --git a/regress/corpus/d8030d39888564cebd83b1f797b4a137ca0d9989 b/regress/corpus/d8030d39888564cebd83b1f797b4a137ca0d9989 new file mode 100644 index 0000000000000000000000000000000000000000..1c762e79d82b63525c9ff7c80ca1fd7a2c45b9ef GIT binary patch literal 275 zcmZQ%U}OLS4G_V=kZ^!cQ&aN;5QD%G2nCTMi-Z^eBLye~FmrIxP$!~FV{tdomk3b> I1QW^v0GMSIhX4Qo literal 0 HcmV?d00001 diff --git a/regress/corpus/d83be4bad854f3e4db4beb641b9eb7a155faf712 b/regress/corpus/d83be4bad854f3e4db4beb641b9eb7a155faf712 new file mode 100644 index 0000000000000000000000000000000000000000..ed6e704bd9729cb7f26cc2f71f22bae794424313 GIT binary patch literal 137 lcmZQzU}RtbVkQO#2UZ3v28RDYZaFKEpbt312zCGi0|56?0?hyb literal 0 HcmV?d00001 diff --git a/regress/corpus/d85b1ce66e7452294089387dfca4aec5e97988b7 b/regress/corpus/d85b1ce66e7452294089387dfca4aec5e97988b7 new file mode 100644 index 0000000000000000000000000000000000000000..d180df2e35ed869b46dfca2c489b851da4a31656 GIT binary patch literal 4 LcmY#jU}OXU0EYl0 literal 0 HcmV?d00001 diff --git a/regress/corpus/d86b31b47bb3698d43a7c48c8dd5293c4a62f660 b/regress/corpus/d86b31b47bb3698d43a7c48c8dd5293c4a62f660 new file mode 100644 index 0000000000000000000000000000000000000000..0e2ad348f919d9ec8bffe964b206dfdf55c9bcc6 GIT binary patch literal 15 WcmZQ%U@p%|Wlqk|Wnf@WWdr~i83OzO literal 0 HcmV?d00001 diff --git a/regress/corpus/d8a4b257342e905f728e2a4137b312cab8120846 b/regress/corpus/d8a4b257342e905f728e2a4137b312cab8120846 new file mode 100644 index 0000000000000000000000000000000000000000..7615cc2fa9edb620149197abd76cf11a50bc1c3e GIT binary patch literal 53 ecmZQz0D>Nd|M&j?{|{vS;Q;Z`!Fd#c^9%qa`3MOB literal 0 HcmV?d00001 diff --git a/regress/corpus/d8c8b4ef67e1fee0d46e9306eada71d2540dc4f4 b/regress/corpus/d8c8b4ef67e1fee0d46e9306eada71d2540dc4f4 new file mode 100644 index 0000000000000000000000000000000000000000..075bc940144228dea6322f56186acece232e26af GIT binary patch literal 30 hcmZQ%U|?VbVunpXz}&#V3}iCr<0QM<5D5aT5Q;n!mu5z0n0W{m1H*X+0AD`=qW}N^ literal 0 HcmV?d00001 diff --git a/regress/corpus/dbdea4e5bf4aa45f6fabf59654a091897bfc51dc b/regress/corpus/dbdea4e5bf4aa45f6fabf59654a091897bfc51dc new file mode 100644 index 0000000000000000000000000000000000000000..9858756ac711b51462be7c3c62bfe934f42ad9ee GIT binary patch literal 25 YcmZQt#K5$O0SNe685o$-=feOa07N_oUH||9 literal 0 HcmV?d00001 diff --git a/regress/corpus/dc0286cd1e5227d67b3976038313be9c3e3b656b b/regress/corpus/dc0286cd1e5227d67b3976038313be9c3e3b656b new file mode 100644 index 0000000000000000000000000000000000000000..83e0905314494f1f2498dff48fe43c7cdb97c7c9 GIT binary patch literal 9 QcmZRoVqjrlU}azc00a^Mh5!Hn literal 0 HcmV?d00001 diff --git a/regress/corpus/dc260412a2c568625f5fb2ff652c20c7c8e0dd9f b/regress/corpus/dc260412a2c568625f5fb2ff652c20c7c8e0dd9f new file mode 100644 index 0000000000000000000000000000000000000000..e65b6dd50cc299fa97560563bff75ff3f6c01cef GIT binary patch literal 31 gcmZQzU}RtbVkQO#2UZ3v28RDYF6$XaurLDy03R9xRsaA1 literal 0 HcmV?d00001 diff --git a/regress/corpus/dcb0f7291dba05c966d56f9b59ef38510cb812e4 b/regress/corpus/dcb0f7291dba05c966d56f9b59ef38510cb812e4 new file mode 100644 index 0000000000000000000000000000000000000000..782d88526d5324bcdcc2c49a1ec36b2eb39521f9 GIT binary patch literal 19 WcmbOv$iTn=!kj?NV9TJG$_M}t!U2K+ literal 0 HcmV?d00001 diff --git a/regress/corpus/dd3f77506432cb506758e1f0bf7290ba2ca0c0e2 b/regress/corpus/dd3f77506432cb506758e1f0bf7290ba2ca0c0e2 new file mode 100644 index 0000000000000000000000000000000000000000..61d05813f5029bdbe57c897d29a6d86639f32421 GIT binary patch literal 24 ccmZQL`2X+!|MP$TW?*0_X9W@;M1& literal 0 HcmV?d00001 diff --git a/regress/corpus/dd4a88e95bec6954824343743c2223df844d8a5e b/regress/corpus/dd4a88e95bec6954824343743c2223df844d8a5e new file mode 100644 index 0000000000000000000000000000000000000000..7580f25802b94110a1ecbb9b524d6a92f5944ff7 GIT binary patch literal 32 icmZQ%U|?WmV6bIi_zwiVK+M3&Y>}D+6a$JYGXMab$_W4f literal 0 HcmV?d00001 diff --git a/regress/corpus/dd76ad17bc40a3448a059e0d47c4219c3aefee00 b/regress/corpus/dd76ad17bc40a3448a059e0d47c4219c3aefee00 new file mode 100644 index 0000000000000000000000000000000000000000..52940dfe9d475a559e64171545e47184737d001a GIT binary patch literal 195 zcmZQt!~g_L@(fH>jLZxStPBkERhZJN66P~9)cybepOpbfz`=ev3lAdz4)7>Kl~N-O OKr}NlF)}cMoCg3UqI2y4 literal 0 HcmV?d00001 diff --git a/regress/corpus/dddc947d42e437a1618a05e49a6881ba7563c0ea b/regress/corpus/dddc947d42e437a1618a05e49a6881ba7563c0ea new file mode 100644 index 0000000..b294437 --- /dev/null +++ b/regress/corpus/dddc947d42e437a1618a05e49a6881ba7563c0ea @@ -0,0 +1 @@ +¢þÿ¡ \ No newline at end of file diff --git a/regress/corpus/ddff84d1abbaf8fbd088dcfb3e428947a6c5e2ee b/regress/corpus/ddff84d1abbaf8fbd088dcfb3e428947a6c5e2ee new file mode 100644 index 0000000000000000000000000000000000000000..1cb8628e5881b3031f201957aa9f2cf3a03e77ba GIT binary patch literal 26 acmZROVqjoo00U(pLjlD4&%nT*$_M}r4gt&n literal 0 HcmV?d00001 diff --git a/regress/corpus/de184c778b1882a5efe29b3d7bdfbb4d2011ecc0 b/regress/corpus/de184c778b1882a5efe29b3d7bdfbb4d2011ecc0 new file mode 100644 index 0000000..03c5bf0 --- /dev/null +++ b/regress/corpus/de184c778b1882a5efe29b3d7bdfbb4d2011ecc0 @@ -0,0 +1 @@ +ùùùùùùùùùùùùùùù \ No newline at end of file diff --git a/regress/corpus/de9cfa547bdfa6436b81bdc706a3c478c48c4467 b/regress/corpus/de9cfa547bdfa6436b81bdc706a3c478c48c4467 new file mode 100644 index 0000000000000000000000000000000000000000..7b7cc01774cf9191452673f7a103c83ba4de221e GIT binary patch literal 40 kcmZQt#K^?Jz`&?%$iTqP!0?-afyn~M2Ld?rFHo8p09OYDZvX%Q literal 0 HcmV?d00001 diff --git a/regress/corpus/deb3c397c32213f2b75cd57119b031bbcb7be43f b/regress/corpus/deb3c397c32213f2b75cd57119b031bbcb7be43f new file mode 100644 index 0000000000000000000000000000000000000000..adf7237429b3776d1821387414c72956c48bbcf8 GIT binary patch literal 35 QcmZSB`I7-1Xrl@M06S9w-T(jq literal 0 HcmV?d00001 diff --git a/regress/corpus/df4164db2221bba5c7f05329a075c9d83d3d87e6 b/regress/corpus/df4164db2221bba5c7f05329a075c9d83d3d87e6 new file mode 100644 index 0000000..cdadc55 --- /dev/null +++ b/regress/corpus/df4164db2221bba5c7f05329a075c9d83d3d87e6 @@ -0,0 +1 @@ +888888jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj88888È8888888888888888ŽŽŽŽŽ87(888888€ôÿÿœMMM²²² \ No newline at end of file diff --git a/regress/corpus/dfd8f26ac2f31a537ce6801b8f2f9480d8cac2e0 b/regress/corpus/dfd8f26ac2f31a537ce6801b8f2f9480d8cac2e0 new file mode 100644 index 0000000000000000000000000000000000000000..360ed18dff0f0a4ec4880b9fa3e7844e415051c9 GIT binary patch literal 23 ZcmZR&$H2${2LBlt*jE98;eUqz{{cLJ2fhFR literal 0 HcmV?d00001 diff --git a/regress/corpus/dfe250171862b9dd3a8d2ce85ac67cf9447ea72e b/regress/corpus/dfe250171862b9dd3a8d2ce85ac67cf9447ea72e new file mode 100644 index 0000000000000000000000000000000000000000..038089b5efb701df162dbe6fbefd8643a9f5ca21 GIT binary patch literal 30 fcmeyv@E-zp{@?kZ;s0+2Ab%$V5U?;X{r?XDPNxzZ literal 0 HcmV?d00001 diff --git a/regress/corpus/dff2c4628a2a1266d7bcbe4b416542c1e5cdb977 b/regress/corpus/dff2c4628a2a1266d7bcbe4b416542c1e5cdb977 new file mode 100644 index 0000000000000000000000000000000000000000..e7f55938d5df95e1744be580d5cc9085d0321b4e GIT binary patch literal 20 WcmZRoVq|7uU}OMcCJX8?igK&;Qe3L-%S7(njLZx-Fu?_6A*Pv(RZKh}9SjUwv;_?RV*kGf*~8Dk3Zfw3KUNR` Z23Vzlf{aXz42%pQ+4*3Sp=uEWBLF}5X}|yg literal 0 HcmV?d00001 diff --git a/regress/corpus/e1f35730151de473d92a908921e98e1c2f4d536b b/regress/corpus/e1f35730151de473d92a908921e98e1c2f4d536b new file mode 100644 index 0000000000000000000000000000000000000000..56aadc8caed8539eeead9816ba5f8a31f1508086 GIT binary patch literal 30 gcmZQzU|?YS|3Cf!19MFY0|Oh7%fR3U#2}VF0AAk&lmGw# literal 0 HcmV?d00001 diff --git a/regress/corpus/e240c7c2b834634aca316187f535e30f34b19e51 b/regress/corpus/e240c7c2b834634aca316187f535e30f34b19e51 new file mode 100644 index 0000000000000000000000000000000000000000..c704cdfebbb50da2f49e76d744fbf877d135dd5c GIT binary patch literal 227 ocmZQzU}RtbVkQO#2UZ3v28RDYZaFKE7+T;A$QvjCC;|}!0KlXJng9R* literal 0 HcmV?d00001 diff --git a/regress/corpus/e2fa6d49b49d33791cc9ee9b77e46ae94872765e b/regress/corpus/e2fa6d49b49d33791cc9ee9b77e46ae94872765e new file mode 100644 index 0000000000000000000000000000000000000000..e234da42b56997683bcf03605122ab1db7495cab GIT binary patch literal 8 PcmZRY$@1TjVdfM73*-X* literal 0 HcmV?d00001 diff --git a/regress/corpus/e322c0d655e44f1cb41d9c7b7a6bfd300365e857 b/regress/corpus/e322c0d655e44f1cb41d9c7b7a6bfd300365e857 new file mode 100644 index 0000000000000000000000000000000000000000..44aae108cbad79eab57a18fa6a90297f13065fe6 GIT binary patch literal 43 VcmZ>C!~qT>#F-W`GBGeP008zV3QPb1 literal 0 HcmV?d00001 diff --git a/regress/corpus/e37d7f638fe766aca7a51727dcad97d59ad9333e b/regress/corpus/e37d7f638fe766aca7a51727dcad97d59ad9333e new file mode 100644 index 0000000000000000000000000000000000000000..c7b28f9661a52b45b7fe05b54a7b802928380b40 GIT binary patch literal 171 qcmZQ%Ox|S3ut}Q%0=&osbrb@)wf=Axh~ebrwP{oGrcIj|fEWPB2|r2z literal 0 HcmV?d00001 diff --git a/regress/corpus/e384c702e9c134d94b1f6906f8c31c6742c0b68b b/regress/corpus/e384c702e9c134d94b1f6906f8c31c6742c0b68b new file mode 100644 index 0000000000000000000000000000000000000000..ed775ae2fe810f7873f90466a2143dae93ab9f6b GIT binary patch literal 63 zcmZRY$-uzK00IUeU}3b#$kfQf)X><>#K_dx!pOwbtVIzhtHiK;Im2?WLJ(mMWdQ(0 C5D5nW literal 0 HcmV?d00001 diff --git a/regress/corpus/e3891bc58a5ceb354a3e041e9922545790b30433 b/regress/corpus/e3891bc58a5ceb354a3e041e9922545790b30433 new file mode 100644 index 0000000000000000000000000000000000000000..3431bc36a6d001017077ff7503f2745bcc7f94ec GIT binary patch literal 27 ecmZQ%U|?Wm6kuRT&ff$A%nU#xmw|yjl@S0`^9NG^ literal 0 HcmV?d00001 diff --git a/regress/corpus/e4500ef0752cdf295f3aefb24f4d73022df6a304 b/regress/corpus/e4500ef0752cdf295f3aefb24f4d73022df6a304 new file mode 100644 index 0000000000000000000000000000000000000000..94f5b997a37b7ad4304eb6d0f83829a58e7acc85 GIT binary patch literal 28 acmZQt#K-^yjLL>!s`WR^P9P5mfg}Ji{sTM! literal 0 HcmV?d00001 diff --git a/regress/corpus/e4787610773945bdef327950c43e99c36ebe7cf9 b/regress/corpus/e4787610773945bdef327950c43e99c36ebe7cf9 new file mode 100644 index 0000000000000000000000000000000000000000..9ae2b56658fa8855e76137b70e1c759140cffbc2 GIT binary patch literal 10 RcmY$>XJugGWM$ZC2ml2|0aXA1 literal 0 HcmV?d00001 diff --git a/regress/corpus/e5328fba79f51633f3a61cbebb182d5c7d0729bf b/regress/corpus/e5328fba79f51633f3a61cbebb182d5c7d0729bf new file mode 100644 index 0000000000000000000000000000000000000000..59f0a0038abe017ddb4afb37f906ee7298f75794 GIT binary patch literal 15 RcmZQtB**{+EI`Z%L;wm40K5PI literal 0 HcmV?d00001 diff --git a/regress/corpus/e5520aa429514d0c930ccd3a3ccc4a2a9902dde1 b/regress/corpus/e5520aa429514d0c930ccd3a3ccc4a2a9902dde1 new file mode 100644 index 0000000..e1090b2 --- /dev/null +++ b/regress/corpus/e5520aa429514d0c930ccd3a3ccc4a2a9902dde1 @@ -0,0 +1 @@ +ÿÿÿÿÿ¹ÿÿÿÿÿÿ¹ÿÿÿ££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££££ \ No newline at end of file diff --git a/regress/corpus/e5b9c92c85182e6bcb8a14c69695f28bc7576788 b/regress/corpus/e5b9c92c85182e6bcb8a14c69695f28bc7576788 new file mode 100644 index 0000000000000000000000000000000000000000..ea49b9e236cfb1fe39b47ab0c08925b9d4e82093 GIT binary patch literal 33 hcmZRo(qm+R0uhlv4osY@7!(=U8La;P2Z=6X002&m1;qdW literal 0 HcmV?d00001 diff --git a/regress/corpus/e5c3ff18aff2d7fe75e822c648b1eeae21016d53 b/regress/corpus/e5c3ff18aff2d7fe75e822c648b1eeae21016d53 new file mode 100644 index 0000000000000000000000000000000000000000..8a1e8e96f1bd723255928d12e96b01394ca63123 GIT binary patch literal 18 UcmZRY$-uzK00vAgia@p@01j&bb^rhX literal 0 HcmV?d00001 diff --git a/regress/corpus/e61044b2726dcce1d40c93135118ea0e91d39788 b/regress/corpus/e61044b2726dcce1d40c93135118ea0e91d39788 new file mode 100644 index 0000000000000000000000000000000000000000..b837b64a8d4d6cf271a3166305f6dfc63d6e5d00 GIT binary patch literal 92 bcmZRoVq|7uU}QjGAQJH$Uo literal 0 HcmV?d00001 diff --git a/regress/corpus/e65c7aa5b52962860c6b458ac762d52a00e6699f b/regress/corpus/e65c7aa5b52962860c6b458ac762d52a00e6699f new file mode 100644 index 0000000000000000000000000000000000000000..2ace6b1389745ded2f940a778df97e56efdc2987 GIT binary patch literal 21 ccmZQ%WcdG|fq}U^hgms4mywx)fj!j`061p^ng9R* literal 0 HcmV?d00001 diff --git a/regress/corpus/e6d2e54c25d5d871e3a7288e2473d274cb037cd1 b/regress/corpus/e6d2e54c25d5d871e3a7288e2473d274cb037cd1 new file mode 100644 index 0000000000000000000000000000000000000000..ef09d621cd9be133a8eb1c5ef0114c56bdc5d8f7 GIT binary patch literal 5 McmZQ&U`W^r00EZ)9{>OV literal 0 HcmV?d00001 diff --git a/regress/corpus/e6d962028d17a600bfd1372ea001c2bc00345f53 b/regress/corpus/e6d962028d17a600bfd1372ea001c2bc00345f53 new file mode 100644 index 0000000000000000000000000000000000000000..14c222a63c7f68559f612a2ae2d0bba48ac90d9f GIT binary patch literal 32 Pcmewn`;U`p3Ws01w>)5&!@I literal 0 HcmV?d00001 diff --git a/regress/corpus/e860560f2646adcdd8e72dd21b6d937a670dd8e9 b/regress/corpus/e860560f2646adcdd8e72dd21b6d937a670dd8e9 new file mode 100644 index 0000000000000000000000000000000000000000..93a78a803023d9b668bd0067f5aef338cfce2e30 GIT binary patch literal 40 UcmZQzU}OLy1kr=a1xo;h01eXsn*aa+ literal 0 HcmV?d00001 diff --git a/regress/corpus/e895477b645db771b82e3726cd5890f373e196f1 b/regress/corpus/e895477b645db771b82e3726cd5890f373e196f1 new file mode 100644 index 0000000000000000000000000000000000000000..64c8aa41c7b98f58db8ed4ad461cf662591ba6c2 GIT binary patch literal 16 QcmZQ%WQc`p%>V!kvH;xx literal 0 HcmV?d00001 diff --git a/regress/corpus/e9c2e972bf62e6bba22ac5f25cdd110f947130b1 b/regress/corpus/e9c2e972bf62e6bba22ac5f25cdd110f947130b1 new file mode 100644 index 0000000000000000000000000000000000000000..ae278749053ae5fa7fa709487d25dad5a2715b48 GIT binary patch literal 21 bcmZQt#K^?Jz`&?%$iTqPa0UU}k1u5M^XI#lXPu|NsAY3=E8nKqf;2b1EYMX(g70%rgK literal 0 HcmV?d00001 diff --git a/regress/corpus/eadda6d32e4cc0131078c2848974b6047dee7933 b/regress/corpus/eadda6d32e4cc0131078c2848974b6047dee7933 new file mode 100644 index 0000000000000000000000000000000000000000..ddc166971c2c372d632005bf301c2a72ebf1b4b6 GIT binary patch literal 164 zcmZR`1OkTtOboyO$HyKxz)(`d%)r3L00)jBmKzYWG0gc77iC~zLa@oug3yeUjZYm}bzz10X7}k#OzUBpDb0Bs&MO literal 0 HcmV?d00001 diff --git a/regress/corpus/eb410760a7b41e840f9c7d12da3724a9d0d1e802 b/regress/corpus/eb410760a7b41e840f9c7d12da3724a9d0d1e802 new file mode 100644 index 0000000000000000000000000000000000000000..7945a9c762c0ddb49bd56a235cbf7c4a1e986ddb GIT binary patch literal 14 ScmZQzU|?Vbq5l{3^%(&PMglPa literal 0 HcmV?d00001 diff --git a/regress/corpus/ebab52f062927efb574ad86c3e0ab28eb5d27068 b/regress/corpus/ebab52f062927efb574ad86c3e0ab28eb5d27068 new file mode 100644 index 0000000000000000000000000000000000000000..ca6757de755a3edf24c8062f16533df720beb50c GIT binary patch literal 14 Rcmewn`;UQv;V%$_001T@15p3~ literal 0 HcmV?d00001 diff --git a/regress/corpus/ec25cccce6c9567d45603f551339b94d5fc69188 b/regress/corpus/ec25cccce6c9567d45603f551339b94d5fc69188 new file mode 100644 index 0000000000000000000000000000000000000000..9b18e4ba39a8977515f8f59f2f8021598b5cbe00 GIT binary patch literal 33 lcmZQ%P-b9cIQjqoHwFgH^6XUR!Z4Wu0A=+B1poj5 literal 0 HcmV?d00001 diff --git a/regress/corpus/ec710d628a65b8934dbd1038f84dc0af88b70829 b/regress/corpus/ec710d628a65b8934dbd1038f84dc0af88b70829 new file mode 100644 index 0000000000000000000000000000000000000000..f6715605ae511a955dbe9156c970b08edd5d899b GIT binary patch literal 110 pcmZR`1OkTtObiVF<6{pnFxQkYFt9Pefg_0J2E<5Wa7mIG`T&y#2G#%o literal 0 HcmV?d00001 diff --git a/regress/corpus/ec912e3eb87a1df645f87db60d539e47be5fa1cf b/regress/corpus/ec912e3eb87a1df645f87db60d539e47be5fa1cf new file mode 100644 index 0000000000000000000000000000000000000000..3a58b7d5480a92e57aab6260fb50ae14ceb34653 GIT binary patch literal 12 TcmZQt#K^!P#>BwRz`y_i2j&39 literal 0 HcmV?d00001 diff --git a/regress/corpus/ed7c73582120780c5353917d5dfbd8adaf389b30 b/regress/corpus/ed7c73582120780c5353917d5dfbd8adaf389b30 new file mode 100644 index 0000000000000000000000000000000000000000..7d5e6defa3a53a823537d9c3b59cea90c17a2a28 GIT binary patch literal 53 ZcmZRYX~2L6)czv_HirNI-y#ISY5^w78q5Fy literal 0 HcmV?d00001 diff --git a/regress/corpus/edd7e71e86d9415d732cefdf37e66393806c7e47 b/regress/corpus/edd7e71e86d9415d732cefdf37e66393806c7e47 new file mode 100644 index 0000000000000000000000000000000000000000..b2449cf709dc3bc2bf295d4d0a0dca03afd7cd79 GIT binary patch literal 58 ocmZQD->S#}1h?lhFfcMOI59B(Wnj<)i2!+UVPqk&q=6+P0P2(mHUIzs literal 0 HcmV?d00001 diff --git a/regress/corpus/ee5a2c28b1c668bca4c522eacac516bd93c33cb6 b/regress/corpus/ee5a2c28b1c668bca4c522eacac516bd93c33cb6 new file mode 100644 index 0000000000000000000000000000000000000000..30b1bcb9abd0212256a1e018838e071e8b93a252 GIT binary patch literal 10 Rcmd0sJCBj!Kmvm@0{|3Q0`33+ literal 0 HcmV?d00001 diff --git a/regress/corpus/ee7f85163d9e299365e1f7e8016dfcb563f22310 b/regress/corpus/ee7f85163d9e299365e1f7e8016dfcb563f22310 new file mode 100644 index 0000000000000000000000000000000000000000..76ba11354d1cbf69e2263d885e8d52146044545b GIT binary patch literal 8 Pcmd0sB*>u6z`zIq2#Enc literal 0 HcmV?d00001 diff --git a/regress/corpus/ee9c74e4c19beefe26bc720f48f3c175b4180f98 b/regress/corpus/ee9c74e4c19beefe26bc720f48f3c175b4180f98 new file mode 100644 index 0000000000000000000000000000000000000000..4151c2c3d8e0ecc702fc56a4fab575f23c4275a6 GIT binary patch literal 90 qcmZQzU}RtbVkQO#2UZ3v28RDYE^Yn literal 0 HcmV?d00001 diff --git a/regress/corpus/eea32dfe8837f35252f1dbe6f5b9083b1127f82e b/regress/corpus/eea32dfe8837f35252f1dbe6f5b9083b1127f82e new file mode 100644 index 0000000000000000000000000000000000000000..cb6430338555cd8edaf5c15f7f5905b9b70412e3 GIT binary patch literal 43 fcmZQzxXo|RkdVj##tb0v9|#!q^%M6ffqPHW&ht}y2rrC!1(_^P=FP$79vbV(+@I}$^Zay*asQ_ literal 0 HcmV?d00001 diff --git a/regress/corpus/f0a88bb54525d2c64217b6b2442cf1eb853303ea b/regress/corpus/f0a88bb54525d2c64217b6b2442cf1eb853303ea new file mode 100644 index 0000000..83264f5 --- /dev/null +++ b/regress/corpus/f0a88bb54525d2c64217b6b2442cf1eb853303ea @@ -0,0 +1 @@ +ÿÿÿ¹ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¹ÿÿÿ¹ÿÿÿÿÿÿÿÿ \ No newline at end of file diff --git a/regress/corpus/f0c3dac7fd48e7087330fa5c10f985fae395f57c b/regress/corpus/f0c3dac7fd48e7087330fa5c10f985fae395f57c new file mode 100644 index 0000000000000000000000000000000000000000..5f5dd84bc345d4e52d41f01496a8a5690c963bd9 GIT binary patch literal 16 VcmZRoVq|7uU}RurU}OT)i~tAF0E_?t literal 0 HcmV?d00001 diff --git a/regress/corpus/f11b495ce816cefb46c6ea3d0e8b858faa19cb7c b/regress/corpus/f11b495ce816cefb46c6ea3d0e8b858faa19cb7c new file mode 100644 index 0000000000000000000000000000000000000000..11b639af8072d5732fe682482fc6e1cbee688a0a GIT binary patch literal 31 ncmdP@|8qVwLqZ}0Gb6)=3;$Ud{xkgg|BpeFfq_Av;rD+4$1V(d literal 0 HcmV?d00001 diff --git a/regress/corpus/f12f6a6a6a22c60a2c6c11f6a31a489eb396634c b/regress/corpus/f12f6a6a6a22c60a2c6c11f6a31a489eb396634c new file mode 100644 index 0000000000000000000000000000000000000000..a111ced63447ab371d2841f963122062756e103d GIT binary patch literal 127 scmZRoVn73IKt3CT<`l3ngac&m1&bodfTfYt5YzxN3Q0YXxtC!I0B}qOmH+?% literal 0 HcmV?d00001 diff --git a/regress/corpus/f18d799d4ab9e22c434fe4f4c0fed854d325daa3 b/regress/corpus/f18d799d4ab9e22c434fe4f4c0fed854d325daa3 new file mode 100644 index 0000000000000000000000000000000000000000..60ea9c1f288f3ff168145bf8070d9321eda784c2 GIT binary patch literal 37 kcmdP@|8qXG!U-T)QD2-@_^+M;$lL>CGyLD5psCLY0Fj&%c>n+a literal 0 HcmV?d00001 diff --git a/regress/corpus/f254685da142f046cf7feced5fcdd8b2c214cd20 b/regress/corpus/f254685da142f046cf7feced5fcdd8b2c214cd20 new file mode 100644 index 0000000000000000000000000000000000000000..6e8fc4d5f9ffe345521ba2dc0b972e4c815a288a GIT binary patch literal 56 zcmZRoVq|7uU}Rur00K=QR%Bpj_{#`nV!Z literal 0 HcmV?d00001 diff --git a/regress/corpus/f2cbbba8b310e42c48b54a3fe1a6037dba9406cd b/regress/corpus/f2cbbba8b310e42c48b54a3fe1a6037dba9406cd new file mode 100644 index 0000000000000000000000000000000000000000..1f6fd82c0e21497b0e66ac3269248ddac33adc1d GIT binary patch literal 50 tcmZQz0D>Nd-}nCi{|{ub{st0UATd@w5COzYix?RgG#P+|vH_5*4FD9u2l4;_ literal 0 HcmV?d00001 diff --git a/regress/corpus/f307eb6024a81f0239d406c3d7d6a101e46df982 b/regress/corpus/f307eb6024a81f0239d406c3d7d6a101e46df982 new file mode 100644 index 0000000000000000000000000000000000000000..2e0f6afe571044a2e73ac7d4dee9cb9f63a47898 GIT binary patch literal 18 RcmZQz00UtN#h}l?2mk?b07L)) literal 0 HcmV?d00001 diff --git a/regress/corpus/f33f932b512711df18ef9a4259ba5f4981b35cde b/regress/corpus/f33f932b512711df18ef9a4259ba5f4981b35cde new file mode 100644 index 0000000000000000000000000000000000000000..7c8eeb763914198ee0492fb25d4c1efc83ac32c5 GIT binary patch literal 32 hcmZQzU}RtbVkQO#2UZ3v28RDYZaM22MzA;o0{|tu0?hyb literal 0 HcmV?d00001 diff --git a/regress/corpus/f363c6bdef3fb8a598a880ab6eb7853cd7a3d1e7 b/regress/corpus/f363c6bdef3fb8a598a880ab6eb7853cd7a3d1e7 new file mode 100644 index 0000000000000000000000000000000000000000..dd92587b7d2f22d1f3312397f8ee12274bee706e GIT binary patch literal 26 ccmZQ%P&Q;_`1b!K0|S)$&!}0R&G`R60Bu+a-T(jq literal 0 HcmV?d00001 diff --git a/regress/corpus/f3ac798e103f4e43bb648aa07991089d7af5f339 b/regress/corpus/f3ac798e103f4e43bb648aa07991089d7af5f339 new file mode 100644 index 0000000000000000000000000000000000000000..f2abc6f9d2271fb6ceef3729503b31287e510b26 GIT binary patch literal 12 NcmZSTh5`l#MgSnW1Y7_B literal 0 HcmV?d00001 diff --git a/regress/corpus/f3bda844df8a4d605ebb09fffa58a133fa9aca58 b/regress/corpus/f3bda844df8a4d605ebb09fffa58a133fa9aca58 new file mode 100644 index 0000000000000000000000000000000000000000..f69864978555dcfb9a415df3e2fc6a8f82431087 GIT binary patch literal 19 QcmZRoVt@lS5Npa501C4Ks{jB1 literal 0 HcmV?d00001 diff --git a/regress/corpus/f45bb27ee477adecd3842dbeeaccfb952c1bfb8e b/regress/corpus/f45bb27ee477adecd3842dbeeaccfb952c1bfb8e new file mode 100644 index 0000000..063ee8c --- /dev/null +++ b/regress/corpus/f45bb27ee477adecd3842dbeeaccfb952c1bfb8e @@ -0,0 +1 @@ +8ýªªªªªªªªª \ No newline at end of file diff --git a/regress/corpus/f48c7894588237737a17ef04cccc9f24f01b8a61 b/regress/corpus/f48c7894588237737a17ef04cccc9f24f01b8a61 new file mode 100644 index 0000000000000000000000000000000000000000..513f2735244dba88105bf3b016454797523f7fec GIT binary patch literal 18 ZcmZQzU}RtxVQ^shpP$RXaE6hA5daph0|Ed5 literal 0 HcmV?d00001 diff --git a/regress/corpus/f4a501dffbd71e6ac93d89cb92f971e832d1be45 b/regress/corpus/f4a501dffbd71e6ac93d89cb92f971e832d1be45 new file mode 100644 index 0000000000000000000000000000000000000000..ebc19a5a7e0dc9fb2edc6b4c12ba1cbdfc06ba8b GIT binary patch literal 29 XcmZQ%U|?VbVj$pTh=qYvMlcHiFl_~h literal 0 HcmV?d00001 diff --git a/regress/corpus/f51f2cc2931530b44c9d51a442a963aab3b6bfa3 b/regress/corpus/f51f2cc2931530b44c9d51a442a963aab3b6bfa3 new file mode 100644 index 0000000000000000000000000000000000000000..92f91a531f6f6dd8b0a3b0683e413f3ca0855223 GIT binary patch literal 10 RcmZQ_U|?Lt$iNuQ2ml7~0Ym@* literal 0 HcmV?d00001 diff --git a/regress/corpus/f5408240ad667f408df49f194a8a4636276b3885 b/regress/corpus/f5408240ad667f408df49f194a8a4636276b3885 new file mode 100644 index 0000000000000000000000000000000000000000..7371ab271b27b6657cb758b146db553be6763a06 GIT binary patch literal 33 ccmZQ%U|?VbVjxh2Pz?DHnlYDwfjyNG01UhVZU6uP literal 0 HcmV?d00001 diff --git a/regress/corpus/f57af62b211f6ace2d7ff9565ada2fb9fa2baee1 b/regress/corpus/f57af62b211f6ace2d7ff9565ada2fb9fa2baee1 new file mode 100644 index 0000000000000000000000000000000000000000..701c3f5d1cf387240e0cf474f9e852d09af598a2 GIT binary patch literal 11 Pcmc~}X8-~Agj7ZV2ND58 literal 0 HcmV?d00001 diff --git a/regress/corpus/f5cea6cb12cea0e384dc483d4bc06a149742cb21 b/regress/corpus/f5cea6cb12cea0e384dc483d4bc06a149742cb21 new file mode 100644 index 0000000000000000000000000000000000000000..91db9c1f35e3df8260924f2cfd7ca55e3b8b7526 GIT binary patch literal 26 ecmZQ%P-b9cIK{xg@c;k+cML!_2r)3HG6DciCJstk;bU={-_0|Psl#fSkw!f-(j26cUXAfFkc7ywl(0mJ|R literal 0 HcmV?d00001 diff --git a/regress/corpus/f71c7415b7594fb606768feaaec10435e95acacf b/regress/corpus/f71c7415b7594fb606768feaaec10435e95acacf new file mode 100644 index 0000000000000000000000000000000000000000..09351dcd63d605227e326544405ce462758c1c58 GIT binary patch literal 29 ccmZQt!~g-T3=HgG76*g6zCHs3BQpa702gloLI3~& literal 0 HcmV?d00001 diff --git a/regress/corpus/f758b51e70be89991cce14f676790f2406cccdfd b/regress/corpus/f758b51e70be89991cce14f676790f2406cccdfd new file mode 100644 index 0000000000000000000000000000000000000000..a75dff19b1b8652e94fe6bc0fac0e50843648bbe GIT binary patch literal 14 TcmZRw_`8Y$1VnflR;>a67{UWr literal 0 HcmV?d00001 diff --git a/regress/corpus/f771f6cc2138150ca2d9fa3fbae88e81a175cc70 b/regress/corpus/f771f6cc2138150ca2d9fa3fbae88e81a175cc70 new file mode 100644 index 0000000000000000000000000000000000000000..c53441acbe05c760d78d08d54f1150add8e18a4e GIT binary patch literal 17 WcmXSCKgHz4z_^Hkk%7^P0SEveYXWot literal 0 HcmV?d00001 diff --git a/regress/corpus/f7986b3839dbb93a11a57682836f9b96c5fb32a8 b/regress/corpus/f7986b3839dbb93a11a57682836f9b96c5fb32a8 new file mode 100644 index 0000000000000000000000000000000000000000..ffc136428cce69526f5954743d444e5a0c618692 GIT binary patch literal 11 QcmezWpX)yea54M`05nes4FCWD literal 0 HcmV?d00001 diff --git a/regress/corpus/f7cc693b58c88c94a6c351bb1574971149876eba b/regress/corpus/f7cc693b58c88c94a6c351bb1574971149876eba new file mode 100644 index 0000000000000000000000000000000000000000..674447b92b36297877573bb519c9999d25a2adf4 GIT binary patch literal 18 VcmZRoVqj!oPy`W+7#RNp0RR|Y1wQ}) literal 0 HcmV?d00001 diff --git a/regress/corpus/f7d13649b99d5fe05b278f1521ef089a610747cc b/regress/corpus/f7d13649b99d5fe05b278f1521ef089a610747cc new file mode 100644 index 0000000000000000000000000000000000000000..60278ec29e17f7d961128438c1b7d239c4d377de GIT binary patch literal 33 fcmZQzfC5H#5JPhj!{f&cj7;kK`szTgK9ec{F2e(# literal 0 HcmV?d00001 diff --git a/regress/corpus/f83e05a5e5406f7e75a185a2b88add4cedca8ef6 b/regress/corpus/f83e05a5e5406f7e75a185a2b88add4cedca8ef6 new file mode 100644 index 0000000000000000000000000000000000000000..7e9353902098a3726703cb66c17e3091ddfe49e6 GIT binary patch literal 6 NcmZQ_Vya?b0008g0KotN literal 0 HcmV?d00001 diff --git a/regress/corpus/f8863d11f14cc233574f3ae1b845cecb00709562 b/regress/corpus/f8863d11f14cc233574f3ae1b845cecb00709562 new file mode 100644 index 0000000000000000000000000000000000000000..118d17d3b51a33c07cf967b1c671933e2feda2fb GIT binary patch literal 22 bcmZRY$;iMUz_68pA(;UP^ciyWas(IvBC`Vu literal 0 HcmV?d00001 diff --git a/regress/corpus/f9eb06b4b1546382e04e278e55c4961354b05780 b/regress/corpus/f9eb06b4b1546382e04e278e55c4961354b05780 new file mode 100644 index 0000000000000000000000000000000000000000..6aca7c29664393181dd041eadf2e01197e9098b4 GIT binary patch literal 3 KcmY#jU<3dFWB?)n literal 0 HcmV?d00001 diff --git a/regress/corpus/f9f5c6688b589d5652b6a1c26fdda8cfe5857104 b/regress/corpus/f9f5c6688b589d5652b6a1c26fdda8cfe5857104 new file mode 100644 index 0000000000000000000000000000000000000000..eaedb658c5401cd42084e9272345ce0b78ccee0d GIT binary patch literal 29 ccmZQ%V76vpNX=nn0E7SRsSFH2f-x2Z06lF5x&QzG literal 0 HcmV?d00001 diff --git a/regress/corpus/fa4fc9285df9268b4515356b2c72a7b2727b73c6 b/regress/corpus/fa4fc9285df9268b4515356b2c72a7b2727b73c6 new file mode 100644 index 0000000000000000000000000000000000000000..475ade707590a9d70773a988f301bc644b1a745d GIT binary patch literal 15 VcmZRoVyI#O0yc*K|Nk>E000=T1Nr~} literal 0 HcmV?d00001 diff --git a/regress/corpus/fa639f8272b21a4c48fb879da6bd149979240dd3 b/regress/corpus/fa639f8272b21a4c48fb879da6bd149979240dd3 new file mode 100644 index 0000000000000000000000000000000000000000..3eed004e34c6235be3e68a5e8e823774c4251ffd GIT binary patch literal 120 zcmZQz0D}MjnHDjE7>vq>APOglKfu6TQv#J{bgKfgY>*V|Be9W~Kf&Mwce<>WL literal 0 HcmV?d00001 diff --git a/regress/corpus/faec21bbb347c599b994fa4327f695d057d9dfc5 b/regress/corpus/faec21bbb347c599b994fa4327f695d057d9dfc5 new file mode 100644 index 0000000000000000000000000000000000000000..866858000e0a368814eefb5104818713acca8b4e GIT binary patch literal 30 dcmZQzU|{(FFP?#sfiW7$1Ogxn2tkN}5dcET0>1zN literal 0 HcmV?d00001 diff --git a/regress/corpus/fb2ffbaa6eba45dfa3a64adc986b1014b0c41caf b/regress/corpus/fb2ffbaa6eba45dfa3a64adc986b1014b0c41caf new file mode 100644 index 0000000000000000000000000000000000000000..2956c42ac594424d58a8e1466f5d40d60fd96639 GIT binary patch literal 26 XcmZQ%U|{(BA4o7TC^E1kn5m2aLrVmy literal 0 HcmV?d00001 diff --git a/regress/corpus/fb5d23c41634bc2ccdd2b71d3f4773020859d54c b/regress/corpus/fb5d23c41634bc2ccdd2b71d3f4773020859d54c new file mode 100644 index 0000000000000000000000000000000000000000..31286832adf7e377f1107307ad2a323e5f473f90 GIT binary patch literal 30 dcmZQzU|?YS|3Cf!19MFYkPQZIK#~oJ^#NXm1dadz literal 0 HcmV?d00001 diff --git a/regress/corpus/fc0b5ce130e7629cfecb7a8d0e07b391800b04aa b/regress/corpus/fc0b5ce130e7629cfecb7a8d0e07b391800b04aa new file mode 100644 index 0000000000000000000000000000000000000000..979b163aa21e3748342f1715f1783d81c0dc03f0 GIT binary patch literal 16 ScmZQ_VqjokWMI(y4*>unZ3k@t literal 0 HcmV?d00001 diff --git a/regress/corpus/fc28b7061090689df41fdea53f16ace9afc162a5 b/regress/corpus/fc28b7061090689df41fdea53f16ace9afc162a5 new file mode 100644 index 0000000000000000000000000000000000000000..623f815e5f77b7e9ac5936d859c73023b2ff50ef GIT binary patch literal 41 QcmZRo(qm*|V;~5a02|i;wg3PC literal 0 HcmV?d00001 diff --git a/regress/corpus/fcb798c6e61b3dc04b3737039ec0aff210f904c5 b/regress/corpus/fcb798c6e61b3dc04b3737039ec0aff210f904c5 new file mode 100644 index 0000000000000000000000000000000000000000..a50164bd0b453c8bf59440c51e96e0b60e06cf6b GIT binary patch literal 16 XcmXSCXJkIbD literal 0 HcmV?d00001 diff --git a/regress/corpus/fcff85c5edf606f2da5bea520350f28a96c14dd7 b/regress/corpus/fcff85c5edf606f2da5bea520350f28a96c14dd7 new file mode 100644 index 0000000000000000000000000000000000000000..37e8963aa49a361c499531744e488885b164dc67 GIT binary patch literal 51 icmZRYX~2L2{(}J;mcEn;K| literal 0 HcmV?d00001 diff --git a/regress/corpus/fe7e22b8ddf51267bc7b52640e12e985828d2915 b/regress/corpus/fe7e22b8ddf51267bc7b52640e12e985828d2915 new file mode 100644 index 0000000000000000000000000000000000000000..4cb0bb0f8059c9bf5b932d8a8d14c7e4aa241e11 GIT binary patch literal 11 LcmdnV00W!=2nPVe literal 0 HcmV?d00001 diff --git a/regress/corpus/feb7a9c60c58a2d56576522c186a4118252bc6d8 b/regress/corpus/feb7a9c60c58a2d56576522c186a4118252bc6d8 new file mode 100644 index 0000000000000000000000000000000000000000..9fcd7eaeadcbc8ebb7863245347d20131d22bc4b GIT binary patch literal 26 ZcmZR`U|?hbgH8FH7#Q+5LBRiHMgUMz2<-p> literal 0 HcmV?d00001 diff --git a/regress/corpus/fed13cef825fc50e9dad61fb0f9ca685350064ca b/regress/corpus/fed13cef825fc50e9dad61fb0f9ca685350064ca new file mode 100644 index 0000000000000000000000000000000000000000..5455658c92fab5cc53f4f9396d4c142092ed3fe6 GIT binary patch literal 58 jcmZQ#V_;+W|NlRu8UuSd14E7jbFykK114xj76Nks3lRoe literal 0 HcmV?d00001 diff --git a/regress/corpus/fef074366f9d7dc652a7cea750e2738f310c34e2 b/regress/corpus/fef074366f9d7dc652a7cea750e2738f310c34e2 new file mode 100644 index 0000000000000000000000000000000000000000..088ddac1b766bae008850f15edd5d00493c80c37 GIT binary patch literal 31 fcmZRoVq|7uU}Rurf-&TN1Nlsh4FCWA|NkEVHqHkm literal 0 HcmV?d00001 diff --git a/regress/corpus/ff4ba34380cd42a2aace224feec127c23f46deeb b/regress/corpus/ff4ba34380cd42a2aace224feec127c23f46deeb new file mode 100644 index 0000000000000000000000000000000000000000..846da265434650a2650ee906f4828488025e20b1 GIT binary patch literal 93 wcmdP@|C1phk%8HPnUP^l0)sv(mzm+hh5ul{&hVe%0*K21;bW30rhuiH0WUE#wEzGB literal 0 HcmV?d00001 diff --git a/regress/corpus/ff87afa73e81f9bfb66961ba01311b9161c3f4f1 b/regress/corpus/ff87afa73e81f9bfb66961ba01311b9161c3f4f1 new file mode 100644 index 0000000000000000000000000000000000000000..e8d1699a2844adba3f7122a8eaaec6d259cdb1f9 GIT binary patch literal 164 rcmZROV*LN#;Q#;s40HfMYrvqK6=<0N#6p-Dga(VjnCz(_E+Yc~*~TIy literal 0 HcmV?d00001 diff --git a/regress/corpus/selector_domain b/regress/corpus/selector_domain new file mode 100644 index 0000000..6b2aaa7 --- /dev/null +++ b/regress/corpus/selector_domain @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/regress/corpus/selector_packet b/regress/corpus/selector_packet new file mode 100644 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d GIT binary patch literal 1 IcmZPo000310RR91 literal 0 HcmV?d00001 diff --git a/regress/corpus/selector_rr b/regress/corpus/selector_rr new file mode 100644 index 0000000..25cb955 --- /dev/null +++ b/regress/corpus/selector_rr @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/regress/crash-1ffe2d52cb820525e38d1605a0a359eebdb398e7 b/regress/crash-1ffe2d52cb820525e38d1605a0a359eebdb398e7 new file mode 100644 index 0000000000000000000000000000000000000000..7f212f61f5ccff4ec1df93e3ad134f901c7c212b GIT binary patch literal 30 hcmZQz77_X5z`)?Zz{vRj|IYtFz`&r#$N(gPOaPn_42S># literal 0 HcmV?d00001 diff --git a/regress/crash-6a5c9ebb65a8aa4cb57aeccfb19b4d892093e418 b/regress/crash-6a5c9ebb65a8aa4cb57aeccfb19b4d892093e418 new file mode 100644 index 0000000000000000000000000000000000000000..5321e94a9dc5be16e7c733af0184a0bf5746b9bf GIT binary patch literal 20 XcmZQz009mLb$xwxAVXhYpMeno3C96L literal 0 HcmV?d00001 diff --git a/regress/crash-f68d01ae9b54206705c49ddf24eedb6177b01b8c b/regress/crash-f68d01ae9b54206705c49ddf24eedb6177b01b8c new file mode 100644 index 0000000000000000000000000000000000000000..a5ae2f5d26b446a6735a3555f15a6e7cc62ce82d GIT binary patch literal 33 fcmZQzU}Ruma$scug8vK*4&`7LhzA6W4GatbD&PWz literal 0 HcmV?d00001 diff --git a/regress/fuzz_dns.c b/regress/fuzz_dns.c new file mode 100644 index 0000000..8997d0e --- /dev/null +++ b/regress/fuzz_dns.c @@ -0,0 +1,273 @@ +/* + * Fuzz harness for dns.c using libFuzzer + * + * Build with: + * clang -g -O1 -fsanitize=fuzzer,address,undefined \ + * -DDNS_DEBUG=0 -I../src -o fuzz_dns fuzz_dns.c + * + * Run with: + * ./fuzz_dns corpus/ -max_len=4096 + */ + +#include +#include +#include +#include + +#include "dns.c" + +/* + * Fuzz target 1: Parse a complete DNS packet + * This exercises the most attack surface - packet parsing, RR iteration, + * name decompression, and all RR type parsers. + */ +static void fuzz_packet_parse(const uint8_t *data, size_t size) { + struct dns_packet *P; + struct dns_rr rr; + struct dns_rr_i I; + union dns_any any; + char buf[1024]; + int error; + + if (size < 12 || size > 65535) + return; + + P = dns_p_make(size, NULL); + if (!P) + return; + + memcpy(P->data, data, size); + P->end = size; + + /* Try to iterate all sections */ + for (int section = DNS_S_QD; section <= DNS_S_AR; section <<= 1) { + memset(&I, 0, sizeof(I)); + I.section = section; + dns_rr_i_init(&I, P); + + while (dns_rr_grep(&rr, 1, &I, P, &error)) { + /* Try to parse the RR */ + dns_any_init(&any, sizeof(any)); + if (dns_any_parse(&any, &rr, P) != 0) + continue; + + /* Try to print the RR - only if parse succeeded */ + dns_any_print(buf, sizeof(buf), &any, rr.type); + + /* Try to get the name */ + dns_d_expand(buf, sizeof(buf), rr.dn.p, P, &error); + } + } + + free(P); +} + +/* + * Fuzz target 2: Domain name operations + * Test name expansion, compression, comparison + */ +static void fuzz_domain_name(const uint8_t *data, size_t size) { + struct dns_packet *P; + char name[DNS_D_MAXNAME + 1]; + int error; + + if (size < 12 || size > 4096) + return; + + P = dns_p_make(size, NULL); + if (!P) + return; + + memcpy(P->data, data, size); + P->end = size; + + /* Try expanding names at various offsets */ + for (unsigned offset = 12; offset < size && offset < 512; offset++) { + dns_d_expand(name, sizeof(name), offset, P, &error); + dns_d_skip(offset, P); + } + + /* Try name comparison */ + if (size >= 24) { + dns_d_cname(name, sizeof(name), (char *)data + 12, + DNS_PP_MIN(size - 12, DNS_D_MAXNAME), P, &error); + } + + free(P); +} + +/* + * Fuzz target 3: Individual RR type parsers + * Directly test each RR parser with raw RDATA + */ +static void fuzz_rr_parsers(const uint8_t *data, size_t size) { + struct dns_packet *P; + struct dns_rr rr = {0}; + union dns_any any; + char buf[4096]; + + if (size < 1 || size > 2048) + return; + + /* Allocate packet with enough space for the data */ + P = dns_p_make(size + 12, NULL); + if (!P) + return; + + /* Set up a minimal packet with just the RDATA */ + memcpy(P->data, data, size); + P->end = size; + + rr.rd.p = 0; + rr.rd.len = size; + + /* Use first byte to select RR type to test */ + static const enum dns_type types[] = { + DNS_T_A, DNS_T_NS, DNS_T_CNAME, DNS_T_SOA, DNS_T_PTR, + DNS_T_MX, DNS_T_TXT, DNS_T_AAAA, DNS_T_SRV, + DNS_T_OPT, DNS_T_SSHFP, DNS_T_DS, DNS_T_RRSIG, DNS_T_NSEC, + DNS_T_DNSKEY, DNS_T_NSEC3, DNS_T_TLSA, DNS_T_SVCB, DNS_T_HTTPS, + DNS_T_CAA, DNS_T_URI + }; + + if (size < 2) { + free(P); + return; + } + + int type_idx = data[0] % (sizeof(types) / sizeof(types[0])); + rr.type = types[type_idx]; + rr.rd.p = 1; /* Skip the type selector byte */ + rr.rd.len = size - 1; + + dns_any_init(&any, sizeof(any)); + if (dns_any_parse(&any, &rr, P) == 0) { + dns_any_print(buf, sizeof(buf), &any, rr.type); + } + + free(P); +} + +/* + * Fuzz target 4: Resolver configuration parsing + */ +static void fuzz_resconf(const uint8_t *data, size_t size) { + struct dns_resolv_conf *resconf; + int error; + + if (size > 8192) + return; + + resconf = dns_resconf_open(&error); + if (!resconf) + return; + + /* Create a temporary buffer with null terminator for line parsing */ + char *buf = malloc(size + 1); + if (buf) { + memcpy(buf, data, size); + buf[size] = '\0'; + + /* Simulate parsing resolv.conf lines */ + char *line = buf; + char *end; + while ((end = strchr(line, '\n')) != NULL) { + *end = '\0'; + /* The library doesn't expose line parsing directly, + but we can test the full loadpath */ + line = end + 1; + } + free(buf); + } + + dns_resconf_close(resconf); +} + +/* + * Fuzz target 5: hosts file parsing + */ +static void fuzz_hosts(const uint8_t *data, size_t size) { + struct dns_hosts *hosts; + int error; + + if (size > 8192) + return; + + hosts = dns_hosts_open(&error); + if (!hosts) + return; + + /* Similar to resconf - test what we can */ + dns_hosts_close(hosts); +} + +/* + * Fuzz target 6: Packet building/pushing + * Test that we can build packets without crashing + */ +static void fuzz_packet_build(const uint8_t *data, size_t size) { + struct dns_packet *P; + char name[256]; + int error; + + if (size < 4 || size > 512) + return; + + P = dns_p_make(512, &error); + if (!P) + return; + + /* Use input as a domain name to push */ + size_t namelen = DNS_PP_MIN(size - 1, sizeof(name) - 1); + memcpy(name, data + 1, namelen); + name[namelen] = '\0'; + + /* Try to make it a valid-ish domain name */ + for (size_t i = 0; i < namelen; i++) { + if (name[i] == '\0') + name[i] = '.'; + else if (name[i] < 32 || name[i] > 126) + name[i] = 'a'; + } + + /* Try pushing a question */ + dns_p_push(P, DNS_S_QD, name, strlen(name), DNS_T_A, DNS_C_IN, 0, NULL); + + free(P); +} + +/* + * Main fuzzer entry point + */ +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + if (size < 2) + return 0; + + /* Use first byte to select which fuzzer to run */ + uint8_t selector = data[0] % 6; + data++; + size--; + + switch (selector) { + case 0: + fuzz_packet_parse(data, size); + break; + case 1: + fuzz_domain_name(data, size); + break; + case 2: + fuzz_rr_parsers(data, size); + break; + case 3: + fuzz_resconf(data, size); + break; + case 4: + fuzz_hosts(data, size); + break; + case 5: + fuzz_packet_build(data, size); + break; + } + + return 0; +} From ad4bba53709b54e5b4536af47ef694a790f6eb7c Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Sat, 13 Dec 2025 02:18:22 -0600 Subject: [PATCH 08/25] Statically initialize opcode/rcode name arrays for thread-safety --- src/dns.c | 43 ++++++++++++------------------------------- 1 file changed, 12 insertions(+), 31 deletions(-) diff --git a/src/dns.c b/src/dns.c index d7605d1..04493ee 100644 --- a/src/dns.c +++ b/src/dns.c @@ -9943,38 +9943,19 @@ enum dns_type dns_itype(const char *name) { } /* dns_itype() */ -static char dns_opcodes[16][16] = { +static const char dns_opcodes[16][16] = { [DNS_OP_QUERY] = "QUERY", [DNS_OP_IQUERY] = "IQUERY", [DNS_OP_STATUS] = "STATUS", + [3] = "3", [DNS_OP_NOTIFY] = "NOTIFY", [DNS_OP_UPDATE] = "UPDATE", + [6] = "6", [7] = "7", [8] = "8", [9] = "9", + [10] = "10", [11] = "11", [12] = "12", [13] = "13", [14] = "14", [15] = "15", }; -static const char *dns__strcode(int code, volatile char *dst, size_t lim) { - char _tmp[48] = ""; - struct dns_buf tmp; - size_t p; - - assert(lim > 0); - dns_b_fmtju(dns_b_into(&tmp, _tmp, DNS_PP_MIN(sizeof _tmp, lim - 1)), code, 0); - - /* copy downwards so first byte is copied last (see below) */ - p = (size_t)(tmp.p - tmp.base); - dst[p] = '\0'; - while (p--) - dst[p] = _tmp[p]; - - return (const char *)dst; -} - const char *dns_stropcode(enum dns_opcode opcode) { - opcode = (unsigned)opcode % lengthof(dns_opcodes); - - if ('\0' == dns_opcodes[opcode][0]) - return dns__strcode(opcode, dns_opcodes[opcode], sizeof dns_opcodes[opcode]); - - return dns_opcodes[opcode]; + return dns_opcodes[(unsigned)opcode % lengthof(dns_opcodes)]; } /* dns_stropcode() */ @@ -9996,7 +9977,7 @@ enum dns_opcode dns_iopcode(const char *name) { } /* dns_iopcode() */ -static char dns_rcodes[32][16] = { +static const char dns_rcodes[32][16] = { [DNS_RC_NOERROR] = "NOERROR", [DNS_RC_FORMERR] = "FORMERR", [DNS_RC_SERVFAIL] = "SERVFAIL", @@ -10008,17 +9989,17 @@ static char dns_rcodes[32][16] = { [DNS_RC_NXRRSET] = "NXRRSET", [DNS_RC_NOTAUTH] = "NOTAUTH", [DNS_RC_NOTZONE] = "NOTZONE", + [11] = "11", [12] = "12", [13] = "13", [14] = "14", [15] = "15", /* EDNS(0) extended RCODEs ... */ [DNS_RC_BADVERS] = "BADVERS", + [17] = "17", [18] = "18", [19] = "19", + [20] = "20", [21] = "21", [22] = "22", [23] = "23", + [24] = "24", [25] = "25", [26] = "26", [27] = "27", + [28] = "28", [29] = "29", [30] = "30", [31] = "31", }; const char *dns_strrcode(enum dns_rcode rcode) { - rcode = (unsigned)rcode % lengthof(dns_rcodes); - - if ('\0' == dns_rcodes[rcode][0]) - return dns__strcode(rcode, dns_rcodes[rcode], sizeof dns_rcodes[rcode]); - - return dns_rcodes[rcode]; + return dns_rcodes[(unsigned)rcode % lengthof(dns_rcodes)]; } /* dns_strrcode() */ From 7494640967870501538fa4bb2aeb2cfb55369964 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Sat, 13 Dec 2025 02:56:04 -0600 Subject: [PATCH 09/25] Fix NULL-pointer dereference in dns_p_make() --- src/dns.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/dns.c b/src/dns.c index 04493ee..b99eb61 100644 --- a/src/dns.c +++ b/src/dns.c @@ -1602,8 +1602,10 @@ struct dns_packet *dns_p_make(size_t len, int *error) { struct dns_packet *P; size_t size = dns_p_calcsize(len); - if (!(P = dns_p_init(malloc(size), size))) - *error = dns_syerr(); + if (!(P = dns_p_init(malloc(size), size))) { + if (error) + *error = dns_syerr(); + } return P; } /* dns_p_make() */ From 85e6d276989a224008cc2e8895bf58db86b208d5 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Sat, 13 Dec 2025 02:56:18 -0600 Subject: [PATCH 10/25] Fix NULL-pointer dereference in dns_rr_i_skip() --- src/dns.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/dns.c b/src/dns.c index b99eb61..ba78c3f 100644 --- a/src/dns.c +++ b/src/dns.c @@ -2847,6 +2847,9 @@ static unsigned short dns_rr_i_skip(unsigned short rp, struct dns_rr_i *i, struc r0.section = dns_rr_section(rp, P); + if (!i->sort) + return P->end; + rp = (i->sort == &dns_rr_i_packet)? dns_rr_skip(rp, P) : 12; for (; rp < P->end; rp = dns_rr_skip(rp, P)) { From 97f9e4adb2e390c3c26bbf4f64c0c4664f333e5f Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Sat, 13 Dec 2025 02:56:31 -0600 Subject: [PATCH 11/25] Fix leak in send_query() --- src/dns.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/dns.c b/src/dns.c index ba78c3f..dc53615 100644 --- a/src/dns.c +++ b/src/dns.c @@ -10679,6 +10679,7 @@ static int send_query(int argc, char *argv[]) { print_packet(A, stdout); + free(A); dns_so_close(so); return 0; From 8f1ba870ca780a6aed96cfa3122c09846120b824 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Sat, 13 Dec 2025 03:07:54 -0600 Subject: [PATCH 12/25] Claude-coded WIN32 improvements --- src/dns.c | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) diff --git a/src/dns.c b/src/dns.c index dc53615..0cde6cc 100644 --- a/src/dns.c +++ b/src/dns.c @@ -51,10 +51,14 @@ #include /* malloc(3) realloc(3) free(3) rand(3) random(3) arc4random(3) */ #include /* FILE fopen(3) fclose(3) getc(3) rewind(3) */ #include /* memcpy(3) strlen(3) memmove(3) memchr(3) memcmp(3) strchr(3) strsep(3) strcspn(3) */ +#ifndef _WIN32 #include /* strcasecmp(3) strncasecmp(3) */ +#endif #include /* isspace(3) isdigit(3) */ #include /* time_t time(2) difftime(3) */ +#ifndef _WIN32 #include /* SIGPIPE sigemptyset(3) sigaddset(3) sigpending(2) sigprocmask(2) pthread_sigmask(3) sigtimedwait(2) */ +#endif #include /* errno EINVAL ENOENT */ #undef NDEBUG #include /* assert(3) */ @@ -65,6 +69,8 @@ #endif #include #include +#include /* GetNetworkParams FIXED_INFO */ +#pragma comment(lib, "IPHLPAPI.lib") #else #include /* FD_SETSIZE socklen_t */ #include /* FD_ZERO FD_SET fd_set select(2) */ @@ -5667,6 +5673,88 @@ struct dns_resolv_conf *dns_resconf_mortal(struct dns_resolv_conf *resconf) { } /* dns_resconf_mortal() */ +#if _WIN32 +/* + * Load DNS configuration from Windows using GetAdaptersAddresses. + * This retrieves DNS servers (IPv4 and IPv6) from all adapters, + * prioritized by adapter metric (lowest metric = highest priority). + */ +static int dns_resconf_loadwin(struct dns_resolv_conf *resconf) { + IP_ADAPTER_ADDRESSES *adapters = NULL, *adapter; + IP_ADAPTER_DNS_SERVER_ADDRESS *dns; + ULONG size = 15000; /* recommended initial size */ + ULONG ret; + size_t count = 0; + + /* Allocate and call GetAdaptersAddresses */ + for (int tries = 0; tries < 3; tries++) { + adapters = malloc(size); + if (!adapters) + return ENOMEM; + + ret = GetAdaptersAddresses(AF_UNSPEC, + GAA_FLAG_SKIP_ANYCAST | GAA_FLAG_SKIP_MULTICAST | GAA_FLAG_SKIP_FRIENDLY_NAME, + NULL, adapters, &size); + + if (ret == ERROR_SUCCESS) + break; + + free(adapters); + adapters = NULL; + + if (ret != ERROR_BUFFER_OVERFLOW) + return (ret == ERROR_NO_DATA) ? ENOENT : EINVAL; + } + + if (!adapters) + return ENOMEM; + + /* + * Iterate adapters. Windows typically returns them in metric order, + * so we just take DNS servers from each operational adapter until full. + */ + for (adapter = adapters; adapter && count < lengthof(resconf->nameserver); adapter = adapter->Next) { + /* Skip non-operational adapters */ + if (adapter->OperStatus != IfOperStatusUp) + continue; + + /* Load DNS suffix from first adapter that has one */ + if (resconf->search[0][0] == '\0' && adapter->DnsSuffix && adapter->DnsSuffix[0] != L'\0') { + char suffix[DNS_D_MAXNAME]; + int len = WideCharToMultiByte(CP_UTF8, 0, adapter->DnsSuffix, -1, + suffix, sizeof suffix, NULL, NULL); + if (len > 0) { + dns_d_anchor(resconf->search[0], sizeof resconf->search[0], + suffix, strlen(suffix)); + } + } + + /* Add DNS servers from this adapter */ + for (dns = adapter->FirstDnsServerAddress; dns && count < lengthof(resconf->nameserver); dns = dns->Next) { + struct sockaddr *sa = dns->Address.lpSockaddr; + + if (sa->sa_family == AF_INET) { + memcpy(&resconf->nameserver[count], sa, sizeof(struct sockaddr_in)); + ((struct sockaddr_in *)&resconf->nameserver[count])->sin_port = htons(53); + count++; + } else if (sa->sa_family == AF_INET6) { + struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sa; + /* Skip link-local addresses without proper scope */ + if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr) && sin6->sin6_scope_id == 0) + continue; + memcpy(&resconf->nameserver[count], sa, sizeof(struct sockaddr_in6)); + ((struct sockaddr_in6 *)&resconf->nameserver[count])->sin6_port = htons(53); + count++; + } + } + } + + free(adapters); + return 0; +} /* dns_resconf_loadwin() */ +#endif + + struct dns_resolv_conf *dns_resconf_local(int *error_) { struct dns_resolv_conf *resconf; int error; @@ -5674,6 +5762,16 @@ struct dns_resolv_conf *dns_resconf_local(int *error_) { if (!(resconf = dns_resconf_open(&error))) goto error; +#if _WIN32 + if ((error = dns_resconf_loadwin(resconf))) { + /* + * If GetAdaptersAddresses fails, fall back to the default + * nameserver (127.0.0.1) set by dns_resconf_open. + */ + if (error != ENOENT) + goto error; + } +#else if ((error = dns_resconf_loadpath(resconf, "/etc/resolv.conf"))) { /* * NOTE: Both the glibc and BIND9 resolvers ignore a missing @@ -5690,6 +5788,7 @@ struct dns_resolv_conf *dns_resconf_local(int *error_) { if (error != ENOENT) goto error; } +#endif return resconf; error: From 44567b422edc85fd2bb612a85f10e7d8387d7332 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Sat, 13 Dec 2025 03:09:28 -0600 Subject: [PATCH 13/25] On Windows the hosts file is in the C: drive --- src/dns.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/dns.c b/src/dns.c index 0cde6cc..ecad9e9 100644 --- a/src/dns.c +++ b/src/dns.c @@ -5360,6 +5360,12 @@ struct dns_hosts *dns_hosts_mortal(struct dns_hosts *hosts) { } /* dns_hosts_mortal() */ +#if _WIN32 +#define DNS_HOSTS_PATH "C:\\Windows\\System32\\drivers\\etc\\hosts" +#else +#define DNS_HOSTS_PATH "/etc/hosts" +#endif + struct dns_hosts *dns_hosts_local(int *error_) { struct dns_hosts *hosts; int error; @@ -5367,7 +5373,7 @@ struct dns_hosts *dns_hosts_local(int *error_) { if (!(hosts = dns_hosts_open(&error))) goto error; - if ((error = dns_hosts_loadpath(hosts, "/etc/hosts"))) + if ((error = dns_hosts_loadpath(hosts, DNS_HOSTS_PATH))) goto error; return hosts; @@ -10307,6 +10313,7 @@ static struct dns_resolv_conf *resconf(void) { panic("%s: %s", path, dns_strerror(error)); } +#if !_WIN32 if (!MAIN.nssconf.count) { path = "/etc/nsswitch.conf"; @@ -10315,6 +10322,7 @@ static struct dns_resolv_conf *resconf(void) { else if (error != ENOENT) panic("%s: %s", path, dns_strerror(error)); } +#endif /* apply command-line query flags */ if (MAIN.qflags.ad) @@ -10336,11 +10344,11 @@ static struct dns_hosts *hosts(void) { return hosts; if (!MAIN.hosts.count) { - MAIN.hosts.path[MAIN.hosts.count++] = "/etc/hosts"; + MAIN.hosts.path[MAIN.hosts.count++] = DNS_HOSTS_PATH; /* Explicitly test dns_hosts_local() */ if (!(hosts = dns_hosts_local(&error))) - panic("%s: %s", "/etc/hosts", dns_strerror(error)); + panic("%s: %s", DNS_HOSTS_PATH, dns_strerror(error)); return hosts; } From b823b952ddd17d7ae8383b75c4518d72ebd7dd6f Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Sat, 13 Dec 2025 03:11:55 -0600 Subject: [PATCH 14/25] Do not try reading from /etc on Windows --- src/dns.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/dns.c b/src/dns.c index ecad9e9..1a6dd18 100644 --- a/src/dns.c +++ b/src/dns.c @@ -10286,8 +10286,15 @@ static struct dns_resolv_conf *resconf(void) { if (!(resconf = dns_resconf_open(&error))) panic("dns_resconf_open: %s", dns_strerror(error)); +#if _WIN32 + if (!MAIN.resconf.count) { + if ((error = dns_resconf_loadwin(resconf))) + panic("dns_resconf_loadwin: %s", dns_strerror(error)); + } +#else if (!MAIN.resconf.count) MAIN.resconf.path[MAIN.resconf.count++] = "/etc/resolv.conf"; +#endif for (i = 0; i < MAIN.resconf.count; i++) { path = MAIN.resconf.path[i]; @@ -10301,6 +10308,7 @@ static struct dns_resolv_conf *resconf(void) { panic("%s: %s", path, dns_strerror(error)); } +#if !_WIN32 for (i = 0; i < MAIN.nssconf.count; i++) { path = MAIN.nssconf.path[i]; @@ -10313,7 +10321,6 @@ static struct dns_resolv_conf *resconf(void) { panic("%s: %s", path, dns_strerror(error)); } -#if !_WIN32 if (!MAIN.nssconf.count) { path = "/etc/nsswitch.conf"; From cc830a6ce7e1127e8a28e43df0e72922eddbbb27 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Sat, 13 Dec 2025 12:36:49 -0600 Subject: [PATCH 15/25] Functions with arguments need formals --- src/dns.c | 73 ++++++++++++++++++++++++++++++------------------------ src/dns.h | 2 +- src/spf.rl | 28 +++++++++++---------- 3 files changed, 57 insertions(+), 46 deletions(-) diff --git a/src/dns.c b/src/dns.c index 1a6dd18..dc5b33f 100644 --- a/src/dns.c +++ b/src/dns.c @@ -5129,39 +5129,48 @@ size_t dns_txt_print(void *_dst, size_t lim, struct dns_txt *txt) { } /* dns_txt_print() */ +typedef int (*dns_rr_parse_f)(void *, struct dns_rr *, struct dns_packet *); +typedef int (*dns_rr_push_f)(struct dns_packet *, void *); +typedef int (*dns_rr_cmp_f)(const void *, const void *); +typedef size_t (*dns_rr_print_f)(void *, size_t, void *); +typedef size_t (*dns_rr_cname_f)(void *, size_t, void *); + static const struct dns_rrtype { enum dns_type type; const char *name; union dns_any *(*init)(union dns_any *, size_t); - int (*parse)(); - int (*push)(); - int (*cmp)(); - size_t (*print)(); - size_t (*cname)(); + dns_rr_parse_f parse; + dns_rr_push_f push; + dns_rr_cmp_f cmp; + dns_rr_print_f print; + dns_rr_cname_f cname; } dns_rrtypes[] = { - { DNS_T_A, "A", 0, &dns_a_parse, &dns_a_push, &dns_a_cmp, &dns_a_print, 0, }, - { DNS_T_AAAA, "AAAA", 0, &dns_aaaa_parse, &dns_aaaa_push, &dns_aaaa_cmp, &dns_aaaa_print, 0, }, - { DNS_T_MX, "MX", 0, &dns_mx_parse, &dns_mx_push, &dns_mx_cmp, &dns_mx_print, &dns_mx_cname, }, - { DNS_T_NS, "NS", 0, &dns_ns_parse, &dns_ns_push, &dns_ns_cmp, &dns_ns_print, &dns_ns_cname, }, - { DNS_T_CNAME, "CNAME", 0, &dns_cname_parse, &dns_cname_push, &dns_cname_cmp, &dns_cname_print, &dns_cname_cname, }, - { DNS_T_SOA, "SOA", 0, &dns_soa_parse, &dns_soa_push, &dns_soa_cmp, &dns_soa_print, 0, }, - { DNS_T_SRV, "SRV", 0, &dns_srv_parse, &dns_srv_push, &dns_srv_cmp, &dns_srv_print, &dns_srv_cname, }, - { DNS_T_OPT, "OPT", &dns_opt_initany, &dns_opt_parse, &dns_opt_push, &dns_opt_cmp, &dns_opt_print, 0, }, - { DNS_T_PTR, "PTR", 0, &dns_ptr_parse, &dns_ptr_push, &dns_ptr_cmp, &dns_ptr_print, &dns_ptr_cname, }, - { DNS_T_TXT, "TXT", &dns_txt_initany, &dns_txt_parse, &dns_txt_push, &dns_txt_cmp, &dns_txt_print, 0, }, - { DNS_T_SPF, "SPF", &dns_txt_initany, &dns_txt_parse, &dns_txt_push, &dns_txt_cmp, &dns_txt_print, 0, }, - { DNS_T_SSHFP, "SSHFP", 0, &dns_sshfp_parse, &dns_sshfp_push, &dns_sshfp_cmp, &dns_sshfp_print, 0, }, - { DNS_T_DS, "DS", 0, &dns_ds_parse, &dns_ds_push, &dns_ds_cmp, &dns_ds_print, 0, }, - { DNS_T_DNSKEY, "DNSKEY", 0, &dns_dnskey_parse, &dns_dnskey_push, &dns_dnskey_cmp, &dns_dnskey_print, 0, }, - { DNS_T_RRSIG, "RRSIG", 0, &dns_rrsig_parse, &dns_rrsig_push, &dns_rrsig_cmp, &dns_rrsig_print, 0, }, - { DNS_T_NSEC, "NSEC", 0, &dns_nsec_parse, &dns_nsec_push, &dns_nsec_cmp, &dns_nsec_print, 0, }, - { DNS_T_NSEC3, "NSEC3", 0, &dns_nsec3_parse, &dns_nsec3_push, &dns_nsec3_cmp, &dns_nsec3_print, 0, }, - { DNS_T_TLSA, "TLSA", 0, &dns_tlsa_parse, &dns_tlsa_push, &dns_tlsa_cmp, &dns_tlsa_print, 0, }, - { DNS_T_SVCB, "SVCB", 0, &dns_svcb_parse, &dns_svcb_push, &dns_svcb_cmp, &dns_svcb_print, 0, }, - { DNS_T_HTTPS, "HTTPS", 0, &dns_svcb_parse, &dns_svcb_push, &dns_svcb_cmp, &dns_svcb_print, 0, }, - { DNS_T_CAA, "CAA", 0, &dns_caa_parse, &dns_caa_push, &dns_caa_cmp, &dns_caa_print, 0, }, - { DNS_T_URI, "URI", 0, &dns_uri_parse, &dns_uri_push, &dns_uri_cmp, &dns_uri_print, 0, }, - { DNS_T_AXFR, "AXFR", 0, 0, 0, 0, 0, 0, }, +#define DNS_RR_ENTRY(T, N, I, Pa, Pu, C, Pr, Cn) \ + { T, N, I, (dns_rr_parse_f)(Pa), (dns_rr_push_f)(Pu), (dns_rr_cmp_f)(C), (dns_rr_print_f)(Pr), (dns_rr_cname_f)(Cn) } + DNS_RR_ENTRY(DNS_T_A, "A", 0, &dns_a_parse, &dns_a_push, &dns_a_cmp, &dns_a_print, 0), + DNS_RR_ENTRY(DNS_T_AAAA, "AAAA", 0, &dns_aaaa_parse, &dns_aaaa_push, &dns_aaaa_cmp, &dns_aaaa_print, 0), + DNS_RR_ENTRY(DNS_T_MX, "MX", 0, &dns_mx_parse, &dns_mx_push, &dns_mx_cmp, &dns_mx_print, &dns_mx_cname), + DNS_RR_ENTRY(DNS_T_NS, "NS", 0, &dns_ns_parse, &dns_ns_push, &dns_ns_cmp, &dns_ns_print, &dns_ns_cname), + DNS_RR_ENTRY(DNS_T_CNAME, "CNAME", 0, &dns_cname_parse, &dns_cname_push, &dns_cname_cmp, &dns_cname_print, &dns_cname_cname), + DNS_RR_ENTRY(DNS_T_SOA, "SOA", 0, &dns_soa_parse, &dns_soa_push, &dns_soa_cmp, &dns_soa_print, 0), + DNS_RR_ENTRY(DNS_T_SRV, "SRV", 0, &dns_srv_parse, &dns_srv_push, &dns_srv_cmp, &dns_srv_print, &dns_srv_cname), + DNS_RR_ENTRY(DNS_T_OPT, "OPT", &dns_opt_initany, &dns_opt_parse, &dns_opt_push, &dns_opt_cmp, &dns_opt_print, 0), + DNS_RR_ENTRY(DNS_T_PTR, "PTR", 0, &dns_ptr_parse, &dns_ptr_push, &dns_ptr_cmp, &dns_ptr_print, &dns_ptr_cname), + DNS_RR_ENTRY(DNS_T_TXT, "TXT", &dns_txt_initany, &dns_txt_parse, &dns_txt_push, &dns_txt_cmp, &dns_txt_print, 0), + DNS_RR_ENTRY(DNS_T_SPF, "SPF", &dns_txt_initany, &dns_txt_parse, &dns_txt_push, &dns_txt_cmp, &dns_txt_print, 0), + DNS_RR_ENTRY(DNS_T_SSHFP, "SSHFP", 0, &dns_sshfp_parse, &dns_sshfp_push, &dns_sshfp_cmp, &dns_sshfp_print, 0), + DNS_RR_ENTRY(DNS_T_DS, "DS", 0, &dns_ds_parse, &dns_ds_push, &dns_ds_cmp, &dns_ds_print, 0), + DNS_RR_ENTRY(DNS_T_DNSKEY, "DNSKEY", 0, &dns_dnskey_parse, &dns_dnskey_push, &dns_dnskey_cmp, &dns_dnskey_print, 0), + DNS_RR_ENTRY(DNS_T_RRSIG, "RRSIG", 0, &dns_rrsig_parse, &dns_rrsig_push, &dns_rrsig_cmp, &dns_rrsig_print, 0), + DNS_RR_ENTRY(DNS_T_NSEC, "NSEC", 0, &dns_nsec_parse, &dns_nsec_push, &dns_nsec_cmp, &dns_nsec_print, 0), + DNS_RR_ENTRY(DNS_T_NSEC3, "NSEC3", 0, &dns_nsec3_parse, &dns_nsec3_push, &dns_nsec3_cmp, &dns_nsec3_print, 0), + DNS_RR_ENTRY(DNS_T_TLSA, "TLSA", 0, &dns_tlsa_parse, &dns_tlsa_push, &dns_tlsa_cmp, &dns_tlsa_print, 0), + DNS_RR_ENTRY(DNS_T_SVCB, "SVCB", 0, &dns_svcb_parse, &dns_svcb_push, &dns_svcb_cmp, &dns_svcb_print, 0), + DNS_RR_ENTRY(DNS_T_HTTPS, "HTTPS", 0, &dns_svcb_parse, &dns_svcb_push, &dns_svcb_cmp, &dns_svcb_print, 0), + DNS_RR_ENTRY(DNS_T_CAA, "CAA", 0, &dns_caa_parse, &dns_caa_push, &dns_caa_cmp, &dns_caa_print, 0), + DNS_RR_ENTRY(DNS_T_URI, "URI", 0, &dns_uri_parse, &dns_uri_push, &dns_uri_cmp, &dns_uri_print, 0), + DNS_RR_ENTRY(DNS_T_AXFR, "AXFR", 0, 0, 0, 0, 0, 0), +#undef DNS_RR_ENTRY }; /* dns_rrtypes[] */ static const struct dns_rrtype *dns_rrtype(enum dns_type type) { @@ -10162,7 +10171,7 @@ struct { const char *qname; enum dns_type qtype; - int (*sort)(); + int (*sort)(struct dns_rr *, struct dns_rr *, struct dns_rr_i *, struct dns_packet *); int verbose; @@ -10858,7 +10867,7 @@ static int show_hints(int argc, char *argv[]) { static int resolve_query(int argc DNS_NOTUSED, char *argv[]) { _Bool recurse = !!strstr(argv[0], "recurse"); - struct dns_hints *(*hints)() = (recurse)? &dns_hints_root : &dns_hints_local; + struct dns_hints *(*hints)(struct dns_resolv_conf *, int *) = (recurse)? &dns_hints_root : &dns_hints_local; struct dns_resolver *R; struct dns_packet *ans; const struct dns_stat *st; @@ -10906,7 +10915,7 @@ static int resolve_query(int argc DNS_NOTUSED, char *argv[]) { static int resolve_addrinfo(int argc DNS_NOTUSED, char *argv[]) { _Bool recurse = !!strstr(argv[0], "recurse"); - struct dns_hints *(*hints)() = (recurse)? &dns_hints_root : &dns_hints_local; + struct dns_hints *(*hints)(struct dns_resolv_conf *, int *) = (recurse)? &dns_hints_root : &dns_hints_local; struct dns_resolver *res = NULL; struct dns_addrinfo *ai = NULL; struct addrinfo ai_hints = { .ai_family = PF_UNSPEC, .ai_socktype = SOCK_STREAM, .ai_flags = AI_CANONNAME }; @@ -11095,7 +11104,7 @@ static int sizes(int argc DNS_NOTUSED, char *argv[] DNS_NOTUSED) { } /* sizes() */ -static const struct { const char *cmd; int (*run)(); const char *help; } cmds[] = { +static const struct { const char *cmd; int (*run)(int, char *[]); const char *help; } cmds[] = { { "parse-packet", &parse_packet, "parse binary packet from stdin" }, { "parse-domain", &parse_domain, "anchor and iteratively cleave domain" }, { "trim-domain", &trim_domain, "trim and anchor domain name" }, diff --git a/src/dns.h b/src/dns.h index 44fd63d..994c4bd 100644 --- a/src/dns.h +++ b/src/dns.h @@ -549,7 +549,7 @@ struct dns_rr_i { int follow; - int (*sort)(); + int (*sort)(struct dns_rr *, struct dns_rr *, struct dns_rr_i *, struct dns_packet *); unsigned args[2]; struct { diff --git a/src/spf.rl b/src/spf.rl index 6f6b695..20cf99e 100644 --- a/src/spf.rl +++ b/src/spf.rl @@ -1093,21 +1093,23 @@ static void unknown_comp(struct spf_sbuf *sbuf, struct spf_unknown *unknown) { } /* unknown_comp() */ +typedef void (*spf_term_comp_f)(struct spf_sbuf *, void *); + static const struct { - void (*comp)(); + spf_term_comp_f comp; } spf_term[] = { - [SPF_ALL] = { &all_comp }, - [SPF_INCLUDE] = { &include_comp }, - [SPF_A] = { &a_comp }, - [SPF_MX] = { &mx_comp }, - [SPF_PTR] = { &ptr_comp }, - [SPF_IP4] = { &ip4_comp }, - [SPF_IP6] = { &ip6_comp }, - [SPF_EXISTS] = { &exists_comp }, - - [SPF_REDIRECT] = { &redirect_comp }, - [SPF_EXP] = { &exp_comp }, - [SPF_UNKNOWN] = { &unknown_comp }, + [SPF_ALL] = { (spf_term_comp_f)&all_comp }, + [SPF_INCLUDE] = { (spf_term_comp_f)&include_comp }, + [SPF_A] = { (spf_term_comp_f)&a_comp }, + [SPF_MX] = { (spf_term_comp_f)&mx_comp }, + [SPF_PTR] = { (spf_term_comp_f)&ptr_comp }, + [SPF_IP4] = { (spf_term_comp_f)&ip4_comp }, + [SPF_IP6] = { (spf_term_comp_f)&ip6_comp }, + [SPF_EXISTS] = { (spf_term_comp_f)&exists_comp }, + + [SPF_REDIRECT] = { (spf_term_comp_f)&redirect_comp }, + [SPF_EXP] = { (spf_term_comp_f)&exp_comp }, + [SPF_UNKNOWN] = { (spf_term_comp_f)&unknown_comp }, }; /* spf_term[] */ static char *term_comp(struct spf_sbuf *sbuf, void *term) { From daff2eba79042ade4696745f8383581aaff1edba Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Sat, 13 Dec 2025 13:21:14 -0600 Subject: [PATCH 16/25] Support getrandom(), getentropy(), or RtlGenRandom() (WIN32) --- src/dns.c | 47 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 41 insertions(+), 6 deletions(-) diff --git a/src/dns.c b/src/dns.c index dc5b33f..bcb957f 100644 --- a/src/dns.c +++ b/src/dns.c @@ -452,8 +452,12 @@ static inline unsigned dns_atomic_fetch_sub(dns_atomic_t *i) { || defined(__NetBSD__) \ || defined(__APPLE__) #define DNS_RANDOM arc4random -#elif __linux -#define DNS_RANDOM random +#elif _WIN32 +#define DNS_RANDOM RtlGenRandom +#elif defined(HAVE_GETRANDOM) || defined(__linux__) +#define DNS_RANDOM getrandom +#elif defined(HAVE_GETENTROPY) +#define DNS_RANDOM getentropy #else #define DNS_RANDOM rand #endif @@ -463,25 +467,56 @@ static inline unsigned dns_atomic_fetch_sub(dns_atomic_t *i) { #define DNS_RANDOM_random 2 #define DNS_RANDOM_rand 3 #define DNS_RANDOM_RAND_bytes 4 +#define DNS_RANDOM_getrandom 5 +#define DNS_RANDOM_getentropy 6 +#define DNS_RANDOM_RtlGenRandom 7 #define DNS_RANDOM_OPENSSL (DNS_RANDOM_RAND_bytes == DNS_PP_XPASTE(DNS_RANDOM_, DNS_RANDOM)) +#define DNS_RANDOM_SYSRANDOM (DNS_RANDOM_getrandom == DNS_PP_XPASTE(DNS_RANDOM_, DNS_RANDOM) || \ + DNS_RANDOM_getentropy == DNS_PP_XPASTE(DNS_RANDOM_, DNS_RANDOM) || \ + DNS_RANDOM_RtlGenRandom == DNS_PP_XPASTE(DNS_RANDOM_, DNS_RANDOM)) #if DNS_RANDOM_OPENSSL #include #endif +#if DNS_RANDOM_getrandom == DNS_PP_XPASTE(DNS_RANDOM_, DNS_RANDOM) +#include +#endif + +#if _WIN32 +#include +#endif + static unsigned dns_random_(void) { -#if DNS_RANDOM_OPENSSL unsigned r; +#if DNS_RANDOM_OPENSSL _Bool ok; ok = (1 == RAND_bytes((unsigned char *)&r, sizeof r)); assert(ok && "1 == RAND_bytes()"); - - return r; +#elif DNS_RANDOM_getrandom == DNS_PP_XPASTE(DNS_RANDOM_, DNS_RANDOM) + ssize_t n; + + n = getrandom(&r, sizeof r, 0); + assert(n == sizeof r && "getrandom()"); + (void)n; +#elif DNS_RANDOM_getentropy == DNS_PP_XPASTE(DNS_RANDOM_, DNS_RANDOM) + int ret; + + ret = getentropy(&r, sizeof r); + assert(ret == 0 && "getentropy()"); + (void)ret; +#elif _WIN32 + BOOLEAN ok; + + ok = RtlGenRandom(&r, sizeof r); + assert(ok && "RtlGenRandom()"); + (void)ok; #else - return DNS_RANDOM(); + r = DNS_RANDOM(); #endif + return r; } /* dns_random_() */ dns_random_f **dns_random_p(void) { From bdda7929f33ebd1a17ce491b89e8b52ac9ce760d Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Sat, 13 Dec 2025 12:51:23 -0600 Subject: [PATCH 17/25] Fix Ragel rules (OS X) --- regress/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regress/Makefile b/regress/Makefile index 097d75d..c9af2d6 100644 --- a/regress/Makefile +++ b/regress/Makefile @@ -8,7 +8,7 @@ LDFLAGS += -L/usr/local/libyaml/lib rfc4408-tests: rfc4408-tests.c ../src/cache.c ../src/zone.c ../src/spf.c ../src/dns.c $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $^ -lyaml $(LIBS) -%.c: %.rl +../src/%.c: ../src/%.rl ragel -C -o $@ $< # Tests that link with dns.c From ce394970a423614ea7ff6d64b9888a49edda35a0 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Sat, 13 Dec 2025 13:42:11 -0600 Subject: [PATCH 18/25] Initialize opt->flags in dns_opt_init() --- src/dns.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/dns.c b/src/dns.c index bcb957f..92d133a 100644 --- a/src/dns.c +++ b/src/dns.c @@ -3661,6 +3661,7 @@ struct dns_opt *dns_opt_init(struct dns_opt *opt, size_t size) { opt->rcode = 0; opt->version = 0; + opt->flags = 0; opt->maxudp = 0; return opt; From 2fcf9e54c54687c6ce30f7158d8c8aeb46fb8528 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Sat, 13 Dec 2025 14:21:08 -0600 Subject: [PATCH 19/25] Add friendly sync functions with timeout --- src/dns.c | 347 +++++++++++++++++++++++++++++++++++++++++++++++++++++- src/dns.h | 45 +++++++ 2 files changed, 389 insertions(+), 3 deletions(-) diff --git a/src/dns.c b/src/dns.c index 92d133a..33fbafb 100644 --- a/src/dns.c +++ b/src/dns.c @@ -1154,12 +1154,15 @@ static inline _Bool dns_isspace(unsigned char c) { static int dns_poll(int fd, short events, int timeout) { - fd_set rset, wset; - if (!events) return 0; - assert(fd >= 0 && (unsigned)fd < FD_SETSIZE); +#if _WIN32 + /* + * Windows: use select() since WSAPoll has issues with certain socket states. + * Note: timeout is in seconds for this internal API. + */ + fd_set rset, wset; FD_ZERO(&rset); FD_ZERO(&wset); @@ -1171,6 +1174,24 @@ static int dns_poll(int fd, short events, int timeout) { FD_SET(fd, &wset); select(fd + 1, &rset, &wset, 0, (timeout >= 0)? &(struct timeval){ timeout, 0 } : NULL); +#else + /* + * Unix: use poll() for better scalability (no FD_SETSIZE limit). + */ + struct pollfd pfd; + + pfd.fd = fd; + pfd.events = 0; + pfd.revents = 0; + + if (events & DNS_POLLIN) + pfd.events |= POLLIN; + + if (events & DNS_POLLOUT) + pfd.events |= POLLOUT; + + poll(&pfd, 1, (timeout >= 0) ? timeout * 1000 : -1); +#endif return 0; } /* dns_poll() */ @@ -9958,6 +9979,326 @@ const struct dns_stat *dns_ai_stat(struct dns_addrinfo *ai) { } /* dns_ai_stat() */ +/* + * S Y N C H R O N O U S I N T E R F A C E S + * + * Blocking wrappers similar to getaddrinfo(3) and getnameinfo(3). + * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +#define DNS_GETADDRINFO_DEFAULT_TIMEOUT 30 + +static int dns_poll_ms(int fd, short events, int timeout_ms) { + if (!events) + return 0; + +#if _WIN32 + fd_set rset, wset; + struct timeval tv; + + FD_ZERO(&rset); + FD_ZERO(&wset); + + if (events & DNS_POLLIN) + FD_SET(fd, &rset); + + if (events & DNS_POLLOUT) + FD_SET(fd, &wset); + + if (timeout_ms >= 0) { + tv.tv_sec = timeout_ms / 1000; + tv.tv_usec = (timeout_ms % 1000) * 1000; + return select(fd + 1, &rset, &wset, 0, &tv); + } else { + return select(fd + 1, &rset, &wset, 0, NULL); + } +#else + struct pollfd pfd; + + pfd.fd = fd; + pfd.events = 0; + pfd.revents = 0; + + if (events & DNS_POLLIN) + pfd.events |= POLLIN; + + if (events & DNS_POLLOUT) + pfd.events |= POLLOUT; + + return poll(&pfd, 1, timeout_ms); +#endif +} /* dns_poll_ms() */ + + +static int dns_ai_waitfor(struct dns_addrinfo *ai, int timeout_sec) { + time_t deadline, now; + int pollfd, events, remaining_ms; + + if (timeout_sec <= 0) + timeout_sec = DNS_GETADDRINFO_DEFAULT_TIMEOUT; + + deadline = time(NULL) + timeout_sec; + + while ((now = time(NULL)) < deadline) { + pollfd = dns_ai_pollfd(ai); + events = dns_ai_events(ai); + + if (pollfd < 0 || !events) + return 0; /* ready or done */ + + remaining_ms = (int)((deadline - now) * 1000); + if (remaining_ms <= 0) + break; + + dns_poll_ms(pollfd, events, remaining_ms); + } + + return (time(NULL) >= deadline) ? ETIMEDOUT : 0; +} /* dns_ai_waitfor() */ + + +int dns_getaddrinfo(const char *host, const char *serv, const struct addrinfo *hints, struct addrinfo **res, int timeout) { + struct dns_resolver *resolver = NULL; + struct dns_addrinfo *ai = NULL; + struct addrinfo *head = NULL, **tail = &head, *ent; + int error; + + *res = NULL; + + if (!host) + return EAI_NONAME; + + /* Create stub resolver using system configuration */ + resolver = dns_res_stub(dns_opts(), &error); + if (!resolver) { + switch (error) { + case ENOMEM: + return EAI_MEMORY; + default: + return EAI_FAIL; + } + } + + /* Open addrinfo iterator */ + ai = dns_ai_open(host, serv, DNS_T_A, hints, resolver, &error); + if (!ai) { + dns_res_close(resolver); + switch (error) { + case ENOMEM: + return EAI_MEMORY; + default: + return EAI_FAIL; + } + } + + /* Iterate results with timeout */ + do { + error = dns_ai_nextent(&ent, ai); + + switch (error) { + case 0: + /* Link entry to result list */ + *tail = ent; + tail = &ent->ai_next; + break; + + case ENOENT: + /* No more results */ + break; + + case DNS_EAGAIN: + /* Need to wait for I/O */ + if ((error = dns_ai_waitfor(ai, timeout))) { + /* Timeout or error */ + dns_ai_close(ai); + dns_res_close(resolver); + dns_freeaddrinfo(head); + return (error == ETIMEDOUT) ? EAI_AGAIN : EAI_FAIL; + } + break; + + default: + /* Other error */ + dns_ai_close(ai); + dns_res_close(resolver); + dns_freeaddrinfo(head); + switch (error) { + case ENOMEM: + return EAI_MEMORY; + case ENOENT: + return EAI_NONAME; + default: + return EAI_FAIL; + } + } + } while (error != ENOENT); + + dns_ai_close(ai); + dns_res_close(resolver); + + if (!head) + return EAI_NONAME; + + *res = head; + return 0; +} /* dns_getaddrinfo() */ + + +void dns_freeaddrinfo(struct addrinfo *res) { + struct addrinfo *next; + + while (res) { + next = res->ai_next; + free(res); + res = next; + } +} /* dns_freeaddrinfo() */ + + +int dns_getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, size_t hostlen, char *serv, size_t servlen, int flags, int timeout) { + struct dns_resolver *resolver = NULL; + struct dns_packet *ans = NULL; + struct dns_rr rr; + struct dns_rr_i rr_i; + union dns_any any; + char qname[DNS_D_MAXNAME + 1]; + time_t deadline, now; + int error, pollfd, events, remaining_ms; + (void)salen; + + if (timeout <= 0) + timeout = DNS_GETADDRINFO_DEFAULT_TIMEOUT; + + deadline = time(NULL) + timeout; + + /* Handle service lookup (port -> service name) */ + if (serv && servlen > 0) { + unsigned short port = 0; + + if (sa->sa_family == AF_INET) { + port = ntohs(((const struct sockaddr_in *)sa)->sin_port); + } else if (sa->sa_family == AF_INET6) { + port = ntohs(((const struct sockaddr_in6 *)sa)->sin6_port); + } + + if (flags & NI_NUMERICSERV) { + snprintf(serv, servlen, "%u", port); + } else { + /* For now, just return numeric (service lookup would need /etc/services) */ + snprintf(serv, servlen, "%u", port); + } + } + + /* Handle host lookup */ + if (!host || hostlen == 0) + return 0; + + /* If numeric requested, just format the address */ + if (flags & NI_NUMERICHOST) { + const void *addr; + + if (sa->sa_family == AF_INET) { + addr = &((const struct sockaddr_in *)sa)->sin_addr; + } else if (sa->sa_family == AF_INET6) { + addr = &((const struct sockaddr_in6 *)sa)->sin6_addr; + } else { + return EAI_FAMILY; + } + + if (!dns_inet_ntop(sa->sa_family, addr, host, hostlen)) + return EAI_OVERFLOW; + + return 0; + } + + /* Build reverse DNS name (in-addr.arpa or ip6.arpa) */ + if (!dns_ptr_qname(qname, sizeof qname, sa->sa_family, dns_sa_addr(sa->sa_family, sa, NULL))) { + /* Can't build PTR name, return numeric if allowed */ + if (flags & NI_NAMEREQD) + return EAI_NONAME; + + return dns_getnameinfo(sa, salen, host, hostlen, NULL, 0, flags | NI_NUMERICHOST, timeout); + } + + /* Create stub resolver */ + resolver = dns_res_stub(dns_opts(), &error); + if (!resolver) + return (error == ENOMEM) ? EAI_MEMORY : EAI_FAIL; + + /* Submit PTR query */ + if ((error = dns_res_submit(resolver, qname, DNS_T_PTR, DNS_C_IN))) { + dns_res_close(resolver); + return (error == ENOMEM) ? EAI_MEMORY : EAI_FAIL; + } + + /* Wait for response with timeout */ + while ((error = dns_res_check(resolver)) == DNS_EAGAIN) { + now = time(NULL); + if (now >= deadline) { + dns_res_close(resolver); + if (flags & NI_NAMEREQD) + return EAI_AGAIN; + return dns_getnameinfo(sa, salen, host, hostlen, NULL, 0, flags | NI_NUMERICHOST, 0); + } + + pollfd = dns_res_pollfd(resolver); + events = dns_res_events(resolver); + remaining_ms = (int)((deadline - now) * 1000); + + if (pollfd >= 0 && events) + dns_poll_ms(pollfd, events, remaining_ms); + } + + if (error) { + dns_res_close(resolver); + if (flags & NI_NAMEREQD) + return EAI_NONAME; + return dns_getnameinfo(sa, salen, host, hostlen, NULL, 0, flags | NI_NUMERICHOST, 0); + } + + /* Get answer packet */ + ans = dns_res_fetch(resolver, &error); + dns_res_close(resolver); + + if (!ans) { + if (flags & NI_NAMEREQD) + return EAI_NONAME; + return dns_getnameinfo(sa, salen, host, hostlen, NULL, 0, flags | NI_NUMERICHOST, 0); + } + + /* Find PTR record in answer */ + memset(&rr_i, 0, sizeof rr_i); + rr_i.section = DNS_S_AN; + rr_i.type = DNS_T_PTR; + + if (!dns_rr_grep(&rr, 1, &rr_i, ans, &error)) { + free(ans); + if (flags & NI_NAMEREQD) + return EAI_NONAME; + return dns_getnameinfo(sa, salen, host, hostlen, NULL, 0, flags | NI_NUMERICHOST, 0); + } + + /* Parse PTR record */ + if (dns_any_parse(&any, &rr, ans)) { + free(ans); + if (flags & NI_NAMEREQD) + return EAI_NONAME; + return dns_getnameinfo(sa, salen, host, hostlen, NULL, 0, flags | NI_NUMERICHOST, 0); + } + + /* Copy hostname (remove trailing dot if present) */ + dns_strlcpy(host, any.ptr.host, hostlen); + { + size_t len = strlen(host); + if (len > 0 && host[len - 1] == '.') + host[len - 1] = '\0'; + } + + free(ans); + return 0; +} /* dns_getnameinfo() */ + + /* * M I S C E L L A N E O U S R O U T I N E S * diff --git a/src/dns.h b/src/dns.h index 994c4bd..13c3786 100644 --- a/src/dns.h +++ b/src/dns.h @@ -1490,6 +1490,51 @@ DNS_PUBLIC int dns_ai_poll(struct dns_addrinfo *, int); DNS_PUBLIC const struct dns_stat *dns_ai_stat(struct dns_addrinfo *); +/* + * S Y N C H R O N O U S I N T E R F A C E S + * + * Blocking wrappers similar to getaddrinfo(3) and getnameinfo(3). + * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* + * dns_getaddrinfo - synchronous address resolution (like getaddrinfo) + * + * Arguments: + * host - hostname to resolve (required) + * serv - service name or port number (optional, may be NULL) + * hints - addrinfo hints (optional, may be NULL) + * res - output pointer for result list (required) + * timeout - timeout in seconds (0 = no timeout, use internal default) + * + * Returns 0 on success or an EAI_* error code on failure. + * Caller must free *res with dns_freeaddrinfo(). + */ +DNS_PUBLIC int dns_getaddrinfo(const char *host, const char *serv, const struct addrinfo *hints, struct addrinfo **res, int timeout); + +/* + * dns_freeaddrinfo - free addrinfo list from dns_getaddrinfo + */ +DNS_PUBLIC void dns_freeaddrinfo(struct addrinfo *res); + +/* + * dns_getnameinfo - synchronous reverse lookup (like getnameinfo) + * + * Arguments: + * sa - socket address to look up (required) + * salen - length of socket address + * host - buffer for hostname result (may be NULL) + * hostlen - size of host buffer + * serv - buffer for service result (may be NULL) + * servlen - size of serv buffer + * flags - NI_* flags (same as getnameinfo) + * timeout - timeout in seconds (0 = no timeout, use internal default) + * + * Returns 0 on success or an EAI_* error code on failure. + */ +DNS_PUBLIC int dns_getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, size_t hostlen, char *serv, size_t servlen, int flags, int timeout); + + /* * U T I L I T Y I N T E R F A C E S * From fc262b20d7e51265360383228dadff4dab603de6 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Mon, 15 Dec 2025 15:57:27 -0600 Subject: [PATCH 20/25] Don't do side effects in assert()s! --- src/cache.c | 44 ++++++++++++++++++++++++++++++-------------- src/spf.rl | 21 ++++++++++++++------- 2 files changed, 44 insertions(+), 21 deletions(-) diff --git a/src/cache.c b/src/cache.c index 14ceea7..d22a2d1 100644 --- a/src/cache.c +++ b/src/cache.c @@ -111,7 +111,10 @@ static struct rrset *cache_find(struct cache *C, const char *name, enum dns_type if ((error = rrset_init(set, name, type))) goto error; - assert(!RB_INSERT(rrcache, &C->root, set)); + { + struct rrset *collision = RB_INSERT(rrcache, &C->root, set); + assert(!collision); + } return set; syerr: @@ -309,7 +312,8 @@ static struct dns_resolv_conf *resconf(void) { int error; if (!MAIN.resconf) { - assert(MAIN.resconf = dns_resconf_local(&error)); + MAIN.resconf = dns_resconf_local(&error); + assert(MAIN.resconf); MAIN.resconf->lookup[2] = MAIN.resconf->lookup[1]; MAIN.resconf->lookup[1] = MAIN.resconf->lookup[0]; @@ -323,8 +327,10 @@ static struct dns_resolv_conf *resconf(void) { static struct dns_hosts *hosts(void) { int error; - if (!MAIN.hosts) - assert(MAIN.hosts = dns_hosts_local(&error)); + if (!MAIN.hosts) { + MAIN.hosts = dns_hosts_local(&error); + assert(MAIN.hosts); + } return MAIN.hosts; } /* hosts() */ @@ -333,8 +339,10 @@ static struct dns_hosts *hosts(void) { static struct dns_hints *hints(void) { int error; - if (!MAIN.hints) - assert(MAIN.hints = dns_hints_local(resconf(), &error)); + if (!MAIN.hints) { + MAIN.hints = dns_hints_local(resconf(), &error); + assert(MAIN.hints); + } return MAIN.hints; } /* hints() */ @@ -344,8 +352,10 @@ static struct cache *cache(void) { int error; if (!MAIN.cache) { - assert(MAIN.cache = cache_open(&error)); - assert(!cache_loadfile(MAIN.cache, stdin, MAIN.origin, MAIN.ttl)); + MAIN.cache = cache_open(&error); + assert(MAIN.cache); + error = cache_loadfile(MAIN.cache, stdin, MAIN.origin, MAIN.ttl); + assert(!error); } return MAIN.cache; @@ -443,20 +453,26 @@ int main(int argc, char **argv) { if (argc > 0) qname = argv[0]; - if (argc > 1) - assert(qtype = dns_itype(argv[1])); + if (argc > 1) { + qtype = dns_itype(argv[1]); + assert(qtype); + } if (qname) { - assert(res = dns_res_open(resconf(), hosts(), hints(), cache_resi(cache()), dns_opts(), &error)); + res = dns_res_open(resconf(), hosts(), hints(), cache_resi(cache()), dns_opts(), &error); + assert(res); - assert(!dns_res_submit(res, qname, qtype, DNS_C_IN)); + error = dns_res_submit(res, qname, qtype, DNS_C_IN); + assert(!error); while ((error = dns_res_check(res))) { assert(error == EAGAIN); - assert(!dns_res_poll(res, 5)); + error = dns_res_poll(res, 5); + assert(!error); } - assert((ans = dns_res_fetch(res, &error))); + ans = dns_res_fetch(res, &error); + assert(ans); cache_showpkt(ans, stdout); diff --git a/src/spf.rl b/src/spf.rl index 20cf99e..043a067 100644 --- a/src/spf.rl +++ b/src/spf.rl @@ -4237,7 +4237,8 @@ static struct dns_cache *mkcache(void) { if (!MAIN.cache) return NULL; - assert(cache = cache_open(&error)); + cache = cache_open(&error); + assert(cache); if ((error = cache_loadpath(cache, MAIN.cache, NULL, 0))) panic("%s: %s", MAIN.cache, strerror(error)); @@ -4257,12 +4258,14 @@ static struct dns_resolv_conf *mkresconf(void) { return resconf; if (MAIN.resconf) { - assert(resconf = dns_resconf_open(&error)); + resconf = dns_resconf_open(&error); + assert(resconf); if ((error = dns_resconf_loadpath(resconf, MAIN.resconf))) panic("%s: %s", MAIN.resconf, strerror(error)); } else { - assert(resconf = dns_resconf_local(&error)); + resconf = dns_resconf_local(&error); + assert(resconf); resconf->lookup[2] = resconf->lookup[1]; resconf->lookup[1] = resconf->lookup[0]; @@ -4314,10 +4317,13 @@ static int vm(const struct spf_env *env, const char *file) { struct vm_sub sub; int code, error; - if (file && strcmp(file, "-")) - assert((fp = fopen(file, "r"))); + if (file && strcmp(file, "-")) { + fp = fopen(file, "r"); + assert(fp); + } - assert((spf = spf_open(env, mkres(), NULL, &error))); + spf = spf_open(env, mkres(), NULL, &error); + assert(spf); vm = &spf->vm; vm->end = 0; @@ -4428,7 +4434,8 @@ static int check(int argc, char *argv[], const struct spf_env *env) { const struct spf_info *info; int error; - assert((spf = spf_open(env, mkres(), NULL, &error))); + spf = spf_open(env, mkres(), NULL, &error); + assert(spf); while ((error = spf_check(spf))) { switch (error) { From de07941b5bb151722bc795b8ed4e6fb9721c36db Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Mon, 15 Dec 2025 16:03:54 -0600 Subject: [PATCH 21/25] Better cross-compilation / mingw-w64 support --- src/Makefile | 9 +++++++-- src/dns.c | 8 +++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/Makefile b/src/Makefile index 3a97544..fa43dc6 100644 --- a/src/Makefile +++ b/src/Makefile @@ -17,13 +17,18 @@ ALL_CPPFLAGS = -DDNS_DEBUG -DDNS_MAIN $(CPPFLAGS) ALL_CFLAGS = -std=gnu99 -Wall -Wextra -O2 -g -fstack-protector $(CFLAGS) ALL_LIBS = $(LIBS) -EXE_CC = $(shell find $$(echo $${PATH} | tr ':' ' ') -maxdepth 1 -name \*mingw32-gcc -o -name gcc-\* | while read GCC; do echo $$($$GCC -v 2>&1 | tail -n1 | cut -d' ' -f3) $$GCC; done | sort -nr | head -n1 | cut -d' ' -f2) +# Cross-compile for Windows from Unix, or native compile on Windows with MSYS2/MinGW +ifeq ($(OS),Windows_NT) + EXE_CC = gcc +else + EXE_CC = $(shell which x86_64-w64-mingw32-gcc i686-w64-mingw32-gcc 2>/dev/null | head -n1) +endif EXE_CPPFLAGS = $(ALL_CPPFLAGS) EXE_CFLAGS = EXE_LIBS = ALL_EXE_CPPFLAGS = $(EXE_CPPFLAGS) ALL_EXE_CFLAGS = -std=gnu99 -Wall -O2 -g $(EXE_CFLAGS) -ALL_EXE_LIBS = -lws2_32 -lgdi32 $(EXE_LIBS) +ALL_EXE_LIBS = -lws2_32 -lgdi32 -liphlpapi $(EXE_LIBS) all: dns diff --git a/src/dns.c b/src/dns.c index 33fbafb..1a14519 100644 --- a/src/dns.c +++ b/src/dns.c @@ -71,6 +71,12 @@ #include #include /* GetNetworkParams FIXED_INFO */ #pragma comment(lib, "IPHLPAPI.lib") +#ifndef AI_NUMERICSERV +#define AI_NUMERICSERV 0x0400 +#endif +#ifndef EAI_OVERFLOW +#define EAI_OVERFLOW WSAENAMETOOLONG +#endif #else #include /* FD_SETSIZE socklen_t */ #include /* FD_ZERO FD_SET fd_set select(2) */ @@ -205,7 +211,7 @@ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -#if _WIN32 || _WIN64 +#if defined _MSC_VER #define PRIuZ "Iu" #else #define PRIuZ "zu" From d5be1866463400c833467de5bd95d6b3586caacf Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Mon, 15 Dec 2025 16:47:23 -0600 Subject: [PATCH 22/25] src/spf.rl: Fix warning --- src/spf.rl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/spf.rl b/src/spf.rl index 043a067..603919b 100644 --- a/src/spf.rl +++ b/src/spf.rl @@ -1924,7 +1924,7 @@ struct spf_resolver { }; /* struct spf_resolver */ -static void vm_throw() __attribute__((__noreturn__)); +static void vm_throw(struct spf_vm *vm, int error) __attribute__((__noreturn__)); static void vm_throw(struct spf_vm *vm, int error) { _longjmp(vm->trap, (error)? error : EINVAL); } /* vm_throw() */ From 3cd958e39a1984adab4e5746423e8de11fbb32c2 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Mon, 15 Dec 2025 16:47:38 -0600 Subject: [PATCH 23/25] regress/20-rr-parse.c: Fix warning --- regress/20-rr-parse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regress/20-rr-parse.c b/regress/20-rr-parse.c index 0d8032a..e43e668 100644 --- a/regress/20-rr-parse.c +++ b/regress/20-rr-parse.c @@ -134,7 +134,7 @@ static void test_caa(void) { free(P); return; } - if (strcmp(any.caa.value, "pki.goog") != 0) { + if (strcmp((const char *)any.caa.value, "pki.goog") != 0) { TEST_FAIL("value: expected 'pki.goog', got '%s'", any.caa.value); free(P); return; From 39661fe265cb760ccd45f07e38859b19e611348d Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Mon, 15 Dec 2025 17:42:00 -0600 Subject: [PATCH 24/25] More Windows fixes --- src/cache.c | 11 ++++++++++- src/dns.c | 23 ++++++++++++++++++----- src/dns.h | 1 + 3 files changed, 29 insertions(+), 6 deletions(-) diff --git a/src/cache.c b/src/cache.c index d22a2d1..4f892e4 100644 --- a/src/cache.c +++ b/src/cache.c @@ -27,7 +27,12 @@ #include /* malloc(3) free(3) */ #include /* FILE fprintf(3) */ -#include /* strcasecmp(3) memset(3) */ +#include /* memset(3) */ +#if _WIN32 +#define strcasecmp _stricmp +#else +#include /* strcasecmp(3) */ +#endif #include /* errno */ @@ -291,7 +296,11 @@ int cache_dumpfile(struct cache *C, FILE *fp) { #include /* tolower(3) */ +#if _WIN32 +#include /* getopt(3) */ +#else #include /* getopt(3) */ +#endif struct { diff --git a/src/dns.c b/src/dns.c index 1a14519..0a82c68 100644 --- a/src/dns.c +++ b/src/dns.c @@ -43,11 +43,7 @@ #include /* INT_MAX */ #include /* offsetof() */ -#ifdef _WIN32 -#define uint32_t unsigned int -#else -#include /* uint32_t */ -#endif +#include /* uint8_t uint16_t uint32_t */ #include /* malloc(3) realloc(3) free(3) rand(3) random(3) arc4random(3) */ #include /* FILE fopen(3) fclose(3) getc(3) rewind(3) */ #include /* memcpy(3) strlen(3) memmove(3) memchr(3) memcmp(3) strchr(3) strsep(3) strcspn(3) */ @@ -77,7 +73,13 @@ #ifndef EAI_OVERFLOW #define EAI_OVERFLOW WSAENAMETOOLONG #endif +#if defined _MSC_VER +#include +typedef SSIZE_T ssize_t; #else +#include /* ssize_t for mingw */ +#endif +#else /* !_WIN32 */ #include /* FD_SETSIZE socklen_t */ #include /* FD_ZERO FD_SET fd_set select(2) */ #include /* AF_INET AF_INET6 AF_UNIX struct sockaddr struct sockaddr_in struct sockaddr_in6 socket(2) */ @@ -417,6 +419,8 @@ const char *dns_strerror(int error) { #ifndef DNS_ATOMIC_FETCH_ADD #if HAVE___ATOMIC_FETCH_ADD && __GCC_ATOMIC_LONG_LOCK_FREE == 2 #define DNS_ATOMIC_FETCH_ADD(i) __atomic_fetch_add((i), 1, __ATOMIC_RELAXED) +#elif _WIN32 +#define DNS_ATOMIC_FETCH_ADD(i) InterlockedExchangeAdd((long *)(i), 1) #else #pragma message("no atomic_fetch_add available") #define DNS_ATOMIC_FETCH_ADD(i) ((*(i))++) @@ -426,6 +430,8 @@ const char *dns_strerror(int error) { #ifndef DNS_ATOMIC_FETCH_SUB #if HAVE___ATOMIC_FETCH_SUB && __GCC_ATOMIC_LONG_LOCK_FREE == 2 #define DNS_ATOMIC_FETCH_SUB(i) __atomic_fetch_sub((i), 1, __ATOMIC_RELAXED) +#elif _WIN32 +#define DNS_ATOMIC_FETCH_SUB(i) InterlockedExchangeAdd((long *)(i), -1) #else #pragma message("no atomic_fetch_sub available") #define DNS_ATOMIC_FETCH_SUB(i) ((*(i))--) @@ -11576,6 +11582,13 @@ int main(int argc, char **argv) { unsigned i; int ch; +#if _WIN32 + { + WSADATA wsaData; + WSAStartup(MAKEWORD(2, 2), &wsaData); + } +#endif + while (-1 != (ch = getopt(argc, argv, "q:t:c:n:l:z:s:ADvVh"))) { switch (ch) { case 'c': diff --git a/src/dns.h b/src/dns.h index 13c3786..adf85c7 100644 --- a/src/dns.h +++ b/src/dns.h @@ -27,6 +27,7 @@ #define DNS_H #include /* size_t offsetof() */ +#include /* uint8_t uint16_t uint32_t */ #include /* FILE */ #include /* strlen(3) */ From c33c02d3056644f98e933f41b6cc33f82a8882c5 Mon Sep 17 00:00:00 2001 From: Nicolas Williams Date: Sat, 13 Dec 2025 03:14:58 -0600 Subject: [PATCH 25/25] Add GHA --- .github/workflows/ci.yml | 187 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 187 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..836ac06 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,187 @@ +name: CI + +on: + push: + branches: [ master, main ] + pull_request: + branches: [ master, main ] + +jobs: + linux: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y libyaml-dev ragel + + - name: Build CLI tools + run: | + cd src + make dns cache spf zone + + - name: Run tests + run: | + cd regress + make check + + - name: Test CLI tools + run: | + cd src + ./dns -V + ./dns parse-domain example.com + ./dns print-arpa 192.168.1.1 + ./cache -h + ./zone -h + ./spf -h + + mingw: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y mingw-w64 + + - name: Build CLI tools + run: | + cd src + make dns.exe + + macos: + runs-on: macos-latest + steps: + - uses: actions/checkout@v4 + + - name: Install dependencies + run: | + brew install libyaml ragel + + - name: Build CLI tools + run: | + cd src + make dns cache spf zone + + - name: Run tests + env: + CPPFLAGS: -I/opt/homebrew/include + LDFLAGS: -L/opt/homebrew/lib + run: | + cd regress + make check + + - name: Test CLI tools + run: | + cd src + ./dns -V + ./dns parse-domain example.com + ./dns print-arpa 192.168.1.1 + ./cache -h + ./zone -h + ./spf -h + + windows: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup MSVC + uses: ilammy/msvc-dev-cmd@v1 + + - name: Install dependencies + run: | + vcpkg install getopt:x64-windows + + - name: Build CLI tools + shell: cmd + run: | + cd src + clang-cl /nologo /W3 /DDNS_DEBUG=0 /DDNS_MAIN /D_CRT_SECURE_NO_WARNINGS /D_WINSOCK_DEPRECATED_NO_WARNINGS /I"%VCPKG_INSTALLATION_ROOT%\installed\x64-windows\include" dns.c /link /LIBPATH:"%VCPKG_INSTALLATION_ROOT%\installed\x64-windows\lib" getopt.lib ws2_32.lib iphlpapi.lib advapi32.lib /out:dns.exe + + - name: Test CLI tools + shell: cmd + run: | + set PATH=%VCPKG_INSTALLATION_ROOT%\installed\x64-windows\bin;%PATH% + cd src + dns.exe -V + dns.exe parse-domain example.com + dns.exe print-arpa 192.168.1.1 + +# freebsd: +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v4 +# - name: Build and test on FreeBSD +# uses: vmactions/freebsd-vm@v1 +# with: +# usesh: true +# run: | +# pkg install -y ragel libyaml +# cd src +# cc -std=gnu99 -Wall -Wextra -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Werror -g -DDNS_DEBUG=0 -c dns.c -o dns.o +# cc -std=gnu99 -Wall -Wextra -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Werror -g -DDNS_DEBUG=0 -DDNS_MAIN -o dns dns.c +# ./dns -V +# cc -std=gnu99 -Wall -Wextra -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Werror -g -c cache.c -o cache.o +# cc -std=gnu99 -Wall -Wextra -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Werror -g -DCACHE_MAIN -o cache cache.c +# ./cache -V +# cd ../regress +# make check + +# openindiana: +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v4 +# - name: Build and test on OpenIndiana +# uses: vmactions/openindiana-vm@v1 +# with: +# run: | +# pkg install developer/gcc +# cd src +# gcc -std=gnu99 -Wall -Wextra -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Werror -g -DDNS_DEBUG=0 -c dns.c -o dns.o +# gcc -std=gnu99 -Wall -Wextra -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Werror -g -DDNS_DEBUG=0 -DDNS_MAIN -o dns dns.c +# ./dns -V +# cc -std=gnu99 -Wall -Wextra -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Werror -g -c cache.c -o cache.o +# cc -std=gnu99 -Wall -Wextra -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Werror -g -DCACHE_MAIN -o cache cache.c +# ./cache -V +# make check + + fuzz: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Install LLVM + run: | + sudo apt-get update + sudo apt-get install -y clang llvm + + - name: Build fuzzer + run: | + cd regress + clang -g -O1 -fsanitize=fuzzer,address,undefined \ + -DDNS_DEBUG=0 -I../src -o fuzz_dns fuzz_dns.c + + - name: Create corpus directory with existing crash files + run: | + mkdir -p regress/corpus + cp regress/crash-* regress/corpus/ 2>/dev/null || true + + - name: Run fuzzer + run: | + cd regress + timeout 330 ./fuzz_dns corpus/ -max_len=4096 -max_total_time=300 || test $? -eq 124 + + - name: Upload crash artifacts + if: always() + uses: actions/upload-artifact@v4 + with: + name: fuzz-crashes + path: | + regress/crash-* + regress/oom-* + regress/timeout-* + if-no-files-found: ignore