Alexandre Julliard <julliard@winehq.org>
- Added support for HTML resource type.
Mike McCormack <mike@codeweavers.com>
- gcc 4.0 -Wpointer-sign fixes.
Stefan Huehner <stefan@huehner.org>
- Fix some -Wsign-compare warnings.
Jacek Caban <jack@itma.pwr.wroc.pl>
- '.' is a valid char of tIDENT.
Marcus Meissner <marcus@jet.franken.de>
- Fixed signedness warnings.
Modified: trunk/reactos/tools/wrc/dumpres.c
Modified: trunk/reactos/tools/wrc/genres.c
Modified: trunk/reactos/tools/wrc/genres.h
Modified: trunk/reactos/tools/wrc/lex.yy.c
Modified: trunk/reactos/tools/wrc/newstruc.c
Modified: trunk/reactos/tools/wrc/newstruc.h
Modified: trunk/reactos/tools/wrc/parser.l
Modified: trunk/reactos/tools/wrc/parser.y
Modified: trunk/reactos/tools/wrc/readres.c
Modified: trunk/reactos/tools/wrc/wrctypes.h
Modified: trunk/reactos/tools/wrc/writeres.c
Modified: trunk/reactos/tools/wrc/y.tab.c
Modified: trunk/reactos/tools/wrc/y.tab.h

Modified: trunk/reactos/tools/wrc/dumpres.c
--- trunk/reactos/tools/wrc/dumpres.c	2005-08-11 12:23:51 UTC (rev 17285)
+++ trunk/reactos/tools/wrc/dumpres.c	2005-08-11 15:10:01 UTC (rev 17286)
@@ -78,13 +78,13 @@
  * Remarks	: No codepage translation is done.
  *****************************************************************************
 */
-static char *strncpyWtoA(char *cs, WCHAR *ws, int maxlen)
+static char *strncpyWtoA(char *cs, const WCHAR *ws, int maxlen)
 {
 	char *cptr = cs;
-	WCHAR *wsMax = ws + maxlen - 1;
+	const WCHAR *wsMax = ws + maxlen - 1;
 	while(*ws && ws < wsMax)
 	{
-		if((short)*ws < -128 || (short)*ws > 127)
+		if(*ws > 255)
 			fprintf(stderr, "***Warning: Unicode string contains non-printable chars***\n");
 		*cptr++ = (char)*ws++;
 	}

Modified: trunk/reactos/tools/wrc/genres.c
--- trunk/reactos/tools/wrc/genres.c	2005-08-11 12:23:51 UTC (rev 17285)
+++ trunk/reactos/tools/wrc/genres.c	2005-08-11 15:10:01 UTC (rev 17286)
@@ -62,7 +62,7 @@
 	return r;
 }
 
-res_t *grow_res(res_t *r, int add)
+res_t *grow_res(res_t *r, unsigned int add)
 {
 	r->allocsize += add;
 	r->data = (char *)xrealloc(r->data, r->allocsize);
@@ -416,7 +416,7 @@
 */
 static void put_raw_data(res_t *res, raw_data_t *raw, int offset)
 {
-	int wsize = raw->size - offset;
+	unsigned int wsize = raw->size - offset;
 	if(res->allocsize - res->size < wsize)
 		grow_res(res, wsize);
 	memcpy(&(res->data[res->size]), raw->data + offset, wsize);
@@ -1350,6 +1350,35 @@
 
 /*
  *****************************************************************************
+ * Function	: html2res
+ * Syntax	: res_t *html2res(name_id_t *name, html_t *html)
+ * Input	:
+ *	name	- Name/ordinal of the resource
+ *	rdt	- The html descriptor
+ * Output	: New .res format structure
+ * Description	:
+ * Remarks	:
+ *****************************************************************************
+*/
+static res_t *html2res(name_id_t *name, html_t *html)
+{
+	int restag;
+	res_t *res;
+	assert(name != NULL);
+	assert(html != NULL);
+
+	res = new_res();
+	restag = put_res_header(res, WRC_RT_HTML, NULL, name, html->memopt, &(html->data->lvc));
+	put_raw_data(res, html->data, 0);
+	/* Set ResourceSize */
+	SetResSize(res, restag);
+	if(win32)
+		put_pad(res);
+	return res;
+}
+
+/*
+ *****************************************************************************
  * Function	: rcdata2res
  * Syntax	: res_t *rcdata2res(name_id_t *name, rcdata_t *rdt)
  * Input	:
@@ -1941,6 +1970,10 @@
 			if(!top->binres)
 				top->binres = menuex2res(top->name, top->res.menex);
 			break;
+		case res_html:
+			if(!top->binres)
+				top->binres = html2res(top->name, top->res.html);
+			break;
 		case res_rdt:
 			if(!top->binres)
 				top->binres = rcdata2res(top->name, top->res.rdt);

Modified: trunk/reactos/tools/wrc/genres.h
--- trunk/reactos/tools/wrc/genres.h	2005-08-11 12:23:51 UTC (rev 17285)
+++ trunk/reactos/tools/wrc/genres.h	2005-08-11 15:10:01 UTC (rev 17286)
@@ -24,7 +24,7 @@
 #include "wrctypes.h"
 
 res_t *new_res(void);
-res_t *grow_res(res_t *r, int add);
+res_t *grow_res(res_t *r, unsigned int add);
 void put_byte(res_t *res, unsigned c);
 void put_word(res_t *res, unsigned w);
 void put_dword(res_t *res, unsigned d);

Modified: trunk/reactos/tools/wrc/lex.yy.c
--- trunk/reactos/tools/wrc/lex.yy.c	2005-08-11 12:23:51 UTC (rev 17285)
+++ trunk/reactos/tools/wrc/lex.yy.c	2005-08-11 15:10:01 UTC (rev 17286)
@@ -311,13 +311,13 @@
 
        26,   26,   26,   26,   26,   26,   31,   32,   33,   34,
        34,   34,   34,   34,   34,   34,   34,   34,   26,   35,
-       26,   26,   26,   26,   26,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   37,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   26,   31,   26,   26,   36,   26,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   38,   26,   39,   26,   26,   26,   26,
+       26,   26,   26,   26,   26,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   36,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   26,   37,   26,   26,   31,   26,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   38,   26,   39,   26,   26,   26,   26,
        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
 
        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
@@ -342,14 +342,14 @@
        26,   26,   40,   26,   29,   41,   26,   26,   26,   30,
        26,   26,   26,   26,   26,   26,   31,   32,   33,   34,
        34,   34,   34,   34,   34,   34,   34,   34,   26,   35,
-       26,   26,   26,   26,   26,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   37,   36,   36,   36,
+       26,   26,   26,   26,   26,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   36,   31,   31,   31,
 
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   26,   31,   26,   26,   36,   26,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   38,   26,   39,   26,   26,   26,   26,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   26,   37,   26,   26,   31,   26,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   31,   31,   31,   31,   31,   31,   31,
+       31,   31,   31,   38,   26,   39,   26,   26,   26,   26,
        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
        26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
@@ -1257,12 +1257,12 @@
       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
       -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
 
-      -31,  -31,  -31,  -31,  -31,  -31,   83,   83,   83,   83,
+      -31,  -31,  -31,  -31,  -31,  -31,   83,   84,   83,   83,
        83,   83,   83,   83,   83,   83,   83,   83,  -31,  -31,
       -31,  -31,  -31,  -31,  -31,   83,   83,   83,   83,   83,
        83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
        83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,  -31,   83,  -31,  -31,   83,  -31,   83,   83,   83,
+       83,  -31,   84,  -31,  -31,   83,  -31,   83,   83,   83,
        83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
        83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
        83,   83,   83,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
@@ -1288,16 +1288,16 @@
       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,   84,  -32,  -32,  -32,   83,   85,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+      -32,  -32,   85,  -32,  -32,  -32,   84,   86,   84,   84,
+       84,   84,   84,   84,   84,   84,   84,   84,  -32,  -32,
+      -32,  -32,  -32,  -32,  -32,   84,   84,   84,   84,   84,
+       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
 
-       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,  -32,   83,  -32,  -32,   83,  -32,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
+       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
+       84,  -32,   84,  -32,  -32,   84,  -32,   84,   84,   84,
+       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
+       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
+       84,   84,   84,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
       -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
@@ -1320,16 +1320,16 @@
 
       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33,   83,   83,   86,   86,
-       86,   86,   86,   86,   86,   86,   86,   86,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   88,   87,   87,   89,
-       87,   87,   87,   87,   87,   87,   87,   87,   90,   87,
-       87,  -33,   83,  -33,  -33,   87,  -33,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   88,   87,
-       87,   89,   87,   87,   87,   87,   87,   87,   87,   87,
+      -33,  -33,  -33,  -33,  -33,  -33,   83,   84,   87,   87,
+       87,   87,   87,   87,   87,   87,   87,   87,  -33,  -33,
+      -33,  -33,  -33,  -33,  -33,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   88,   83,   83,   89,
+       83,   83,   83,   83,   83,   83,   83,   83,   90,   83,
+       83,  -33,   84,  -33,  -33,   83,  -33,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   88,   83,
+       83,   89,   83,   83,   83,   83,   83,   83,   83,   83,
 
-       90,   87,   87,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
+       90,   83,   83,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
       -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
@@ -1351,16 +1351,16 @@
       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,   83,   83,   86,   86,
-       86,   86,   86,   86,   86,   86,   86,   86,  -34,  -34,
+      -34,  -34,  -34,  -34,  -34,  -34,   83,   84,   87,   87,
+       87,   87,   87,   87,   87,   87,   87,   87,  -34,  -34,
 
-      -34,  -34,  -34,  -34,  -34,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   88,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,  -34,   83,  -34,  -34,   87,  -34,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   88,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
+      -34,  -34,  -34,  -34,  -34,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   88,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,  -34,   84,  -34,  -34,   83,  -34,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   88,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
       -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
@@ -1413,17 +1413,17 @@
        25,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
+      -36,  -36,  -36,  -36,   92,  -36,  -36,  -36,  -36,  -36,
 
-      -36,  -36,  -36,  -36,  -36,  -36,   83,   83,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,  -36,   83,  -36,  -36,   87,  -36,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
+      -36,  -36,  -36,  -36,  -36,  -36,   83,   84,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,  -36,  -36,
+      -36,  -36,  -36,  -36,  -36,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,  -36,   84,  -36,  -36,   83,  -36,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
 
       -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
@@ -1445,17 +1445,17 @@
        25,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,   92,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,   83,   83,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
+      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
+      -37,  -37,  -37,  -37,  -37,  -37,   84,   84,   84,   84,
+       84,   84,   84,   84,   84,   84,   84,   84,  -37,  -37,
+      -37,  -37,  -37,  -37,  -37,   84,   84,   84,   84,   84,
+       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
 
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,  -37,   83,  -37,  -37,   87,  -37,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
+       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
+       84,  -37,   84,  -37,  -37,   84,  -37,   84,   84,   84,
+       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
+       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
+       84,   84,   84,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
       -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
@@ -2205,7 +2205,7 @@
       138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
       138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
 
-      138,  138,   84,  138,  138,  138,  138,  138,  138,  138,
+      138,  138,   85,  138,  138,  138,  138,  138,  138,  138,
       138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
       138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
       138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
@@ -2521,7 +2521,7 @@
       141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
       141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
 
-      141,  141,   84,  141,  141,  141,  141,  141,  141,  141,
+      141,  141,   85,  141,  141,  141,  141,  141,  141,  141,
       141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
       141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
       141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
@@ -2900,12 +2900,12 @@
 
       -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
       -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,   83,   83,   83,   83,
+      -83,  -83,  -83,  -83,  -83,  -83,   83,   84,   83,   83,
        83,   83,   83,   83,   83,   83,   83,   83,  -83,  -83,
       -83,  -83,  -83,  -83,  -83,   83,   83,   83,   83,   83,
        83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
        83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,  -83,   83,  -83,  -83,   83,  -83,   83,   83,   83,
+       83,  -83,   84,  -83,  -83,   83,  -83,   83,   83,   83,
        83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
        83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
 
@@ -2931,19 +2931,19 @@
       -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
       -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
       -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
+      -84,  -84,  -84,  -84,  -84,  -84,   84,   84,   84,   84,
+       84,   84,   84,   84,   84,   84,   84,   84,  -84,  -84,
 
+      -84,  -84,  -84,  -84,  -84,   84,   84,   84,   84,   84,
+       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
+       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
+       84,  -84,   84,  -84,  -84,   84,  -84,   84,   84,   84,
+       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
+       84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
+       84,   84,   84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
       -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
       -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
       -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
 
       -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
       -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
@@ -2959,83 +2959,83 @@
     },
 
     {
+       25,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
+      -85,  -85,  -85,  -85,  -85,  -85
+    },
+
+    {
        25,  151,  151,  151,  151,  151,  151,  151,  151,  151,
-      -85,  151,  151,  151,  151,  151,  151,  151,  151,  151,
+      -86,  151,  151,  151,  151,  151,  151,  151,  151,  151,
       151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
       151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
+
       151,  151,  151,  151,  151,  151,  152,  152,  152,  152,
       152,  152,  152,  152,  152,  152,  152,  152,  151,  151,
       151,  151,  151,  151,  151,  152,  152,  152,  152,  152,
       152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
       152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
       152,  151,  152,  151,  151,  152,  151,  152,  152,  152,
-
       152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
       152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
       152,  152,  152,  151,  151,  151,  151,  151,  151,  151,
       151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
+
       151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
       151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
       151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
       151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
       151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
       151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
-
       151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
       151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
       151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
       151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
+
       151,  151,  151,  151,  151,  151,  151,  151,  151,  151,
       151,  151,  151,  151,  151,  151
     },
 
     {
-       25,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-
-      -86,  -86,  -86,  -86,  -86,  -86,   83,   83,   86,   86,
-       86,   86,   86,   86,   86,   86,   86,   86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   88,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,  -86,   83,  -86,  -86,   87,  -86,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   88,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86
-    },
-
-    {
        25,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
       -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
       -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
       -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,   83,   83,   87,   87,
+      -87,  -87,  -87,  -87,  -87,  -87,   83,   84,   87,   87,
        87,   87,   87,   87,   87,   87,   87,   87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
+      -87,  -87,  -87,  -87,  -87,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   88,   83,   83,   83,
 
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,  -87,   83,  -87,  -87,   87,  -87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,  -87,   84,  -87,  -87,   83,  -87,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   88,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
       -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
       -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
       -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
@@ -3058,16 +3058,16 @@
 
       -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
       -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,   83,   83,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,  -88,   83,  -88,  -88,   87,  -88,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
+      -88,  -88,  -88,  -88,  -88,  -88,   83,   84,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,  -88,  -88,
+      -88,  -88,  -88,  -88,  -88,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,  -88,   84,  -88,  -88,   83,  -88,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
 
-       87,   87,   87,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
+       83,   83,   83,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
       -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
       -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
       -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
@@ -3089,16 +3089,16 @@
       -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
       -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
       -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,   83,   83,  153,  153,
-      153,  153,  153,  153,  153,  153,   87,   87,  -89,  -89,
+      -89,  -89,  -89,  -89,  -89,  -89,   83,   84,  153,  153,
+      153,  153,  153,  153,  153,  153,   83,   83,  -89,  -89,
 
-      -89,  -89,  -89,  -89,  -89,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,  -89,   83,  -89,  -89,   87,  -89,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
+      -89,  -89,  -89,  -89,  -89,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,  -89,   84,  -89,  -89,   83,  -89,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
       -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
       -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
       -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
@@ -3121,16 +3121,16 @@
       -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
       -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
       -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,   83,   83,  154,  154,
+      -90,  -90,  -90,  -90,  -90,  -90,   83,   84,  154,  154,
       154,  154,  154,  154,  154,  154,  154,  154,  -90,  -90,
       -90,  -90,  -90,  -90,  -90,  154,  154,  154,  154,  154,
-      154,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,  -90,   83,  -90,  -90,   87,  -90,  154,  154,  154,
+      154,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,  -90,   84,  -90,  -90,   83,  -90,  154,  154,  154,
 
-      154,  154,  154,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
+      154,  154,  154,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
       -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
       -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
       -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
@@ -5112,16 +5112,16 @@
 
      -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
      -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
-     -153, -153, -153, -153, -153, -153,   83,   83,  153,  153,
-      153,  153,  153,  153,  153,  153,   87,   87, -153, -153,
-     -153, -153, -153, -153, -153,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,  174,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87, -153,   83, -153, -153,   87, -153,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,  174,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
+     -153, -153, -153, -153, -153, -153,   83,   84,  153,  153,
+      153,  153,  153,  153,  153,  153,   83,   83, -153, -153,
+     -153, -153, -153, -153, -153,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,  174,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83, -153,   84, -153, -153,   83, -153,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,  174,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
 
-       87,   87,   87, -153, -153, -153, -153, -153, -153, -153,
+       83,   83,   83, -153, -153, -153, -153, -153, -153, -153,
      -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
      -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
      -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
@@ -5143,16 +5143,16 @@
      -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
      -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
      -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154,   83,   83,  154,  154,
+     -154, -154, -154, -154, -154, -154,   83,   84,  154,  154,
       154,  154,  154,  154,  154,  154,  154,  154, -154, -154,
 
      -154, -154, -154, -154, -154,  154,  154,  154,  154,  154,
-      154,   87,   87,   87,   87,   87,  175,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87, -154,   83, -154, -154,   87, -154,  154,  154,  154,
-      154,  154,  154,   87,   87,   87,   87,   87,  175,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87, -154, -154, -154, -154, -154, -154, -154,
+      154,   83,   83,   83,   83,   83,  175,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83, -154,   84, -154, -154,   83, -154,  154,  154,  154,
+      154,  154,  154,   83,   83,   83,   83,   83,  175,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83, -154, -154, -154, -154, -154, -154, -154,
      -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
      -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
      -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
@@ -5775,16 +5775,16 @@
      -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
      -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
      -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174, -174, -174,   83,   83,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87, -174, -174,
+     -174, -174, -174, -174, -174, -174,   83,   84,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83, -174, -174,
 
-     -174, -174, -174, -174, -174,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87, -174,   83, -174, -174,   87, -174,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87, -174, -174, -174, -174, -174, -174, -174,
+     -174, -174, -174, -174, -174,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83, -174,   84, -174, -174,   83, -174,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83, -174, -174, -174, -174, -174, -174, -174,
      -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
      -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
      -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
@@ -5807,16 +5807,16 @@
      -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
      -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
      -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175, -175,   83,   83,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87, -175, -175,
-     -175, -175, -175, -175, -175,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87, -175,   83, -175, -175,   87, -175,   87,   87,   87,
+     -175, -175, -175, -175, -175, -175,   83,   84,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83, -175, -175,
+     -175, -175, -175, -175, -175,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83, -175,   84, -175, -175,   83, -175,   83,   83,   83,
 
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87, -175, -175, -175, -175, -175, -175, -175,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
+       83,   83,   83, -175, -175, -175, -175, -175, -175, -175,
      -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
      -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
      -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
@@ -6806,12 +6806,12 @@
         0,    0,    0,    0,    0,    0,    0,    0,   82,   82,
         0,    0,   13,   13,   18,   18,   20,   20,    3,    3,
         5,    5,    8,    8,   93,   90,   89,   88,   53,   75,
-       30,   30,   26,   26,   86,   29,   29,   24,   25,   89,
+       29,   30,   26,   26,   86,   29,   30,   24,   25,   89,
         2,   70,   74,   55,   91,   51,   52,   33,   91,   80,
        78,   79,   76,   80,   82,   84,   83,   91,   13,   14,
        91,   11,    9,   10,   13,    2,   18,   19,   15,   16,
        91,   18,   23,   20,   22,   21,    3,    5,    5,    8,
-        8,   89,   30,   81,   30,   26,   29,   26,   29,   29,
+        8,   89,   29,   30,   81,   30,   26,   26,   29,   29,
        86,   31,   89,    2,    2,    0,   70,   54,   71,   68,
 
        60,   68,   68,   56,   59,   61,   62,   63,   64,   65,
@@ -6841,7 +6841,7 @@
         0,    0,    0,    0,  133,    0,  134,    0,  137,    0,
       138,    0,    0,    0,  137,    0,  140,    0,    0,    0,
       141,  140,    0,    0,    0,    0,  144,  145,  145,  147,
-      147,    0,    0,    0,  151,    0,    0,    0,    0,    0,
+      147,    0,    0,    0,    0,  151,    0,    0,    0,    0,
        91,    0,    0,    0,    0,    0,   97,    0,    0,    0,
 
         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
@@ -6863,16 +6863,16 @@
 
 static yyconst short int yy_rule_linenum[92] =
     {   0,
-      325,  326,  327,  347,  348,  350,  351,  362,  369,  370,
-      371,  372,  373,  374,  376,  377,  385,  386,  387,  389,
-      390,  391,  392,  394,  395,  397,  398,  399,  408,  427,
-      432,  438,  439,  444,  451,  456,  458,  459,  460,  461,
-      462,  463,  464,  465,  466,  467,  468,  469,  470,  471,
-      472,  477,  482,  483,  484,  489,  496,  501,  503,  504,
-      505,  506,  507,  508,  509,  510,  511,  512,  513,  514,
-      519,  520,  521,  522,  527,  528,  536,  541,  542,  543,
-      549,  555,  556,  557,  558,  560,  561,  563,  573,  575,
-      584
+      326,  327,  328,  348,  349,  351,  352,  363,  370,  371,
+      372,  373,  374,  375,  377,  378,  386,  387,  388,  390,
+      391,  392,  393,  395,  396,  398,  399,  400,  409,  428,
+      433,  439,  440,  445,  452,  457,  459,  460,  461,  462,
+      463,  464,  465,  466,  467,  468,  469,  470,  471,  472,
+      473,  478,  483,  484,  485,  490,  497,  502,  504,  505,
+      506,  507,  508,  509,  510,  511,  512,  513,  514,  515,
+      520,  521,  522,  523,  528,  529,  537,  542,  543,  544,
+      550,  556,  557,  558,  559,  561,  562,  564,  574,  576,
+      585
 
     } ;
 
@@ -7097,6 +7097,7 @@
 	{ "GRAYED",		tGRAYED,		0, 0, 0},
 	{ "GROUPBOX",		tGROUPBOX,		0, 0, 0},
 	{ "HELP",		tHELP,			0, 0, 0},
+	{ "HTML",		tHTML,			0, 0, 0},
 	{ "ICON",		tICON,			0, 0, 0},
 	{ "IMPURE",		tIMPURE,		0, 0, 0},
 	{ "INACTIVE",		tINACTIVE,		0, 0, 0},
@@ -7194,7 +7195,7 @@
  * The flexer starts here
  **************************************************************************
  */
-#line 7198 "lex.yy.c"
+#line 7199 "lex.yy.c"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -7348,7 +7349,7 @@
 	register char *yy_cp = NULL, *yy_bp = NULL;
 	register int yy_act;
 
-#line 306 "./parser.l"
+#line 307 "./parser.l"
 
 	/*
 	 * Catch the GCC-style line statements here and parse them.
@@ -7368,7 +7369,7 @@
 	 * because we only want to know the linenumber and
 	 * filename.
 	 */
-#line 7372 "lex.yy.c"
+#line 7373 "lex.yy.c"
 
 	if ( yy_init )
 		{
@@ -7457,28 +7458,25 @@
 
 case 1:
 YY_RULE_SETUP
-#line 325 "./parser.l"
+#line 326 "./parser.l"
 yy_push_state(pp_pragma);
 	YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 326 "./parser.l"
+#line 327 "./parser.l"
 yy_push_state(pp_line);
 	YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 327 "./parser.l"
+#line 328 "./parser.l"
 {
 		int lineno;
 		char *cptr;
 		char *fname;
 		yy_pop_state();
 		lineno = (int)strtol(yytext, &cptr, 10);
-#if 0
-		/* ignore malformed line numbers by gcc: # 0 "<built-in>" */
 		if(!lineno)
 			yyerror("Malformed '#...' line-directive; invalid linenumber");
-#endif
 		fname = strchr(cptr, '"');
 		if(!fname)
 			yyerror("Malformed '#...' line-directive; missing filename");
@@ -7493,22 +7491,22 @@
 	YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 347 "./parser.l"
+#line 348 "./parser.l"
 yyless(9); yy_pop_state(); yy_push_state(pp_code_page);
 	YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 348 "./parser.l"
+#line 349 "./parser.l"
 yy_pop_state(); if (pedantic) yywarning("Unrecognized #pragma directive '%s'",yytext);
 	YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 350 "./parser.l"
+#line 351 "./parser.l"
 current_codepage = -1; yy_pop_state();
 	YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 351 "./parser.l"
+#line 352 "./parser.l"
 {
         char *p = yytext;
         yy_pop_state();
@@ -7523,7 +7521,7 @@
 	YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 362 "./parser.l"
+#line 363 "./parser.l"
 yy_pop_state(); yyerror("Malformed #pragma code_page directive");
 	YY_BREAK
 /*
@@ -7533,42 +7531,42 @@
 	 */
 case 9:
 YY_RULE_SETUP
-#line 369 "./parser.l"
+#line 370 "./parser.l"
 stripslevel++;
 	YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 370 "./parser.l"
+#line 371 "./parser.l"
 stripslevel--;
 	YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 371 "./parser.l"
+#line 372 "./parser.l"
 if(!stripslevel) yy_pop_state();
 	YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 372 "./parser.l"
+#line 373 "./parser.l"
 ; /* To catch comments */
 	YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 373 "./parser.l"
+#line 374 "./parser.l"
 ; /* Ignore rest */
 	YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 374 "./parser.l"
+#line 375 "./parser.l"
 line_number++; char_number = 1;
 	YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 376 "./parser.l"
+#line 377 "./parser.l"
 stripplevel++;
 	YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 377 "./parser.l"
+#line 378 "./parser.l"
 {
 					stripplevel--;
 					if(!stripplevel)
@@ -7580,62 +7578,62 @@
 	YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 385 "./parser.l"
+#line 386 "./parser.l"
 ; /* To catch comments */
 	YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 386 "./parser.l"
+#line 387 "./parser.l"
 ; /* Ignore rest */
 	YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 387 "./parser.l"
+#line 388 "./parser.l"
 line_number++; char_number = 1;
 	YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 389 "./parser.l"
+#line 390 "./parser.l"
 ; /* Ignore */
 	YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 390 "./parser.l"
+#line 391 "./parser.l"
 yy_pop_state(); /* Kill the semicolon */
 	YY_BREAK
 case 22:
 YY_RULE_SETUP
-#line 391 "./parser.l"
+#line 392 "./parser.l"
 line_number++; char_number = 1; yy_pop_state();
 	YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 392 "./parser.l"
+#line 393 "./parser.l"
 yyless(0); yy_pop_state();
 	YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 394 "./parser.l"
+#line 395 "./parser.l"
 return tBEGIN;
 	YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 395 "./parser.l"
+#line 396 "./parser.l"
 return tEND;
 	YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 397 "./parser.l"
+#line 398 "./parser.l"
 { yylval.num = strtoul(yytext,  0, 10); return toupper(yytext[yyleng-1]) == 'L' ? tLNUMBER : tNUMBER; }
 	YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 398 "./parser.l"
+#line 399 "./parser.l"
 { yylval.num = strtoul(yytext,  0, 16); return toupper(yytext[yyleng-1]) == 'L' ? tLNUMBER : tNUMBER; }
 	YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 399 "./parser.l"
+#line 400 "./parser.l"
 { yylval.num = strtoul(yytext+2, 0, 8); return toupper(yytext[yyleng-1]) == 'L' ? tLNUMBER : tNUMBER; }
 	YY_BREAK
 /*
@@ -7647,7 +7645,7 @@
 	 */
 case 29:
 YY_RULE_SETUP
-#line 408 "./parser.l"
+#line 409 "./parser.l"
 {
 				struct keyword *tok = iskeyword(yytext);
 
@@ -7670,7 +7668,7 @@
 	YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 427 "./parser.l"
+#line 428 "./parser.l"
 yylval.str = make_string(yytext); return tFILENAME;
 	YY_BREAK
 /*
@@ -7678,7 +7676,7 @@
 	 */
 case 31:
 YY_RULE_SETUP
-#line 432 "./parser.l"
+#line 433 "./parser.l"
 {
 				yy_push_state(yylstr);
 				wbufidx = 0;
@@ -7687,10 +7685,10 @@
 			}
 	YY_BREAK
 case 32:
-#line 439 "./parser.l"
+#line 440 "./parser.l"
 case 33:
 YY_RULE_SETUP
-#line 439 "./parser.l"
+#line 440 "./parser.l"
 {
 				yy_pop_state();
 				yylval.str = get_buffered_wstring();
@@ -7699,7 +7697,7 @@
 	YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 444 "./parser.l"
+#line 445 "./parser.l"
 { /* octal escape sequence */
 				unsigned int result;
 				result = strtoul(yytext+1, 0, 8);
@@ -7710,7 +7708,7 @@
 	YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 451 "./parser.l"
[truncated at 1000 lines; 4887 more skipped]