Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/bsd/nsd/dist NSD 4.1.19



details:   https://anonhg.NetBSD.org/src/rev/cf1b65e66af2
branches:  trunk
changeset: 829731:cf1b65e66af2
user:      christos <christos%NetBSD.org@localhost>
date:      Fri Feb 09 16:52:53 2018 +0000

description:
NSD 4.1.19
Dec 11, 2017
Bugfixes
ignore fallthrough compiler warning in flex EOF rule.
Fix warnings emitted by clang for --enable-packed. Alignment is not a problem for x86_64, don't enable packed when the platform requires aligned access.
Fix spelling error in xfr-inspect.
Fix 3392: Fix regression in 4.1.18 for notify lists with ip4 and ip6 targets.
Add test for support of -Wno-address-of-packed-member for --enable-packed.

NSD 4.1.18
Nov 30, 2017
Features
xfr-inspect, it is not installed, it prints xfr files from /tmp made with 'make xfr-inspect' in the source dir.
retry timeout between sending notifies dropped from 15 to 3 sec.
NSD sends 16 notifies simultaneously.
configure --enable-packed reduces memory usage, at expense of unaligned reads. Saves about 17%.
Save memory by selectively allocate precompiled nsec3 hashes, saves about 16% memory.
make ip-transparent option work on OpenBSD.
Save about 2% memory by changing usage count size in name tree.
Fix #2871: Increase number of sockets for xfrd transfers.
Bugfixes
Fix gcc 7.1.1 warnings.
Fix writev compile warning on FreeBSD.
Fix #1446: A corrupted zone file "propagates" to good ones.
nsd-control zonestatus prints wait time between attempts, for zones that are in that waiting time.
Fix collision printout of nsec3 to print name, hash and reverse.
Fix #1567: Change crit to err log level for gettimeofday failure. Add defines for compile without syslog.
Fix crash for DS query when parent and child zones both configured in nsd.conf and parent zone has not loaded properly.

NSD 4.1.17
Jul 21, 2017
Features
zone parser parses type AVC (it has TXT format).
Fix #1272: use writev to put tcp length field with data for outgoing zone transfer requests.
Bugfixes
Fix potential null pointer in nsec3 adjustment tree.
Fix text format of deletes for CDS and CDNSKEY, single 0 to represent empty base64 or hex string.

NSD 4.1.16
Apr 25, 2017
Features
zone parser can parse acronyms for algorithms ED25519 and ED448.
Fix 1243: Option to make NSD emit really minimal responses, minimal-responses: yes in nsd.conf.
Bugfixes
Calculate new udb index after growing the array, fix from Chaofeng Liu.
Fix missing _t to _type conversion for disable-radix-tree option.
Printout serial error with hint it may be too big.
Fix 1228: OpenSSL include is not guarded with HAVE_SSL
Patch for expire state in multi-master when masters includes broken master, from Manabu Sonoda.
minor manpage fix.

NSD 4.1.15
Feb 16, 2017
Bugfixes
Fix nsd-control and ipv6 only.
Squelch zone transfer error address family not supported by protocol at low verbosity levels.
Fix #1195: Fix so that NSD fails on non-compliant values for Serial.
Fix to rename _t typedefs because POSIX reserves them.
Fix that nsec3 hash collisions only reported on verbosity level 3.

diffstat:

 external/bsd/nsd/dist/Makefile.in         |    12 +-
 external/bsd/nsd/dist/axfr.c              |     5 +-
 external/bsd/nsd/dist/config.h.in         |     9 +
 external/bsd/nsd/dist/configlexer.c       |  1595 ++++++++++++++--------------
 external/bsd/nsd/dist/configlexer.lex     |     1 +
 external/bsd/nsd/dist/configparser.c      |   978 +++++++++--------
 external/bsd/nsd/dist/configparser.h      |     6 +-
 external/bsd/nsd/dist/configparser.y      |    44 +-
 external/bsd/nsd/dist/configure           |    69 +-
 external/bsd/nsd/dist/configure.ac        |    18 +-
 external/bsd/nsd/dist/dbaccess.c          |    20 +-
 external/bsd/nsd/dist/dbcreate.c          |     8 +-
 external/bsd/nsd/dist/difffile.c          |    49 +-
 external/bsd/nsd/dist/difffile.h          |     7 +-
 external/bsd/nsd/dist/dns.c               |     4 +
 external/bsd/nsd/dist/dns.h               |     5 +-
 external/bsd/nsd/dist/doc/ChangeLog       |   162 ++
 external/bsd/nsd/dist/doc/README          |    10 +-
 external/bsd/nsd/dist/doc/RELNOTES        |    81 +
 external/bsd/nsd/dist/doc/REQUIREMENTS    |     4 +-
 external/bsd/nsd/dist/doc/TODO            |     2 +-
 external/bsd/nsd/dist/doc/differences.tex |     2 +-
 external/bsd/nsd/dist/ipc.c               |    34 +-
 external/bsd/nsd/dist/lookup3.c           |    14 +
 external/bsd/nsd/dist/mini_event.c        |     2 +-
 external/bsd/nsd/dist/mini_event.h        |     4 +-
 external/bsd/nsd/dist/mkinstalldirs       |     2 +-
 external/bsd/nsd/dist/namedb.c            |    51 +-
 external/bsd/nsd/dist/namedb.h            |    78 +-
 external/bsd/nsd/dist/netio.c             |     2 +-
 external/bsd/nsd/dist/nsd-checkconf.8.in  |     2 +-
 external/bsd/nsd/dist/nsd-checkconf.c     |    56 +-
 external/bsd/nsd/dist/nsd-checkzone.8.in  |     2 +-
 external/bsd/nsd/dist/nsd-checkzone.c     |     2 +-
 external/bsd/nsd/dist/nsd-control.8.in    |     2 +-
 external/bsd/nsd/dist/nsd-control.c       |    14 +-
 external/bsd/nsd/dist/nsd-mem.c           |    12 +-
 external/bsd/nsd/dist/nsd.8.in            |     4 +-
 external/bsd/nsd/dist/nsd.c               |     6 +-
 external/bsd/nsd/dist/nsd.conf.5.in       |    10 +-
 external/bsd/nsd/dist/nsd.conf.sample.in  |     3 +
 external/bsd/nsd/dist/nsd.h               |    18 +-
 external/bsd/nsd/dist/nsec3.c             |   152 +-
 external/bsd/nsd/dist/options.c           |   258 ++--
 external/bsd/nsd/dist/options.h           |   188 +-
 external/bsd/nsd/dist/packet.c            |     1 +
 external/bsd/nsd/dist/packet.h            |     2 +
 external/bsd/nsd/dist/query.c             |    23 +-
 external/bsd/nsd/dist/radtree.c           |    64 +-
 external/bsd/nsd/dist/radtree.h           |    29 +-
 external/bsd/nsd/dist/rbtree.c            |    94 +-
 external/bsd/nsd/dist/rbtree.h            |    54 +-
 external/bsd/nsd/dist/rdata.c             |    14 +-
 external/bsd/nsd/dist/region-allocator.c  |    13 +-
 external/bsd/nsd/dist/remote.c            |   214 ++-
 external/bsd/nsd/dist/rrl.c               |     4 +-
 external/bsd/nsd/dist/server.c            |    25 +-
 external/bsd/nsd/dist/tsig.c              |     4 +-
 external/bsd/nsd/dist/udb.c               |     6 +-
 external/bsd/nsd/dist/udbradtree.c        |    83 +-
 external/bsd/nsd/dist/udbradtree.h        |    12 +-
 external/bsd/nsd/dist/udbzone.h           |     4 +-
 external/bsd/nsd/dist/util.c              |     4 +
 external/bsd/nsd/dist/xfr-inspect.c       |   531 +++++++++
 external/bsd/nsd/dist/xfrd-disk.c         |    16 +-
 external/bsd/nsd/dist/xfrd-notify.c       |   393 +++++-
 external/bsd/nsd/dist/xfrd-notify.h       |    39 +-
 external/bsd/nsd/dist/xfrd-tcp.c          |   101 +-
 external/bsd/nsd/dist/xfrd-tcp.h          |    31 +-
 external/bsd/nsd/dist/xfrd.c              |   185 +-
 external/bsd/nsd/dist/xfrd.h              |   106 +-
 external/bsd/nsd/dist/zlexer.c            |   200 +-
 external/bsd/nsd/dist/zlexer.lex          |    19 +-
 external/bsd/nsd/dist/zonec.c             |    12 +-
 external/bsd/nsd/dist/zonec.h             |     1 +
 external/bsd/nsd/dist/zparser.c           |  1399 ++++++++++++------------
 external/bsd/nsd/dist/zparser.h           |    48 +-
 external/bsd/nsd/dist/zparser.y           |     4 +-
 78 files changed, 4554 insertions(+), 3188 deletions(-)

diffs (truncated from 15420 to 300 lines):

diff -r 0310d0b5815d -r cf1b65e66af2 external/bsd/nsd/dist/Makefile.in
--- a/external/bsd/nsd/dist/Makefile.in Fri Feb 09 16:06:59 2018 +0000
+++ b/external/bsd/nsd/dist/Makefile.in Fri Feb 09 16:52:53 2018 +0000
@@ -167,8 +167,11 @@
 udb-inspect:   udb-inspect.o $(COMMON_OBJ) $(LIBOBJS)
        $(LINK) -o $@ udb-inspect.o $(COMMON_OBJ) $(LIBOBJS) $(LIBS)
 
+xfr-inspect:   xfr-inspect.o $(COMMON_OBJ) $(LIBOBJS)
+       $(LINK) -o $@ xfr-inspect.o $(COMMON_OBJ) $(LIBOBJS) $(LIBS)
+
 clean:
-       rm -f *.o $(TARGETS) $(MANUALS) cutest udb-inspect nsd-mem
+       rm -f *.o $(TARGETS) $(MANUALS) cutest udb-inspect xfr-inspect nsd-mem
 
 realclean: clean
        rm -f Makefile config.h config.log config.status
@@ -364,7 +367,8 @@
  $(srcdir)/util.h $(srcdir)/query.h $(srcdir)/namedb.h $(srcdir)/radtree.h $(srcdir)/rbtree.h $(srcdir)/nsd.h $(srcdir)/edns.h $(srcdir)/packet.h $(srcdir)/tsig.h
 dns.o: $(srcdir)/dns.c config.h $(srcdir)/dns.h $(srcdir)/zonec.h $(srcdir)/namedb.h $(srcdir)/dname.h $(srcdir)/buffer.h \
  $(srcdir)/region-allocator.h $(srcdir)/util.h $(srcdir)/radtree.h $(srcdir)/rbtree.h zparser.h
-edns.o: $(srcdir)/edns.c config.h $(srcdir)/dns.h $(srcdir)/edns.h $(srcdir)/buffer.h $(srcdir)/region-allocator.h $(srcdir)/util.h
+edns.o: $(srcdir)/edns.c config.h $(srcdir)/dns.h $(srcdir)/edns.h $(srcdir)/buffer.h $(srcdir)/region-allocator.h $(srcdir)/util.h \
+ $(srcdir)/nsd.h $(srcdir)/query.h $(srcdir)/namedb.h $(srcdir)/dname.h $(srcdir)/radtree.h $(srcdir)/rbtree.h $(srcdir)/packet.h $(srcdir)/tsig.h
 ipc.o: $(srcdir)/ipc.c config.h $(srcdir)/ipc.h $(srcdir)/netio.h $(srcdir)/region-allocator.h $(srcdir)/buffer.h $(srcdir)/util.h \
  $(srcdir)/xfrd-tcp.h $(srcdir)/xfrd.h $(srcdir)/rbtree.h $(srcdir)/namedb.h $(srcdir)/dname.h $(srcdir)/dns.h $(srcdir)/radtree.h $(srcdir)/options.h \
  $(srcdir)/tsig.h $(srcdir)/nsd.h $(srcdir)/edns.h $(srcdir)/xfrd-notify.h $(srcdir)/difffile.h $(srcdir)/udb.h
@@ -507,3 +511,7 @@
  $(srcdir)/udb.h $(srcdir)/udbzone.h $(srcdir)/dns.h $(srcdir)/udbradtree.h $(srcdir)/util.h $(srcdir)/buffer.h $(srcdir)/region-allocator.h \
  $(srcdir)/util.h $(srcdir)/packet.h $(srcdir)/namedb.h $(srcdir)/dname.h $(srcdir)/buffer.h $(srcdir)/radtree.h $(srcdir)/rbtree.h $(srcdir)/rdata.h \
  $(srcdir)/namedb.h $(srcdir)/difffile.h $(srcdir)/options.h config.h
+xfr-inspect.o: $(srcdir)/xfr-inspect.c config.h $(srcdir)/udbzone.h $(srcdir)/udb.h $(srcdir)/dns.h \
+ $(srcdir)/udbradtree.h $(srcdir)/util.h $(srcdir)/buffer.h $(srcdir)/region-allocator.h $(srcdir)/util.h $(srcdir)/packet.h $(srcdir)/namedb.h \
+ $(srcdir)/dname.h $(srcdir)/buffer.h $(srcdir)/radtree.h $(srcdir)/rbtree.h $(srcdir)/rdata.h $(srcdir)/namedb.h $(srcdir)/difffile.h \
+ $(srcdir)/options.h config.h
diff -r 0310d0b5815d -r cf1b65e66af2 external/bsd/nsd/dist/axfr.c
--- a/external/bsd/nsd/dist/axfr.c      Fri Feb 09 16:06:59 2018 +0000
+++ b/external/bsd/nsd/dist/axfr.c      Fri Feb 09 16:52:53 2018 +0000
@@ -164,12 +164,12 @@
 query_state_type
 answer_axfr_ixfr(struct nsd *nsd, struct query *q)
 {
-       acl_options_t *acl = NULL;
+       struct acl_options *acl = NULL;
        /* Is it AXFR? */
        switch (q->qtype) {
        case TYPE_AXFR:
                if (q->tcp) {
-                       zone_options_t* zone_opt;
+                       struct zone_options* zone_opt;
                        zone_opt = zone_options_find(nsd->options, q->qname);
                        if(!zone_opt ||
                           acl_check_incoming(zone_opt->pattern->provide_xfr, q, &acl)==-1)
@@ -201,6 +201,7 @@
                        return query_axfr(nsd, q);
                }
                /** Fallthrough: AXFR over UDP queries are discarded. */
+               /* fallthrough */
        case TYPE_IXFR:
                RCODE_SET(q->packet, RCODE_IMPL);
                return QUERY_PROCESSED;
diff -r 0310d0b5815d -r cf1b65e66af2 external/bsd/nsd/dist/config.h.in
--- a/external/bsd/nsd/dist/config.h.in Fri Feb 09 16:06:59 2018 +0000
+++ b/external/bsd/nsd/dist/config.h.in Fri Feb 09 16:52:53 2018 +0000
@@ -438,6 +438,9 @@
 /* Define to the version of this package. */
 #undef PACKAGE_VERSION
 
+/* Define this to use packed structure alignment. */
+#undef PACKED_STRUCTS
+
 /* Pathname to the NSD pidfile */
 #undef PIDFILE
 
@@ -832,3 +835,9 @@
 #endif /* !HAVE_STRUCT_TIMESPEC */
 #endif /* !CONFIG_DEFINES */
 
+#ifdef PACKED_STRUCTS
+#define ATTR_PACKED __attribute__((packed))
+#else
+#define ATTR_PACKED
+#endif
+
diff -r 0310d0b5815d -r cf1b65e66af2 external/bsd/nsd/dist/configlexer.c
--- a/external/bsd/nsd/dist/configlexer.c       Fri Feb 09 16:06:59 2018 +0000
+++ b/external/bsd/nsd/dist/configlexer.c       Fri Feb 09 16:52:53 2018 +0000
@@ -9,7 +9,7 @@
 #define FLEX_SCANNER
 #define YY_FLEX_MAJOR_VERSION 2
 #define YY_FLEX_MINOR_VERSION 6
-#define YY_FLEX_SUBMINOR_VERSION 0
+#define YY_FLEX_SUBMINOR_VERSION 1
 #if YY_FLEX_SUBMINOR_VERSION > 0
 #define FLEX_BETA
 #endif
@@ -88,25 +88,13 @@
 
 #endif /* ! FLEXINT_H */
 
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else  /* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif /* defined (__STDC__) */
-#endif /* ! __cplusplus */
-
-#ifdef YY_USE_CONST
+/* TODO: this is always defined, so inline it */
 #define yyconst const
+
+#if defined(__GNUC__) && __GNUC__ >= 3
+#define yynoreturn __attribute__((__noreturn__))
 #else
-#define yyconst
+#define yynoreturn
 #endif
 
 /* Returned upon end-of-file. */
@@ -167,7 +155,7 @@
 typedef size_t yy_size_t;
 #endif
 
-extern yy_size_t yyleng;
+extern int yyleng;
 
 extern FILE *yyin, *yyout;
 
@@ -206,12 +194,12 @@
        /* Size of input buffer in bytes, not including room for EOB
         * characters.
         */
-       yy_size_t yy_buf_size;
+       int yy_buf_size;
 
        /* Number of characters read into yy_ch_buf, not including EOB
         * characters.
         */
-       yy_size_t yy_n_chars;
+       int yy_n_chars;
 
        /* Whether we "own" the buffer - i.e., we know we created it,
         * and can realloc() it to grow it, and should free() it to
@@ -262,7 +250,7 @@
 /* Stack of input buffers. */
 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
+static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
 
 /* We provide macros for accessing buffer states in case in the
  * future we want to put the buffer states in a more general
@@ -281,11 +269,11 @@
 
 /* yy_hold_char holds the character lost when yytext is formed. */
 static char yy_hold_char;
-static yy_size_t yy_n_chars;           /* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
+static int yy_n_chars;         /* number of characters read into yy_ch_buf */
+int yyleng;
 
 /* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
+static char *yy_c_buf_p = NULL;
 static int yy_init = 0;                /* whether we need to initialize */
 static int yy_start = 0;       /* start state number */
 
@@ -310,7 +298,7 @@
 
 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
+YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len  );
 
 void *yyalloc (yy_size_t  );
 void *yyrealloc (void *,yy_size_t  );
@@ -344,7 +332,7 @@
 
 typedef unsigned char YY_CHAR;
 
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
+FILE *yyin = NULL, *yyout = NULL;
 
 typedef int yy_state_type;
 
@@ -361,10 +349,7 @@
 static yy_state_type yy_get_previous_state (void );
 static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
 static int yy_get_next_buffer (void );
-#if defined(__GNUC__) && __GNUC__ >= 3
-__attribute__((__noreturn__))
-#endif
-static void yy_fatal_error (yyconst char msg[]  );
+static void yynoreturn yy_fatal_error (yyconst char* msg  );
 
 /* Done after the current pattern has been matched and before the
  * corresponding action - sets up yytext.
@@ -372,13 +357,13 @@
 #define YY_DO_BEFORE_ACTION \
        (yytext_ptr) = yy_bp; \
        (yytext_ptr) -= (yy_more_len); \
-       yyleng = (size_t) (yy_cp - (yytext_ptr)); \
+       yyleng = (int) (yy_cp - (yytext_ptr)); \
        (yy_hold_char) = *yy_cp; \
        *yy_cp = '\0'; \
        (yy_c_buf_p) = yy_cp;
 
-#define YY_NUM_RULES 97
-#define YY_END_OF_BUFFER 98
+#define YY_NUM_RULES 98
+#define YY_END_OF_BUFFER 99
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
@@ -386,93 +371,94 @@
        flex_int32_t yy_verify;
        flex_int32_t yy_nxt;
        };
-static yyconst flex_int16_t yy_accept[775] =
+static yyconst flex_int16_t yy_accept[790] =
     {   0,
-        1,    1,   85,   85,   89,   89,   93,   93,   98,   96,
-        1,   83,   84,    2,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   97,   85,   86,   97,   87,   97,   92,   89,
-       90,   91,   97,   93,   94,   95,   97,   96,    0,    1,
-        2,    2,    2,    2,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   85,    0,   92,    0,   89,   93,    0,   96,   96,
-
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   66,   96,
-       96,   96,   96,   96,   96,   65,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   52,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,    4,   96,   18,   96,
-       96,   96,   29,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   41,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       32,   96,   96,   96,   96,   13,   14,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   47,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       54,   96,    3,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   38,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   88,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   19,
-       96,   96,   96,   96,   96,   96,   96,   55,   28,   96,
-
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   24,   96,   96,   96,   96,
-       17,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   15,   96,   36,   96,   16,
-       96,   96,   96,   96,   96,   11,   12,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   67,   69,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   33,   96,   96,   37,
-       42,   96,   96,   34,   96,   53,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,    6,   96,   96,   96,
-
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   30,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   21,   96,   96,   40,   96,
-       96,   96,   43,   96,   96,   96,   96,   96,   96,   96,
-        9,   96,   96,    5,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   31,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,    8,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   49,   96,
-
-       46,   77,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   23,   96,   96,   96,   96,   96,   44,   96,   96,
-       96,   96,   60,   10,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   48,   96,   96,   96,   96,   96,
-       96,   96,   96,   20,   96,   96,   96,   96,   96,   96,
-       35,   96,   96,   96,   96,   96,   96,   96,   96,   96,



Home | Main Index | Thread Index | Old Index