[packages/xv] - up to 6.0.3

mrozowik mrozowik at pld-linux.org
Sat Mar 8 02:16:00 CET 2025


commit 4e63c957af63ca0adef0636446654e14c9d1264f
Author: Krzysztof Mrozowicz <mrozowik at pld-linux.org>
Date:   Fri Mar 7 23:22:46 2025 +0000

    - up to 6.0.3

 xv-3.10a-enhancements.20070520-20081216.diff |  293 ---
 xv-FLmask.v2.1.patch                         | 2728 --------------------------
 xv-JPEG.patch                                |  107 -
 xv-PLD.patch                                 |  149 --
 xv-TIFF.patch                                |  101 -
 xv-buffer_overflows.patch                    |   39 -
 xv-c.patch                                   |   42 -
 xv-croppad.patch                             |   89 -
 xv-deepcolor.patch                           |   54 -
 xv-exceed_grab_patch.txt                     |  108 -
 xv-format.patch                              |   13 -
 xv-gifpatch                                  |   49 -
 xv-grabpatch                                 |   40 -
 xv-jasper.patch                              |   96 -
 xv-libpng-1.5.patch                          |  543 -----
 xv-longname.patch                            |   81 -
 xv-mp-tiff-patch                             |  570 ------
 xv-pdf.patch                                 |   24 -
 xv-png-fix2.patch                            |  218 --
 xv-vispatch                                  |  118 --
 xv.desktop                                   |   56 -
 xv.png                                       |  Bin 2961 -> 0 bytes
 xv.spec                                      |   77 +-
 23 files changed, 29 insertions(+), 5566 deletions(-)
---
diff --git a/xv.spec b/xv.spec
index c2bb97c..7ee1e7b 100644
--- a/xv.spec
+++ b/xv.spec
@@ -8,36 +8,26 @@ Summary(ru.UTF-8):	Программа для просмотра и преобр
 Summary(tr.UTF-8):	X tabanlı resim görüntüleyici
 Summary(uk.UTF-8):	Програма для перегляду та перетворення файлів зображень для X
 Name:		xv
-Version:	3.10a
-Release:	43
+Version:	6.0.3
+Release:	0.2
 License:	Shareware
 Group:		X11/Applications/Graphics
-Source0:	ftp://ftp.cis.upenn.edu/pub/xv/%{name}-%{version}.tar.gz
-# Source0-md5:	2d4fbeec1561304362781cc8e2f7f72d
-Source1:	ftp://swrinde.nde.swri.edu/pub/png/applications/%{name}-%{version}-png-1.2d.tar.gz
-# Source1-md5:	c8cbe14db6e2104ed4eb5330cdaba420
-Source2:	%{name}man310a-html.tar.gz
-# Source2-md5:	78dce344e3e85faf01e1f13014aa659b
-Source3:	%{name}.desktop
-Source4:	%{name}.png
-Source5:	%{name}-non-english-Xman-pages.tar.bz2
-# Source5-md5:	4e5a6582ad76974309ca8bf8fb56b671
-Source6:	http://dl.sourceforge.net/project/png-mng/XV%20jumbo%20patches/20070520/%{name}-%{version}-jumbo-patches-20070520.tar.gz
-# Source6-md5:	9fb2d0ec320498105cafeba38a588472
-Patch0:		%{name}-PLD.patch
-#from http://www.gregroelofs.com/code/%{name}-3.10a-enhancements.20070520-20081216.diff
-Patch1:		%{name}-3.10a-enhancements.20070520-20081216.diff
-Patch2:		%{name}-libpng-1.5.patch
-Patch3:		%{name}-buffer_overflows.patch
-Patch4:		%{name}-format.patch
-Patch5:		%{name}-jasper.patch
+Source0:	https://github.com/jasper-software/xv/archive/refs/tags/v%{version}.tar.gz
+# Source0-md5:	8c5dea54cada4833dbe4a47d99d07e3f
 URL:		http://www.trilon.com/xv/xv.html
+BuildRequires:	cmake
 BuildRequires:	jasper-devel
 BuildRequires:	libjpeg-devel
 BuildRequires:	libpng-devel >= 2:1.2
 BuildRequires:	libtiff-devel
+BuildRequires:	libwebp-devel
 BuildRequires:	xorg-lib-libX11-devel
+BuildRequires:	xorg-lib-libXext-devel
+BuildRequires:	xorg-lib-libXrandr-devel
 BuildRequires:	xorg-lib-libXt-devel
+BuildRequires:	zlib-devel
+Requires(post,postun):	desktop-file-utils
+Requires(post,postun):	gtk-update-icon-cache
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -103,51 +93,42 @@ Utah Raster Toolkit RLE, PDS/VICAR, Sun Rasterfile, BMP, PCX, IRIS
 RGB, XPM, Targa, XWD, PostScript(TM) та PM. Xv також вміє робити
 просту обробку зображень - cropping, expanding, знімки экрану і т.і.
 
+%post
+%update_icon_cache hicolor
+%update_desktop_database
+
+%postun
+%update_icon_cache hicolor
+%update_desktop_database
+
 %prep
-%setup -q -a1 -a6 -a2
-cp -a xv-%{version}/* .
-patch -p1 < ./xv-3.10a-jumbo-fix-enh-patch-20070520.txt || exit 1
-%patch0 -p1
-%patch1 -p1
-%patch2 -p0
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
+%setup -q
 
 %build
-%{__make} \
-	CC="%{__cc}" \
-	CCOPTS="%{rpmcppflags} %{rpmcflags} `pkg-config --cflags libpng 2>/dev/null`" \
-	LDFLAGS="%{rpmldflags}"
+mkdir build_dir
+cd build_dir
+%cmake ..
+%{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}} \
-	$RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_mandir}/man1}
 
+cd build_dir
 %{__make} install \
-	BINDIR=$RPM_BUILD_ROOT%{_bindir} \
-	DOCDIR=$RPM_BUILD_ROOT%{_docdir} \
-	MANDIR=$RPM_BUILD_ROOT%{_mandir}/man1 \
-	LIBDIR=$RPM_BUILD_ROOT%{_libdir}
-
-install %{SOURCE3} $RPM_BUILD_ROOT%{_desktopdir}
-install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir}
+	DESTDIR=$RPM_BUILD_ROOT
 
-bzip2 -dc %{SOURCE5} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc README BUGS CHANGELOG IDEAS
+%doc LICENSE.txt NEWS.txt README.md src/{README,README.FLmask,README.debian,README.jumbo,README.pcd,README.xv-non-english-Xman-pages,docs}
 %attr(755,root,root) %{_bindir}/*
+%{_sysconfdir}/xv_mgcsfx
 %{_desktopdir}/xv.desktop
 %{_pixmapsdir}/*
-%doc README.jumbo
-%doc docs/xvdocs.pdf
-%doc docs/xvdocs.ps
 %{_mandir}/man1/*
 %lang(fi) %{_mandir}/fi/man1/*
 %lang(pl) %{_mandir}/pl/man1/*
diff --git a/xv-3.10a-enhancements.20070520-20081216.diff b/xv-3.10a-enhancements.20070520-20081216.diff
deleted file mode 100644
index c9b5528..0000000
--- a/xv-3.10a-enhancements.20070520-20081216.diff
+++ /dev/null
@@ -1,293 +0,0 @@
-  20070621
-    fixed improper ClearCode termination condition in GIF decoder (JZ); fixed
-    some minor inconsistencies in Makefile (GRR)
-        - xv-joe-zbiciak-20070621-gif-decoder-bugfix.dif
-
-  20080121
-    removed duplicate "XDestroyWindow(theDisp, pngW);" in xvmisc.c (IMC); fixed
-    empty-filename click-and-crash bug in xvdir.c (IMC, DB)
-        - xv-ian-collier-20080118-crash-fixes.msg
-        - xv-david-bath-20080901-empty-filename-save-crash-fix.dif
-
-  20081205
-    reverted xvxwd.c to SJT's version (bug reported by Jari Ruusu)
-
-  20081216
-    fixed crash-bug in IFF decoder (EP)
-        - xv-elmar-plischke-20081216-xviff-crash-fix.dif
-
-
-
-diff -ru ../test3.20070520.stock/xv-3.10a/xv.h ./xv.h
---- ../test3.20070520.stock/xv-3.10a/xv.h	2007-05-20 22:23:33.000000000 -0700
-+++ ./xv.h	2008-12-16 09:45:00.000000000 -0800
-@@ -16,8 +16,9 @@
- /* GRR 2nd public jumbo F+E patches:	20050410 */
- /* GRR 3rd public jumbo F+E patches:	20050501 */
- /* GRR 4th public jumbo F+E patch:  	20070520 */
--#define REVDATE   "version 3.10a-jumboFix+Enh of 20070520"
--#define VERSTR    "3.10a-20070520"
-+/* GRR 5th public jumbo F+E patch:  	200xxxxx (probably mid-2009) */
-+#define REVDATE   "version 3.10a-jumboFix+Enh of 20081216 (interim!)"
-+#define VERSTR    "3.10a-20081216"
- 
- /*
-  * uncomment the following, and modify for your site, but only if you've
-
-
-
-diff -ru ../test3.20070520.stock/xv-3.10a/xvdir.c ./xvdir.c
---- ../test3.20070520.stock/xv-3.10a/xvdir.c	2007-05-20 22:23:33.000000000 -0700
-+++ ./xvdir.c	2008-01-21 13:02:38.000000000 -0800
-@@ -539,8 +539,9 @@
-     return -1;
-   }
- 
--  /* handle clicks inside the filename box */
--  if (x > 80 &&
-+  /* handle clicks inside the filename box, but only when box is not empty */
-+  if (enPos > stPos &&
-+      x > 80 &&
-       y > dList.y + (int) dList.h + 30 &&
-       x < 80 + DNAMWIDE+6 &&
-       y < dList.y + (int) dList.h + 30 + LINEHIGH+5) {
-
-
-
-diff -ru ../test3.20070520.stock/xv-3.10a/xvgif.c ./xvgif.c
---- ../test3.20070520.stock/xv-3.10a/xvgif.c	2007-05-20 22:23:33.000000000 -0700
-+++ ./xvgif.c	2007-06-21 09:36:40.000000000 -0700
-@@ -700,7 +700,7 @@
-        * associated output code on the output queue.
-        */
- 
--      while (CurCode > BitMask) {
-+      while (CurCode >= ClearCode) {  /* Joe Zbiciak fix, 20070621 */
- 	if (OutCount > 4096) break;   /* corrupt file */
- 	OutCode[OutCount++] = Suffix[CurCode];
- 	CurCode = Prefix[CurCode];
-
-
-
-diff -ru ../test3.20070520.stock/xv-3.10a/xvmisc.c ./xvmisc.c
---- ../test3.20070520.stock/xv-3.10a/xvmisc.c	2007-05-20 22:23:33.000000000 -0700
-+++ ./xvmisc.c	2008-01-21 12:57:29.000000000 -0800
-@@ -561,10 +561,6 @@
-     if (mgcsfxW) XDestroyWindow(theDisp, mgcsfxW);
- #endif
- 
--#ifdef HAVE_PNG
--    if (pngW)  XDestroyWindow(theDisp, pngW);
--#endif
--
-     /* if NOT using stdcmap for images, free stdcmap */
-     if (colorMapMode != CM_STDCMAP) {
-       int j;
-
-
-
-[This one reverts xvxwd.c to the pre-2007 SJT version, which actually worked...]
-
-diff -ru ../test3.20070520.stock/xv-3.10a/xvxwd.c ./xvxwd.c
---- ../test3.20070520.stock/xv-3.10a/xvxwd.c	2007-05-20 22:23:33.000000000 -0700
-+++ ./xvxwd.c	2008-12-06 00:30:44.000000000 -0800
-@@ -19,6 +19,12 @@
-  */
- 
- #include "xv.h"
-+#include <limits.h>             /* for CHAR_BIT */
-+
-+/* SJT: just in case ... */
-+#ifndef CHAR_BIT
-+#  define CHAR_BIT 8
-+#endif
- 
- 
- /***************************** x11wd.h *****************************/
-@@ -83,9 +89,14 @@
- static int    writebiglong    PARM((FILE *, CARD32));
- #endif
- 
-+static void   getcolorshift   PARM((CARD32, int *, int *)); /* SJT */
-+
-+/* SJT: for 16bpp and 24bpp shifts */
-+static int    red_shift_right, red_justify_left,
-+              grn_shift_right, grn_justify_left,
-+              blu_shift_right, blu_justify_left;
- static byte  *pic8, *pic24;
--static CARD32 red_mask, green_mask, blue_mask;
--static int    red_shift, green_shift, blue_shift;
-+static CARD32 red_mask, grn_mask, blu_mask;
- static int    bits_per_item, bits_used, bit_shift,
-               bits_per_pixel, bits_per_rgb;
- static char   buf[4];
-@@ -189,38 +200,34 @@
-       return 0;
-     }
- 
--    switch (bits_per_pixel) {
--    case 16:
--    case 24:
--    case 32:
--      ;
--    default:
--      xwdError("True/Direct supports only 16, 24, and 32 bits");
--      return 0;
--    }
-+    for (row=0; row<rows; row++) {
-+      for (col=0, xP=pic24+(row*cols*3); col<cols; col++) {
-+	CARD32 ul;
- 
--    if (byte_order == MSBFirst) {
--      for (row=0; row<rows; row++) {
--        for (col=0, xP=pic24+(row*cols*3); col<cols; col++) {
--          register CARD32 ul = getpixnum(ifp);
--
--          *xP++ = ul >> red_shift   & red_mask  ;
--          *xP++ = ul >> green_shift & green_mask;
--          *xP++ = ul >> blue_shift  & blue_mask ;
--        };
--        for (col=0; col<padright; col++) getpixnum(ifp);
--      }
--    } else {
--      for (row=0; row<rows; row++) {
--        for (col=0, xP=pic24+(row*cols*3); col<cols; col++) {
--          register CARD32 ul = getpixnum(ifp);
--
--          *xP++ = ul >> blue_shift  & blue_mask ;
--          *xP++ = ul >> green_shift & green_mask;
--          *xP++ = ul >> red_shift   & red_mask  ;
--        };
--        for (col=0; col<padright; col++) getpixnum(ifp);
-+	ul = getpixnum(ifp);
-+	switch (bits_per_pixel) {
-+        case 16:
-+        case 24:
-+        case 32:
-+          /* SJT: shift all the way to the right and then shift left. The
-+             pairs of shifts could be combined. There will be two right and
-+             one left shift, but it's unknown which will be which. It seems
-+             easier to do the shifts (which might be 0) separately than to
-+             have a complex set of tests. I believe this is independent of
-+             byte order but I have no way to test.
-+           */
-+          *xP++ = ((ul & red_mask) >> red_shift_right) << red_justify_left;
-+          *xP++ = ((ul & grn_mask) >> grn_shift_right) << grn_justify_left;
-+          *xP++ = ((ul & blu_mask) >> blu_shift_right) << blu_justify_left;
-+          break;
-+
-+	default:
-+	  xwdError("True/Direct supports only 16, 24, and 32 bits");
-+	  return 0;
-+	}
-       }
-+
-+      for (col=0; col<padright; col++) getpixnum(ifp);
-     }
- 
-     pinfo->type = PIC24;
-@@ -445,28 +452,18 @@
-      (i.e., 3 bytes, no alpha/padding) */
- 
- 
--  bits_used      = bits_per_item;
-+  bits_used  = bits_per_item;
- 
-   if (bits_per_pixel == sizeof(pixel_mask) * 8)  pixel_mask = (CARD32) -1;
-   else pixel_mask = (1 << bits_per_pixel) - 1;
- 
--  red_mask   = h11P->red_mask;
--  green_mask = h11P->grn_mask;
--  blue_mask  = h11P->blu_mask;
--
--  red_shift = blue_shift = green_shift = 0;
--  while (!(red_mask & 1)) {
--    red_mask >>= 1;
--    ++red_shift;
--  }
--  while (!(blue_mask & 1)) {
--    blue_mask >>= 1;
--    ++blue_shift;
--  }
--  while (!(green_mask & 1)) {
--    green_mask >>= 1;
--    ++green_shift;
--  }
-+  red_mask = h11P->red_mask;
-+  grn_mask = h11P->grn_mask;
-+  blu_mask = h11P->blu_mask;
-+
-+  getcolorshift(red_mask, &red_shift_right, &red_justify_left);
-+  getcolorshift(grn_mask, &grn_shift_right, &grn_justify_left);
-+  getcolorshift(blu_mask, &blu_shift_right, &blu_justify_left);
- 
-   byteP  = (char   *) buf;
-   shortP = (CARD16 *) buf;
-@@ -476,6 +473,45 @@
- }
- 
- 
-+/* SJT: figure out the proper shifts */
-+static void getcolorshift (CARD32 mask, int *rightshift, int *leftshift)
-+{
-+  int lshift, rshift;
-+  unsigned int uu;
-+
-+  if (mask == 0)
-+  {
-+    *rightshift = *leftshift = 0;
-+    return;
-+  }
-+
-+  uu = mask;
-+  lshift = rshift = 0;
-+  while ((uu & 0xf) == 0)
-+  {
-+      rshift += 4;
-+      uu >>= 4;
-+  }
-+  while ((uu & 1) == 0)
-+  {
-+      rshift++;
-+      uu >>= 1;
-+  }
-+
-+  while (uu != 0)
-+  {
-+      if (uu & 1)
-+      {
-+          lshift++;
-+          uu >>= 1;
-+      }
-+  }
-+  *rightshift = rshift;
-+  *leftshift = CHAR_BIT * sizeof(pixel) - lshift;
-+  return;
-+}
-+
-+
- /******************************/
- static CARD32 getpixnum(file)
-      FILE* file;
-
-
-
-diff -ru ../test3.20070520.stock/xv-3.10a/xviff.c ./xviff.c
---- ../test3.20070520.stock/xv-3.10a/xviff.c	2007-05-13 17:50:59.000000000 -0700
-+++ ./xviff.c	2008-12-16 09:20:25.000000000 -0800
-@@ -73,6 +73,7 @@
-   int           BMHDok, CMAPok, CAMGok;
-   int           bmhd_width, bmhd_height, bmhd_bitplanes, bmhd_transcol;
-   int           i, j, k, lineskip, colors, fmt;
-+  int           npixels = 0; /* needs to be initialized _outside_ while-loop */
-   byte          bmhd_masking, bmhd_compression;
-   long          chunkLen, camg_viewmode;
-   byte          *databuf, *dataptr, *cmapptr, *picptr, *pic, *bodyptr;
-@@ -138,7 +139,6 @@
-      BODY chunk was found or dataptr ran over end of file */
- 
-   while ((rv<0) && (dataptr < (databuf + filesize))) {
--    int npixels = 0;
-     chunkLen = (iff_getlong(dataptr + 4) + 1) & 0xfffffffe; /* make even */
- 
-     if (strncmp((char *) dataptr, "BMHD", (size_t) 4)==0) { /* BMHD chunk? */
diff --git a/xv-FLmask.v2.1.patch b/xv-FLmask.v2.1.patch
deleted file mode 100644
index 0abd444..0000000
--- a/xv-FLmask.v2.1.patch
+++ /dev/null
@@ -1,2728 +0,0 @@
-diff -c --new-file xv-3.10a.org/00_README xv+flmask/00_README
-*** xv-3.10a.org/00_README	Sun Sep 14 02:29:10 1997
---- xv+flmask/00_README	Sun Sep 14 03:18:49 1997
-***************
-*** 0 ****
---- 1,101 ----
-+ 
-+ 	       XV+FLmask version 2.1.
-+ 
-+ 	   	     97.09.14.
-+ 	     matu at alice.lb.u-tokai.ac.jp.
-+                   �ޤĤ�餷���롣��
-+ 
-+ 
-+ [���Υѥå��ϲ�?]
-+ 	�ʤ���������ʤˤ����顣
-+ 	���äȵ��ޤ���Ǻ��줿��ΤǤ���(^^)
-+ 
-+ 
-+ [���Υ��������֤��ޤ���]
-+ 	README 			���Υե����롣
-+ 	XV+FLmask.v2.1.patch	�ѥå���
-+ 
-+ 
-+ [�����]
-+ 	(1)�ޤ��������򽸤�ޤ��礦��
-+ 		xv-3.10a.tar.gz
-+ 		libjpeg-6a.tar.gz
-+ 		xv310a-jp-extension-rev5.3.3.tar.gz
-+ 
-+ 	(2)�����ˡ�
-+ 		XV+FLmask.v2.1.patch
-+ 	   ��ä��Ƥ��Ĥ��ļѹ��ߤޤ��礦��(jvim����)
-+ 
-+ 	(3)�ʾ塣(���������
-+ 
-+ 
-+ [���Ѥˤ����ä�]
-+ 	FLmask menu �� Mask button �������Ƥ�������Ǥ���
-+ 	�񤷤��Ȥ�����̵���Ǥ��礦��
-+ 	Mask button �Ͼ��˻Ȥ��������Ǥ���
-+ 
-+ 
-+ [�ٹ�]
-+ 	���� patch �Ϥ��ʤ����Ȥ���Ǥ�Τ�Ȥ˻��Ѥ��Ʋ�
-+ 	�������⤷������ patch ����Ѥ�����ˤ�äơ���
-+ 	�ʤ��� HDD �� data �������ä��Ƥ��ޤä��ꡢ�ϡ�
-+ 	�ɥ����������᡼����������ꡢ���ʤ��θ�������
-+ 	���ޤäƤ⡢�����ϰ��ڴ��Τ��ޤ���(mgetty����)
-+ 
-+ 
-+ [ư��Ķ�]
-+ 	��ȯ�Ķ��� Linux-2.0.30 �Ǥ��������֤� original 
-+ 	�� xv ��ư���Ķ��Ǥ��������̵��ư���Ǥ��礦��
-+ 	(���֤�)
-+ 
-+ 
-+ [����¾]
-+ 	���Υѥå��ϥ������������Ǥ���
-+ 	500���顣��˳�ʳ����ʤΤǡ�free �ˤ��ޤ���Ǥ�����
-+ 	Ʊ��������ζ줷�����ϡ��Ƚ��פ��ޤ�����
-+ 	����¾�� software �μ�ͳ�����դ����󤿤餫�󤿤�
-+ 	�Ǥɤ��Ȥ������Ȥ������ͤ�ʧ��ʤ��Ƥ��ɤ��Ǥ�����
-+ 	                                           (^^;;;
-+ 
-+ 	���Ĥ����������ˤ�P����Ϥޤ�CPU��Ƴ���������̴
-+ 	���ơ���(K�Ǥ�褤��D�Ϥ⤦���䡣��)
-+ 
-+ 	�����˻�ʧ�äƤ��������
-+ 		E-mail: matu at alice.lb.u-tokai.ac.jp
-+ 	�ޤ� Mail ���Ʋ�������(^^)
-+ 
-+ 
-+ 	�Զ���, �׵�, ���ۤʤɤʤ�Ǥ�, ��Υ��ɥ쥹�ޤ�
-+ 	���ꤤ���ޤ���
-+ 	(v2.0 �λ� mail ���äƲ����ä�����������ͭ�񤦤���
-+ 	���ޤ�����ո�ȿ�ǤǤ���褦���Ϥ��Ƥߤޤ�����)
-+ 
-+ 
-+ 	�ޤ���XV+FLmask Home Page.��
-+ 	http://www.lb.u-tokai.ac.jp/~matu/flmask/
-+ 	�ˤ� Version UP �Τ��Τ餻�������뤫���Τ�ޤ���
-+ 
-+ 
-+ [�ռ�]
-+ 	���Υѥå����åȤ��������ˤ����äơ��ʲ�������
-+ 	�θ涨�Ϥ����ޤ����� ����괶���פ��ޤ���
-+ 
-+ 	  o Gmask �κ�ԤθŹ� �� �͡�
-+ 	  o ���ο͡�
-+ 	  o ���ο͡�
-+ 	  o ����¾��
-+ 
-+ 
-+ --
-+ o `XV'��, X Window System��β���ɽ���ץ������Ǥ�.
-+    XV is Copyright 1989, 1994 by John Bradley.
-+    X Window System is a trademark of X Consortium, Inc.
-+ o MEKOMASK �� �޽��� ���󤵤��Υޥ����ġ��롣
-+ o WINMASK  �� ��¼ ��Ϥ����Υޥ����ġ��롣
-+ o FLMASK   �� ��enesis �����Υޥ����ġ��롣
-+ o CPMASK   �� �����ȣ�enesis ������Υޥ�����ˡ��
-+ o Gmask    �� �Ź¹䤵��Υޥ����ġ��롣
-+ 
-+ (jp-extension���� README)
-+ 
-+ 
-diff -c --new-file xv-3.10a.org/CPMASK xv+flmask/CPMASK
-*** xv-3.10a.org/CPMASK	Sun Sep 14 02:29:10 1997
---- xv+flmask/CPMASK	Sun Sep 14 03:18:49 1997
-***************
-*** 0 ****
---- 1,21 ----
-+ [CPMASK�ˤĤ���]
-+ 	���� patch �ˤ�äƤ�����줿 CPmask �� FLMASK �ץ��������
-+ 	�Ǥ�������ΤȤϰ㤤file �� passwd �ξ����Ĥ��ޤ���
-+ 
-+ 	xv �� jpeg file �� save �������
-+ 	��CREATOR: XV Version 3.10a Rev: 12/29/94 Quality = 75, 
-+ 	  Smoothing = 0��
-+ 	�Ȥ����褦�ʾ����ä��ޤ���
-+ 
-+ 	CPmask �Ϥ�����ʬ�ˤ��ä���passwd�����񤭹���ΤǤ�������
-+ 	�줬������ CPmask �Τ�����줿 file �� xv ���ɤ߹���Ǥ���
-+ 	�ޤ� save ���ʤ����� passwd ��Ĵ�٤� tool �Ȥ���Ƚ��Ǥ��ʤ�
-+ 	file ������夬��櫓�Ǥ���
-+ 
-+ 	���Τ���ˡ����� version �Ǥ� CPmask ���������Ƥ��ʤ� file
-+ 	�ξ��� error pop up ����褦�ˤ��Ƥ����ΤǤ��������ؤǤ���
-+ 	�Ȥ� mail �������������Τ��Ѥ��뤳�Ȥˤ��ޤ�����
-+ 
-+ 	�Ǥ����顢���� patch �ǤϿ����� CPmask �򤫤����ˡ��Ϥ�����
-+ 	���ˤ��Ʋ�������
-+ 
-diff -c --new-file xv-3.10a.org/Makefile xv+flmask/Makefile
-*** xv-3.10a.org/Makefile	Sun Sep 14 02:29:10 1997
---- xv+flmask/Makefile	Sun Sep 14 03:18:49 1997
-***************
-*** 209,214 ****
---- 209,215 ----
-  
-  OBJS = 	xv.o xvevent.o xvroot.o xvmisc.o xvimage.o xvcolor.o xvsmooth.o \
-  	xv24to8.o xvgif.o xvpm.o xvinfo.o xvctrl.o xvscrl.o xvalg.o \
-+ 	xvmask.o xvcpmask.o xvmeko.o \
-  	xvgifwr.o xvdir.o xvbutt.o xvpbm.o xvxbm.o xvgam.o xvbmp.o \
-  	xvdial.o xvgraf.o xvsunras.o xvjpeg.o xvps.o xvpopup.o xvdflt.o \
-  	xvtiff.o xvtiffwr.o xvpds.o xvrle.o xviris.o xvgrab.o vprintf.o \
-diff -c --new-file xv-3.10a.org/Imakefile xv+flmask/Imakefile
-*** xv-3.10a.org/Imakefile	Sun Sep 14 02:29:10 1997
---- xv+flmask/Imakefile	Sun Sep 14 03:18:49 1997
-***************
-*** 160,165 ****
---- 160,166 ----
-  
-  SRCS1 =	xv.c xvevent.c xvroot.c xvmisc.c xvimage.c xvcolor.c xvsmooth.c \
-  	xv24to8.c xvgif.c xvpm.c xvinfo.c xvctrl.c xvscrl.c xvalg.c \
-+ 	xvmask.c xvcpmask.c xvmeko.c \
-  	xvgifwr.c xvdir.c xvbutt.c xvpbm.c xvxbm.c xvgam.c xvbmp.c \
-  	xvdial.c xvgraf.c xvsunras.c xvjpeg.c xvps.c xvpopup.c xvdflt.c \
-  	xvtiff.c xvtiffwr.c xvpds.c xvrle.c xviris.c xvgrab.c vprintf.c \
-***************
-*** 170,175 ****
---- 171,177 ----
-  
-  OBJS1 =	xv.o xvevent.o xvroot.o xvmisc.o xvimage.o xvcolor.o xvsmooth.o \
-  	xv24to8.o xvgif.o xvpm.o xvinfo.o xvctrl.o xvscrl.o xvalg.o \
-+ 	xvmask.o xvcpmask.o xvmeko.o \
-  	xvgifwr.o xvdir.o xvbutt.o xvpbm.o xvxbm.o xvgam.o xvbmp.o \
-  	xvdial.o xvgraf.o xvsunras.o xvjpeg.o xvps.o xvpopup.o xvdflt.o \
-  	xvtiff.o xvtiffwr.o xvpds.o xvrle.o xviris.o xvgrab.o vprintf.o \
-diff -c --new-file xv-3.10a.org/xv.h xv+flmask/xv.h
-*** xv-3.10a.org/xv.h	Sun Sep 14 02:29:12 1997
---- xv+flmask/xv.h	Sun Sep 14 06:50:03 1997
-***************
-*** 8,15 ****
-  #include "config.h"
-  
-  
-! #define REVDATE   "Version 3.10a  Rev: 12/29/94 (PNG patch 1.2)"
-! #define VERSTR    "3.10a(PNG)"
-  
-  /*
-   * uncomment the following, and modify for your site, but only if you've
---- 8,16 ----
-  #include "config.h"
-  
-  
-! #define REVDATE   "Version 3.10a+FLmask  Rev: 12/29/94"
-! #define VERSTR    "3.10a+FLmask"
-! 
-  
-  /*
-   * uncomment the following, and modify for your site, but only if you've
-***************
-*** 415,424 ****
-  #define BCROP    19
-  #define BUNCROP  20
-  #define BACROP   21
-! #define BABOUT   22
-! #define BQUIT    23
-! #define BXV      24
-! #define NBUTTS   25    /* # of butts */
-  
-  
-  /* buttons in the load/save window */
---- 416,426 ----
-  #define BCROP    19
-  #define BUNCROP  20
-  #define BACROP   21
-! #define BMASKS   22
-! #define BABOUT   23
-! #define BQUIT    24
-! #define BXV      25
-! #define NBUTTS   26    /* # of butts */
-  
-  
-  /* buttons in the load/save window */
-***************
-*** 719,740 ****
-  #define PIC24 CONV24_24BIT
-  
-  /* indicies into algMB */
-  #define ALG_NONE      0
-! #define ALG_SEP1      1  /* separator */
-! #define ALG_BLUR      2
-! #define ALG_SHARPEN   3
-! #define ALG_EDGE      4
-! #define ALG_TINF      5
-! #define ALG_OIL       6
-! #define ALG_BLEND     7
-! #define ALG_ROTATE    8
-! #define ALG_ROTATECLR 9
-  #define ALG_PIXEL     10
-  #define ALG_SPREAD    11
-  #define ALG_MEDIAN    12
-  #define ALG_MAX       13
-  
-- 
-  /* indicies into sizeMB */
-  #define SZMB_NORM     0
-  #define SZMB_MAXPIC   1
---- 721,753 ----
-  #define PIC24 CONV24_24BIT
-  
-  /* indicies into algMB */
-+ #define MSK_NONE      0
-+ #define MSK_SEP1      1  /* separator */
-+ #define MSK_FLMASK    2 
-+ #define MSK_Q0MASK    3 
-+ #define MSK_WIN	      4 
-+ #define MSK_MEKO      5 
-+ #define MSK_CPMASK    6 
-+ #define MSK_RGB	      7 
-+ #define MSK_BITREV    8 
-+ #define MSK_COLREV    9 
-+ #define MSK_MAX	      10
-+                       
-  #define ALG_NONE      0
-! #define ALG_SEP1      1   /* separator */
-! #define ALG_BLUR      2 
-! #define ALG_SHARPEN   3 
-! #define ALG_EDGE      4 
-! #define ALG_TINF      5 
-! #define ALG_OIL       6 
-! #define ALG_BLEND     7 
-! #define ALG_ROTATE    8 
-! #define ALG_ROTATECLR 9 
-  #define ALG_PIXEL     10
-  #define ALG_SPREAD    11
-  #define ALG_MEDIAN    12
-  #define ALG_MAX       13
-  
-  /* indicies into sizeMB */
-  #define SZMB_NORM     0
-  #define SZMB_MAXPIC   1
-***************
-*** 1209,1214 ****
---- 1222,1228 ----
-  WHERE MBUTT         dispMB;              /* display mode menu button */
-  WHERE MBUTT         conv24MB;            /* 24-to-8 conversion mode mbutt */
-  WHERE MBUTT         algMB;               /* Algorithms mbutt */
-+ WHERE MBUTT         flmaskMB;            /* FLmask mbutt */
-  WHERE MBUTT         rootMB;
-  WHERE MBUTT         sizeMB;
-  WHERE MBUTT         windowMB;
-diff -c --new-file xv-3.10a.org/xvalg.c xv+flmask/xvalg.c
-*** xv-3.10a.org/xvalg.c	Fri Dec 23 04:12:20 1994
---- xv+flmask/xvalg.c	Wed Sep  3 12:49:55 1997
-***************
-*** 26,32 ****
-  static void Pixelize       PARM((void));
-  static void Spread         PARM((void));
-  static void MedianFilter   PARM((void));
-! static void saveOrigPic    PARM((void));
-  
-  static void doBlurConvolv  PARM((byte *,int,int,byte *, int,int,int,int, int));
-  static void doSharpConvolv PARM((byte *,int,int,byte *, int,int,int,int, int));
---- 26,33 ----
-  static void Pixelize       PARM((void));
-  static void Spread         PARM((void));
-  static void MedianFilter   PARM((void));
-! 
-! void saveOrigPic    PARM((void));
-  
-  static void doBlurConvolv  PARM((byte *,int,int,byte *, int,int,int,int, int));
-  static void doSharpConvolv PARM((byte *,int,int,byte *, int,int,int,int, int));
-***************
-*** 41,47 ****
-  static void doSpread       PARM((byte *,int,int,byte *, int,int,int,int, 
-  				 int, int));
-  static void doMedianFilter PARM((byte *,int,int,byte *, int,int,int,int, int));
-- 
-  static void add2bb         PARM((int *, int *, int *, int *, int, int));
-  static void rotXfer        PARM((int, int, double *,double *,
-  				 double,double, double));
---- 42,47 ----
-***************
-*** 50,62 ****
-  static void intsort        PARM((int *, int));
-  #endif
-  
-! static int  start24bitAlg  PARM((byte **, byte **));
-! static void end24bitAlg    PARM((byte *, byte *));
-! 
-! static void printUTime     PARM((char *));
-  
-! static byte *origPic = (byte *) NULL;
-! static int  origPicType;
-  static byte origrmap[256], origgmap[256], origbmap[256];
-  
-  
---- 50,61 ----
-  static void intsort        PARM((int *, int));
-  #endif
-  
-! int  start24bitAlg  PARM((byte **, byte **));
-! void end24bitAlg    PARM((byte *, byte *));
-! void printUTime     PARM((char *));
-  
-! byte *origPic = (byte *) NULL;
-! int  origPicType;
-  static byte origrmap[256], origgmap[256], origbmap[256];
-  
-  
-***************
-*** 69,75 ****
-  
-  
-  /***************************/
-! static void printUTime(str)
-       char *str;
-  {
-  #ifdef TIMING_TEST
---- 68,74 ----
-  
-  
-  /***************************/
-! void printUTime(str)
-       char *str;
-  {
-  #ifdef TIMING_TEST
-***************
-*** 82,91 ****
-  }
-  
-  
-- 
-- 
-- 
-- 
-  /************************************************************/
-  void AlgInit()
-  {
---- 81,86 ----
-***************
-*** 96,101 ****
---- 91,97 ----
-    origPic = (byte *) NULL;
-  
-    algMB.dim[ALG_NONE] = 1;    /* can't undo when init'ed already */
-+   flmaskMB.dim[MSK_NONE]=1;
-  }
-  
-  
-***************
-*** 107,127 ****
-       algorithm */
-  
-    switch (anum) {
-!   case ALG_NONE:      NoAlg();        break;
-!   case ALG_BLUR:      Blur();         break;
-!   case ALG_SHARPEN:   Sharpen();      break;
-!   case ALG_EDGE:      EdgeDetect();   break;
-!   case ALG_TINF:      TinFoil();      break;
-!   case ALG_OIL:       OilPaint();     break;
-!   case ALG_BLEND:     Blend();        break;
-!   case ALG_ROTATE:    FineRotate(0);  break;
-!   case ALG_ROTATECLR: FineRotate(1);  break;
-!   case ALG_PIXEL:     Pixelize();     break;
-!   case ALG_SPREAD:    Spread();       break;
-!   case ALG_MEDIAN:    MedianFilter(); break;
-    }
-  
-    algMB.dim[ALG_NONE] = (origPic == (byte *) NULL);
-  }
-  
-  
---- 103,124 ----
-       algorithm */
-  
-    switch (anum) {
-!   case ALG_NONE:      NoAlg();        	break;
-!   case ALG_BLUR:      Blur();         	break;
-!   case ALG_SHARPEN:   Sharpen();      	break;
-!   case ALG_EDGE:      EdgeDetect();   	break;
-!   case ALG_TINF:      TinFoil();      	break;
-!   case ALG_OIL:       OilPaint();     	break;
-!   case ALG_BLEND:     Blend();        	break;
-!   case ALG_ROTATE:    FineRotate(0);  	break;
-!   case ALG_ROTATECLR: FineRotate(1);  	break;
-!   case ALG_PIXEL:     Pixelize();     	break;
-!   case ALG_SPREAD:    Spread();       	break;
-!   case ALG_MEDIAN:    MedianFilter(); 	break;
-    }
-  
-    algMB.dim[ALG_NONE] = (origPic == (byte *) NULL);
-+   flmaskMB.dim[MSK_NONE] = (origPic == (byte *) NULL);
-  }
-  
-  
-***************
-*** 1567,1573 ****
-  
-  
-  /***********************************************/
-! static int start24bitAlg(pic24, tmpPic)
-       byte **pic24, **tmpPic;
-  {
-    /* generates a 24-bit version of 'pic', if neccessary, and also mallocs
---- 1564,1570 ----
-  
-  
-  /***********************************************/
-! int start24bitAlg(pic24, tmpPic)
-       byte **pic24, **tmpPic;
-  {
-    /* generates a 24-bit version of 'pic', if neccessary, and also mallocs
-***************
-*** 1600,1606 ****
-  
-  
-  /***********************************************/
-! static void end24bitAlg(pic24, outPic)
-       byte *pic24, *outPic;
-  {
-    /* given pic24, and outPic, which has the new 24-bit image, installs it */
---- 1597,1603 ----
-  
-  
-  /***********************************************/
-! void end24bitAlg(pic24, outPic)
-       byte *pic24, *outPic;
-  {
-    /* given pic24, and outPic, which has the new 24-bit image, installs it */
-***************
-*** 1629,1635 ****
-  
-  
-  /************************/
-! static void saveOrigPic()
-  {
-    /* saves original picture into origPic, if it hasn't already been done.
-       This allows us to undo algorithms...  
---- 1626,1632 ----
-  
-  
-  /************************/
-! void saveOrigPic()
-  {
-    /* saves original picture into origPic, if it hasn't already been done.
-       This allows us to undo algorithms...  
-***************
-*** 1669,1674 ****
-      pic = NULL;
-    }
-  }
-- 
-- 
-  
---- 1666,1669 ----
-diff -c --new-file xv-3.10a.org/xvcpmask.c xv+flmask/xvcpmask.c
-*** xv-3.10a.org/xvcpmask.c	Thu Jan  1 09:00:00 1970
---- xv+flmask/xvcpmask.c	Sun Sep 14 07:17:54 1997
-***************
-*** 0 ****
---- 1,108 ----
-+ #include <sys/types.h>
-+ #include <sys/stat.h>
-+ #include <fcntl.h>
-+ #include <stdio.h>
-+ #include <stdlib.h>
-+ #include <string.h>
-+ 
-+ #include "xv.h"
-+ 
-+ typedef struct { int n; char flg; } CPS;
-+ 
-+ static unsigned char CPTbl[] = {
-+     0x10, 0x17, 0x13, 0x15, 0x09,
-+     0x08, 0x0a, 0x14, 0x06, 0x05,
-+     0x16, 0x02, 0x0d, 0x03, 0x01,
-+     0x04, 0x19, 0x0c, 0x0f, 0x0e,
-+     0x12, 0x07, 0x0b, 0x18, 0x11, 0x1a
-+ };
-+ 
-+ void cpcode(char *filename,unsigned char *buff,int code_num)
-+ {
-+ 	int i,j,fd;
-+   	unsigned char *wp, *cp;
-+   	unsigned char *CP_KEY = "kIUCHIuCHINO";
-+ 
-+ 	if(code_num>=3) return;
-+ 	if((fd=open(filename,O_RDONLY))==-1) return;
-+ 
-+ 	lseek(fd,20+16*code_num,SEEK_SET);
-+ 	read(fd,buff,16);
-+ 
-+   	wp = buff;
-+   	cp = CP_KEY;
-+ 
-+       	for ( i = 0; i < 16; i++ ) {
-+           	*wp ^= *cp;
-+           	if ( *wp & 0x80 ) *wp = '\0';
-+ 		cp++;
-+           	wp++;
-+         	if ( *cp == '\0' ) cp = CP_KEY;
-+    	}
-+ 
-+ 	for (i=0;i<16;i++) {
-+ 		if (buff[i]<'A' || 'Z'<buff[i]){
-+ 			buff[i]=0;
-+ 			break;
-+ 		}
-+ 	}
-+ 	close(fd);
-+ }
-+ 
-+ 
-+ static void GetCPTbl(int nTbl, char *CPcode, int *tbl, CPS *cps)
-+ {
-+     int i, k, vl1, vl2, len;
-+ 
-+     for(i = 0; i < nTbl; i++) {
-+         tbl[i] = -1;
-+         cps[i].n = i;
-+         cps[i].flg = 0;
-+     }
-+     len = strlen(CPcode);
-+     vl1 = nTbl - 1;
-+     vl2 = len + nTbl % len;
-+     for(k = 0; k < nTbl; k++) {
-+         vl1 = CPTbl[CPcode[k % len] - 'A'] + vl1 + vl2;
-+         if(vl1 >= nTbl) vl1 %= nTbl;
-+          while(tbl[vl1] != -1) {
-+             if(k & 01) {
-+                 if(vl1 == 0) vl1 = nTbl;
-+                 vl1--;
-+             }
-+             else {
-+                 if(++vl1 >= nTbl) vl1 = 0;
-+             }
-+         }
-+         tbl[vl1] = k;
-+         vl2++;
-+     }
-+     for(i = 0, k = nTbl - 1; i < k; i++, k--) {
-+         cps[tbl[i]].n = tbl[k];
-+         cps[tbl[k]].n = tbl[i];
-+         if((tbl[i] ^ tbl[k]) & 0x01)
-+             cps[tbl[i]].flg = cps[tbl[k]].flg = 1;
-+     }
-+ }
-+ 
-+ 
-+ CPS *calcCPmask(char *code, int ntbl)
-+ {
-+     int *tbl;
-+     int len,i;
-+     CPS *cps;
-+ 
-+     len = strlen(code);
-+     tbl = (int *)malloc(sizeof(int) * ntbl);
-+     cps = (CPS *)malloc(sizeof(CPS) * ntbl);
-+     if(!tbl || !cps) {
-+ 	ErrPopUp ("Error:  No memory!!", "\nOk");
-+         if(tbl) free(tbl);
-+         exit(1);
-+     }
-+     GetCPTbl(ntbl, code, tbl, cps);
-+     
-+     free(tbl);
-+     return(cps);
-+ }
-+ 
-diff -c --new-file xv-3.10a.org/xvctrl.c xv+flmask/xvctrl.c
-*** xv-3.10a.org/xvctrl.c	Fri Dec 23 04:12:16 1994
---- xv+flmask/xvctrl.c	Wed Sep  3 12:49:54 1997
-***************
-*** 112,117 ****
---- 112,128 ----
-  			       "Slow 24->8",
-  			       "Best 24->8" };
-  
-+ static char *mskMList[]    = { "Undo All\t\244u",
-+ 			       MBSEP,
-+ 			       "FLmask\t\244f",
-+ 			       "Q0mask\t\244g",
-+ 			       "WIN\t\244h",
-+ 			       "MEKO\t\244i",
-+ 			       "CPmask\t\244j",
-+ 			       "RGB\t\244l",
-+ 			       "BitRev.\t\244n",
-+ 			       "ColRev.\t\244w"};
-+ 
-  static char *algMList[]    = { "Undo All\t\244u",
-  			       MBSEP,
-   			       "Blur...\t\244b",
-***************
-*** 303,311 ****
-    BTCreate(&but[BPAD],    ctrlW,BX0,          BY1,BUTTW/2,BUTTH,"",BCLS);
-    BTCreate(&but[BANNOT],  ctrlW,BX0+BUTTW/2+1,BY1,BUTTW/2,BUTTH,"",BCLS);
-  
-!   BTCreate(&but[BCROP],   ctrlW,BX1,  BY1,BUTTW,BUTTH,"Crop",    BCLS);
-!   BTCreate(&but[BUNCROP], ctrlW,BX2,  BY1,BUTTW,BUTTH,"UnCrop",  BCLS);
-!   BTCreate(&but[BACROP],  ctrlW,BX3,  BY1,BUTTW,BUTTH,"AutoCrop",BCLS);
-    BTCreate(&but[BABOUT],  ctrlW,BX4,  BY1,BUTTW,BUTTH,"About XV",BCLS);
-    BTCreate(&but[BQUIT],   ctrlW,BX5,  BY1,BUTTW,BUTTH,"Quit",    BCLS);
-  
---- 314,324 ----
-    BTCreate(&but[BPAD],    ctrlW,BX0,          BY1,BUTTW/2,BUTTH,"",BCLS);
-    BTCreate(&but[BANNOT],  ctrlW,BX0+BUTTW/2+1,BY1,BUTTW/2,BUTTH,"",BCLS);
-  
-! #define NEW_BUTW BUTTW*3/4
-!   BTCreate(&but[BCROP],   ctrlW,BX1            ,BY1,NEW_BUTW,BUTTH,"Crp",    BCLS);
-!   BTCreate(&but[BUNCROP], ctrlW,BX1+NEW_BUTW+1   ,BY1,NEW_BUTW,BUTTH,"UCrp",  BCLS);
-!   BTCreate(&but[BACROP],  ctrlW,BX1+NEW_BUTW*2+2,BY1,NEW_BUTW,BUTTH,"ACrp",BCLS);
-!   BTCreate(&but[BMASKS],  ctrlW,BX1+NEW_BUTW*3+3,BY1,NEW_BUTW,BUTTH,"Mask",BCLS);
-    BTCreate(&but[BABOUT],  ctrlW,BX4,  BY1,BUTTW,BUTTH,"About XV",BCLS);
-    BTCreate(&but[BQUIT],   ctrlW,BX5,  BY1,BUTTW,BUTTH,"Quit",    BCLS);
-  
-***************
-*** 341,356 ****
-    /* have to create menu buttons after XMapSubWindows, as we *don't* want 
-       the popup menus mapped */
-  
-!   MBCreate(&dispMB,   ctrlW, CTRLWIDE - 8 - 112 - 2*(112+2), 5,112,19, 
-  	   "Display",    dispMList,   DMB_MAX,    BCLS);
-!   MBCreate(&conv24MB, ctrlW, CTRLWIDE - 8 - 112 - (112+2),   5,112,19, 
-  	   "24/8 Bit",   conv24MList, CONV24_MAX, BCLS);
-!   MBCreate(&algMB,    ctrlW, CTRLWIDE - 8 - 112,             5,112,19, 
-! 	   "Algorithms", algMList,    ALG_MAX,    BCLS);
-  
-!   MBCreate(&rootMB,   ctrlW, CTRLWIDE - 8 - 112 - 2*(112+2), 5+21,112,19, 
-  	   "Root",       rootMList,   RMB_MAX,    BCLS);
-!   MBCreate(&windowMB, ctrlW, CTRLWIDE - 8 - 112 - (112+2),   5+21,112,19, 
-  	   "Windows",    windowMList, WMB_MAX,    BCLS);
-    MBCreate(&sizeMB,   ctrlW, CTRLWIDE - 8 - 112,             5+21,112,19, 
-  	   "Image Size", sizeMList,   SZMB_MAX,   BCLS);
---- 354,371 ----
-    /* have to create menu buttons after XMapSubWindows, as we *don't* want 
-       the popup menus mapped */
-  
-!   MBCreate(&dispMB,   ctrlW, CTRLWIDE - 8 - 84 - 3*(84+2), 5,84,19, 
-  	   "Display",    dispMList,   DMB_MAX,    BCLS);
-!   MBCreate(&conv24MB, ctrlW, CTRLWIDE - 8 - 84 - 2*(84+2), 5,84,19, 
-  	   "24/8 Bit",   conv24MList, CONV24_MAX, BCLS);
-!   MBCreate(&algMB,    ctrlW, CTRLWIDE - 8 - 84 - (84+2),   5,84,19, 
-! 	   "Algo.", algMList,    ALG_MAX,    BCLS);
-!   MBCreate(&flmaskMB, ctrlW, CTRLWIDE - 8 - 84,          5,84,19, 
-! 	   "FLmask", mskMList,    MSK_MAX,    BCLS);
-  
-!   MBCreate(&rootMB,   ctrlW, CTRLWIDE - 8 - 112 - 2*(112+3), 5+21,112,19, 
-  	   "Root",       rootMList,   RMB_MAX,    BCLS);
-!   MBCreate(&windowMB, ctrlW, CTRLWIDE - 8 - 112 - (112+3),   5+21,112,19, 
-  	   "Windows",    windowMList, WMB_MAX,    BCLS);
-    MBCreate(&sizeMB,   ctrlW, CTRLWIDE - 8 - 112,             5+21,112,19, 
-  	   "Image Size", sizeMList,   SZMB_MAX,   BCLS);
-***************
-*** 437,442 ****
---- 452,458 ----
-    MBRedraw(&dispMB);
-    MBRedraw(&conv24MB);
-    MBRedraw(&algMB);
-+   MBRedraw(&flmaskMB);
-    MBRedraw(&rootMB);
-    MBRedraw(&windowMB);
-    MBRedraw(&sizeMB);
-diff -c --new-file xv-3.10a.org/xvcut.c xv+flmask/xvcut.c
-*** xv-3.10a.org/xvcut.c	Fri Sep  5 21:12:32 1997
---- xv+flmask/xvcut.c	Wed Sep  3 12:49:55 1997
-***************
-*** 101,107 ****
-  static Cursor cutcurs  = (Cursor) 0;
-  
-  
-! 
-  
-  /********************************************/
-  int CutAllowed()
---- 101,108 ----
-  static Cursor cutcurs  = (Cursor) 0;
-  
-  
-! /* FLmask: Mask Select. */
-! void MaskSelect (int,int,int,int);
-  
-  /********************************************/
-  int CutAllowed()
-***************
-*** 1859,1862 ****
---- 1860,1870 ----
-    CoordC2P(cx, cy, px_ret, py_ret);
-  }
-  
-+ 
-+ void MaskSelect (x1,x2,y1,y2)
-+ int x1,x2,y1,y2;
-+ {
-+ 	selrx = x1;  selry = y1;  selrw = x2;  selrh = y2;
-+ 	EnableSelection(1);
-+ }
-  
-diff -c --new-file xv-3.10a.org/xvevent.c xv+flmask/xvevent.c
-*** xv-3.10a.org/xvevent.c	Sun Sep 14 02:29:13 1997
---- xv+flmask/xvevent.c	Wed Sep  3 12:51:25 1997
-***************
-*** 1245,1250 ****
---- 1245,1256 ----
-  	  if (i>=0) DoAlg(i);
-  	  break;
-  	}
-+ 
-+ 	else if (MBClick(&flmaskMB, x,y)) {
-+ 	  i = MBTrack(&flmaskMB);
-+ 	  if (i>=0) DoMask(i);
-+ 	  break;
-+ 	}
-  	
-  	i=ClickCtrl(x,y);
-  	
-***************
-*** 1271,1276 ****
---- 1277,1283 ----
-  	case BCROP:   Crop();                       break;
-  	case BUNCROP: UnCrop();                     break;
-  	case BACROP:  AutoCrop();                   break;
-+ 	case BMASKS:  MaskCr();			    break;	
-  	  
-  	case BPAD:
-  	  {
-***************
-*** 1587,1592 ****
---- 1594,1609 ----
-        else if (ks==XK_d) FakeButtonPress(&but[BCLEAR]);
-  
-        else if (ks==XK_u) DoAlg(ALG_NONE);
-+ 
-+       else if (ks==XK_f) DoMask(MSK_FLMASK);
-+       else if (ks==XK_g) DoMask(MSK_Q0MASK);
-+       else if (ks==XK_h) DoMask(MSK_WIN);
-+       else if (ks==XK_i) DoMask(MSK_MEKO);
-+       else if (ks==XK_j) DoMask(MSK_CPMASK);
-+       else if (ks==XK_l) DoMask(MSK_RGB);
-+       else if (ks==XK_n) DoMask(MSK_BITREV);
-+       else if (ks==XK_w) DoMask(MSK_COLREV);
-+ 
-        else if (ks==XK_b) DoAlg(ALG_BLUR);
-        else if (ks==XK_s) DoAlg(ALG_SHARPEN);
-        else if (ks==XK_e) DoAlg(ALG_EDGE);
-***************
-*** 1625,1631 ****
-      }
-      else {                               /* commands valid in any window */
-        switch (buf[0]) {
-! 	
-  	/* things in dispMB */
-        case 'r':    SelectDispMB(DMB_RAW);           break;
-        case 'd':    SelectDispMB(DMB_DITH);          break;
---- 1642,1648 ----
-      }
-      else {                               /* commands valid in any window */
-        switch (buf[0]) {
-! 
-  	/* things in dispMB */
-        case 'r':    SelectDispMB(DMB_RAW);           break;
-        case 'd':    SelectDispMB(DMB_DITH);          break;
-***************
-*** 1689,1694 ****
---- 1706,1712 ----
-        case 'c':    FakeButtonPress(&but[BCROP]);    break;
-        case 'u':    FakeButtonPress(&but[BUNCROP]);  break;
-        case 'C':    FakeButtonPress(&but[BACROP]);   break;
-+       case 'f':    FakeButtonPress(&but[BMASKS]);   break;
-        case 'P':    FakeButtonPress(&but[BPAD]);     break;
-        case 'A':    FakeButtonPress(&but[BANNOT]);   break;
-  	
-diff -c --new-file xv-3.10a.org/xvimage.c xv+flmask/xvimage.c
-*** xv-3.10a.org/xvimage.c	Fri Sep  5 21:12:33 1997
---- xv+flmask/xvimage.c	Wed Sep  3 12:49:54 1997
-***************
-*** 45,51 ****
-  static int  doPadPaste        PARM((byte *, int, int, int, int));
-  static int  ReadImageFile1    PARM((char *, PICINFO *));
-  
-! 
-  
-  #define DO_CROP 0
-  #define DO_ZOOM 1
---- 45,52 ----
-  static int  doPadPaste        PARM((byte *, int, int, int, int));
-  static int  ReadImageFile1    PARM((char *, PICINFO *));
-  
-! byte *origPic;
-! int  origPicType;
-  
-  #define DO_CROP 0
-  #define DO_ZOOM 1
-***************
-*** 910,915 ****
---- 911,922 ----
-    /* dir=0: 90 degrees clockwise, else 90 degrees counter-clockwise */
-    WaitCursor();
-    
-+   if (origPic!=NULL) {
-+ 	  int tmp_pw,tmp_ph;
-+ 	  tmp_pw=pWIDE;
-+ 	  tmp_ph=pHIGH;
-+ 	  RotatePic(origPic,origPicType,&tmp_pw,&tmp_ph,dir);
-+   }
-    RotatePic(pic, picType, &pWIDE, &pHIGH, dir);
-    
-    /* rotate clipped version and modify 'clip' coords */
-diff -c --new-file xv-3.10a.org/xvmask.c xv+flmask/xvmask.c
-*** xv-3.10a.org/xvmask.c	Thu Jan  1 09:00:00 1970
---- xv+flmask/xvmask.c	Sun Sep 14 07:17:12 1997
-***************
-*** 0 ****
---- 1,912 ----
-+ /*
-+  * xvmask.c - image mask algorithms (FLmask, etc.)
-+  *
-+  *  Contains:
-+  *         void DoMask(int algnum);
-+  */
-+ 
-+ #include "copyright.h"
-+ #include "xv.h"
-+ 
-+ typedef struct { int n; char flg; } CPS;
-+ typedef struct { int n; unsigned short int r; } MKT;
-+ 
-+ /* Flmask */
-+ void cpcode 		PARM ((char *, unsigned char *, int));
-+ void MaskCr 		PARM ((void));
-+ static void FLmask 	PARM ((void));
-+ static void Q0mask 	PARM ((void));
-+ static void WINmask 	PARM ((void));
-+ static void MEKOmask 	PARM ((void));
-+ static void CPmask 	PARM ((void));
-+ static void XOR80 	PARM ((void));
-+ static void RGBchange 	PARM ((void));
-+ static void BitReverse 	PARM ((void));
-+ static void ColReverse 	PARM ((void));
-+ 
-+ /***** Flmask *****/
-+ static void doMaskCr 		PARM ((byte *, int, int, int, int, int, int));
-+ static void doFLmask 		PARM ((byte *, int, int, byte *, int, int, int, int));
-+ static void doCPmask 		PARM ((byte *, int, int, byte *, int, int, int, int, char *));
-+ static void doMEKOmask 		PARM ((byte *, int, int, byte *, int, int, int, int, int));
-+ static void doColReverse 	PARM ((byte *, int, int, byte *, int, int, int, int, int));
-+ static void doRGBchange 	PARM ((byte *, int, int, byte *, int, int, int, int));
-+ static void doQ0mask 		PARM ((byte *, int, int, byte *, int, int, int, int, int, int));
-+ static int *calcFLmask 		PARM ((int, int));
-+ static void move8bit 		PARM ((byte *, byte *, int));
-+ static void move16bit 		PARM ((byte *, byte *, int));
-+ static void moveCP 		PARM ((byte *, byte *, int, int));
-+ static void doWINmask 		PARM ((byte *, int, int, byte *, int, int, int, int));
-+ static void wincp 		PARM ((int, int, byte *, byte *));
-+ 
-+ /******************/
-+ 
-+ int start24bitAlg 		PARM ((byte **, byte **));
-+ void end24bitAlg 		PARM ((byte *, byte *));
-+ void saveOrigPic 		PARM ((void));
-+ void printUTime 		PARM ((char *));
-+ 
-+ byte *origPic;
-+ 
-+ #undef TIMING_TEST
-+ 
-+ #ifdef TIMING_TEST
-+ #include <sys/time.h>
-+ #include <sys/resource.h>
-+ #endif
-+ 
-+ /************************/
-+ void
-+ DoMask (anum)
-+      int anum;
-+ {
-+     switch (anum)
-+     {
-+     case MSK_NONE: 	DoAlg (ALG_NONE); 	break;
-+     case MSK_FLMASK: 	FLmask (); 		break;
-+     case MSK_Q0MASK: 	Q0mask (); 		break;
-+     case MSK_WIN: 	WINmask (); 		break;
-+     case MSK_MEKO: 	MEKOmask (); 		break;
-+     case MSK_CPMASK: 	CPmask (); 		break;
-+     case MSK_RGB: 	RGBchange (); 		break;
-+     case MSK_BITREV: 	BitReverse (); 		break;
-+     case MSK_COLREV: 	ColReverse (); 		break;
-+     }
-+ 
-+     algMB.dim[ALG_NONE] = (origPic == (byte *) NULL);
-+     flmaskMB.dim[ALG_NONE] = (origPic == (byte *) NULL);
-+ }
-+ 
-+ 
-+ /******************************
-+       Flmask:  FLMASK.
-+ ******************************/
-+ static void
-+ FLmask ()
-+ {
-+     byte *pic24, *p24, *tmpPic, *tlp;
-+     char *str;
-+     int i, j, v, maxv, sx, sy, sw, sh;
-+ 
-+     WaitCursor ();
-+ 
-+     if (HaveSelection ()) GetSelRCoords (&sx, &sy, &sw, &sh);
-+     else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; }
-+ 
-+     CropRect2Rect (&sx, &sy, &sw, &sh, 0, 0, pWIDE, pHIGH);
-+ 
-+     str = "Doing FLMASK...";
-+     SetISTR (ISTR_INFO, str);
-+ 
-+     if (start24bitAlg (&pic24, &tmpPic))
-+ 	return;
-+     xvbcopy ((char *) pic24, (char *) tmpPic,
-+ 	     (size_t) (pWIDE * pHIGH * 3));
-+ 
-+     doFLmask (pic24, pWIDE, pHIGH, tmpPic, sx, sy, sw, sh);
-+ 
-+     end24bitAlg (pic24, tmpPic);
-+ }
-+ 
-+ /******************************
-+       Flmask:  BitReverse.
-+ ******************************/
-+ static void
-+ BitReverse ()
-+ {
-+     byte *pic24, *p24, *tmpPic, *tlp;
-+     char *str;
-+     int i, j, v, maxv, sx, sy, sw, sh;
-+ 
-+     WaitCursor ();
-+ 
-+     if (HaveSelection ()) GetSelRCoords (&sx, &sy, &sw, &sh);
-+     else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; }
-+ 
-+     CropRect2Rect (&sx, &sy, &sw, &sh, 0, 0, pWIDE, pHIGH);
-+ 
-+     str = "Doing reverse bit...";
-+     SetISTR (ISTR_INFO, str);
-+ 
-+     if (start24bitAlg (&pic24, &tmpPic))
-+ 	return;
-+     xvbcopy ((char *) pic24, (char *) tmpPic,
-+ 	     (size_t) (pWIDE * pHIGH * 3));
-+ 
-+     doColReverse (pic24, pWIDE, pHIGH, tmpPic, sx, sy, sw, sh, 1);
-+ 
-+     end24bitAlg (pic24, tmpPic);
-+ }
-+ 
-+ /******************************
-+       Flmask:  ColReverse.
-+ ******************************/
-+ static void
-+ ColReverse ()
-+ {
-+     byte *pic24, *p24, *tmpPic, *tlp;
-+     char *str;
-+     int i, j, v, maxv, sx, sy, sw, sh;
-+ 
-+     WaitCursor ();
-+ 
-+     if (HaveSelection ()) GetSelRCoords (&sx, &sy, &sw, &sh);
-+     else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; }
-+ 
-+     CropRect2Rect (&sx, &sy, &sw, &sh, 0, 0, pWIDE, pHIGH);
-+ 
-+     str = "Doing reverse colormap...";
-+     SetISTR (ISTR_INFO, str);
-+ 
-+     if (start24bitAlg (&pic24, &tmpPic))
-+ 	return;
-+     xvbcopy ((char *) pic24, (char *) tmpPic,
-+ 	     (size_t) (pWIDE * pHIGH * 3));
-+ 
-+     doColReverse (pic24, pWIDE, pHIGH, tmpPic, sx, sy, sw, sh, 0);
-+     end24bitAlg (pic24, tmpPic);
-+ }
-+ 
-+ 
-+ /******************************
-+       Flmask:  Q0 MASK.
-+ ******************************/
-+ static void
-+ Q0mask ()
-+ {
-+     int pixX, pixY, err;
-+     static char *labels[] = {"\nOk", "\033Cancel"};
-+     char txt[256];
-+     static char buf[64] = {'8', '\0'};
-+     byte *pic24, *p24, *tmpPic, *tp, *tlp;
-+     char *str;
-+     int i, j, v, maxv, sx, sy, sw, sh;
-+ 
-+     sprintf (txt, "FLmask: Q0mask        \n\nEnter mask pixels size: %s\n", "(ex. '8', '8x16')");
-+ 
-+     i = GetStrPopUp (txt, labels, 2, buf, 64, "0123456789x", 1);
-+     if (i == 1 || strlen (buf) == 0) return;
-+ 
-+     pixX = pixY = err = 0;
-+ 
-+     if (index (buf, 'x'))
-+     {
-+ 	if (sscanf (buf, "%d x %d", &pixX, &pixY) != 2) err++;
-+     }
-+     else
-+     {
-+ 	if (sscanf (buf, "%d", &pixX) != 1) err++;
-+ 	pixY = pixX;
-+     }
-+ 
-+     if (pixX < 1 || pixY < 1 || err)
-+     {
-+ 	ErrPopUp ("Error:  The entered string is not valid.",
-+ 		  "\nWho Cares!");
-+ 	return;
-+     }
-+     WaitCursor ();
-+ 
-+     str = "Doing Q0 MASK...";
-+     SetISTR (ISTR_INFO, str);
-+ 
-+     if (HaveSelection ()) GetSelRCoords (&sx, &sy, &sw, &sh);
-+     else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; }
-+ 
-+     CropRect2Rect (&sx, &sy, &sw, &sh, 0, 0, pWIDE, pHIGH);
-+ 
-+     if (start24bitAlg (&pic24, &tmpPic)) return;
-+     xvbcopy ((char *) pic24, (char *) tmpPic,
-+ 	     (size_t) (pWIDE * pHIGH * 3));
-+ 
-+     doQ0mask (pic24, pWIDE, pHIGH, tmpPic, sx, sy, sw, sh, pixX, pixY);
-+     end24bitAlg (pic24, tmpPic);
-+ }
-+ 
-+ /******************************
-+       Flmask:  RGBchange.
-+ ******************************/
-+ static void
-+ RGBchange ()
-+ {
-+     byte *pic24, *p24, *tmpPic, *tlp;
-+     char *str;
-+     int i, j, v, maxv, sx, sy, sw, sh;
-+ 
-+     WaitCursor ();
-+ 
-+     if (HaveSelection ()) GetSelRCoords (&sx, &sy, &sw, &sh);
-+     else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; }
-+ 
-+     CropRect2Rect (&sx, &sy, &sw, &sh, 0, 0, pWIDE, pHIGH);
-+ 
-+     str = "Doing RGB change...";
-+     SetISTR (ISTR_INFO, str);
-+ 
-+     if (start24bitAlg (&pic24, &tmpPic)) return;
-+     xvbcopy ((char *) pic24, (char *) tmpPic,
-+ 	     (size_t) (pWIDE * pHIGH * 3));
-+ 
-+     doRGBchange (pic24, pWIDE, pHIGH, tmpPic, sx, sy, sw, sh);
-+ 
-+     end24bitAlg (pic24, tmpPic);
-+ }
-+ 
-+ /******************************
-+       Flmask:  WINmask.
-+ ******************************/
-+ static void
-+ WINmask ()
-+ {
-+     byte *pic24, *p24, *tmpPic, *tlp;
-+     char *str;
-+     int i, j, v, maxv, sx, sy, sw, sh;
-+ 
-+     WaitCursor ();
-+ 
-+     if (HaveSelection ()) GetSelRCoords (&sx, &sy, &sw, &sh);
-+     else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; }
-+ 
-+     CropRect2Rect (&sx, &sy, &sw, &sh, 0, 0, pWIDE, pHIGH);
-+ 
-+     str = "Doing WIN mask...";
-+     SetISTR (ISTR_INFO, str);
-+ 
-+     if (start24bitAlg (&pic24, &tmpPic)) return;
-+     xvbcopy ((char *) pic24, (char *) tmpPic,
-+ 	     (size_t) (pWIDE * pHIGH * 3));
-+ 
-+     doWINmask (pic24, pWIDE, pHIGH, tmpPic, sx, sy, sw, sh);
-+ 
-+     end24bitAlg (pic24, tmpPic);
-+ }
-+ 
-+ /******************************
-+       Flmask:  MEKOmask.
-+ ******************************/
-+ static
-+ void
-+ MEKOmask ()
-+ {
-+     static char *labels[] = {"\nForward", "\nBackward"};
-+     char txt[256], key[48];
-+     byte *pic24, *p24, *tmpPic, *tp, *tlp;
-+     char *str;
-+     int i, j, v, maxv, sx, sy, sw, sh;
-+ 
-+     memset (key, 0, 48);
-+ 
-+     sprintf (txt, "FLmask: MEKO mask  \n\n    Select MEKOmask type ",
-+ 	     key);
-+     i = PopUp (txt, labels, 2);
-+ 
-+     WaitCursor ();
-+     str = "Doing MEKOmask...";
-+     SetISTR (ISTR_INFO, str);
-+ 
-+     if (HaveSelection ()) GetSelRCoords (&sx, &sy, &sw, &sh);
-+     else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; }
-+ 
-+     CropRect2Rect (&sx, &sy, &sw, &sh, 0, 0, pWIDE, pHIGH);
-+ 
-+     if (start24bitAlg (&pic24, &tmpPic)) return;
-+     xvbcopy ((char *) pic24, (char *) tmpPic,
-+ 	     (size_t) (pWIDE * pHIGH * 3));
-+     doMEKOmask (pic24, pWIDE, pHIGH, tmpPic, sx, sy, sw, sh, i);
-+     end24bitAlg (pic24, tmpPic);
-+ }
-+ 
-+ /************************/
-+ static void
-+ doMEKOmask (pic24, w, h, results, selx, sely, selw, selh, flag)
-+      byte *pic24, *results;
-+      int w, h, selx, sely, selw, selh, flag;
-+ {
-+     register byte *dst, *src;
-+     register int x, y, i;
-+     register int xmax, ymax;
-+     MKT *mt;
-+ 
-+     printUTime ("start of MEKOmask.");
-+ 
-+     xmax = selw / 16;
-+     ymax = selh / 16;
-+ 
-+     mt = (MKT *) calcMEKO (xmax * ymax);
-+     if (mt == NULL)
-+ 	return;
-+ 
-+     for (i = 0; i < xmax * ymax; i++)
-+     {
-+ 	ProgressMeter (1, (xmax * ymax) - 1, i, "MEKOmask");
-+ 	if ((i & 63) == 0)
-+ 	    WaitCursor ();
-+ 
-+ 	if (flag == 0)
-+ 	{
-+ 	    dst = results + ((sely + ((mt[i].n - 1) / xmax) * 16) * w
-+ 			     + selx + ((mt[i].n - 1) % xmax) * 16) * 3;
-+ 	    src = pic24 + ((sely + (i / xmax) * 16) * w
-+ 			   + selx + (i % xmax) * 16) * 3;
-+ 	}
-+ 	else
-+ 	{
-+ 	    src = pic24 + ((sely + ((mt[i].n - 1) / xmax) * 16) * w
-+ 			   + selx + ((mt[i].n - 1) % xmax) * 16) * 3;
-+ 	    dst = results + ((sely + (i / xmax) * 16) * w
-+ 			     + selx + (i % xmax) * 16) * 3;
-+ 	}
-+ 	move16bit (dst, src, w);
-+     }
-+ 
-+     free (mt);
-+     printUTime ("end of MEKOmask.");
-+ }
-+ 
-+ static void
-+ move16bit (byte * dest, byte * src, int w)
-+ {
-+     int y, x;
-+     byte *tmp1, *tmp2;
-+ 
-+     for (y = 0; y < 16; y++)
-+     {
-+ 	tmp1 = dest + y * w * 3;
-+ 	tmp2 = src + y * w * 3;
-+ 	for (x = 0; x < 16 * 3; x++)
-+ 	{
-+ 	    *tmp1 = *tmp2;
-+ 	    tmp1++;
-+ 	    tmp2++;
-+ 	}
-+     }
-+ }
-+ 
-+ /******************************
-+       Flmask:  CP MASK.
-+ ******************************/
-+ static void
-+ CPmask ()
-+ {
-+     static char *labels[] = {"\nOk", "\033Cancel"};
-+     char buf[64];
-+     char txt[256], key[48];
-+     byte *pic24, *p24, *tmpPic, *tp, *tlp;
-+     char *str;
-+     int i, j, v, maxv, sx, sy, sw, sh;
-+ 
-+     memset (key, 0, 48);
-+     cpcode (fullfname, key, 0);
-+     if (key[0] == 0)
-+     {
-+ 	memset (key, 0, 48);
-+ 	cpcode (fullfname, key, 1);
-+ 	if (key[0] == 0)
-+ 	{
-+ 	    memset (key, 0, 48);
-+ 	    cpcode (fullfname, key, 2);
-+ 	}
-+     }
-+ 
-+     strcpy(buf,key);
-+     if (strlen(buf)==0)strcpy(buf,"SAMPLE");
-+     sprintf (txt, "FLmask: CPmask          \n\nEnter CPmask code: %s \n",
-+     	"(ex. 'SAMPLE')");
-+ 
-+     i = GetStrPopUp (txt, labels, 2, buf, 64, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 1);
-+     if (i == 1 || strlen (buf) == 0) return; 
-+     strcpy(key,buf);
-+ 
-+     /*  Old version.
-+     sprintf (txt, "FLmask: CP mask  \n\n   CP code = %s ", key);
-+     i = PopUp (txt, labels, 2);
-+     if (i == 1) return;
-+     */
-+ 
-+     WaitCursor ();
-+     str = "Doing CP mask...";
-+     SetISTR (ISTR_INFO, str);
-+ 
-+     if (HaveSelection ()) GetSelRCoords (&sx, &sy, &sw, &sh);
-+     else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; }
-+ 
-+     CropRect2Rect (&sx, &sy, &sw, &sh, 0, 0, pWIDE, pHIGH);
-+ 
-+     if (start24bitAlg (&pic24, &tmpPic)) return;
-+     xvbcopy ((char *) pic24, (char *) tmpPic,
-+ 	     (size_t) (pWIDE * pHIGH * 3));
-+     doCPmask (pic24, pWIDE, pHIGH, tmpPic, sx, sy, sw, sh, key);
-+     end24bitAlg (pic24, tmpPic);
-+ }
-+ 
-+ /************************/
-+ static void
-+ doCPmask (pic24, w, h, results, selx, sely, selw, selh, key)
-+      byte *pic24, *results;
-+      int w, h, selx, sely, selw, selh;
-+      char *key;
-+ {
-+     register byte *dst, *src;
-+     register int x, y, i;
-+     register int xmax, ymax;
-+     CPS *cps;
-+ 
-+     printUTime ("start of CPmask.");
-+ 
-+     xmax = selw / 8;
-+     ymax = selh / 8;
-+ 
-+     cps = (CPS *) calcCPmask (key, xmax * ymax);
-+ 
-+     for (i = 0; i < xmax * ymax; i++)
-+     {
-+ 	ProgressMeter (1, (xmax * ymax) - 1, i, "CPmask");
-+ 	if ((i & 63) == 0) WaitCursor ();
-+ 
-+ 	dst = results + ((sely + (cps[i].n / xmax) * 8) * w
-+ 			 + selx + (cps[i].n % xmax) * 8) * 3;
-+ 	src = pic24 + ((sely + (i / xmax) * 8) * w
-+ 		       + selx + (i % xmax) * 8) * 3;
-+ 	moveCP (dst, src, w, cps[i].flg);
-+     }
-+ 
-+     free (cps);
-+     printUTime ("end of CPmask.");
-+ }
-+ 
-+ static void
-+ moveCP (byte * dest, byte * src, int w, int cp_flag)
-+ {
-+     int y, x;
-+     byte *tmp1, *tmp2;
-+ 
-+     if (cp_flag == 0)
-+     {
-+ 	for (y = 0; y < 8; y++)
-+ 	{
-+ 	    tmp1 = dest + y * w * 3;
-+ 	    tmp2 = src + y * w * 3;
-+ 	    for (x = 0; x < 8 * 3; x += 3)
-+ 	    {
-+ 		tmp1[0] = (byte) ~ tmp2[1];
-+ 		tmp1[1] = (byte) ~ tmp2[0];
-+ 		tmp1[2] = (byte) ~ tmp2[2];
-+ 		tmp1 += 3;
-+ 		tmp2 += 3;
-+ 	    }
-+ 	}
-+     }
-+     else
-+     {
-+ 	for (y = 0; y < 8; y++)
-+ 	{
-+ 	    tmp1 = dest + y * 3;
-+ 	    tmp2 = src + y * w * 3;
-+ 	    for (x = 0; x < 8 * 3; x += 3)
-+ 	    {
-+ 		tmp1[0] = (byte) ~ tmp2[1];
-+ 		tmp1[1] = (byte) ~ tmp2[0];
-+ 		tmp1[2] = (byte) ~ tmp2[2];
-+ 		tmp1 += w * 3;
-+ 		tmp2 += 3;
-+ 	    }
-+ 	}
-+     }
-+ }
-+ 
-+ /************************/
-+ static void
-+ doFLmask (pic24, w, h, results, selx, sely, selw, selh)
-+      byte *pic24, *results;
-+      int w, h, selx, sely, selw, selh;
-+ {
-+     register byte *dst, *src;
-+     register int x, y, i;
-+     register int *ar, xmax, ymax;
-+ 
-+     printUTime ("start of FLMASK.");
-+ 
-+     xmax = selw / 8;
-+     ymax = selh / 8;
-+     ar = (int *) calcFLmask (xmax, ymax);
-+ 
-+     for (i = 0; i < xmax * ymax; i++)
-+     {
-+ 	ProgressMeter (1, (xmax * ymax * 2) - 1,
-+ 		i + xmax * ymax, "FLMASK");
-+ 	if ((i & 63) == 0) WaitCursor ();
-+ 
-+ 	dst=results+((sely+(ar[xmax*ymax-i-1]/xmax)*8)*w
-+ 		+selx+(ar[xmax*ymax-i-1]%xmax)*8)*3;
-+ 	src=pic24+((sely+(ar[i]/xmax)*8)*w
-+ 		+selx+(ar[i]%xmax)*8)*3;
-+ 	if (ar[i] != ar[xmax * ymax - i - 1])
-+ 	    move8bit (dst, src, w);
-+     }
-+ 
-+     free (ar);
-+     printUTime ("end of FLMASK.");
-+ }
-+ 
-+ static int *
-+ calcFLmask (int xmax, int ymax)
-+ {
-+     int *spc, *tmp_ar;
-+     int i, l, x, y, c;
-+     struct direction { int x; int y; } dir[4];
-+ 
-+     dir[0].x = 0;  dir[0].y = -1;
-+     dir[1].x = -1; dir[1].y = 0;
-+     dir[2].x = 0;  dir[2].y = 1;
-+     dir[3].x = 1;  dir[3].y = 0;
-+ 
-+     spc = (int *) malloc (sizeof (int) * xmax * ymax);
-+     tmp_ar = (int *) malloc (sizeof (int) * xmax * ymax);
-+ 
-+     c = 0;
-+     for (l = 0; l < ymax; l++)
-+     {
-+ 	for (i = 0; i < xmax; i++)
-+ 	{
-+ 	    spc[c] = c;
-+ 	    c++;
-+ 	}
-+     }
-+ 
-+     c = 3;
-+     x = 0;
-+     y = ymax - 1;
-+     for (i = 0; i < xmax * ymax; i++)
-+     {
-+ 	ProgressMeter (1, (xmax * ymax * 2) - 1, i, "FLmask");
-+ 	if ((i & 63) == 0) WaitCursor ();
-+ 
-+ 	tmp_ar[i] = spc[x + y * xmax];
-+ 	if ((x + dir[c].x) == xmax || (x + dir[c].x) < 0)
-+ 	{
-+ 	    c++;
-+ 	    if (c == 4) c = 0;
-+ 	}
-+ 	if ((y + dir[c].y) == ymax || (y + dir[c].y) < 0)
-+ 	{
-+ 	    c++;
-+ 	    if (c == 4) c = 0;
-+ 	}
-+ 	for (l = 0; l < i; l++)
-+ 	{
-+ 		if(spc[x+(dir[c].x)+(y+(dir[c].y))*xmax]==tmp_ar[l])
-+ 	    {
-+ 		c++;
-+ 		if (c == 4) c = 0;
-+ 		break;
-+ 	    }
-+ 	}
-+ 	x = x + dir[c].x;
-+ 	y = y + dir[c].y;
-+     }
-+     free (spc);
-+     return (tmp_ar);
-+ }
-+ 
-+ static void
-+ move8bit (byte * dest, byte * src, int w)
-+ {
-+     int y, x;
-+     byte *tmp1, *tmp2;
-+ 
-+     for (y = 0; y < 8; y++)
-+     {
-+ 	tmp1 = dest + y * w * 3;
-+ 	tmp2 = src + y * w * 3;
-+ 	for (x = 0; x < 8 * 3; x++)
-+ 	{
-+ 	    *tmp1 = (byte) ~ (*tmp2);
-+ 	    tmp1++;
-+ 	    tmp2++;
-+ 	}
-+     }
-+ }
-+ 
-+ /************************/
-+ static void
-+ doColReverse (pic24, w, h, results, selx, sely, selw, selh, bit_flag)
-+      byte *pic24, *results;
-+      int w, h, selx, sely, selw, selh, bit_flag;
-+ {
-+     register byte *p24;
-+     register byte *rp;
-+     register int x, y;
-+ 
-+     printUTime ("start of Reverse.");
-+ 
-+     for (y = sely; y < sely + selh; y++)
-+     {
-+ 
-+ 	ProgressMeter (sely + 1, (sely + selh - 1) - 1, y, "Reverse");
-+ 	if ((y & 63) == 0) WaitCursor ();
-+ 
-+ 	rp = results + (y * w + selx) * 3;
-+ 	p24 = pic24 + (y * w + selx) * 3;
-+ 
-+ 	if (bit_flag == 1)
-+ 	{
-+ 	    /* BitReverse. */
-+ 	    for (x = selx; x < selx + selw * 3; x++, p24++, rp++)
-+ 		*rp = (byte) ~ (*p24);
-+ 
-+ 	}
-+ 	else
-+ 	{
-+ 	    /* ColReverse. */
-+ 	    for (x = selx; x < selx + selw * 3; x++, p24++, rp++)
-+ 		*rp = *p24 ^ 0x80;
-+ 	}
-+     }
-+     printUTime ("end of Reverse.");
-+ }
-+ 
-+ /************************/
-+ static void
-+ doQ0mask (pic24, w, h, results, selx, sely, selw, selh, pixX, pixY)
-+      byte *pic24, *results;
-+      int w, h, selx, sely, selw, selh, pixX, pixY;
-+ {
-+     register byte *p24;
-+     register int bperlin, rsum, gsum, bsum;
-+     byte *rp;
-+     int i, x, y;
-+     int skip, y0, x0;
-+ 
-+     printUTime ("start of Q0mask.");
-+ 
-+     bperlin = w * 3;
-+ 
-+     for (y = sely; y < sely + ((selh / pixY) * pixY); y++)
-+     {
-+ 	ProgressMeter(sely+1,(sely+((selh/pixY)*pixY))-1,y,"Q0mask");
-+ 	if ((y & 63) == 0) WaitCursor ();
-+ 
-+ 	rp = results + (y * w + selx) * 3;
-+ 	y0 = y - sely;
-+ 	p24=pic24+((((y0/pixY+1)*pixY)-1-(y0%pixY)+sely)*w+selx)*3;
-+ 
-+ 	for(x=selx;x<selx+((selw/pixX)*pixX);x++,p24+=3,rp+=3)
-+ 	{
-+ 	    x0 = x - selx;
-+ 	    skip = (pixX - 1 - 2 * (x0 % pixX)) * 3;
-+ 
-+ 	    rp[0] = (byte) ~ p24[skip];
-+ 	    rp[1] = (byte) ~ p24[skip + 1];
-+ 	    rp[2] = (byte) ~ p24[skip + 2];
-+ 	}
-+     }
-+     printUTime ("end of Q0 MASK.");
-+ }
-+ 
-+ /************************/
-+ static void
-+ doWINmask (pic24, w, h, results, selx, sely, selw, selh)
-+      byte *pic24, *results;
-+      int w, h, selx, sely, selw, selh;
-+ {
-+     register byte *p24;
-+     register byte *rp;
-+     register int x, y;
-+ 
-+     printUTime ("start of WIN mask.");
-+ 
-+     for (y = sely; y < sely + selh; y++)
-+     {
-+ 
-+ 	ProgressMeter (sely + 1, (sely + selh - 1) - 1, y, "WINmask");
-+ 	if ((y & 63) == 0) WaitCursor ();
-+ 
-+ 	rp = results + (y * w + selx) * 3;
-+ 	p24 = pic24 + (y * w + selx) * 3;
-+ 
-+ 	for(x=selx;x<selx+(selw/16)*16*3;x+=48,p24+=48,rp+=48)
-+ 	{
-+ 	    wincp ( 0,12, p24, rp);
-+ 	    wincp ( 1, 8, p24, rp);
-+ 	    wincp ( 2, 6, p24, rp);
-+ 	    wincp ( 3,15, p24, rp);
-+ 	    wincp ( 4, 9, p24, rp);
-+ 	    wincp ( 5,13, p24, rp);
-+ 	    wincp ( 6, 2, p24, rp);
-+ 	    wincp ( 7,11, p24, rp);
-+ 	    wincp ( 8, 1, p24, rp);
-+ 	    wincp ( 9, 4, p24, rp);
-+ 	    wincp (10,14, p24, rp);
-+ 	    wincp (11, 7, p24, rp);
-+ 	    wincp (12, 0, p24, rp);
-+ 	    wincp (13, 5, p24, rp);
-+ 	    wincp (14,10, p24, rp);
-+ 	    wincp (15, 3, p24, rp);
-+ 	}
-+     }
-+     printUTime ("end of WIN mask.");
-+ }
-+ 
-+ static void
-+ wincp (int src, int dst, byte * p24, byte * rp)
-+ {
-+     *(rp + dst * 3) = *(p24 + src * 3);
-+     *(rp + dst * 3 + 1) = *(p24 + src * 3 + 1);
-+     *(rp + dst * 3 + 2) = *(p24 + src * 3 + 2);
-+ }
-+ 
-+ /************************/
-+ static void
-+ doRGBchange (pic24, w, h, results, selx, sely, selw, selh)
-+      byte *pic24, *results;
-+      int w, h, selx, sely, selw, selh;
-+ {
-+     register byte *p24;
-+     register byte *rp;
-+     register int x, y;
-+ 
-+     printUTime ("start of RGB change.");
-+ 
-+     for (y = sely; y < sely + selh; y++)
-+     {
-+ 
-+ 	ProgressMeter (sely + 1, (sely + selh - 1) - 1, y, "Change");
-+ 	if ((y & 63) == 0) WaitCursor ();
-+ 
-+ 	rp = results + (y * w + selx) * 3;
-+ 	p24 = pic24 + (y * w + selx) * 3;
-+ 
-+ 	for (x = selx; x < selx + selw * 3; x += 3, p24 += 3, rp += 3)
-+ 	{
-+ 	    *rp = *(p24 + 1);
-+ 	    *(rp + 1) = *(p24 + 2);
-+ 	    *(rp + 2) = *(p24);
-+ 	}
-+     }
-+     printUTime ("end of Reverse.");
-+ }
-+ 
-+ 
-+ /******************************
-+       Flmask:  MaskCrop.
-+ ******************************/
-+ void
-+ MaskCr ()
-+ {
-+     byte *pic24, *p24, *tmpPic, *tlp;
-+     char str[] = "Doing AutoMaskCrop...";
-+     int i, j, v, maxv, sx, sy, sw, sh;
-+ 
-+     WaitCursor ();
-+ 
-+     if (HaveSelection ())
-+ 	GetSelRCoords (&sx, &sy, &sw, &sh);
-+     else
-+     {
-+ 	sx = 0;
-+ 	sy = 0;
-+ 	sw = pWIDE - 1;
-+ 	sh = pHIGH - 1;
-+     }
-+ 
-+     CropRect2Rect (&sx, &sy, &sw, &sh, 0, 0, pWIDE, pHIGH);
-+ 
-+     SetISTR (ISTR_INFO, str);
-+ 
-+     if (start24bitAlg (&pic24, &tmpPic)) return;
-+     xvbcopy ((char *) pic24, (char *) tmpPic,
-+ 	     (size_t) (pWIDE * pHIGH * 3));
-+ 
-+     doMaskCr (pic24, pWIDE, pHIGH, sx, sy, sw, sh);
-+ 
-+     end24bitAlg (pic24, tmpPic);
-+ }
-+ 
-+ /************************/
-+ static void
-+ doMaskCr (pic24, w, h, selx, sely, selw, selh)
-+      byte *pic24;
-+      int w, h, selx, sely, selw, selh;
-+ {
-+     register byte *p24, *p24u;
-+     register int x, y;
-+     double edge, *edgeX, *edgeY, maxX, maxY, tmp;
-+     int x1, x2, y1, y2, i;
-+     int xp1, xp2, yp1, yp2;
-+ 
-+     printUTime ("start of MaskCrop.");
-+ 
-+     edgeX = (double *) malloc (sizeof (edge) * selw);
-+     edgeY = (double *) malloc (sizeof (edge) * selh);
-+     memset (edgeX, 0, sizeof (edge) * selw);
-+     memset (edgeY, 0, sizeof (edge) * selh);
-+ 
-+     for (y = sely + 1; y < sely + selh - 1; y++)
-+     {
-+ 	ProgressMeter (sely + 1, (sely + selh - 1) - 1, y, "Search");
-+ 	if ((y & 63) == 0) WaitCursor ();
-+ 
-+ 	p24u = pic24 + ((y - 1) * w + selx) * 3;
-+ 	p24 = pic24 + (y * w + selx) * 3;
-+ 
-+ #define DBL(x)	((x)*(x))
-+ 	for (x = selx; x < selx + selw * 3; x += 3)
-+ 	{
-+ 	    edgeX[(x - selx) / 3] += (double) DBL (p24[3] - p24[0]) +
-+ 		DBL (p24[4] - p24[1]) + DBL (p24[5] - p24[2]);
-+ 	    edgeY[y - sely] += (double) DBL (p24[0] - p24u[0]) +
-+ 		DBL (p24[1] - p24u[1]) + DBL (p24[2] - p24u[2]);
-+ 	    p24u += 3;
-+ 	    p24 += 3;
-+ 	}
-+     }
-+ 
-+     maxX = 0;
-+     for (x = 0; x < selw; x++)
-+     {
-+ 	if (maxX < edgeX[x])
-+ 	    maxX = edgeX[x];
-+     }
-+     maxY = 0;
-+     for (y = 0; y < selh; y++)
-+     {
-+ 	if (maxY < edgeY[y])
-+ 	    maxY = edgeY[y];
-+     }
-+ 
-+     tmp = 0.3;	/* ���������դο��ͤ�Ŭ���˷��ꤵ��ޤ���(?)�� */
-+     for (;;)
-+     {
-+ 	xp1 = 0; xp2 = 0;
-+ 	yp1 = 0; yp2 = 0;
-+ 	for (x = 1; x < selw - 1; x++) {
-+ 	    if (edgeX[x] > maxX * tmp) { xp1 = x; break; }
-+ 	}
-+ 	for (x = selw - 1; x >= 1; x--) {
-+ 	    if (edgeX[x] > maxX * tmp) { xp2 = x; break; }
-+ 	}
-+ 	for (y = 1; y < selh - 1; y++) {
-+ 	    if (edgeY[y] >= maxY * tmp) { yp1 = y; break; }
-+ 	}
-+ 	for (y = selh - 1; y >= 1; y--) {
-+ 	    if (edgeY[y] >= maxY * tmp) { yp2 = y; break; }
-+ 	}
-+ 	if(xp2-xp1 > 4 && yp2-yp1 > 4 && xp1*xp2*yp1*yp2 != 0) break;
-+ 
-+ 	if (tmp <= 0.01) return;
-+ 	else tmp = tmp / 2.0;
-+     }
-+ 
-+     free (edgeY);
-+     free (edgeX);
-+ 
-+     x1 = xp1 + selx + 1;
-+     x2 = xp2 - xp1;
-+     y1 = yp1 + sely;
-+     y2 = yp2 - yp1;
-+ 
-+     /* crop1(x1,y1,x2,y2,0);  <-- DO_CROP  */
-+     MaskSelect (x1, x2, y1, y2);
-+ 
-+     printUTime ("end of MaskSearch.");
-+ }
-diff -c --new-file xv-3.10a.org/xvmeko.c xv+flmask/xvmeko.c
-*** xv-3.10a.org/xvmeko.c	Thu Jan  1 09:00:00 1970
---- xv+flmask/xvmeko.c	Tue Sep  9 21:59:21 1997
-***************
-*** 0 ****
---- 1,962 ----
-+ #include <stdio.h>
-+ #include <stdlib.h>
-+ 
-+ unsigned short int mekornd[9216] = {
-+     0x2064,0x16F2,0x0AD2,0x0E1F,0x0A31,0x17CE,0x0DE8,0x1C41,0x0878,0x1349,
-+     0x184B,0x1B51,0x0841,0x19A3,0x0820,0x0C12,0x1117,0x2117,0x1BC1,0x1F13,
-+     0x19ED,0x0230,0x040D,0x1957,0x116D,0x0FD6,0x1E4F,0x0C28,0x1D28,0x077A,
-+     0x205E,0x053D,0x0686,0x13AC,0x1A0E,0x16DE,0x1607,0x1504,0x0CED,0x088F,
-+     0x159D,0x0EF4,0x0C3F,0x1120,0x225D,0x0B43,0x1B2D,0x184C,0x043D,0x1221,
-+     0x0A12,0x225C,0x04F0,0x1399,0x1289,0x1899,0x1B0B,0x1A2B,0x1383,0x084A,
-+     0x1DEE,0x118C,0x2395,0x00F5,0x16CD,0x0A9C,0x0E73,0x1FF9,0x0288,0x0014,
-+     0x0EA9,0x17B3,0x13AF,0x03A7,0x0CE7,0x20AC,0x0E93,0x1F1E,0x207D,0x00B4,
-+     0x1833,0x1DD4,0x09FD,0x0819,0x052A,0x16C9,0x1893,0x2134,0x0D8F,0x1597,
-+     0x1573,0x22B5,0x1B55,0x04CE,0x0BB1,0x02FD,0x0685,0x0AAD,0x18DA,0x0A6C,
-+     0x0E92,0x15C5,0x0695,0x0A70,0x1D67,0x11D0,0x0CC9,0x1E8A,0x12AC,0x0EF1,
-+     0x220D,0x04FB,0x1034,0x00F4,0x0E6D,0x1F90,0x1649,0x108C,0x0AAA,0x1160,
-+     0x238F,0x056C,0x0E0C,0x20A7,0x0658,0x0502,0x1973,0x0FB2,0x12D8,0x0D94,
-+     0x1201,0x03BA,0x167E,0x237F,0x0D38,0x00E0,0x2183,0x201B,0x1192,0x08C1,
-+     0x1240,0x20CB,0x073F,0x10DE,0x1379,0x163A,0x1D2E,0x0A15,0x19DB,0x02CD,
-+     0x01BC,0x032C,0x23B9,0x1FD2,0x1E7D,0x1518,0x2148,0x0E72,0x235E,0x1DF0,
-+     0x0538,0x1BCB,0x0926,0x1C17,0x0134,0x175A,0x1872,0x0ECF,0x06EB,0x0045,
-+     0x100D,0x06EF,0x1EFE,0x0777,0x006C,0x0386,0x1DA4,0x1351,0x07AB,0x21EA,
-+     0x1FF2,0x1017,0x182B,0x047B,0x1531,0x19DE,0x0F3A,0x186C,0x052E,0x1A15,
-+     0x23E5,0x1901,0x0B44,0x0458,0x20E8,0x20AF,0x0793,0x23DD,0x1F3B,0x17D4,
-+     0x1879,0x2262,0x101D,0x224A,0x0D12,0x01F0,0x1B7D,0x1BEE,0x224F,0x04C7,
-+     0x1D8F,0x132F,0x1E94,0x0F26,0x2193,0x164A,0x1B0A,0x22F2,0x0393,0x00DA,
-+     0x0924,0x1DCD,0x17A2,0x038D,0x0263,0x10AA,0x2344,0x089B,0x0085,0x0C80,
-+     0x196A,0x16E7,0x09C5,0x0903,0x08D3,0x21AE,0x0255,0x049D,0x1F67,0x207C,
-+     0x0CCA,0x055C,0x0E8F,0x1FD3,0x15A9,0x1B9E,0x1640,0x0983,0x08CC,0x0CE6,
-+     0x0E5E,0x15CF,0x2248,0x0BDB,0x1FB4,0x1BD6,0x08B2,0x092B,0x10B7,0x1832,
-+     0x1558,0x214F,0x005A,0x1E9D,0x15DC,0x1DAB,0x0435,0x199F,0x0B42,0x23DA,
-+     0x1BCD,0x1339,0x095C,0x1A89,0x08FA,0x2379,0x0F74,0x060A,0x1408,0x0EB3,
-+     0x1559,0x00AC,0x0D0D,0x14D4,0x07B1,0x1ACC,0x1707,0x03C4,0x0FBE,0x0C76,
-+     0x21A8,0x0A0B,0x0D60,0x1E97,0x1625,0x117A,0x0415,0x008F,0x1F9C,0x00A6,
-+     0x19C5,0x04E7,0x21F2,0x0E08,0x17BA,0x10B9,0x0656,0x22C4,0x2048,0x070E,
-+     0x15CB,0x01F3,0x0488,0x1167,0x14A2,0x08CF,0x0AC2,0x12BE,0x20A1,0x0501,
-+     0x01B2,0x004B,0x10E2,0x09C9,0x01FA,0x05B7,0x0E20,0x0D55,0x003B,0x1413,
-+     0x1F7E,0x1A03,0x06CB,0x21C4,0x1FA5,0x1E15,0x0C14,0x0A93,0x133B,0x0498,
-+     0x1EB7,0x0BFB,0x1774,0x1F14,0x21D0,0x1930,0x04FF,0x0245,0x1B0C,0x2368,
-+     0x198C,0x1487,0x08C2,0x20A0,0x18BE,0x010B,0x16AE,0x1C65,0x08EA,0x23E8,
-+     0x09D0,0x158B,0x237D,0x1F72,0x2051,0x188E,0x04A7,0x2074,0x1E91,0x1557,
-+     0x07DC,0x2136,0x0F50,0x234C,0x1602,0x0572,0x20DB,0x00B8,0x1929,0x17A5,
-+     0x0E82,0x0D86,0x03BD,0x1B02,0x2323,0x0445,0x1AB6,0x02B4,0x0D1A,0x1524,
-+     0x03FE,0x1231,0x189A,0x18DE,0x15F6,0x17EB,0x0B89,0x14CA,0x0910,0x09B9,
-+     0x1380,0x0559,0x169D,0x22A0,0x00D0,0x0F7A,0x0FB7,0x1FFF,0x1996,0x06FF,
-+     0x0FA5,0x1C83,0x0C61,0x1ECE,0x061F,0x193E,0x232E,0x048E,0x0B5A,0x03D4,
-+     0x1CF9,0x0B0F,0x2274,0x18EF,0x1CB5,0x1CAF,0x18B1,0x0FF3,0x0712,0x19CD,
-+     0x1E6E,0x0A25,0x1375,0x0525,0x19DA,0x0042,0x0BF4,0x1FFC,0x03D0,0x1974,
-+     0x1C33,0x0DB3,0x0180,0x0E8C,0x22EB,0x1121,0x00A1,0x02FC,0x1B3C,0x1D68,
-+     0x15FD,0x22BF,0x1C5D,0x15AB,0x1BB7,0x00F6,0x2219,0x09FB,0x18DF,0x19D5,
-+     0x1396,0x044A,0x1381,0x218D,0x1AEF,0x0603,0x22E1,0x237B,0x0BD3,0x110B,
-+     0x171A,0x201F,0x0C92,0x059C,0x1B10,0x14AB,0x21E1,0x074B,0x1C8D,0x083E,
-+     0x1684,0x117C,0x0D73,0x1740,0x0F45,0x016C,0x153E,0x15FE,0x08C5,0x2080,
-+     0x166E,0x05A2,0x1897,0x18EB,0x0038,0x1F4B,0x1EBA,0x07F5,0x0DB4,0x22E9,
-+     0x0977,0x0724,0x0287,0x0DCB,0x0EFD,0x11A7,0x0C66,0x1393,0x078E,0x2017,
-+     0x1849,0x03B6,0x175F,0x1E05,0x1FB7,0x0AF6,0x03AC,0x02FF,0x10EE,0x07E6,
-+     0x1529,0x1EC1,0x005D,0x14BB,0x074F,0x098E,0x214B,0x0EB2,0x0B96,0x1940,
-+     0x11FB,0x0721,0x180F,0x2346,0x1163,0x1BE9,0x1BC4,0x1B7E,0x03D7,0x19C0,
-+     0x23F6,0x0C0C,0x1F60,0x0CD4,0x1882,0x22FB,0x21EB,0x0948,0x122B,0x0474,
-+     0x121B,0x09C2,0x17CF,0x1993,0x2112,0x2259,0x2292,0x142A,0x00D2,0x125B,
-+     0x0E63,0x0F81,0x0E2E,0x01EC,0x0D11,0x1791,0x2353,0x0BC5,0x239B,0x1B97,
-+     0x1F68,0x173C,0x1DAD,0x0778,0x165C,0x09E2,0x0D5D,0x0E9C,0x1FBB,0x22FF,
-+     0x14DF,0x0F96,0x1D08,0x1ECD,0x2114,0x10EF,0x21F4,0x0F04,0x040B,0x07D6,
-+     0x01E1,0x1C95,0x0441,0x163D,0x17EE,0x032B,0x0FE6,0x2273,0x18F5,0x21FA,
-+     0x0ED3,0x18DC,0x0001,0x014C,0x1144,0x032A,0x0717,0x1D14,0x04F1,0x0225,
-+     0x14E3,0x026F,0x147D,0x076C,0x135B,0x1966,0x15BF,0x12D3,0x0785,0x097D,
-+     0x036F,0x1B88,0x1CE2,0x1360,0x0A8B,0x1FBC,0x101F,0x005B,0x0A29,0x1303,
-+     0x1CD5,0x0706,0x066E,0x04D7,0x0D9C,0x1B25,0x014F,0x1182,0x1FF0,0x1452,
-+     0x0683,0x096C,0x0F79,0x0C1C,0x2394,0x1306,0x1FAD,0x081F,0x1A7D,0x181F,
-+     0x0D45,0x219A,0x167A,0x1813,0x0329,0x1876,0x126D,0x097C,0x0EB6,0x1820,
-+     0x1374,0x2121,0x11E4,0x0AB4,0x071E,0x03AB,0x0FA1,0x1E0A,0x1E59,0x1C85,
-+     0x0197,0x1CCA,0x1148,0x1A81,0x0D04,0x1955,0x1705,0x0ED9,0x01D9,0x102E,
-+     0x0480,0x0475,0x1641,0x0101,0x18A1,0x09B3,0x1B5F,0x1CFD,0x054E,0x06D5,
-+     0x1A95,0x0301,0x05F6,0x150C,0x0086,0x04DC,0x05BD,0x004E,0x043C,0x1020,
-+     0x136B,0x0B6D,0x00B3,0x0FCA,0x1CFC,0x16D4,0x1E32,0x09E3,0x1588,0x1B58,
-+     0x0A9A,0x036A,0x0C8B,0x11EF,0x1823,0x0AF3,0x1448,0x1DCA,0x1931,0x05D6,
-+     0x0CF9,0x1207,0x063F,0x0F88,0x0D46,0x1FCE,0x162F,0x08CD,0x13A6,0x181B,
-+     0x2107,0x2197,0x01AF,0x09A1,0x07AA,0x01BF,0x1932,0x118F,0x1EB0,0x0A7F,
-+     0x087D,0x0E2F,0x1FE0,0x12EF,0x1BEF,0x1D4D,0x1C19,0x1856,0x1D19,0x1294,
-+     0x1D57,0x176C,0x02DC,0x101C,0x22B7,0x0135,0x17B5,0x0310,0x1548,0x1D2A,
-+     0x1626,0x0B31,0x1E7C,0x1BE7,0x140C,0x1B81,0x019E,0x1F11,0x11C6,0x0939,
-+     0x2182,0x05BB,0x06C8,0x00E4,0x0529,0x1B26,0x13FC,0x1202,0x1A32,0x07F3,
-+     0x098D,0x0E58,0x01B7,0x1DB0,0x0152,0x189C,0x2073,0x0D56,0x1D5B,0x0D36,
-+     0x09CC,0x18A8,0x0E5D,0x143C,0x1063,0x16CA,0x13CA,0x1E38,0x2359,0x1B9C,
-+     0x0A8A,0x0A84,0x046C,0x0FF5,0x0D97,0x0A27,0x0E6B,0x10C2,0x1619,0x0DEE,
-+     0x1DDC,0x0576,0x01C8,0x1069,0x0D4F,0x20AD,0x198B,0x09D5,0x0B22,0x033F,
-+     0x20AA,0x1CCC,0x005F,0x0D68,0x19CB,0x1081,0x1D97,0x0AE2,0x1C5C,0x0F05,
-+     0x123C,0x0B20,0x2371,0x0CEB,0x00CB,0x1F06,0x00BB,0x191B,0x0117,0x2376,
-+     0x17BC,0x19CE,0x216D,0x1F07,0x1455,0x14B8,0x1C6A,0x1B80,0x0E5B,0x1851,
-+     0x0172,0x23AA,0x0A22,0x0D7F,0x0720,0x0136,0x0666,0x1019,0x13FE,0x1ACE,
-+     0x0B51,0x0C24,0x050E,0x1873,0x08AE,0x16AB,0x1A90,0x0A76,0x1552,0x19C4,
-+     0x0FAB,0x0ABC,0x06C1,0x050A,0x0E49,0x1FCB,0x11A1,0x1387,0x0C47,0x2174,
-+     0x0570,0x1BA2,0x1104,0x00AD,0x1444,0x2383,0x08C7,0x1127,0x056D,0x0D7E,
-+     0x1CB9,0x02FA,0x100A,0x0C51,0x0FBA,0x1A94,0x128B,0x1859,0x2190,0x1B20,
-+     0x1F56,0x186F,0x01D8,0x01F2,0x10A3,0x192C,0x0528,0x211B,0x1C92,0x0239,
-+     0x0334,0x14C0,0x1D5A,0x1DE9,0x12F2,0x0A44,0x17CA,0x0F62,0x15D8,0x069F,
-+     0x1D07,0x11FA,0x0816,0x153C,0x1C81,0x02F1,0x2342,0x23F7,0x0160,0x117F,
-+     0x1BB9,0x1039,0x2063,0x1E3B,0x0C57,0x13E1,0x139A,0x1F12,0x15EA,0x1D48,
-+     0x19C3,0x1A31,0x050C,0x13C5,0x0091,0x13A7,0x1765,0x01F8,0x1B75,0x0EA2,
-+     0x1B6D,0x09EC,0x0312,0x113D,0x012D,0x18C3,0x08A0,0x0452,0x0D87,0x167D,
-+     0x1DA9,0x0FF6,0x2340,0x19AD,0x007B,0x0CBC,0x1D1A,0x1AE4,0x09B4,0x11B2,
-+     0x1B2C,0x14CE,0x1C5E,0x0222,0x162D,0x0C63,0x0584,0x0040,0x1D1F,0x1AF7,
-+     0x0C96,0x132C,0x086B,0x136F,0x19E1,0x0DDA,0x22A5,0x22F7,0x2249,0x20C5,
-+     0x0A19,0x0FDC,0x1834,0x0C58,0x1C56,0x01DC,0x1D84,0x0A66,0x2336,0x0955,
-+     0x0900,0x1ED6,0x0361,0x0D58,0x1D4B,0x10C0,0x1852,0x040E,0x0F0B,0x1978,
-+     0x12E8,0x2261,0x05FE,0x0BD2,0x13C8,0x0F3C,0x07A4,0x18CC,0x0A00,0x0642,
-+     0x0D65,0x1DA8,0x0D15,0x2168,0x05B5,0x0DF8,0x2352,0x0408,0x07D9,0x15FA,
-+     0x0E88,0x0C85,0x1FAB,0x16F5,0x1798,0x12BD,0x1FB3,0x09B6,0x12C2,0x17FA,
-+     0x1BE6,0x1434,0x1DD6,0x0E18,0x08F5,0x07A7,0x0AA9,0x0099,0x1E5B,0x09F4,
-+     0x1C02,0x0737,0x08B9,0x0504,0x0C05,0x0813,0x1716,0x06BE,0x1ECA,0x1995,
-+     0x0D63,0x0745,0x1870,0x221D,0x0C6E,0x20D2,0x23C0,0x11D8,0x0D23,0x1924,
-+     0x0D34,0x10AF,0x2339,0x1F37,0x0ACC,0x228E,0x20B1,0x127E,0x0293,0x0294,
-+     0x18D2,0x0F77,0x1C89,0x035F,0x1441,0x0143,0x219C,0x042F,0x092E,0x1AC0,
-+     0x0932,0x1D93,0x1AE6,0x1E03,0x0F87,0x16B4,0x15B1,0x066F,0x07A1,0x21A6,
-+     0x20BD,0x201C,0x10F2,0x16B2,0x13B8,0x0C90,0x013E,0x191C,0x1ACA,0x10E0,
-+     0x12DA,0x0047,0x15B8,0x1E51,0x0693,0x02CF,0x169A,0x1571,0x2167,0x022F,
-+     0x2150,0x11A0,0x137D,0x143A,0x02D9,0x07AC,0x0B18,0x1730,0x0E1B,0x0BC3,
-+     0x2178,0x1656,0x1041,0x1FDE,0x044C,0x21EC,0x1CF0,0x04A0,0x17F2,0x1D8B,
-+     0x172B,0x0826,0x0B38,0x1FB6,0x07BA,0x1632,0x0BFF,0x12B8,0x0073,0x1D94,
-+     0x0457,0x05B8,0x0CA6,0x08EC,0x1663,0x07CF,0x0E04,0x2116,0x23D6,0x1F6F,
-+     0x0884,0x17D1,0x0B14,0x1222,0x0774,0x16C8,0x16A8,0x1DCF,0x1E21,0x1A42,
-+     0x0CF4,0x184F,0x1AD3,0x1DA5,0x04F9,0x0F39,0x2173,0x091B,0x0648,0x21A7,
-+     0x1481,0x15FB,0x0C69,0x064B,0x00BE,0x08D5,0x211D,0x07E5,0x22F6,0x10A7,
-+     0x0791,0x1F88,0x0FB6,0x2004,0x014E,0x187E,0x17D7,0x2345,0x0C83,0x0DE6,
-+     0x12B6,0x0365,0x1D4A,0x1C43,0x1266,0x083D,0x1A5F,0x0029,0x223B,0x1809,
-+     0x0589,0x001C,0x0F90,0x1B77,0x10CC,0x12CB,0x0703,0x0471,0x0E6E,0x05E6,
-+     0x0E95,0x0912,0x18DD,0x1EEA,0x02CA,0x04C2,0x0BDC,0x0EE6,0x158A,0x189B,
-+     0x17AD,0x0CD8,0x1246,0x1457,0x0938,0x1D87,0x175C,0x0A85,0x1F20,0x17EC,
-+     0x08E7,0x0678,0x0978,0x145E,0x00CF,0x001F,0x0D90,0x09F6,0x20E4,0x217D,
-+     0x13E7,0x1CE0,0x1400,0x156D,0x084C,0x1881,0x0140,0x208B,0x21E5,0x041A,
-+     0x02A0,0x0F23,0x22CA,0x0520,0x087A,0x1FAC,0x0FE2,0x15CD,0x05CF,0x1C34,
-+     0x0BA3,0x033D,0x14DB,0x1251,0x0071,0x15FF,0x0139,0x21FB,0x003C,0x0629,
-+     0x008A,0x03ED,0x0EA7,0x018B,0x146D,0x19D4,0x167F,0x1F24,0x21FC,0x04E9,
-+     0x057F,0x0CB5,0x0F76,0x1B1A,0x19B0,0x1CDB,0x211E,0x0775,0x17D9,0x0494,
-+     0x0C1F,0x0DB6,0x2184,0x1702,0x1165,0x1C4A,0x1043,0x0A5A,0x1004,0x03BE,
-+     0x0B33,0x151A,0x038B,0x12ED,0x1287,0x2205,0x1F05,0x1AC8,0x19E3,0x1506,
-+     0x0891,0x05DA,0x1C04,0x1ED3,0x0A11,0x061C,0x0DC5,0x01D5,0x1459,0x032E,
-+     0x1A7B,0x12E3,0x1A8B,0x17D3,0x1391,0x0ADA,0x0A24,0x13E9,0x05DB,0x2050,
-+     0x12C9,0x216A,0x0A09,0x149D,0x142B,0x0FD3,0x229D,0x19FA,0x0547,0x1984,
-+     0x0E06,0x1827,0x0477,0x19D1,0x05DF,0x1248,0x12FF,0x01A2,0x10E8,0x095B,
-+     0x2227,0x1262,0x00DC,0x0354,0x07E8,0x03DF,0x01FC,0x1AC1,0x0272,0x1AED,
-+     0x090B,0x209E,0x1CCB,0x1AA5,0x218B,0x1D9C,0x1467,0x12B2,0x0D2C,0x1B3D,
-+     0x0EC1,0x13F3,0x1330,0x1629,0x1576,0x2275,0x0684,0x0C41,0x0CD9,0x1836,
-+     0x1280,0x104D,0x168D,0x1DE8,0x0E66,0x0A8C,0x2027,0x0448,0x0DA8,0x0A50,
-+     0x1A4F,0x1A1A,0x0CF1,0x2180,0x03C5,0x1CAA,0x0B84,0x18EE,0x026B,0x1E44,
-+     0x1F92,0x14F6,0x210E,0x0444,0x030A,0x140E,0x0F6B,0x0F44,0x0894,0x1407,
-+     0x085A,0x091E,0x02B7,0x0B83,0x2238,0x1E25,0x0A32,0x19F5,0x06A9,0x239E,
-+     0x10D9,0x2019,0x21A2,0x08A7,0x17DF,0x1A82,0x138F,0x08AA,0x12E6,0x074D,
-+     0x1CDD,0x1FE1,0x0691,0x1F89,0x0810,0x05A9,0x00AB,0x0AD4,0x0623,0x02D4,
-+     0x09D3,0x1232,0x2002,0x1FC3,0x1B73,0x0704,0x0150,0x197D,0x1646,0x0595,
-+     0x1BAD,0x2146,0x0AD5,0x074C,0x03FD,0x1018,0x1F08,0x0989,0x1204,0x0499,
-+     0x17E4,0x001E,0x0A23,0x13BC,0x1150,0x119C,0x056B,0x0BD7,0x0B8A,0x0AD7,
-+     0x05A1,0x0AA6,0x1B27,0x18D1,0x0D42,0x14E9,0x0779,0x027A,0x1C76,0x01A7,
-+     0x1FB0,0x1270,0x16C6,0x0142,0x1FF6,0x1172,0x11EB,0x212C,0x071D,0x1543,
-+     0x170C,0x0F2F,0x1F9D,0x0F95,0x1CC7,0x043B,0x12EA,0x0F10,0x1D6E,0x0722,
-+     0x00D6,0x1829,0x1244,0x1E0B,0x18CF,0x1C16,0x22DE,0x093B,0x01FD,0x15EF,
-+     0x2087,0x1E24,0x02FB,0x1F1A,0x009D,0x0C20,0x0A35,0x18F9,0x0363,0x16ED,
-+     0x0F4C,0x22B3,0x20A6,0x23C9,0x0C9D,0x10CF,0x0FC2,0x0AB1,0x1514,0x1D88,
-+     0x1637,0x0844,0x06AF,0x06A7,0x0400,0x1F96,0x15D3,0x1566,0x0A06,0x1A38,
-+     0x006A,0x03EA,0x1E4B,0x119F,0x1B8B,0x1049,0x1080,0x1B21,0x13BE,0x0F57,
-+     0x18F6,0x22E4,0x1E9F,0x1BE1,0x1353,0x1644,0x0A45,0x1AA3,0x01C9,0x06F7,
-+     0x10EB,0x0032,0x07F8,0x1CED,0x202C,0x0957,0x17B2,0x006B,0x1456,0x03DA,
-+     0x061B,0x1A60,0x1C9A,0x137B,0x1EA2,0x1D61,0x0000,0x17FB,0x1BE2,0x046A,
-+     0x1CBF,0x2192,0x1F0E,0x1968,0x0AE9,0x1508,0x0182,0x2324,0x2113,0x13CC,
-+     0x09F5,0x0B62,0x1283,0x0FFC,0x150B,0x0794,0x0A0D,0x236B,0x1590,0x0808,
-+     0x05D2,0x105A,0x1C80,0x207F,0x05CB,0x12FB,0x22BE,0x012A,0x0DC3,0x01CF,
-+     0x023C,0x063D,0x060F,0x0447,0x2257,0x01C2,0x050B,0x03A1,0x0780,0x1782,
-+     0x12E7,0x1E52,0x135C,0x151C,0x14EB,0x1B4E,0x2250,0x168C,0x118D,0x031D,
-+     0x0680,0x2088,0x12D7,0x2133,0x14E0,0x1BE5,0x201E,0x0C3B,0x23AC,0x1B22,
-+     0x01D0,0x0B17,0x1904,0x139F,0x1DAA,0x1418,0x0327,0x1527,0x0920,0x0715,
-+     0x03C3,0x052C,0x0E8A,0x0812,0x017D,0x0C1D,0x02AA,0x1A7F,0x1DE4,0x058F,
-+     0x194E,0x2343,0x0F11,0x1F18,0x0B05,0x2271,0x08E1,0x1CC6,0x1D38,0x20E7,
-+     0x12DE,0x00E5,0x180C,0x0AC7,0x0C27,0x1C97,0x2304,0x10E6,0x071F,0x0C03,
-+     0x0249,0x1FAA,0x0374,0x1E99,0x1FD5,0x2254,0x1B4C,0x0A92,0x2172,0x0B36,
-+     0x011B,0x1CB2,0x0560,0x18F4,0x0460,0x0B24,0x1910,0x0596,0x1C30,0x0BE5,
-+     0x1B79,0x1E40,0x21CA,0x0997,0x0F89,0x0173,0x215C,0x0D4E,0x1E14,0x1A45,
-+     0x227E,0x18F7,0x1314,0x0C71,0x1D55,0x02B8,0x0C45,0x2232,0x10DC,0x155A,
-+     0x1581,0x14A6,0x1683,0x108B,0x0247,0x2247,0x1F69,0x1EC7,0x0F1D,0x0A2A,
-+     0x10FA,0x1660,0x16CE,0x0D18,0x0DDD,0x0BC6,0x0269,0x1911,0x187B,0x16F7,
-+     0x188A,0x1FA0,0x1EA6,0x11B5,0x04C9,0x214E,0x065F,0x017A,0x05CE,0x1C32,
-+     0x194D,0x1C44,0x02C1,0x1BCF,0x235B,0x228D,0x1A2C,0x03A3,0x017B,0x12D0,
-+     0x19E8,0x08EF,0x1F25,0x1E65,0x0BA9,0x0DD9,0x1CF8,0x103A,0x1E22,0x15DD,
-+     0x03D3,0x1EDE,0x1CF7,0x03C1,0x04F3,0x2240,0x1FFE,0x03BB,0x0D7D,0x1EBF,
-+     0x1BA5,0x18E6,0x1CCF,0x1D8C,0x202E,0x0BA2,0x1A75,0x0065,0x104E,0x0661,
-+     0x1B85,0x1A7A,0x0DD5,0x0450,0x1CEE,0x026E,0x1C0C,0x10B2,0x20F2,0x0AA7,
-+     0x12F4,0x08EB,0x23AB,0x07B3,0x130B,0x094D,0x1EA3,0x18F2,0x0C9C,0x1363,
-+     0x2036,0x13A8,0x16B1,0x1428,0x1F02,0x01E8,0x039E,0x1BED,0x1D98,0x08E2,
-+     0x14D6,0x1E56,0x2388,0x0C1E,0x19EE,0x04AA,0x0EB8,0x09E5,0x233E,0x1D66,
-+     0x07C5,0x211A,0x1088,0x0954,0x0E2A,0x1BC8,0x07A3,0x1E1E,0x1D36,0x1B87,
-+     0x1544,0x0137,0x11DB,0x01C0,0x0845,0x216B,0x1BFC,0x08F6,0x0A5D,0x1EDF,
-+     0x0FDE,0x0731,0x110A,0x0FB9,0x0E86,0x1415,0x14E7,0x17A3,0x02BC,0x0C60,
-+     0x2111,0x0B41,0x234B,0x1C60,0x118A,0x0FDF,0x17CD,0x1323,0x087F,0x0025,
-+     0x165D,0x1606,0x0823,0x1368,0x07F2,0x0743,0x02E4,0x23D0,0x0803,0x14AE,
-+     0x1465,0x0FE3,0x02BB,0x0ACF,0x137F,0x2212,0x1272,0x01B6,0x0C07,0x08AB,
-+     0x11E1,0x0274,0x171F,0x1126,0x09D2,0x1C01,0x23C5,0x1AB0,0x0F3E,0x0DAC,
-+     0x00D5,0x14C2,0x17C1,0x028F,0x0DE9,0x06C3,0x0DE2,0x1A70,0x1AEC,0x1638,
-+     0x1727,0x15ED,0x1532,0x13FD,0x123F,0x207E,0x0825,0x0066,0x14EC,0x1EE4,
-+     0x1FE9,0x14B3,0x1692,0x0557,0x07A0,0x11D6,0x21DD,0x05FA,0x2014,0x0A0C,
-+     0x152B,0x0425,0x00D7,0x00F2,0x0316,0x0ECA,0x1B14,0x0896,0x15B3,0x0B80,
-+     0x1D20,0x0AF5,0x09C8,0x0BF6,0x134F,0x0E00,0x1B99,0x0953,0x2341,0x21C7,
-+     0x1811,0x1032,0x1898,0x1286,0x1998,0x06B0,0x19FB,0x0790,0x15A6,0x16FB,
-+     0x16C4,0x0B28,0x0C7B,0x0FED,0x19AC,0x113F,0x1EC3,0x0A52,0x132A,0x048D,
-+     0x1B07,0x11D1,0x1F75,0x0838,0x04A5,0x04CB,0x046E,0x0A58,0x076E,0x12DB,
-+     0x0AE8,0x185F,0x15E3,0x18A5,0x18CE,0x0236,0x0A46,0x1886,0x0B69,0x03CD,
-+     0x17E6,0x0A21,0x06D1,0x0964,0x0630,0x231B,0x1642,0x19FF,0x1880,0x1B6B,
-+     0x105C,0x0FCC,0x0043,0x1A4E,0x1554,0x0781,0x0034,0x1D16,0x1522,0x1ABF,
-+     0x0F03,0x1B47,0x1A21,0x1E8E,0x007A,0x1E3E,0x0EB0,0x0DD7,0x0534,0x0241,
-+     0x051D,0x0C8F,0x0B55,0x1589,0x0256,0x194B,0x1D31,0x0828,0x09AD,0x075F,
-+     0x02AF,0x0BAF,0x1C49,0x20ED,0x1D21,0x0E6A,0x1723,0x19F6,0x114E,0x1419,
-+     0x1952,0x0F40,0x0B0D,0x2201,0x1D29,0x19C9,0x0A2F,0x1515,0x1F27,0x1CDE,
-+     0x0DD3,0x1768,0x0E56,0x1A9C,0x12A4,0x11BE,0x0B46,0x0DAE,0x0AFC,0x164B,
-+     0x08D7,0x003A,0x0BDD,0x1E4E,0x0BCF,0x105E,0x2000,0x1BA1,0x19F4,0x2100,
-+     0x20D7,0x2398,0x1C2E,0x04BE,0x0199,0x221E,0x0532,0x07B7,0x155B,0x006D,
-+     0x16C1,0x1C74,0x0D61,0x17E2,0x0AFF,0x1AC4,0x00E9,0x09E4,0x11BB,0x0674,
-+     0x22BD,0x1186,0x0578,0x202A,0x123B,0x15E8,0x0E8B,0x0403,0x097A,0x0105,
-+     0x14ED,0x14CB,0x0FDD,0x03FF,0x17AF,0x1E39,0x02F3,0x13D3,0x0C89,0x20BC,
-+     0x20B2,0x15BC,0x1CAC,0x2372,0x1B48,0x08D2,0x0446,0x1177,0x0D1F,0x17C6,
-+     0x1989,0x0516,0x0DDC,0x024D,0x16AA,0x09EE,0x1062,0x0B50,0x1F77,0x037F,
-+     0x07D2,0x093C,0x238A,0x0583,0x2375,0x0CA3,0x18EA,0x182A,0x0621,0x1036,
-+     0x02B5,0x01E2,0x22DB,0x0963,0x2399,0x060C,0x1152,0x0F91,0x048A,0x1A7E,
-+     0x1E87,0x1BB0,0x15C4,0x1112,0x1021,0x11E2,0x0C56,0x07DD,0x1D46,0x0210,
-+     0x04F5,0x1C0E,0x0B8E,0x1040,0x1A6C,0x1AF8,0x08D8,0x1313,0x1C8A,0x20B8,
-+     0x0B54,0x08A4,0x0094,0x131E,0x0A86,0x0A28,0x0D10,0x0A74,0x1AD2,0x0653,
-+     0x172C,0x21C1,0x1490,0x04FC,0x0BFA,0x1347,0x0B2F,0x1DC4,0x23DB,0x0FB8,
-+     0x23BB,0x0C72,0x03E5,0x186A,0x0F9D,0x1295,0x1808,0x04C6,0x1960,0x1FA7,
-+     0x0DE0,0x239F,0x1D5F,0x0EED,0x1F79,0x2068,0x06B8,0x0D99,0x15F5,0x1028,
-+     0x0202,0x0BAD,0x0098,0x060D,0x0E84,0x18FB,0x1549,0x1E63,0x0ED6,0x009A,
-+     0x0B72,0x0B7B,0x06B1,0x0341,0x08F4,0x112A,0x18D5,0x0919,0x1731,0x19A5,
-+     0x16FA,0x0195,0x0F9C,0x123D,0x0968,0x0E17,0x0EBF,0x0D27,0x1A33,0x17FD,
-+     0x221B,0x208C,0x0694,0x1713,0x1696,0x0692,0x0006,0x1C3E,0x1617,0x0267,
-+     0x111D,0x2122,0x025E,0x200E,0x0D22,0x1627,0x1329,0x0048,0x1265,0x0D7A,
-+     0x1402,0x149C,0x02A1,0x022C,0x0F75,0x0783,0x124A,0x1134,0x0E1E,0x1C4C,
-+     0x1CB0,0x17F1,0x046F,0x0280,0x068B,0x1C46,0x1FDA,0x0D82,0x1CD1,0x0590,
-+     0x056E,0x015A,0x121F,0x0B1D,0x019D,0x1EB5,0x0A82,0x16E8,0x117D,0x098F,
-+     0x1513,0x122A,0x0C18,0x0FA0,0x1EB1,0x0DD0,0x0E4A,0x23F8,0x190B,0x2053,
-+     0x16C0,0x18A3,0x0127,0x0AE1,0x0F52,0x12AF,0x0E24,0x0C32,0x08A6,0x1D3F,
-+     0x00CA,0x229B,0x11F6,0x1A46,0x1BF3,0x1EC6,0x0275,0x13B4,0x1210,0x0A49,
-+     0x057C,0x0E3F,0x206B,0x05DC,0x21D5,0x18A7,0x14D3,0x1F57,0x1FF8,0x2220,
-+     0x0962,0x1BFF,0x2301,0x08AF,0x1EEC,0x20CF,0x17E9,0x2302,0x0FBD,0x1BC9,
-+     0x0585,0x0784,0x17BE,0x1B2B,0x111A,0x0AB3,0x1F1F,0x0505,0x0019,0x235F,
-+     0x0B59,0x039A,0x03F7,0x193C,0x1994,0x1C1E,0x0CBB,0x0D72,0x1706,0x1C37,
-+     0x0002,0x098B,0x2046,0x056A,0x0A1E,0x0A04,0x11C2,0x0883,0x06B3,0x0B48,
-+     0x07DF,0x1122,0x04EE,0x215D,0x11D7,0x12A9,0x0F9A,0x0104,0x1618,0x175E,
-+     0x1A28,0x1D13,0x1DC9,0x0111,0x110C,0x1779,0x146E,0x1928,0x15B0,0x072C,
-+     0x0773,0x1CA2,0x0C3C,0x0BF2,0x1587,0x2269,0x10B0,0x0A6F,0x214D,0x0EEC,
-+     0x1EF6,0x14EE,0x20C4,0x1A65,0x1A0B,0x23FA,0x0336,0x1603,0x0946,0x0D6B,
-+     0x0545,0x1B9A,0x0605,0x0C95,0x2185,0x0EE3,0x1F98,0x1EB3,0x0A39,0x05EC,
-+     0x1A5C,0x123A,0x0848,0x234E,0x023A,0x183E,0x16BD,0x014D,0x106A,0x0EF5,
-+     0x213C,0x0046,0x0395,0x2321,0x238D,0x1AEE,0x1170,0x03DD,0x1C70,0x1D65,
-+     0x0CF0,0x224D,0x1F87,0x1D0A,0x09A4,0x14CF,0x0A02,0x0093,0x121A,0x02EF,
-+     0x22CC,0x0B8D,0x1E00,0x0B58,0x0FF9,0x1D62,0x1E6B,0x2387,0x138B,0x052D,
-+     0x081C,0x10A0,0x0194,0x22F9,0x1E5F,0x1E3D,0x06C9,0x167C,0x0096,0x1570,
-+     0x19A7,0x0B98,0x18BA,0x12AA,0x11CC,0x22C7,0x0064,0x0440,0x0B7E,0x23BF,
-+     0x01A6,0x09ED,0x000B,0x0834,0x008E,0x0A7E,0x0D32,0x0744,0x207A,0x03AF,
-+     0x062B,0x21DB,0x1B37,0x1FB1,0x1653,0x1807,0x141F,0x18AF,0x1343,0x0D28,
-+     0x221A,0x1064,0x1BAB,0x199D,0x19E9,0x23FF,0x22EF,0x0CB1,0x0EC2,0x0958,
-+     0x09D7,0x20EE,0x1AAF,0x1267,0x020B,0x1E58,0x0F2A,0x1B2F,0x0A7B,0x0EF2,
-+     0x2334,0x0131,0x164D,0x238E,0x0352,0x1C71,0x1B9B,0x1F54,0x08DD,0x069C,
-+     0x0C65,0x1FEB,0x21C2,0x0C38,0x1743,0x23E1,0x10C1,0x110E,0x13EE,0x239A,
-+     0x125D,0x21DC,0x057B,0x1B1F,0x0D26,0x0121,0x02C5,0x0189,0x0867,0x190F,
-+     0x0A8E,0x064E,0x0C31,0x2149,0x0A5C,0x1B06,0x0A6D,0x2277,0x0DFC,0x1B2A,
-+     0x0FBC,0x051A,0x0767,0x00BF,0x1862,0x1414,0x1CDA,0x1484,0x1098,0x0657,
-+     0x1C29,0x1C9F,0x0DBF,0x1B28,0x1AAD,0x204C,0x077B,0x0888,0x0ACA,0x1575,
-+     0x1780,0x1AC5,0x085E,0x14CD,0x1CB3,0x033C,0x1E62,0x1650,0x0F7E,0x1CE4,
-+     0x059E,0x20D6,0x072D,0x1371,0x2332,0x115F,0x204E,0x0282,0x11BF,0x08CE,
-+     0x1C10,0x11AD,0x10FF,0x15BD,0x04E1,0x22D9,0x1634,0x048B,0x0346,0x185A,
-+     0x083B,0x06F9,0x2124,0x072E,0x1ABA,0x050D,0x18BC,0x003E,0x090A,0x1F2C,
-+     0x1734,0x0EE7,0x131A,0x0BB5,0x042E,0x12AD,0x1D5E,0x20EF,0x0C7F,0x1245,
-+     0x1AD5,0x0895,0x00ED,0x2314,0x19B9,0x055D,0x20A5,0x112C,0x0436,0x16DA,
-+     0x0E12,0x0276,0x178B,0x0EBD,0x0B2E,0x23D5,0x0941,0x1C14,0x1FA2,0x0A90,
-+     0x1A99,0x1891,0x02BF,0x1305,0x1B18,0x0E0F,0x0BC1,0x0CD7,0x05AB,0x1ED5,
-+     0x1D53,0x04D0,0x0D98,0x062F,0x0BCC,0x0B88,0x2031,0x0295,0x1F29,0x1ECB,
-+     0x0DB9,0x00C8,0x2396,0x0A17,0x1773,0x1AC9,0x0459,0x1AD6,0x22CF,0x1DC2,
-+     0x1BB8,0x1A23,0x1DFE,0x0604,0x213A,0x1357,0x1EA1,0x20D3,0x1137,0x1233,
-+     0x198D,0x1B04,0x041E,0x200D,0x233A,0x02A5,0x0CA7,0x0E15,0x17FE,0x216E,
-+     0x07C0,0x0BB0,0x0B9C,0x0A8F,0x0B15,0x0BDA,0x14B0,0x15CA,0x189E,0x19DC,
-+     0x1ED9,0x0076,0x0A97,0x0918,0x0BED,0x0B81,0x0E0A,0x11DC,0x165A,0x037D,
-+     0x1B74,0x1438,0x1129,0x22A2,0x0373,0x0D43,0x20F0,0x0DDE,0x0AB2,0x0771,
-+     0x22F5,0x05F5,0x0662,0x1B39,0x16B0,0x1EF3,0x0AF2,0x0E44,0x0221,0x0A6E,
-+     0x0D47,0x1DAC,0x18F1,0x10F6,0x2094,0x2294,0x0B21,0x0192,0x1A1E,0x03C9,
-+     0x1777,0x1462,0x2089,0x0A4F,0x1A12,0x1A6B,0x1737,0x1D18,0x0C98,0x2207,
-+     0x1FDD,0x2176,0x0109,0x0537,0x00BD,0x1916,0x1C2A,0x1377,0x1094,0x1D72,
-+     0x00EE,0x0057,0x1463,0x171B,0x00EB,0x1AF0,0x15B9,0x0368,0x04CC,0x05AC,
-+     0x07CA,0x1A62,0x0AFD,0x0C00,0x0548,0x153B,0x00AE,0x08F1,0x17C9,0x0428,
-+     0x07F0,0x23D8,0x0DD4,0x201D,0x0C4D,0x04EA,0x0161,0x0C02,0x016D,0x145D,
-+     0x1CA8,0x02F7,0x17F3,0x1FEC,0x1933,0x0E23,0x0639,0x1CD8,0x20B7,0x0284,
-+     0x1016,0x0DC7,0x05A5,0x0E70,0x1A43,0x1DCB,0x09E8,0x13A9,0x06F5,0x1454,
-+     0x033A,0x1E82,0x088D,0x0736,0x14C5,0x14FB,0x190E,0x0B60,0x13EA,0x1260,
-+     0x0F8D,0x140B,0x1EDC,0x1E93,0x1095,0x2258,0x088E,0x22F0,0x08F2,0x2364,
-+     0x1F97,0x1024,0x064F,0x0C5F,0x2052,0x1BE4,0x1EE9,0x1FE3,0x15A8,0x0DB1,
-+     0x0D1D,0x17F7,0x20D8,0x07F6,0x2077,0x15E0,0x1C2F,0x1709,0x05BE,0x1B1B,
-+     0x2162,0x1A39,0x1C2C,0x13F7,0x19EC,0x20D4,0x0655,0x049C,0x17AA,0x20E6,
-+     0x04F4,0x01DE,0x038F,0x21FF,0x12BB,0x14C3,0x1D23,0x0730,0x0E5A,0x1ADD,
-+     0x2300,0x1118,0x21D7,0x0FC5,0x0497,0x0390,0x11EA,0x18E5,0x1EF4,0x1EAE,
-+     0x028A,0x102B,0x1365,0x05B1,0x18ED,0x0016,0x0012,0x0887,0x1E68,0x0933,
-+     0x1166,0x0F5D,0x1297,0x06B9,0x18C5,0x0F80,0x2305,0x12A0,0x0AA8,0x1766,
-+     0x1E2C,0x021D,0x1B30,0x0D3C,0x1585,0x1815,0x1B8D,0x00C1,0x02DD,0x0BD6,
-+     0x06DC,0x06AD,0x025B,0x0A59,0x1D6B,0x15E2,0x1388,0x1AE3,0x1E26,0x21AF,
-+     0x1CAD,0x02B0,0x09B8,0x0CFA,0x1DED,0x2267,0x0ABA,0x21F9,0x0AB8,0x1278,
-+     0x1C58,0x1BCA,0x1042,0x1F4D,0x1F5B,0x1B09,0x0B08,0x0217,0x2097,0x05BC,
-+     0x1219,0x1C6B,0x1885,0x1A69,0x01D1,0x0246,0x077C,0x13C4,0x11E9,0x01DD,
-+     0x206F,0x0A41,0x16DD,0x08E9,0x1578,0x0846,0x0B99,0x0C4E,0x03A6,0x17F5,
-+     0x13AB,0x1D2D,0x1B03,0x1F7F,0x0A96,0x1726,0x1AD9,0x1180,0x0B0C,0x0796,
-+     0x1718,0x0CEA,0x0D8B,0x1B78,0x1C66,0x1BFA,0x07C3,0x1195,0x06C2,0x041C,
-+     0x11EC,0x148E,0x0E52,0x1987,0x08BC,0x0B7C,0x02C8,0x073D,0x23DE,0x1A8E,
-+     0x1D7C,0x220E,0x01E0,0x14C7,0x18B7,0x20E0,0x0739,0x088B,0x0CF5,0x1498,
-+     0x0487,0x1699,0x035D,0x0416,0x0406,0x0C67,0x1188,0x1A30,0x00F7,0x063C,
-+     0x09B7,0x030F,0x09BD,0x0D5F,0x022D,0x1D00,0x1C45,0x1AFA,0x0D16,0x0325,
-+     0x1794,0x21E0,0x18AD,0x09FC,0x0F48,0x1F49,0x0463,0x11E0,0x1BF4,0x2169,
-+     0x077D,0x0644,0x1497,0x1A51,0x0FC0,0x14DE,0x2049,0x0110,0x0A3D,0x062D,
-+     0x08BE,0x16B3,0x0021,0x20C3,0x0BA5,0x21B4,0x05AA,0x0B16,0x19C1,0x2128,
-+     0x0468,0x0E07,0x1F3A,0x052B,0x1161,0x0B9A,0x13FF,0x17D8,0x161B,0x2029,
-+     0x0FA3,0x0E29,0x0B70,0x1605,0x1A3F,0x1E78,0x1EC4,0x1429,0x1906,0x19BF,
-+     0x07EC,0x1DFA,0x2035,0x0A67,0x22A8,0x1863,0x21E4,0x04E2,0x1175,0x0411,
-+     0x1B56,0x037C,0x0262,0x0865,0x000A,0x2287,0x1279,0x1FD9,0x1667,0x1DC1,
-+     0x1AF3,0x0148,0x0C59,0x199A,0x0943,0x0D07,0x233C,0x073A,0x14AD,0x12CF,
-+     0x0971,0x19EB,0x1EF9,0x15F9,0x0ADC,0x1101,0x1AD4,0x0540,0x0727,0x0986,
-+     0x0D69,0x0A20,0x21A5,0x10CA,0x21C6,0x0EAA,0x06FC,0x0E47,0x15F4,0x222C,
-+     0x02C2,0x0580,0x05C0,0x11DA,0x10D4,0x0DCF,0x0451,0x021A,0x228C,0x2104,
-+     0x1E7A,0x150F,0x043F,0x1B4B,0x0B76,0x1384,0x0208,0x0F33,0x001B,0x1A04,
-+     0x21BD,0x006E,0x1889,0x00AA,0x12C5,0x03FC,0x11F8,0x0D2F,0x0CDF,0x1F8C,
-+     0x0526,0x1659,0x17EA,0x0BCA,0x119D,0x12B7,0x1392,0x0AB6,0x1331,0x1198,
-+     0x15EC,0x01C1,0x22AB,0x130C,0x14F0,0x227B,0x07E9,0x1E4C,0x016B,0x0A13,
-+     0x0E37,0x1136,0x1C8E,0x112F,0x1CE8,0x18D8,0x0372,0x011A,0x1411,0x07D1,
-+     0x076B,0x085C,0x0084,0x0714,0x0E3C,0x21F7,0x0F6C,0x23E9,0x0385,0x1B17,
-+     0x179C,0x159A,0x0506,0x135A,0x0882,0x1C36,0x1AA6,0x1E11,0x1A1F,0x1EF5,
-+     0x0E9D,0x0335,0x1658,0x04B8,0x06A2,0x061E,0x17B6,0x1DB6,0x12BF,0x0443,
-+     0x220A,0x1983,0x07B0,0x1890,0x177A,0x038A,0x1496,0x1220,0x18B3,0x1149,
-+     0x0FA4,0x10EA,0x0620,0x11B1,0x01B1,0x08BA,0x0081,0x0FEC,0x111C,0x0C1B,
-+     0x1382,0x0427,0x1582,0x1D54,0x0EE2,0x022A,0x0AAB,0x23EA,0x1922,0x0399,
-+     0x2127,0x06CA,0x12D5,0x0A0A,0x1745,0x1F8F,0x009B,0x21B6,0x1BC2,0x0EEE,
-+     0x00B6,0x0672,0x16D7,0x13E4,0x0ABF,0x0F29,0x03D2,0x20E3,0x185B,0x08FE,
-+     0x0FB0,0x1CBC,0x2024,0x0A16,0x0C2C,0x0B23,0x134A,0x0ADE,0x03E2,0x0A0F,
-+     0x2102,0x0CAA,0x19D0,0x220F,0x06E2,0x2391,0x13CF,0x1EDD,0x15B4,0x1012,
-+     0x1F15,0x23DF,0x0735,0x223F,0x144B,0x12FC,0x1C86,0x1CE7,0x0DA7,0x082F,
-+     0x1720,0x15C7,0x0212,0x22FD,0x133F,0x068C,0x169E,0x0C4F,0x1C31,0x139B,
-+     0x0DA6,0x1A91,0x1D99,0x1493,0x160A,0x0077,0x1F45,0x1473,0x1B1E,0x028E,
-+     0x0FAC,0x137C,0x2390,0x10A6,0x0129,0x0B67,0x1F53,0x0B97,0x21AC,0x0792,
-+     0x0758,0x1AB2,0x0C44,0x1482,0x1436,0x0036,0x1B3A,0x1CC9,0x1AF4,0x152A,
-+     0x2355,0x0519,0x1747,0x1275,0x10B3,0x2086,0x14D1,0x20E9,0x12CD,0x0EA4,
-+     0x1F48,0x0DBD,0x0265,0x0A55,0x145F,0x2216,0x0D0F,0x103B,0x2381,0x0994,
-+     0x1337,0x0CF7,0x06E8,0x2253,0x0936,0x1ECC,0x2208,0x10C3,0x0DE4,0x0A2D,
-+     0x09DD,0x1690,0x234D,0x031E,0x0824,0x04A2,0x0F46,0x17B9,0x1F81,0x02E2,
-+     0x04D5,0x13A2,0x0A10,0x01B3,0x1523,0x2013,0x0B06,0x1108,0x0244,0x06F6,
-+     0x041B,0x03A5,0x21EF,0x052F,0x08FF,0x0855,0x1FC4,0x1E1D,0x2385,0x0B77,
-+     0x1B86,0x2123,0x018C,0x2203,0x181A,0x01EB,0x07E1,0x1334,0x1D12,0x0A9D,
-+     0x01ED,0x1EDA,0x1A2E,0x18AA,0x0598,0x1A83,0x162A,0x1A84,0x072B,0x2397,
-+     0x0166,0x00C0,0x091C,0x2350,0x010A,0x157E,0x142C,0x1F4F,0x1B93,0x1355,
-+     0x08F9,0x218E,0x1C57,0x0627,0x06AE,0x2186,0x230D,0x0C6F,0x1229,0x02C9,
-+     0x0972,0x0F68,0x217B,0x1130,0x0CDB,0x06B5,0x1045,0x1321,0x0AA0,0x0CCE,
-+     0x121E,0x0C0A,0x07EF,0x02D8,0x061D,0x1003,0x0761,0x20FE,0x1519,0x027B,
-+     0x1105,0x174A,0x028B,0x0300,0x1EFD,0x1711,0x03BC,0x1FCC,0x1DFF,0x21FE,
-+     0x1AE0,0x12C0,0x2266,0x1DEC,0x15E4,0x036B,0x0382,0x01B5,0x2067,0x20C6,
-+     0x0B2C,0x0F7F,0x1BEB,0x0988,0x1491,0x0697,0x0F12,0x1096,0x0E78,0x103D,
-+     0x02A3,0x21BB,0x1563,0x11D2,0x150D,0x2308,0x21B3,0x0333,0x1213,0x009F,
-+     0x08A5,0x10EC,0x0E60,0x009E,0x1530,0x0FC6,0x110F,0x1BA3,0x027E,0x2223,
-+     0x009C,0x1B4D,0x1F62,0x1CF6,0x1E86,0x0FB1,0x0332,0x1BAF,0x0C1A,0x0E2C,
-+     0x0360,0x197A,0x01D3,0x10F3,0x1B76,0x02EB,0x18CA,0x065B,0x1164,0x103E,
-+     0x0C39,0x0F8C,0x073E,0x07CE,0x183C,0x04EC,0x0E9A,0x0BDE,0x0738,0x1093,
-+     0x0F0D,0x076A,0x0349,0x0DA9,0x19F9,0x1154,0x1DD0,0x0ED0,0x1D22,0x22D3,
-+     0x015B,0x0052,0x0A5B,0x0CE2,0x1D89,0x1565,0x1752,0x0254,0x028C,0x18FD,
-+     0x12B9,0x1CA4,0x1F73,0x0567,0x1B01,0x0414,0x1510,0x1ED8,0x05FD,0x1ACF,
-+     0x19EA,0x0163,0x0B73,0x1CBE,0x07B6,0x10D1,0x050F,0x1635,0x0413,0x17ED,
-+     0x1C40,0x1336,0x0EFF,0x1199,0x1236,0x07BD,0x2312,0x04B1,0x2163,0x1AD1,
-+     0x0764,0x21D1,0x14DD,0x0CE8,0x1728,0x0348,0x236D,0x1BA6,0x2119,0x1405,
-+     0x0625,0x034C,0x0A1F,0x09E0,0x231C,0x0D4C,0x0839,0x04AF,0x2153,0x12AB,
-+     0x0D8C,0x148F,0x03CE,0x2081,0x05A6,0x0F02,0x1D41,0x090F,0x0D8D,0x1CE5,
-+     0x0BF5,0x0358,0x0BBD,0x1981,0x1A5E,0x1312,0x103F,0x0347,0x23B0,0x0FAD,
-+     0x08D1,0x00D8,0x08E0,0x212A,0x0DC4,0x1EBE,0x169F,0x07A6,0x1BF5,0x1FA3,
-+     0x0EE8,0x17B1,0x14A8,0x0EC8,0x2057,0x0586,0x19AF,0x1C1A,0x1D10,0x15D7,
-+     0x06CD,0x0901,0x163C,0x1A20,0x1107,0x0879,0x1533,0x1EDB,0x0E94,0x1FC9,
-+     0x20F5,0x00A9,0x20BE,0x1011,0x1AFE,0x21DF,0x1D7E,0x0D25,0x13D1,0x099C,
-+     0x0A64,0x1729,0x113B,0x17C4,0x21DE,0x0D8A,0x0B4B,0x00E2,0x0C10,0x2358,
-+     0x162E,0x1470,0x1DDE,0x0050,0x1468,0x213B,0x106E,0x0490,0x09F2,0x0190,
-+     0x1F7A,0x03FB,0x215E,0x02EC,0x01CD,0x0F83,0x1503,0x00A0,0x17E8,0x0ABE,
-+     0x019F,0x053A,0x2278,0x1A66,0x12A3,0x0B04,0x23D7,0x144F,0x131B,0x2099,
-+     0x0159,0x1D3E,0x1FE4,0x14D8,0x0100,0x130F,0x23F0,0x1623,0x1F40,0x0F13,
-+     0x1082,0x221F,0x12FE,0x0B9D,0x080B,0x1EE6,0x14B9,0x2351,0x05D7,0x065E,
-+     0x09BB,0x0209,0x0FDA,0x03D5,0x1B82,0x204B,0x1073,0x131C,0x1358,0x230B,
-+     0x1BC0,0x1EB9,0x166A,0x11AA,0x1D85,0x08BB,0x1B7B,0x05F7,0x1B40,0x0E11,
-+     0x02DB,0x13A3,0x0C15,0x14EA,0x0AB9,0x22E7,0x013A,0x07F4,0x0696,0x1228,
-+     0x0FCF,0x1561,0x09E7,0x2221,0x039F,0x028D,0x1171,0x098C,0x1B5B,0x0F93,
-+     0x1789,0x1269,0x0A3C,0x14A4,0x1864,0x16A9,0x0493,0x0B5E,0x0BD1,0x0646,
-+     0x1A52,0x11FC,0x0934,0x0CA1,0x16C5,0x045B,0x0EAC,0x0EE1,0x1671,0x1918,
-+     0x0C4C,0x1D9A,0x2062,0x160D,0x1555,0x0677,0x0F58,0x1621,0x17AB,0x0DB7,
-+     0x0F63,0x094B,0x1902,0x23BE,0x0C35,0x0F51,0x149A,0x08FB,0x021F,0x1970,
-+     0x0995,0x19E2,0x1DBD,0x1E48,0x0B90,0x02CC,0x15DB,0x2022,0x0CEE,0x2161,
-+     0x0A57,0x11AE,0x0B6F,0x05CA,0x1450,0x19B8,0x0F4F,0x1F5A,0x1E2E,0x229A,
-+     0x15EB,0x074E,0x2317,0x0ECB,0x0B6C,0x0510,0x091F,0x0F85,0x101B,0x1BD3,
-+     0x0E7C,0x11FF,0x0F2C,0x1F9A,0x2382,0x232F,0x23DC,0x0DF7,0x01CB,0x0DCA,
-+     0x21D3,0x1857,0x0C6D,0x0FEE,0x0509,0x0543,0x2331,0x1424,0x08FD,0x01E9,
-+     0x1CA9,0x23EF,0x100C,0x029A,0x1065,0x1078,0x0F9B,0x14DA,0x0D09,0x0998,
-+     0x088C,0x019C,0x10C4,0x20AB,0x20E5,0x16A4,0x0682,0x0424,0x1C15,0x0C13,
-+     0x0A36,0x0856,0x07A5,0x1AD7,0x05D0,0x020C,0x16CC,0x1D8D,0x07DA,0x2204,
-+     0x1D9F,0x1797,0x1C67,0x09C0,0x0237,0x1BB6,0x10A9,0x0417,0x0949,0x1E49,
-+     0x017E,0x0979,0x1753,0x0AA2,0x0362,0x0B8B,0x0536,0x1EA7,0x0EE5,0x04CA,
-+     0x2285,0x0DEB,0x05A0,0x0853,0x12BA,0x0491,0x0423,0x11C0,0x0E36,0x1674,
-+     0x2010,0x1DC5,0x0709,0x125F,0x0C33,0x2349,0x0481,0x108A,0x0404,0x094F,
-+     0x09CB,0x0D3F,0x18C4,0x0EA3,0x060E,0x0654,0x1814,0x09CA,0x1CA3,0x0C34,
-+     0x1A17,0x1406,0x14FF,0x0F0E,0x0204,0x0C0F,0x11CB,0x1925,0x16B9,0x1488,
-+     0x1D01,0x0E96,0x0562,0x0C04,0x185E,0x0D2D,0x23D4,0x2328,0x030C,0x19A9,
-+     0x01EF,0x20FF,0x08F7,0x122E,0x1AC2,0x0C52,0x0296,0x1A59,0x0326,0x1089,
-+     0x1DD3,0x1C63,0x06BB,0x146F,0x1237,0x1950,0x203B,0x17A8,0x01A5,0x09D1,
-+     0x0591,0x1B15,0x0147,0x0F20,0x17B4,0x1A36,0x1FC5,0x1F5F,0x0C37,0x1BAE,
-+     0x06BC,0x12C1,0x10D2,0x0A14,0x0875,0x120A,0x182D,0x0D6D,0x0F1B,0x0FA2,
-+     0x1CC2,0x1A64,0x11C4,0x1CF3,0x1FBD,0x0027,0x0C49,0x21CB,0x0462,0x107C,
-+     0x0CFD,0x1398,0x0633,0x06A5,0x00B0,0x0BFD,0x1665,0x102A,0x1915,0x150E,
-+     0x23A0,0x1344,0x0F69,0x097B,0x023F,0x18BF,0x1423,0x1290,0x22DF,0x1060,
-+     0x0168,0x04FA,0x1B72,0x03C0,0x0B49,0x202D,0x227F,0x0D31,0x121C,0x0762,
-+     0x1980,0x05EE,0x20DA,0x04BB,0x06FB,0x16E5,0x117B,0x079F,0x1BF1,0x02A6,
-+     0x0A5F,0x22ED,0x1517,0x034E,0x1628,0x1A72,0x02F2,0x1761,0x1E2D,0x161C,
-+     0x05C1,0x0757,0x138C,0x0438,0x1193,0x1A68,0x0340,0x111F,0x1440,0x1CDF,
-+     0x0634,0x23F9,0x064A,0x0C8A,0x1059,0x13A5,0x1B23,0x13D4,0x2210,0x12E4,
-+     0x0E03,0x0CA0,0x0355,0x0E0D,0x1D24,0x2155,0x0B93,0x0531,0x0B1C,0x1CFE,
-+     0x22BB,0x1B64,0x1D02,0x1F83,0x0C2A,0x01D4,0x000C,0x2213,0x2151,0x1F3C,
-+     0x200F,0x0469,0x0B79,0x086F,0x139E,0x1ADA,0x00C4,0x07E0,0x1005,0x013C,
-+     0x1869,0x05B6,0x0944,0x0652,0x1EBB,0x047E,0x0D3A,0x05F0,0x2085,0x0342,
-+     0x0165,0x236A,0x03DB,0x1E69,0x120B,0x0EDB,0x156A,0x00CD,0x1F2F,0x0797,
-+     0x066C,0x0AE7,0x063A,0x1C7D,0x18A4,0x07B5,0x0E87,0x092F,0x213E,0x10D6,
-+     0x1F0A,0x1DD7,0x1B4F,0x0E68,0x1958,0x158D,0x14B6,0x0CB8,0x23E2,0x15D0,
-+     0x1249,0x1562,0x03D6,0x0513,0x1A3E,0x171E,0x1F09,0x0DF9,0x0A07,0x12AE,
-+     0x0690,0x05C6,0x120D,0x20D1,0x17A0,0x2189,0x1D34,0x1799,0x1E5E,0x20C7,
-+     0x1B45,0x1359,0x174B,0x0CCC,0x0187,0x21D9,0x15A7,0x1E1F,0x13B1,0x05FF,
-+     0x10D5,0x1905,0x01A8,0x0277,0x1FF4,0x0EB5,0x1476,0x1E1C,0x1390,0x018E,
-+     0x0484,0x0FCB,0x146B,0x151B,0x1DC6,0x1A76,0x169B,0x0B64,0x0024,0x187A,
-+     0x1230,0x2132,0x0ECE,0x149F,0x109A,0x1839,0x0568,0x1F84,0x0BF0,0x092D,
-+     0x0C77,0x13EF,0x14F9,0x138D,0x0832,0x0C68,0x0A37,0x0248,0x16EF,0x0125,
-+     0x087B,0x09A9,0x17C8,0x02DF,0x06A0,0x0FC3,0x0D75,0x1A10,0x0EAB,0x0D96,
-+     0x0CC2,0x1DA2,0x13AA,0x1760,0x0146,0x1636,0x0082,0x1255,0x1206,0x19DF,
-+     0x1D71,0x0D67,0x1DB4,0x0F15,0x065C,0x20C0,0x12F9,0x1796,0x1997,0x13B5,
-+     0x087E,0x19FC,0x173B,0x163F,0x06CC,0x05F1,0x19B1,0x1D1E,0x16E1,0x1A3B,
-+     0x0C3D,0x07C1,0x1A7C,0x00A5,0x181C,0x1593,0x0259,0x167B,0x0120,0x0889,
-+     0x0A51,0x0DA1,0x129D,0x1F76,0x045D,0x1471,0x03CC,0x07B2,0x07EE,0x16AF,
-+     0x0549,0x1046,0x2217,0x0BBF,0x12C6,0x0AA5,0x1C51,0x1C94,0x0DF4,0x22B8,
-+     0x0DBA,0x1284,0x1D15,0x1433,0x1D17,0x15AE,0x0387,0x1052,0x0880,0x107B,
-+     0x09E9,0x2012,0x1151,0x0641,0x0ECC,0x156E,0x1771,0x1972,0x09F9,0x12C3,
-+     0x0C42,0x0B9E,0x02A4,0x12EB,0x16B7,0x054D,0x1742,0x0600,0x0BF1,0x11C5,
-+     0x223E,0x0B35,0x1843,0x1A5D,0x081B,0x1DB2,0x0020,0x0BC7,0x155F,0x015E,
-+     0x1341,0x1FD0,0x136D,0x062A,0x1E6C,0x1DA3,0x00C3,0x12EC,0x03C2,0x10D7,
-+     0x15F3,0x1489,0x19FD,0x067D,0x12D6,0x1847,0x0F9F,0x0ED7,0x1D9E,0x1ADB,
-+     0x10A4,0x0710,0x1866,0x0F32,0x1EC0,0x2309,0x00E8,0x025F,0x135F,0x0C54,
-+     0x0FFF,0x0BF9,0x0959,0x14F3,0x17A1,0x0EE9,0x20F3,0x10BE,0x0DF6,0x1D49,
-+     0x1111,0x0D2B,0x0226,0x1AB4,0x2337,0x021B,0x019A,0x22C0,0x1C06,0x08E5,
-+     0x2047,0x07F9,0x1612,0x0822,0x0E31,0x00F3,0x134C,0x1919,0x189D,0x23FB,
-+     0x0EFE,0x07D8,0x10F5,0x1143,0x22D1,0x0476,0x10F9,0x16CB,0x0053,0x16D3,
-+     0x0366,0x1B6A,0x0074,0x1DF6,0x165B,0x0308,0x116E,0x0837,0x1A0D,0x15F8,
-+     0x0D57,0x1875,0x1A8C,0x0EC0,0x239C,0x0BBE,0x0FB4,0x0009,0x1698,0x0AFE,
-+     0x1992,0x23BA,0x0EE0,0x2096,0x00FE,0x1BF7,0x1239,0x23FD,0x1F8E,0x113C,
-+     0x084F,0x09B1,0x0931,0x1E2F,0x0976,0x07AF,0x0B45,0x0ABD,0x0F37,0x0C7E,
-+     0x06D3,0x238B,0x0759,0x17AC,0x0923,0x1D05,0x14FA,0x1755,0x187C,0x0E02,
-+     0x0B03,0x02AE,0x1735,0x0283,0x033B,0x1C77,0x23C1,0x185C,0x0010,0x1595,
-+     0x1C96,0x09E1,0x1055,0x19F7,0x1226,0x1790,0x01A9,0x1A8A,0x06B7,0x1A48,
-+     0x1A96,0x121D,0x14BE,0x1681,0x131D,0x00BC,0x0D52,0x1401,0x0610,0x1A6F,
-+     0x1354,0x0DD6,0x0155,0x07D4,0x017F,0x2154,0x1C9D,0x176B,0x1C4B,0x1C68,
-+     0x1F33,0x082D,0x0616,0x23A4,0x0C86,0x1B00,0x0097,0x2357,0x10E4,0x149B,
-+     0x0B8F,0x0E71,0x0636,0x062E,0x14AC,0x07C7,0x20FD,0x12BC,0x0228,0x106D,
-+     0x0AB0,0x140F,0x2214,0x0C30,0x143B,0x1D77,0x1241,0x1FDB,0x1757,0x17E3,
-+     0x0CB4,0x1F93,0x1C75,0x02B3,0x237A,0x0928,0x0CDE,0x12B4,0x11D4,0x1ADC,
-+     0x2105,0x1B5C,0x1DF5,0x22FC,0x085F,0x08BF,0x0E1A,0x1564,0x06BF,0x1D59,
-+     0x0B7A,0x22D7,0x0AED,0x10F8,0x0D48,0x1B33,0x20C2,0x205D,0x1801,0x228F,
-+     0x13BD,0x0F5C,0x062C,0x1F2B,0x1AB7,0x09BE,0x0914,0x0C97,0x1941,0x151E,
-+     0x0676,0x01BA,0x0207,0x09F3,0x1F4E,0x1B7A,0x07C2,0x0059,0x1BB4,0x1BA4,
-+     0x1025,0x1102,0x0617,0x074A,0x0AF9,0x0915,0x1D3C,0x0B1B,0x0E05,0x0D66,
-+     0x06C6,0x1C4D,0x0708,0x21C9,0x08E6,0x1DD9,0x235D,0x1D90,0x0095,0x0814,
-+     0x0E4D,0x21C5,0x1DC3,0x0430,0x1E0D,0x235A,0x15DE,0x1B89,0x0729,0x066B,
-+     0x23A3,0x2028,0x0398,0x229E,0x1845,0x212F,0x0740,0x029E,0x1D0F,0x1D11,
-+     0x151D,0x023E,0x1B05,0x188F,0x0185,0x1584,0x044F,0x0033,0x0133,0x178D,
-+     0x0C9A,0x10BC,0x0815,0x2206,0x1AC3,0x0CBA,0x115E,0x1772,0x0909,0x161A,
-+     0x015C,0x1E83,0x1E96,0x0A1A,0x1D75,0x179E,0x2175,0x143E,0x17C5,0x12E9,
-+     0x0F09,0x0885,0x0D71,0x18F8,0x0359,0x1615,0x0C6C,0x0809,0x1F10,0x1C18,
-+     0x199C,0x1553,0x0D1B,0x0C0B,0x1ADF,0x0E4B,0x1B35,0x0B66,0x1264,0x22CB,
-+     0x0181,0x154F,0x0D74,0x134D,0x18C1,0x0E43,0x13EC,0x1E37,0x01BE,0x0755,
-+     0x0579,0x154B,0x0893,0x19D6,0x2072,0x208E,0x22C2,0x0719,0x04E6,0x00D3,
-+     0x02C0,0x194A,0x0486,0x0DC1,0x06FD,0x1A86,0x0BEC,0x1191,0x0840,0x196C,
-+     0x1959,0x12A5,0x08F8,0x17B0,0x16CF,0x0602,0x0D85,0x1F21,0x13A4,0x1946,
-+     0x06E1,0x14BA,0x20F9,0x182C,0x0E09,0x13D8,0x159C,0x0881,0x0542,0x1948,
-+     0x0829,0x1668,0x2060,0x1138,0x172D,0x17C3,0x0013,0x08E8,0x034F,0x1D80,
-+     0x018D,0x0E90,0x0551,0x1CAE,0x0643,0x0ECD,0x005C,0x0223,0x0B29,0x10F1,
-+     0x0B5D,0x0C5B,0x132B,0x02D1,0x2316,0x147F,0x1335,0x0679,0x06C4,0x04A3,
-+     0x108D,0x02C3,0x075A,0x01EA,0x23AE,0x22B6,0x2138,0x232A,0x23EC,0x02AC,
-+     0x227C,0x0E39,0x168F,0x0F35,0x06DA,0x0782,0x0556,0x042D,0x11AB,0x224C,
-+     0x0F1E,0x0561,0x17A4,0x1B42,0x0AC6,0x1B91,0x0483,0x118B,0x1EED,0x0741,
-+     0x177C,0x21E8,0x1AFC,0x209D,0x0FE0,0x1AD0,0x13B2,0x0637,0x20A4,0x1C1D,
-+     0x0EAF,0x03E8,0x15F7,0x1686,0x21B2,0x2215,0x1091,0x01CE,0x135E,0x18C8,
-+     0x1E46,0x2322,0x0618,0x23CA,0x1795,0x1F03,0x1A3D,0x0C5D,0x2298,0x01AE,
-+     0x02E1,0x0D41,0x09D4,0x219D,0x2084,0x0F98,0x0375,0x13C9,0x0AC4,0x09FE,
-+     0x1D81,0x0FF0,0x11C7,0x1FA9,0x1301,0x0BEF,0x1031,0x0B07,0x1FBF,0x1370,
-+     0x1AA1,0x1956,0x15C0,0x1858,0x13BB,0x0937,0x1804,0x109D,0x03D8,0x0635,
-+     0x1E41,0x0999,0x1079,0x15CC,0x15FC,0x09A2,0x1DA7,0x142E,0x03EC,0x1954,
-+     0x1215,0x15E9,0x05C5,0x0831,0x13DA,0x14EF,0x22FE,0x1A54,0x06FE,0x23F1,
-+     0x17A6,0x1CD2,0x068A,0x0E4C,0x03C8,0x007C,0x02E5,0x0C25,0x0C48,0x0A26,
-+     0x1A9F,0x09B2,0x20F6,0x14AF,0x1B6F,0x233F,0x11F7,0x00B2,0x1076,0x1E70,
-+     0x0726,0x1F59,0x222D,0x175D,0x1986,0x0AD8,0x2095,0x0214,0x231F,0x10C6,
-+     0x1944,0x1816,0x093A,0x1EA5,0x0B4F,0x174E,0x1087,0x0C0E,0x1DDD,0x1CF2,
-+     0x15AA,0x2231,0x22E8,0x0B52,0x040C,0x1CE3,0x0B7D,0x197C,0x0234,0x05EF,
-+     0x1BDB,0x124E,0x1E95,0x03B4,0x226A,0x0149,0x137A,0x1AF5,0x20D5,0x1D4F,
-+     0x0CDA,0x145B,0x026A,0x0473,0x0FF1,0x168A,0x16A5,0x23E4,0x13C6,0x0EB7,
-+     0x0D7B,0x0D76,0x178E,0x23B7,0x05E2,0x16EB,0x0535,0x071B,0x2293,0x06E6,
-+     0x1903,0x1526,0x1C23,0x0EC7,0x0CCB,0x1F65,0x0D89,0x147C,0x23F5,0x1446,
-+     0x228B,0x0063,0x19DD,0x10FE,0x2023,0x0BAC,0x096A,0x22A4,0x1770,0x176D,
-+     0x01C7,0x0E83,0x1E08,0x213F,0x2365,0x1EBD,0x1A16,0x0818,0x11FD,0x0E30,
-+     0x024E,0x2256,0x0314,0x02D7,0x129B,0x0303,0x1BC7,0x01CC,0x1586,0x0752,
-+     0x194C,0x168E,0x1099,0x10A5,0x1009,0x016A,0x0BA6,0x0DCC,0x0124,0x15A3,
-+     0x2152,0x1072,0x0EBC,0x2018,0x1EEE,0x1139,0x0CCF,0x1FA1,0x035B,0x19D9,
-+     0x1029,0x1048,0x1397,0x18D0,0x075B,0x0C55,0x0188,0x19CA,0x2229,0x20D9,
-+     0x132D,0x0179,0x14A9,0x1A9D,0x1F6C,0x173F,0x18FF,0x12B0,0x00F8,0x14D9,
-+     0x0CE4,0x0732,0x0169,0x21AA,0x1F0B,0x1F0F,0x16AD,0x0869,0x1DB7,0x0BA8,
-+     0x1A55,0x0F6D,0x01BD,0x1DDA,0x1E1B,0x096B,0x09FF,0x2327,0x107D,0x0530,
-+     0x11E3,0x0558,0x16A1,0x0CB0,0x1C7E,0x160F,0x1840,0x187D,0x0EEB,0x14B1,
-+     0x079E,0x0C22,0x049E,0x0AE3,0x15BB,0x08E4,0x0F4A,0x1920,0x1ECF,0x12DD,
-+     0x1A01,0x0C2B,0x0507,0x0AF7,0x04B9,0x0E35,0x209F,0x1805,0x1E66,0x1169,
-+     0x2041,0x1EFC,0x1DDB,0x1E89,0x1EF2,0x1430,0x1DFC,0x1E98,0x0D9A,0x0D03,
-+     0x0BDF,0x09DC,0x15D5,0x08DB,0x1250,0x0DC6,0x099B,0x07ED,0x1FEE,0x0753,
-+     0x1C20,0x1EB8,0x17D2,0x23B2,0x1E34,0x22A3,0x0B5F,0x0ED1,0x0960,0x029B,
-+     0x1977,0x0A7D,0x12A1,0x00C9,0x04D3,0x1271,0x1A74,0x08B8,0x1035,0x231A,
-+     0x1300,0x047D,0x2202,0x0338,0x115C,0x01A3,0x2209,0x1CFB,0x193F,0x0BE3,
-+     0x1E1A,0x1445,0x06A8,0x1F9B,0x1307,0x0916,0x0E34,0x1806,0x23CC,0x144C,
-+     0x214A,0x1CE9,0x22B4,0x198A,0x126E,0x0F82,0x0D80,0x0167,0x0AC9,0x04A1,
-+     0x184D,0x0E8E,0x190A,0x0268,0x1395,0x20BA,0x170F,0x16E6,0x0601,0x1E81,
-+     0x1662,0x19B2,0x165E,0x0E3A,0x0D0B,0x0EDC,0x1235,0x23EE,0x0E28,0x0C88,
-+     0x0C8E,0x2196,0x10B5,0x0BEB,0x230F,0x2367,0x0392,0x1404,0x0AEA,0x1A9B,
-+     0x0439,0x03FA,0x1DB9,0x1100,0x11C1,0x222B,0x0787,0x007E,0x0E76,0x0261,
-+     0x06D4,0x18B5,0x1B4A,0x0647,0x0DDB,0x1976,0x05AE,0x0F34,0x0186,0x0068,
-+     0x1075,0x151F,0x0C3A,0x002C,0x233B,0x0A56,0x0DFA,0x0857,0x137E,0x12B1,
-+     0x100B,0x0C21,0x0AA4,0x08B4,0x11ED,0x0EEA,0x13EB,0x0614,0x1BD2,0x0356,
-+     0x16BA,0x1403,0x0AAE,0x0F00,0x1FFD,0x054A,0x01BB,0x2181,0x21CD,0x013B,
-+     0x1F8D,0x2369,0x08C3,0x1669,0x195B,0x1884,0x02EA,0x1090,0x053C,0x11F2,
-+     0x0472,0x034A,0x042A,0x223C,0x10AE,0x19A2,0x147E,0x0D6F,0x13AE,0x1CD0,
-+     0x1FB5,0x093D,0x19D2,0x10C7,0x0258,0x0106,0x1D44,0x1ABC,0x0B3D,0x1F86,
-+     0x1598,0x12E5,0x013D,0x1234,0x0F8A,0x0C6A,0x2318,0x0993,0x222E,0x1CC1,
-+     0x106F,0x1A61,0x05BF,0x19B4,0x0EA8,0x03B1,0x1C6C,0x2030,0x0725,0x0E62,
-+     0x064D,0x1469,0x2211,0x0004,0x1525,0x0B9F,0x0CB9,0x0EFC,0x0D02,0x1A1B,
-+     0x17C0,0x1C50,0x14C4,0x0C0D,0x1CF1,0x02D0,0x1A92,0x0B26,0x0FDB,0x109E,
-+     0x0905,0x0E8D,0x1D60,0x1C91,0x23F2,0x111E,0x06F2,0x1A88,0x22F3,0x0AB5,
-+     0x1D83,0x0FEA,0x05EB,0x1E55,0x056F,0x08B7,0x18E1,0x1CD3,0x0A94,0x0E3E,
-+     0x0E5F,0x1282,0x0CC7,0x0AB7,0x1DBF,0x0213,0x1BD1,0x044D,0x20EC,0x19E0,
-+     0x071A,0x0DF1,0x07D5,0x1311,0x0007,0x0F92,0x00C5,0x0433,0x0465,0x073B,
-+     0x0851,0x1542,0x05E9,0x0D39,0x0A1B,0x17F6,0x114D,0x0A9F,0x00A4,0x1A98,
-+     0x0ACD,0x1835,0x1D8A,0x0649,0x1002,0x1038,0x1E7B,0x0FF2,0x1CF4,0x21B8,
-+     0x1A58,0x0FE4,0x038E,0x1458,0x1538,0x1550,0x025A,0x0B82,0x16F0,0x0191,
-+     0x171D,0x081E,0x0BD4,0x15DA,0x0849,0x21E2,0x0B7F,0x1A0F,0x18B6,0x1FD7,
-+     0x02B9,0x04C1,0x0289,0x1F55,0x13DD,0x0FE1,0x1B1D,0x191D,0x17BB,0x0E4E,
-+     0x0175,0x1AC6,0x0044,0x23AD,0x1D03,0x210F,0x17C7,0x05E8,0x0CC0,0x00D1,
-+     0x0A60,0x0B3A,0x2299,0x2311,0x13E8,0x0BC8,0x0AC8,0x1E07,0x0380,0x0D50,
-+     0x0B56,0x0555,0x2143,0x0479,0x1545,0x1285,0x13E6,0x1926,0x2042,0x2075,
-+     0x1D79,0x2362,0x206A,0x187F,0x14B7,0x138E,0x1AA0,0x1C2D,0x0899,0x22CD,
-+     0x115B,0x00D4,0x1014,0x1701,0x02CB,0x0028,0x1A2F,0x1FFA,0x21EE,0x16C3,
-+     0x1158,0x15CE,0x1831,0x1639,0x04B7,0x00CE,0x0431,0x011F,0x1D35,0x23ED,
-+     0x093F,0x0B91,0x0ED2,0x0EDA,0x0369,0x1BC3,0x0B1A,0x21C3,0x040A,0x206C,
-+     0x17F9,0x1FB9,0x0CAD,0x1938,0x1661,0x0E19,0x1C1F,0x0A68,0x079B,0x1580,
-+     0x0005,0x1D56,0x0CBD,0x0306,0x1F3E,0x0872,0x1D2C,0x0A3A,0x06E9,0x1B43,
-+     0x0C8D,0x0113,0x0023,0x1675,0x0218,0x026D,0x1622,0x22A1,0x03F0,0x177F,
-+     0x20F4,0x0EF3,0x1D96,0x2281,0x053E,0x0CD2,0x0C70,0x159E,0x1691,0x0713,
-+     0x1F5E,0x205B,0x15C6,0x1C09,0x16E0,0x04CF,0x1C1C,0x0C74,0x15E5,0x12F7,
-+     0x16D8,0x2245,0x07E2,0x0566,0x0345,0x1FE2,0x2093,0x114B,0x19D8,0x0313,
-+     0x2108,0x1E09,0x2110,0x1FA8,0x03F6,0x0D93,0x0BD8,0x067F,0x06DE,0x2242,
-+     0x2282,0x120F,0x04E5,0x0E97,0x05DE,0x1D9B,0x09C1,0x19C8,0x029D,0x19A4,
-+     0x18BB,0x12F5,0x13D5,0x1AB3,0x11CF,0x0D59,0x094A,0x1574,0x16F6,0x0C08,
-+     0x22C3,0x20BB,0x18E3,0x0A73,0x1842,0x093E,0x1114,0x1211,0x1733,0x09DA,
-+     0x1ABE,0x1BD0,0x202F,0x0E41,0x222F,0x1F94,0x0D21,0x0553,0x08F0,0x10DA,
-+     0x0711,0x11FE,0x1B52,0x07BC,0x0BF3,0x076F,0x0AD1,0x0D1E,0x004F,0x170D,
-+     0x107A,0x1103,0x0681,0x02D2,0x0FA7,0x10DD,0x12D4,0x2083,0x0D9F,0x1DEB,
-+     0x0422,0x1776,0x1767,0x029F,0x0C7A,0x10E1,0x1C11,0x08D6,0x069A,0x1F47,
-+     0x14AA,0x1810,0x0CF6,0x09A3,0x0235,0x180A,0x1708,0x0A72,0x1BEC,0x1026,
-+     0x1754,0x0B0B,0x043A,0x2040,0x1119,0x0612,0x0628,0x1187,0x14B4,0x157F,
-+     0x1DB3,0x0156,0x01F9,0x082C,0x13FB,0x1218,0x0003,0x19CC,0x1764,0x14DC,
-+     0x1F30,0x0011,0x0AA1,0x096F,0x14FE,0x23C3,0x0CAE,0x04DB,0x0F18,0x1F4A,
-+     0x039B,0x15E1,0x08CB,0x0ADF,0x1FDF,0x1B50,0x08ED,0x1721,0x2296,0x040F,
-+     0x1A29,0x128E,0x0C84,0x218A,0x01CA,0x1D78,0x05D8,0x0D19,0x0B94,0x13C0,
-+     0x02E8,0x0426,0x2272,0x10ED,0x1179,0x1E4D,0x1781,0x0219,0x21A9,0x0088,
-+     0x2091,0x19E4,0x115A,0x1116,0x17D0,0x1A49,0x14B2,0x0DAD,0x0608,0x1F6E,
-+     0x2001,0x1BE0,0x17F0,0x0897,0x004C,0x11C3,0x22E3,0x05C8,0x06E5,0x1678,
-+     0x140D,0x1BA9,0x05FC,0x08E3,0x096D,0x03A9,0x092C,0x17F8,0x04BF,0x0902,
-+     0x16DB,0x1EE2,0x15E7,0x12E2,0x05AF,0x0C64,0x1345,0x03F2,0x128A,0x0811,
-+     0x0716,0x0582,0x031F,0x13DF,0x1E47,0x1B1C,0x0E77,0x1EE3,0x22B2,0x1FBA,
-+     0x0E2D,0x2082,0x1A8D,0x1596,0x11B4,0x129C,0x1F95,0x1710,0x1A57,0x1736,
-+     0x0D84,0x1B34,0x1D30,0x0D95,0x0B6E,0x1F2A,0x0E64,0x060B,0x0A91,0x0CE9,
-+     0x14A7,0x20B3,0x1442,0x1803,0x195C,0x06B2,0x11F9,0x10DF,0x1784,0x0B53,
-+     0x10BA,0x1317,0x1420,0x114F,0x1871,0x17C2,0x0742,0x16A2,0x06EC,0x19B7,
-+     0x0367,0x0C2E,0x129E,0x06CF,0x0D01,0x0FE7,0x03A8,0x08C4,0x124D,0x139C,
-+     0x04AB,0x1CC5,0x0574,0x082B,0x1C79,0x126C,0x216F,0x023B,0x17D5,0x066A,
-+     0x0F01,0x0AE6,0x06F0,0x13B6,0x1227,0x0A78,0x230E,0x2348,0x222A,0x0FF4,
-+     0x1E9B,0x1FD8,0x136A,0x2335,0x10AC,0x134B,0x1939,0x0273,0x0BC4,0x01E3,
-+     0x1D37,0x1AA8,0x0123,0x0609,0x069E,0x03B5,0x1874,0x1896,0x22DA,0x08B3,
-+     0x04B4,0x0304,0x1FCD,0x0F6F,0x04B6,0x0A77,0x02A2,0x2109,0x2393,0x23B5,
-+     0x21B5,0x2330,0x1CD7,0x15D6,0x0ACB,0x0F94,0x20DE,0x0836,0x1C7A,0x0FFE,
-+     0x1645,0x15AD,0x188B,0x184A,0x1B41,0x158E,0x046D,0x173E,0x0B40,0x0378,
-+     0x0281,0x0F3D,0x11AC,0x1D70,0x1BF9,0x101E,0x145C,0x0083,0x058E,0x160C,
-+     0x1FA6,0x1364,0x1FF1,0x0E48,0x0992,0x086C,0x16D6,0x08DA,0x0C40,0x0253,
-+     0x03F9,0x2065,0x2032,0x03B0,0x1281,0x2118,0x1F23,0x1722,0x22FA,0x0328,
-+     0x01AA,0x146A,0x12C4,0x2329,0x03EF,0x0DF3,0x0C53,0x09EA,0x01C4,0x1FCA,
-+     0x1792,0x09D9,0x1540,0x1F6A,0x0279,0x0145,0x1AA7,0x013F,0x1E19,0x15B6,
-+     0x000D,0x0A53,0x186E,0x217F,0x0CE3,0x1853,0x1A11,0x1936,0x1828,0x08BD,
-+     0x08DF,0x1EA8,0x12EE,0x1D0C,0x1664,0x20DF,0x04DE,0x083A,0x0D24,0x2361,
-+     0x0F2B,0x2354,0x126F,0x109B,0x1DF8,0x174F,0x09A0,0x0D53,0x00C2,0x06BA,
-+     0x087C,0x0CC3,0x21B9,0x128C,0x01A1,0x0688,0x1162,0x0C7C,0x1C27,0x20D0,
-+     0x0A6B,0x1B44,0x002D,0x119B,0x1855,0x102F,0x19BB,0x20FB,0x11C8,0x05FB,
-+     0x058A,0x1C5F,0x1CE6,0x09C7,0x192F,0x0E1D,0x03CB,0x20EA,0x1CC3,0x01DB,
-+     0x05C9,0x1B60,0x069B,0x001D,0x2295,0x1C4E,0x0A40,0x105F,0x0141,0x01AC,
-+     0x0640,0x032D,0x15B5,0x229F,0x1E17,0x19F0,0x194F,0x0102,0x0675,0x0B5B,
-+     0x203A,0x1010,0x1412,0x02E7,0x155C,0x176A,0x0866,0x21A1,0x18E9,0x0565,
-+     0x12CA,0x1F44,0x1274,0x1B32,0x0260,0x196F,0x1838,0x13C3,0x003F,0x19C6,
-+     0x01C6,0x1600,0x0EDF,0x0FD1,0x0A69,0x0062,0x1ED0,0x0F56,0x0377,0x2333,
-+     0x0EA5,0x0350,0x1DF1,0x19A6,0x224B,0x0EA0,0x112D,0x204D,0x04D2,0x1613,
-+     0x1793,0x0817,0x1D4E,0x1BF2,0x1913,0x0233,0x0B34,0x0A71,0x109C,0x1775,
-+     0x0CDD,0x02DE,0x1EB4,0x1C28,0x021C,0x1D1C,0x1C93,0x1189,0x1999,0x16AC,
-+     0x1670,0x1738,0x1E2A,0x2078,0x14BD,0x00EA,0x0898,0x1015,0x0EFA,0x19D7,
-+     0x113E,0x1630,0x1DBB,0x0EC9,0x1560,0x1FC8,0x16EC,0x10E3,0x0CF2,0x07C8,
-+     0x1174,0x0C5A,0x002E,0x1DB1,0x01D6,0x07E7,0x18CD,0x19A8,0x0CC5,0x0D5C,
-+     0x1541,0x12CC,0x0BE9,0x0A1C,0x21CF,0x0171,0x067B,0x1DE3,0x1EE8,0x022B,
-+     0x17A9,0x19AB,0x0D20,0x1C03,0x1E45,0x0E80,0x0B19,0x107F,0x124F,0x18AE,
-+     0x1907,0x1614,0x18BD,0x0A9B,0x059B,0x0D70,0x12F3,0x10C5,0x2140,0x0BB4,
-+     0x2384,0x01F7,0x0748,0x0FFB,0x13B3,0x01AD,0x076D,0x1083,0x1125,0x0018,
-+     0x1C39,0x0925,0x19EF,0x0E4F,0x210C,0x159F,0x037E,0x0A62,0x219E,0x211C,
-+     0x1C54,0x0BE0,0x1E02,0x09BA,0x1CBB,0x147B,0x1389,0x0B68,0x1023,0x23CB,
-+     0x0E75,0x1086,0x1145,0x0BE4,0x1BFD,0x2059,0x2007,0x0022,0x05D5,0x1BF6,
-+     0x02F0,0x1D1D,0x129A,0x06E4,0x0F47,0x0673,0x0ADD,0x0871,0x1C52,0x1449,
-+     0x232C,0x1E67,0x085B,0x20AE,0x0B74,0x16A7,0x0B85,0x1717,0x0FC7,0x0DFB,
-+     0x097F,0x0624,0x1CD6,0x15AF,0x0EFB,0x0E42,0x03B9,0x1369,0x0927,0x047C,
-+     0x0D5A,0x0982,0x0E7F,0x217C,0x02D5,0x06DD,0x1E79,0x0D9D,0x1964,0x1153,
-+     0x1F70,0x04CD,0x1123,0x22F1,0x1F2D,0x1EA4,0x19B6,0x1C3B,0x1356,0x0E01,
-+     0x16C7,0x11C9,0x191A,0x09AC,0x1DE6,0x1FDC,0x0581,0x1F04,0x1178,0x06AB,
-+     0x1D06,0x0A48,0x0F5B,0x1E4A,0x15D2,0x0FF8,0x01C3,0x1A14,0x0D17,0x086D,
-+     0x0CEF,0x1D50,0x03CF,0x0B3E,0x003D,0x06AC,0x008B,0x1185,0x1732,0x11BD,
-+     0x12F8,0x03B8,0x1068,0x18A2,0x1BA0,0x10F0,0x0868,0x03E6,0x1DC8,0x1AA2,
-+     0x1B13,0x1C82,0x0055,0x099F,0x2222,0x034B,0x179D,0x1E6F,0x1261,0x0FC8,
-+     0x166D,0x1F42,0x127F,0x0C9B,0x00B9,0x1D26,0x181D,0x1320,0x09AE,0x01DA,
-+     0x1A35,0x05E3,0x04D6,0x1141,0x1BB2,0x0669,0x1B70,0x1F22,0x1B9D,0x19BE,
-+     0x0D2A,0x1057,0x0A3B,0x11D3,0x157B,0x1B49,0x14F7,0x095D,0x0A88,0x0126,
-+     0x031B,0x03DE,0x1422,0x0BF8,0x1030,0x1F34,0x210B,0x1B12,0x0379,0x0806,
-+     0x1252,0x18A0,0x1778,0x1EE7,0x23C6,0x1611,0x22EC,0x0BE8,0x0950,0x1008,
-+     0x0906,0x1D51,0x10A2,0x1DAE,0x22D8,0x1499,0x152F,0x0D08,0x00DB,0x0860,
-+     0x0162,0x0AD3,0x2233,0x18A6,0x0DD2,0x1477,0x11B3,0x1CBD,0x2043,0x183A,
-+     0x1077,0x15E6,0x1FEA,0x0FE8,0x0396,0x0B0A,0x1296,0x0049,0x2303,0x1818,
-+     0x03A2,0x03F8,0x1225,0x05ED,0x15D4,0x030D,0x089D,0x107E,0x0A43,0x14A0,
-+     0x235C,0x1426,0x0733,0x0D1C,0x1B96,0x09CE,0x155D,0x0F6E,0x238C,0x0876,
-+     0x1DE0,0x1223,0x0FEF,0x078B,0x1EC2,0x09BF,0x1D52,0x1FA4,0x202B,0x14E1,
-+     0x0864,0x1F78,0x0FA9,0x1821,0x0E38,0x06A6,0x0211,0x1F9E,0x020A,0x1AF2,
-+     0x0981,0x1CC0,0x0766,0x1047,0x1EA9,0x0C16,0x1BE8,0x0464,0x22C8,0x183B,
-+     0x0B32,0x2106,0x0D79,0x14F5,0x0A33,0x18D4,0x0482,0x0158,0x13E2,0x1651,
-+     0x03C6,0x1750,0x1A5A,0x1C3C,0x1825,0x1DFB,0x1D76,0x2218,0x1F16,0x08EE,
-+     0x210A,0x0747,0x0DF5,0x0CD3,0x10D3,0x1BBA,0x1F5D,0x1A78,0x19C7,0x177E,
-+     0x13F0,0x2315,0x1F82,0x0922,0x22C6,0x17CC,0x1A50,0x1FE5,0x193D,0x122D,
-+     0x03E3,0x07C9,0x20B0,0x217A,0x23F4,0x0DFD,0x1268,0x080E,0x192D,0x0698,
-+     0x1EAF,0x170A,0x1E60,0x1947,0x1CE1,0x10BB,0x1505,0x016E,0x207B,0x11E7,
-+     0x1F85,0x0F72,0x191E,0x2015,0x04AD,0x0AC1,0x1D73,0x2003,0x02F9,0x1C26,
-+     0x1F64,0x0C7D,0x0B2D,0x004D,0x1E2B,0x1432,0x026C,0x1E04,0x218C,0x0CE1,
-+     0x000F,0x0A01,0x16D0,0x20C8,0x0E25,0x0C09,0x2199,0x091A,0x0E3B,0x0F5F,
-+     0x0D5E,0x223D,0x025D,0x0699,0x00DD,0x20EB,0x1352,0x1B92,0x21A4,0x1E10,
-+     0x05E5,0x1292,0x0750,0x0552,0x0061,0x0058,0x07CB,0x02B6,0x12F0,0x0F67,
-+     0x070D,0x1837,0x196B,0x09F7,0x153F,0x0BEE,0x1769,0x0B00,0x1142,0x1AE9,
-+     0x1B98,0x1B8A,0x11A8,0x1DD2,0x16D2,0x1C7C,0x0F38,0x0F3B,0x1601,0x0151,
-+     0x0320,0x1085,0x0B61,0x0DAF,0x1308,0x0E21,0x0371,0x1F7C,0x04DD,0x0F49,
-+     0x1146,0x169C,0x1E31,0x1258,0x1E50,0x1F8B,0x205F,0x145A,0x084D,0x23B8,
-+     0x0FAF,0x2055,0x160E,0x13D7,0x0908,0x0A7C,0x1022,0x0AC5,0x02DA,0x1962,
-+     0x1F9F,0x0467,0x1E9C,0x04E3,0x0F4E,0x1DF9,0x23A5,0x10E7,0x11A9,0x215F,
-+     0x117E,0x223A,0x149E,0x01E6,0x18D6,0x03B7,0x104B,0x0FBB,0x1273,0x18C9,
-+     0x0A4A,0x215A,0x024C,0x1378,0x1ED2,0x212D,0x0F22,0x1F99,0x212E,0x2044,
-+     0x10D0,0x22D2,0x20F7,0x19B5,0x1416,0x1741,0x20B6,0x1159,0x23A6,0x186D,
-+     0x0515,0x04A8,0x2171,0x0E9E,0x2325,0x111B,0x1EC8,0x1620,0x1687,0x22BC,
-+     0x059F,0x06E7,0x11DD,0x1C88,0x2125,0x0FAA,0x10DB,0x1854,0x1410,0x141C,
-+     0x23AF,0x21D6,0x0B8C,0x0AD9,0x0B6B,0x0597,0x0C06,0x0619,0x198F,0x0339,
-+     0x0802,0x0859,0x0107,0x0410,0x208A,0x2291,0x0E10,0x1DA6,0x19AA,0x0324,
-+     0x10FB,0x049A,0x0CAC,0x2252,0x0299,0x0FD0,0x1DE7,0x086E,0x0FFA,0x09FA,
-+     0x23C8,0x18C7,0x0489,0x2195,0x1802,0x19F2,0x1967,0x0FBF,0x02EE,0x0AE4,
-+     0x0B63,0x1509,0x178F,0x0843,0x05E7,0x0613,0x1739,0x065A,0x0201,0x06D7,
-+     0x21DA,0x11F4,0x0503,0x090D,0x0E32,0x09A8,0x1B5A,0x1EFB,0x20BF,0x11F1,
-+     0x1D40,0x1DF2,0x1E75,0x01B0,0x0BCE,0x1346,0x1D5C,0x0546,0x1B0E,0x07B4,
-+     0x11E8,0x018A,0x19E6,0x0177,0x134E,0x18E2,0x1546,0x0861,0x054C,0x0119,
-+     0x1A77,0x1CEF,0x1110,0x1953,0x1CD9,0x0B65,0x0CD0,0x1E5A,0x1E0F,0x07EB,
-+     0x13C2,0x1949,0x16E3,0x0409,0x007F,0x1CFF,0x0485,0x14D0,0x0CD1,0x0E46,
-+     0x055E,0x1C48,0x016F,0x1C7B,0x1109,0x18B2,0x0ED5,0x13B0,0x0DFF,0x2061,
-+     0x0795,0x2076,0x1A4A,0x029C,0x13BF,0x119A,0x1819,0x227A,0x0388,0x1C24,
-+     0x036E,0x1D82,0x0F4B,0x084E,0x23EB,0x13A1,0x0632,0x13DC,0x150A,0x0112,
-+     0x05A4,0x073C,0x161D,0x04AC,0x2283,0x0D0A,0x172E,0x2142,0x0319,0x1673,
-+     0x17D6,0x0F73,0x0E26,0x14E6,0x1F46,0x13E0,0x1841,0x130E,0x2363,0x10CE,
-+     0x0980,0x15A2,0x1FC7,0x04D9,0x11A2,0x0CA8,0x00EF,0x07BF,0x1C12,0x09DE,
-+     0x0AE0,0x00DF,0x0D49,0x06C0,0x206E,0x1EE1,0x0A38,0x22F8,0x1DC7,0x0A79,
-+     0x1800,0x179B,0x1386,0x1A22,0x01D2,0x094E,0x125C,0x2244,0x1746,0x0EDE,
-+     0x002A,0x1CA7,0x099A,0x07E4,0x0264,0x1C6F,0x2389,0x0987,0x1F3D,0x1E88,
-+     0x02E0,0x0D44,0x0E6C,0x1E8F,0x0F55,0x2066,0x1CC4,0x0917,0x1DB8,0x089F,
-+     0x0615,0x11A5,0x12C8,0x0A42,0x079C,0x0D13,0x0B6A,0x131F,0x136C,0x04AE,
-+     0x130D,0x16F8,0x01A0,0x13C7,0x0B4C,0x2279,0x0196,0x1464,0x0F60,0x0231,
-+     0x19A0,0x1E9A,0x0397,0x170B,0x133C,0x2265,0x017C,0x1C78,0x048C,0x08D0,
-+     0x06A4,0x071C,0x0BBA,0x0DE7,0x0B3F,0x0229,0x1EAD,0x140A,0x037B,0x0EC6,
-+     0x0E16,0x0442,0x1894,0x156C,0x0F8F,0x23A1,0x0DCE,0x13CD,0x1AA4,0x0E59,
-+     0x162B,0x1AA9,0x1BFB,0x09A7,0x1703,0x0A81,0x2056,0x21BC,0x078F,0x07AD,
-+     0x1A24,0x0F31,0x19F3,0x09E6,0x11CD,0x23B6,0x234F,0x0FD2,0x196D,0x06D6,
-+     0x035A,0x0AFA,0x005E,0x035C,0x1AB9,0x15A4,0x1318,0x0132,0x08D9,0x0512,
-+     0x1693,0x0DB0,0x16A6,0x07FC,0x0B02,0x1D0D,0x09F0,0x21F5,0x0799,0x13E3,
-+     0x0768,0x0EF9,0x1176,0x014A,0x15C1,0x0BA1,0x0E99,0x112B,0x1AAE,0x1C0B,
-+     0x0178,0x1C69,0x1C0F,0x0130,0x1FC2,0x0E45,0x1694,0x1F0D,0x1A79,0x0911,
-+     0x0FE9,0x09AF,0x18C2,0x1B67,0x1DF3,0x0B01,0x14B5,0x1DFD,0x0DCD,0x161E,
-+     0x19A1,0x19E5,0x1500,0x14C9,0x0B2A,0x2366,0x1B46,0x14F4,0x0B5C,0x063E,
-+     0x03E1,0x0CA5,0x04F7,0x1409,0x0EC3,0x1D5D,0x012C,0x1277,0x1310,0x1214,
-+     0x112E,0x1F80,0x0AD6,0x1FD6,0x105B,0x226C,0x1F41,0x19CF,0x2033,0x0D29,
-+     0x03CA,0x1A47,0x0756,0x125A,0x06F4,0x1B53,0x0527,0x1D91,0x20CE,0x1975,
-+     0x0072,0x1431,0x1EEF,0x0BD0,0x0BE1,0x0C01,0x00E1,0x0A7A,0x23E6,0x0323,
-+     0x219F,0x1367,0x07A2,0x1CB6,0x2191,0x0CB2,0x234A,0x1288,0x17DD,0x030B,
-+     0x15F2,0x02A8,0x0D83,0x04BD,0x2347,0x0522,0x051B,0x225A,0x228A,0x1B9F,
-+     0x13F9,0x1B7C,0x1D7F,0x0A30,0x0220,0x1C3F,0x22EA,0x1680,0x0FC9,0x1190,
-+     0x1EF1,0x21CC,0x155E,0x20DD,0x0F27,0x13F6,0x07FF,0x0F71,0x1E6A,0x05B9,
-+     0x0F0A,0x2228,0x02E9,0x0ACE,0x205C,0x01E5,0x200B,0x002F,0x1E27,0x0116,
-+     0x1B38,0x190C,0x2307,0x07EA,0x152C,0x04C8,0x01FE,0x199B,0x1001,0x1535,
-+     0x0930,0x1EC9,0x086A,0x0080,0x141E,0x1066,0x16DF,0x0C79,0x1E42,0x0A4C,
-+     0x0667,0x1B7F,0x1679,0x1A3C,0x1A25,0x00E6,0x0611,0x0518,0x0B87,0x16F9,
-+     0x22B0,0x1C3A,0x14FD,0x04BC,0x080F,0x21BF,0x1943,0x0266,0x1124,0x002B,
-+     0x0670,0x01AB,0x1EC5,0x08B6,0x091D,0x0FA6,0x0541,0x20DC,0x0E65,0x0128,
-+     0x08C9,0x11E5,0x1647,0x0D3D,0x01B8,0x1C61,0x2319,0x200C,0x1053,0x1027,
-+     0x05F8,0x1A27,0x1133,0x210D,0x11E6,0x0935,0x054B,0x0754,0x02C6,0x0723,
-+     0x0852,0x106B,0x161F,0x10B1,0x0E81,0x2054,0x156B,0x1113,0x22C5,0x21B7,
-+     0x0AC0,0x042B,0x17DB,0x01B9,0x0CA2,0x055B,0x1A87,0x0D62,0x0A47,0x077F,
-+     0x1D25,0x0FB5,0x1F3F,0x04E0,0x16C2,0x011D,0x158C,0x209C,0x0D6E,0x18FE,
-+     0x05DD,0x1C05,0x123E,0x1BC6,0x0892,0x232B,0x1E3F,0x11B6,0x10B6,0x144A,
-+     0x203F,0x02AD,0x2237,0x1BB3,0x03EB,0x0BBC,0x0311,0x1054,0x011E,0x1712,
-+     0x05C2,0x2129,0x0292,0x22D0,0x0E6F,0x1F17,0x2234,0x16B6,0x00B5,0x1502,
-+     0x0B0E,0x1299,0x2170,0x08C0,0x1BD4,0x1475,0x141B,0x0D00,0x2026,0x0318,
-+     0x1567,0x0A4E,0x03E9,0x1CDC,0x23A8,0x1D8E,0x0DD8,0x0470,0x0286,0x1C22,
-+     0x1315,0x1785,0x048F,0x1786,0x1EE0,0x0B37,0x0952,0x02BE,0x0873,0x04DF,
-+     0x2101,0x0FCD,0x04B0,0x059D,0x1FCF,0x05E0,0x1C7F,0x0CBE,0x0461,0x024A,
-+     0x027C,0x05F4,0x092A,0x0DC9,0x01E7,0x1147,0x03B2,0x1AB8,0x0238,0x174C,
-+     0x02B2,0x1C6E,0x04D8,0x0DBC,0x1AB1,0x17FF,0x1443,0x054F,0x1128,0x0370,
-+     0x14CC,0x1F35,0x1173,0x0A03,0x1D32,0x12D1,0x02AB,0x09DB,0x153D,0x1425,
-+     0x122F,0x06BD,0x17B8,0x1579,0x0890,0x1B0F,0x1050,0x0DDF,0x23E3,0x1860,
-+     0x1203,0x11D5,0x0EBB,0x0A80,0x00B7,0x1951,0x15B7,0x1FF3,0x0D14,0x143D,
-+     0x164C,0x0E67,0x0C91,0x01F4,0x2243,0x1474,0x03A4,0x2147,0x0270,0x10C9,
-+     0x116F,0x127D,0x0B1E,0x10FC,0x1A0A,0x1846,0x1F63,0x1067,0x0BB3,0x191F,
-+     0x0EA6,0x0EEF,0x1E29,0x18B9,0x2079,0x090C,0x16FD,0x0EB4,0x0BC9,0x2098,
-+     0x080A,0x0183,0x1BFE,0x1631,0x0769,0x1DD8,0x142F,0x0F66,0x1316,0x02A9,
-+     0x22EE,0x1C4F,0x0285,0x1013,0x065D,0x0C2D,0x0466,0x033E,0x00E7,0x1900,
-+     0x226F,0x1276,0x03AE,0x0EA1,0x23E7,0x174D,0x216C,0x1CA1,0x1A06,0x0665,
-+     0x1461,0x2260,0x1F7D,0x1156,0x14E8,0x1327,0x0257,0x089A,0x15DF,0x16F4,
-+     0x0EB9,0x03B3,0x0EAD,0x0FD9,0x085D,0x1259,0x1BA8,0x1E90,0x114C,0x2236,
-+     0x02C7,0x1E53,0x2115,0x1D33,0x1FF5,0x1AFD,0x185D,0x06EE,0x0DC0,0x078C,
-+     0x0AF4,0x15D1,0x0030,0x2131,0x1EB6,0x06E0,0x06B6,0x038C,0x05A8,0x080C,
-+     0x0E98,0x1682,0x1DC0,0x1340,0x13B7,0x1C1B,0x0434,0x1AB5,0x1CAB,0x1A1C,
-+     0x07D0,0x1ABB,0x22C1,0x0F08,0x027D,0x1238,0x1591,0x07F7,0x0D30,0x13F8,
-+     0x1909,0x212B,0x1826,0x0749,0x0D06,0x0D2E,0x104F,0x1F39,0x09EB,0x0EF6,
-+     0x22E6,0x16F1,0x0AEE,0x116B,0x17DE,0x0B12,0x0322,0x0BEA,0x064C,0x03D9,
-+     0x2374,0x0CA4,0x1293,0x0E5C,0x04B3,0x03A0,0x13AD,0x0E33,0x0353,0x081A,
-+     0x0BB2,0x0DA3,0x1E01,0x1322,0x0EBE,0x0D0E,0x0DBB,0x11A3,0x1B57,0x16FF,
-+     0x0298,0x1A8F,0x09EF,0x08AD,0x1877,0x22AC,0x147A,0x1B36,0x095A,0x1B08,
-+     0x0455,0x10AD,0x0343,0x1B16,0x0CF8,0x082E,0x144D,0x1A37,0x1B5D,0x0702,
-+     0x09C4,0x1E16,0x157A,0x1965,0x0A63,0x1C6D,0x0D9E,0x0ED8,0x1E57,0x05CC,
-+     0x1758,0x008D,0x0BFE,0x1168,0x04ED,0x1917,0x2251,0x1074,0x2356,0x1719,
-+     0x1D3B,0x1FBE,0x22AA,0x14C8,0x211F,0x16D1,0x124B,0x2241,0x1C08,0x0AAC,
-+     0x0F06,0x12B5,0x01FB,0x1C72,0x0089,0x23B3,0x02BA,0x15A5,0x1A00,0x1483,
-+     0x13F2,0x2016,0x1AEB,0x2187,0x0BF7,0x07FA,0x2005,0x1516,0x13D6,0x0122,
-+     0x0420,0x039D,0x0193,0x193B,0x2360,0x0453,0x0A75,0x0BD9,0x1197,0x1923,
-+     0x1DB5,0x2225,0x1194,0x2058,0x0E9F,0x1106,0x06A1,0x02F5,0x1B63,0x00FF,
-+     0x1F4C,0x2289,0x0CE0,0x1F1D,0x1247,0x19AE,0x1FC0,0x182E,0x05B3,0x0DB2,
-+     0x229C,0x0E3D,0x232D,0x1961,0x1B95,0x0CA9,0x1A9E,0x183F,0x0203,0x1E76,
-+     0x16BB,0x00B1,0x0A3F,0x237E,0x08A8,0x1B6E,0x0B2B,0x215B,0x119E,0x0945,
-+     0x0F86,0x0A4B,0x12C7,0x1616,0x046B,0x20A3,0x0454,0x0405,0x0C19,0x1A08,
-+     0x1E33,0x10BD,0x1861,0x2135,0x0C23,0x0F36,0x0C5C,0x049B,0x032F,0x1A19,
-+     0x03DC,0x1E84,0x011C,0x1E61,0x096E,0x1F66,0x0798,0x104C,0x1C62,0x1E73,
-+     0x03E4,0x0638,0x190D,0x1AF6,0x17EF,0x10FD,0x1B0D,0x1263,0x1512,0x09A5,
-+     0x1439,0x0EF7,0x041D,0x04BA,0x08D4,0x1714,0x1B62,0x164F,0x1787,0x114A,
-+     0x05B2,0x1812,0x0D33,0x176E,0x1480,0x12FA,0x0E61,0x084B,0x0801,0x079A,
-+     0x2034,0x154A,0x23BC,0x20A9,0x1985,0x2286,0x148C,0x0DC2,0x06D8,0x1D4C,
-+     0x183D,0x1A41,0x22DD,0x21F1,0x103C,0x14BC,0x0827,0x0850,0x157D,0x02BD,
-+     0x03BF,0x00DE,0x0C9E,0x1CB7,0x1BF8,0x0805,0x20A8,0x1DA1,0x1F50,0x1DA0,
-+     0x0DA0,0x068E,0x1979,0x0650,0x1F52,0x2239,0x0594,0x1534,0x1C38,0x0351,
-+     0x0DE3,0x1672,0x21E3,0x10AB,0x11BC,0x1788,0x1547,0x2071,0x07DE,0x012F,
-+     0x22AF,0x2377,0x179A,0x12B3,0x0CF3,0x0B92,0x0BB7,0x070F,0x11CA,0x2039,
-+     0x0DAA,0x1521,0x0278,0x0F4D,0x0C87,0x0956,0x0967,0x067E,0x08B0,0x11AF,
-+     0x051F,0x099E,0x0C78,0x0E27,0x19BD,0x1DCC,0x15F1,0x01F5,0x1453,0x043E,
-+     0x1E8C,0x018F,0x1B54,0x2166,0x1BBC,0x1FE8,0x059A,0x0C6B,0x00C7,0x1E92,
-+     0x13DE,0x0B3B,0x05E4,0x15EE,0x22A9,0x2090,0x2276,0x0631,0x105D,0x2038,
-+     0x195A,0x17E5,0x1AFF,0x10A8,0x0384,0x0886,0x0456,0x1599,0x0B4E,0x1D47,
-+     0x1830,0x051E,0x1C3D,0x20E1,0x1895,0x2092,0x10E9,0x07C6,0x23BD,0x201A,
-+     0x209A,0x04C4,0x0315,0x019B,0x237C,0x047A,0x23FC,0x11A6,0x195F,0x2006,
-+     0x1328,0x1CCE,0x1DEA,0x0970,0x0067,0x058D,0x1934,0x2120,0x01C5,0x2263,
-+     0x04FD,0x1AE1,0x125E,0x1CA0,0x19BC,0x226E,0x0734,0x0BB8,0x0A54,0x19FE,
-+     0x0E85,0x1FC6,0x0224,0x171C,0x1FFB,0x1115,0x0524,0x133E,0x0EDD,0x2280,
-+     0x1D2F,0x0200,0x0CB3,0x23FE,0x0F19,0x1569,0x1537,0x19C2,0x08DC,0x1F6D,
-+     0x068D,0x10F4,0x055A,0x1E30,0x21F0,0x1CF5,0x0D35,0x04A6,0x139D,0x23D3,
-+     0x0A8D,0x1D3D,0x0763,0x0575,0x1511,0x1676,0x1304,0x0E13,0x10CD,0x0E55,
-+     0x199E,0x236E,0x1257,0x2288,0x13E5,0x0037,0x1D04,0x04EF,0x100E,0x0FAE,
-+     0x1E9E,0x067A,0x2320,0x0539,0x21D8,0x07C4,0x045F,0x1D0B,0x1196,0x020E,
-+     0x1B68,0x04B5,0x031C,0x00FD,0x1184,0x0F7C,0x166C,0x23D2,0x0C9F,0x2380,
-+     0x0B78,0x0F14,0x18F0,0x05AD,0x0252,0x138A,0x13FA,0x1A93,0x1F01,0x126A,
-+     0x1D6A,0x11D9,0x182F,0x1492,0x1822,0x0D54,0x16E2,0x05D1,0x1155,0x0C4A,
-+     0x1F58,0x00A3,0x17E0,0x0CD6,0x1D43,0x0250,0x16F3,0x0CFB,0x0C29,0x0B86,
-+     0x11A4,0x1ED7,0x14FC,0x10D8,0x0F59,0x2338,0x1C5A,0x0F42,0x142D,0x12FD,
-+     0x2373,0x11CE,0x0800,0x23E0,0x2025,0x0FFD,0x0A99,0x2264,0x1FF7,0x04A9,
-+     0x1A67,0x1ED4,0x0BE2,0x21F3,0x1DF4,0x1927,0x04A4,0x1C84,0x0B09,0x11B9,
-+     0x21A0,0x1D7B,0x1EF7,0x006F,0x18C6,0x1478,0x0985,0x1E23,0x0039,0x1EBC,
-+     0x13D2,0x0391,0x039C,0x0118,0x1061,0x21C8,0x1A40,0x1EAA,0x175B,0x036C,
-+     0x204F,0x19BA,0x1F91,0x193A,0x197B,0x0F24,0x176F,0x1592,0x0854,0x0804,
-+     0x0FD4,0x0A2B,0x16FE,0x0D64,0x0587,0x1F00,0x1539,0x203C,0x1E54,0x01B4,
-+     0x02E6,0x1B11,0x0A98,0x157C,0x1868,0x0786,0x15C8,0x083C,0x0F84,0x1209,
-+     0x0B47,0x0F1C,0x0D77,0x188C,0x06C7,0x0521,0x203E,0x1921,0x0996,0x2020,
-+     0x1E5D,0x12CE,0x0940,0x0309,0x1991,0x12A7,0x1E77,0x0830,0x1B94,0x1C73,
-+     0x02C4,0x1D86,0x0F0F,0x192B,0x0BFC,0x1451,0x1969,0x09F1,0x010C,0x1865,
-+     0x09C6,0x1AE8,0x17B7,0x21F8,0x14A1,0x21F6,0x07D7,0x0C36,0x1CB4,0x1883,
-+     0x1655,0x1DDF,0x0863,0x00F0,0x0961,0x0687,0x1070,0x0FE5,0x072F,0x0BC2,
-+     0x08C8,0x1AAA,0x0645,0x09CF,0x0FA8,0x2130,0x23CF,0x2246,0x1990,0x1744,
-+     0x0D4B,0x0090,0x143F,0x166F,0x1DE5,0x0331,0x09CD,0x1447,0x1CEB,0x0D3B,
-+     0x0CCD,0x2159,0x0F78,0x0251,0x068F,0x07BB,0x0877,0x1A2A,0x0700,0x23C2,
-+     0x08A2,0x1C98,0x1427,0x0E79,0x15AC,0x0F8B,0x153A,0x0AEC,0x0DEC,0x03EE,
-+     0x1AE2,0x1F6B,0x13F4,0x1EFA,0x172F,0x1C87,0x1B3F,0x192A,0x1C53,0x1BB1,
-+     0x0297,0x0772,0x1385,0x173D,0x0707,0x17BD,0x007D,0x1A07,0x08C6,0x1D6F,
-+     0x09D8,0x1850,0x1C8B,0x180D,0x1CB1,0x148A,0x0492,0x0847,0x0D78,0x0DEF,
-+     0x0E7E,0x1D3A,0x0E91,0x1888,0x1C59,0x1AE7,0x1FC1,0x154C,0x058C,0x0078,
-+     0x22BA,0x225B,0x0F5E,0x1A4C,0x0D3E,0x195D,0x06DF,0x02A7,0x14E5,0x0CFC,
-+     0x16EE,0x0F7D,0x0321,0x178A,0x1097,0x0E0B,0x1479,0x079D,0x1C5B,0x1208,
-+     0x0B1F,0x0D7C,0x1963,0x0835,0x1C99,0x2226,0x1417,0x045E,0x18E0,0x0051,
-+     0x1243,0x181E,0x0659,0x172A,0x1373,0x1ABD,0x1F0C,0x1749,0x113A,0x06ED,
-+     0x09A6,0x027F,0x015D,0x1084,0x022E,0x1A5B,0x1685,0x1D1B,0x0054,0x0FB3,
-+     0x20CC,0x23A9,0x220B,0x045A,0x1B24,0x2145,0x148B,0x18EC,0x16BC,0x0B9B,
-+     0x120C,0x18B0,0x02E3,0x1A1D,0x0BE7,0x133D,0x0DE1,0x21D4,0x0357,0x1715,
-+     0x20A2,0x0A18,0x239D,0x22D6,0x0CD5,0x1942,0x16E9,0x0E54,0x1007,0x069D,
-+     0x1CB8,0x12DC,0x0381,0x0C93,0x1EFF,0x04E4,0x1C25,0x1FE7,0x20C1,0x0412,
-+     0x0215,0x1594,0x1BC5,0x217E,0x221C,0x173A,0x1F19,0x1183,0x0765,0x20F8,
-+     0x05F2,0x130A,0x036D,0x012E,0x06EA,0x0B3C,0x1C42,0x1F43,0x0A95,0x1B8C,
-+     0x1F36,0x0622,0x04DA,0x2070,0x089E,0x04D4,0x184E,0x1520,0x1CC8,0x127B,
-+     0x1302,0x13D0,0x0626,0x0429,0x004A,0x18C0,0x2144,0x0A34,0x1AEA,0x1212,
-+     0x12A2,0x06D2,0x0751,0x1D2B,0x104A,0x133A,0x1E80,0x12F6,0x1C9E,0x1460,
-+     0x13BA,0x16D9,0x1648,0x1E3A,0x1B29,0x0592,0x11BA,0x1D0E,0x0153,0x0ADB,
-+     0x15C3,0x1507,0x17FC,0x122C,0x14D7,0x21AD,0x1A53,0x14F2,0x16DC,0x20F1,
-+     0x118E,0x1AAB,0x04EB,0x0606,0x0D05,0x170E,0x05D9,0x0A83,0x10F7,0x070B,
-+     0x04F8,0x0B27,0x2224,0x0F97,0x075E,0x180E,0x2194,0x010E,0x0B57,0x1A80,
-+     0x1610,0x1B19,0x1BAC,0x0B30,0x0376,0x1697,0x0668,0x00EC,0x1256,0x1F74,
-+     0x110D,0x0807,0x03D1,0x1326,0x0577,0x067C,0x1E5C,0x1D6D,0x06F1,0x075C,
-+     0x0394,0x0184,0x1E7E,0x12F1,0x0216,0x0990,0x208D,0x1332,0x1044,0x0EF8,
-+     0x0F70,0x075D,0x042C,0x030E,0x17CB,0x0AA3,0x04B2,0x1A63,0x04FE,0x097E,
-+     0x213D,0x11DF,0x166B,0x0A2E,0x0664,0x0C75,0x21A3,0x102D,0x1F32,0x1D42,
-+     0x0A65,0x14BF,0x0B11,0x22B9,0x08AC,0x1394,0x11B7,0x1FAE,0x1CCD,0x1A05,
-+     0x177D,0x0D81,0x1E85,0x0D88,0x0A5E,0x0330,0x0EC4,0x13D9,0x1583,0x1CA6,
-+     0x2126,0x0F99,0x158F,0x00F9,0x0176,0x1528,0x1C2B,0x1D69,0x049F,0x0418,
-+     0x18B4,0x1ACB,0x236F,0x04C5,0x0705,0x0031,0x20B9,0x15B2,0x1FD4,0x18FC,
-+     0x1A6E,0x21B1,0x0DEA,0x0432,0x1F1B,0x0CB7,0x2011,0x07CC,0x21FD,0x1216,
-+     0x1F51,0x21AB,0x0974,0x0833,0x06F8,0x1935,0x10B4,0x0164,0x1421,0x1A4D,
-+     0x1824,0x07DB,0x1551,0x0E53,0x152D,0x23CE,0x0DFE,0x0D51,0x1A6A,0x1E3C,
-+     0x20B4,0x1BAA,0x0C62,0x0973,0x01E4,0x0035,0x01D7,0x0496,0x1A73,0x1435,
-+     0x2290,0x22F4,0x1E71,0x0F7B,0x066D,0x0874,0x0DB5,0x0F1A,0x0F2D,0x218F,
-+     0x17AE,0x0170,0x1BEA,0x1908,0x204A,0x0728,0x0746,0x18B8,0x0242,0x0F17,
-+     0x1F8A,0x0B10,0x0966,0x1DD5,0x0174,0x07AE,0x1485,0x146C,0x0975,0x1556,
-+     0x1783,0x2021,0x21E7,0x06DB,0x227D,0x19E7,0x22DC,0x2297,0x1FD1,0x1A26,
-+     0x07CD,0x233D,0x1B84,0x1E18,0x21CE,0x0EE4,0x2255,0x0862,0x1887,0x057A,
-+     0x20C9,0x17F4,0x1BDD,0x2284,0x1817,0x0929,0x0079,0x18F3,0x0E14,0x1131,
-+     0x16B8,0x144E,0x120E,0x16BF,0x058B,0x1C9B,0x05D4,0x0E7B,0x07D3,0x1D27,
-+     0x1051,0x1E12,0x2157,0x0A89,0x03E0,0x0DC8,0x219B,0x0495,0x04C0,0x090E,
-+     0x1914,0x1A13,0x05C4,0x1C0D,0x0564,0x178C,0x2069,0x0291,0x08B5,0x0138,
-+     0x1224,0x14C6,0x14C1,0x1AC7,0x0689,0x1E72,0x1751,0x1E0C,0x2270,0x080D,
-+     0x1C00,0x03AD,0x1EF8,0x15C9,0x0F28,0x0E40,0x0F9E,0x0344,0x1D58,0x11F5,
-+     0x1EAC,0x17A7,0x188D,0x05BA,0x1472,0x154E,0x0017,0x05C7,0x1ACD,0x2370,
-+     0x1140,0x2230,0x0F2E,0x1EB2,0x1CA5,0x1B5E,0x1633,0x09B5,0x08B1,0x1B3E,
-+     0x0CFE,0x02ED,0x1CEC,0x020F,0x2103,0x13ED,0x0C99,0x07E3,0x00D9,0x1342,
-+     0x2179,0x03AA,0x13F5,0x124C,0x1EAB,0x15BA,0x0F41,0x02F6,0x1652,0x057E,
-+     0x0157,0x0BE6,0x09AB,0x148D,0x072A,0x1071,0x09B0,0x0500,0x1B65,0x0A6A,
-+     0x13A0,0x0F65,0x21BE,0x01FF,0x19B3,0x1CBA,0x109F,0x1EF0,0x0517,0x0307,
-+     0x18AC,0x0FD5,0x1FEF,0x0F16,0x197E,0x1291,0x078A,0x1657,0x13C1,0x0E7A,
-+     0x1466,0x07BE,0x164E,0x0419,0x2158,0x0FC4,0x0E7D,0x18D9,0x0942,0x0AEF,
-+     0x163E,0x2200,0x226D,0x037A,0x1B66,0x0CAF,0x07FB,0x0CEC,0x0D4A,0x0CB6,
-+     0x000E,0x1ADE,0x1BD5,0x1892,0x15A1,0x1DD1,0x1DBC,0x01EE,0x12E0,0x0671,
-+     0x0ABB,0x1E0E,0x189F,0x1D9D,0x0DF2,0x0008,0x13CB,0x11B8,0x0571,0x00BA,
-+     0x0AC3,0x1568,0x070A,0x21B0,0x16EA,0x1000,0x10BF,0x0C8C,0x0AE5,0x186B,
-+     0x1366,0x12DF,0x2156,0x0C82,0x05CD,0x0B25,0x08CA,0x1695,0x0FCE,0x055F,
-+     0x0D37,0x1748,0x13DB,0x1E43,0x03E7,0x0D8E,0x095E,0x0AF1,0x0103,0x02F4,
-+     0x02F8,0x01F6,0x07FD,0x095F,0x1376,0x1643,0x1350,0x1372,0x06E3,0x14D5,
-+     0x0870,0x15D9,0x20CD,0x128D,0x1878,0x0FC1,0x0907,0x127C,0x0A2C,0x0041,
-+     0x03F4,0x116C,0x02B1,0x1CEA,0x1A18,0x00FB,0x08DE,0x0660,0x06AA,0x23D1,
-+     0x0092,0x230C,0x0D91,0x14A3,0x0478,0x0FF7,0x1AF1,0x001A,0x0E69,0x1F5C,
-+     0x162C,0x19F8,0x141A,0x1FE6,0x100F,0x047F,0x1DAF,0x231E,0x236C,0x1725,
-+     0x108E,0x0290,0x1006,0x0E74,0x1C0A,0x1E35,0x1B90,0x05A7,0x1C21,0x0F1F,
-+     0x0514,0x1937,0x22A6,0x0B4A,0x1A3A,0x1217,0x0E50,0x078D,0x2198,0x1B3B,
-+     0x1A44,0x0BAB,0x2268,0x16D5,0x03F3,0x06D0,0x0523,0x1D45,0x18DB,0x0BA7,
-+     0x1DBA,0x0776,0x1CFA,0x1E13,0x0271,0x200A,0x0D9B,0x0C4B,0x0588,0x0593,
-+     0x18E4,0x082A,0x0533,0x1988,0x0317,0x1848,0x0DAB,0x2177,0x1945,0x126B,
-+     0x0842,0x07B9,0x1DE1,0x06F3,0x224E,0x0AF0,0x0026,0x0240,0x010F,0x18E7,
-+     0x0E51,0x0947,0x1C35,0x1F28,0x1688,0x07A9,0x1759,0x1608,0x1437,0x0B39,
-+     0x2009,0x0389,0x0858,0x15BE,0x08A9,0x22D4,0x0EAE,0x015F,0x0337,0x034D,
-+     0x23D9,0x081D,0x1D74,0x0C26,0x1BD9,0x0651,0x1F7B,0x2008,0x16B5,0x23A2,
-+     0x05E1,0x1325,0x1E20,0x225F,0x0DED,0x101A,0x1254,0x00A8,0x1F1C,0x1F26,
-+     0x1C8C,0x0563,0x12D2,0x0821,0x2160,0x115D,0x11EE,0x0232,0x192E,0x1BDF,
-+     0x05F3,0x0E57,0x11F3,0x044E,0x20B5,0x1BDE,0x0F25,0x0DBE,0x1361,0x1971,
-+     0x17E7,0x0C46,0x16FC,0x1B2E,0x18CB,0x23C4,0x1912,0x214C,0x0BA4,0x2392,
-+     0x1037,0x1666,0x0BBB,0x180B,0x041F,0x20FA,0x1577,0x18D7,0x0115,0x0904,
-+     0x136E,0x1867,0x0F53,0x0E2B,0x1A02,0x1FB2,0x1A9A,0x1D6C,0x0EBA,0x0BD5,
-+     0x09F8,0x083F,0x0227,0x0E89,0x1495,0x1033,0x0F07,0x0D4D,0x0B4D,0x0F6A,
-+     0x07FE,0x1AFB,0x05B0,0x1205,0x06CE,0x02D6,0x09DF,0x1A0C,0x0C3E,0x22C9,
-+     0x22E5,0x0FEB,0x0A0E,0x21E6,0x088A,0x1C64,0x10B8,0x0383,0x14F8,0x0ED4,
-+     0x05B4,0x2188,0x226B,0x025C,0x020D,0x0D0C,0x0449,0x0C81,0x0965,0x1135,
-+     0x0CC1,0x08FC,0x16E4,0x1ED1,0x1BBD,0x1BE3,0x06D9,0x00A2,0x04C3,0x0CBF,
-+     0x1324,0x2235,0x116A,0x0789,0x0198,0x05C3,0x1181,0x106C,0x1C8F,0x0984,
-+     0x1A71,0x05F9,0x1F61,0x1298,0x2310,0x0075,0x063B,0x0B71,0x10C8,0x1E6D,
-+     0x08A3,0x045C,0x1157,0x1DCE,0x0A05,0x1AAC,0x03F5,0x0DD1,0x2137,0x1200,
-+     0x0CC4,0x17DA,0x1DF7,0x06C5,0x1C07,0x1B59,0x1AD8,0x0C43,0x15A0,0x0EF0,
-+     0x0243,0x1BDA,0x1338,0x0C2F,0x132E,0x1D63,0x0969,0x23F3,0x077E,0x0991,
-+     0x1DBE,0x23C7,0x05A3,0x1253,0x1FB8,0x1BCE,0x053B,0x1B8F,0x00E3,0x20E2,
-+     0x1B61,0x22CE,0x04E8,0x17E1,0x06A3,0x04D1,0x02D3,0x23B1,0x031A,0x2045,
-+     0x1319,0x1E7F,0x20CA,0x21E9,0x0C50,0x1E8D,0x209B,0x2306,0x0A1D,0x044B,
-+     0x08A1,0x0437,0x102C,0x11F0,0x159B,0x0913,0x0A08,0x1E36,0x128F,0x06FA,
-+     0x0DF0,0x160B,0x1F2E,0x094C,0x0788,0x1309,0x1CD4,0x0599,0x179F,0x0F54,
-+     0x1362,0x1763,0x1B6C,0x0302,0x0921,0x231D,0x13F1,0x09C3,0x1348,0x12E1,
-+     0x00FA,0x1689,0x16BE,0x18AB,0x1604,0x19F1,0x21BA,0x0D6A,0x20FC,0x21D2,
-+     0x21ED,0x0663,0x0421,0x0D92,0x061A,0x165F,0x1D92,0x152E,0x070C,0x12A8,
-+     0x1C90,0x0951,0x0CE5,0x1D39,0x0B75,0x168B,0x0A61,0x23B4,0x1572,0x1E06,
-+     0x1AF9,0x0F5A,0x00CC,0x2139,0x0114,0x18FA,0x1654,0x18A9,0x0B13,0x0AF8,
-+     0x14E4,0x051C,0x098A,0x1C9C,0x0554,0x1BBE,0x0DE5,0x198E,0x1BBB,0x0BCD,
-+     0x0511,0x0E22,0x1D95,0x0C11,0x14E2,0x0108,0x1A56,0x0401,0x11B0,0x00C6,
-+     0x2165,0x0F64,0x17BF,0x0154,0x0B95,0x14A5,0x0CC8,0x1B8E,0x1D7A,0x024F,
-+     0x1762,0x1F71,0x1501,0x1844,0x15C2,0x010D,0x1092,0x0060,0x00AF,0x154D,
-+     0x0DA5,0x0DB8,0x196E,0x1EE5,0x035E,0x05D3,0x00FC,0x0BCB,0x0364,0x0CAB,
-+     0x16A3,0x23A7,0x014B,0x1536,0x0550,0x0407,0x127A,0x0A9E,0x1D64,0x0FD8,
-+     0x14D2,0x0701,0x17DC,0x0BC0,0x1BA7,0x2141,0x0CFF,0x1B31,0x0205,0x22A7,
-+     0x0C5E,0x1A09,0x11DE,0x13CE,0x08F3,0x208F,0x0015,0x2037,0x0AAF,0x057D,
-+     0x0087,0x0AFB,0x1A85,0x1A97,0x0FD7,0x12D9,0x1FED,0x1DE2,0x197F,0x22B1,
-+     0x205A,0x0544,0x0AD0,0x01DF,0x1E64,0x0AEB,0x12A6,0x0F30,0x07F1,0x1BF0,
-+     0x230A,0x0573,0x0F61,0x2386,0x1242,0x1C55,0x0DA4,0x0F43,0x22AE,0x0CC6,
-+     0x1BB5,0x0CDC,0x16A0,0x02FE,0x053F,0x008C,0x18E8,0x02CE,0x0C17,0x1B71,
-+     0x1494,0x15F0,0x0D5B,0x089C,0x0F21,0x0A87,0x10CB,0x1EEB,0x1A2D,0x1F38,
-+     0x0508,0x1C13,0x09D6,0x1B83,0x03C7,0x177B,0x0BA0,0x0760,0x00A7,0x07B8,
-+     0x0F3F,0x0070,0x163B,0x0718,0x1609,0x2313,0x1058,0x10A1,0x0DA2,0x1BD8,
-+     0x19D3,0x203D,0x09AA,0x0F0C,0x0A4D,0x22AD,0x0E9B,0x07A8,0x14F1,0x1056,
-+     0x1E74,0x0402,0x0D40,0x0D6C,0x021E,0x1756,0x0056,0x0EB1,0x0E1C,0x0206,
-+     0x0C94,0x2326,0x1F31,0x23CD,0x1BBF,0x0BB6,0x0607,0x0E0E,0x13B9,0x1724,
-+     0x03F1,0x1BCC,0x01F1,0x1624,0x129F,0x1A6D,0x22E0,0x1132,0x1AE5,0x1B69,
-+     0x00F1,0x225E,0x1E28,0x05EA,0x0F8E,0x024B,0x108F,0x0A3E,0x135D,0x0C73,
-+     0x18D3,0x1BDC,0x1E8B,0x0BAA,0x1D09,0x0305,0x22E2,0x1D7D,0x012B,0x2164,
-+     0x156F,0x0069,0x1333,0x206D,0x04F2,0x1982,0x141D,0x023D,0x0144,0x1EA0,
-+     0x2378,0x1486,0x0EC5,0x1677,0x0770,0x06B4,0x04F6,0x09BC,0x1704,0x1DEF,
-+     0x1FAF,0x22D5,0x1A34,0x21C0,0x099D,0x1BD7,0x1C47,0x1A4B,0x195E,0x0569,
-+     0x10E5,0x0BAE,0x01A4,0x220C,0x0BB9,0x1700};
-+ 
-+ #define MX_MTBL		(sizeof(mekornd) / sizeof(unsigned short))
-+ 
-+ typedef struct { int n; unsigned short int r; } MKT;
-+ 
-+ static int comp_mt(const void *s, const void *d)
-+ {
-+     MKT *mt1 = (MKT *)s;
-+     MKT *mt2 = (MKT *)d;
-+     return (int)(short)(mt1->r - mt2->r);
-+ }
-+ 
-+ MKT *calcMEKO(int n)
-+ {
-+     int i;
-+     MKT *mt;
-+ 
-+     if(n <= 0 || n > MX_MTBL){
-+ 	    ErrPopUp ("Error:  Over max array.", "\nOk");
-+ 	    return(NULL);
-+     }
-+ 
-+     mt = malloc(sizeof(MKT) * n);
-+ 
-+     if(!mt) {
-+ 	    ErrPopUp ("Error:  No memory.", "\nOk");
-+ 	    return(NULL);
-+     }
-+ 
-+     for(i = 0; i < n; i++) {
-+         mt[i].r = mekornd[i];
-+         mt[i].n = i + 1;
-+     }
-+     qsort(mt, n, sizeof(MKT), comp_mt);
-+     return(mt);
-+ }
diff --git a/xv-JPEG.patch b/xv-JPEG.patch
deleted file mode 100644
index 69dc247..0000000
--- a/xv-JPEG.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-You'll need to apply the following (trivial) patch to get XV 3.10a to compile
-with version 6 of the Independent JPEG Group's JPEG library, which
-supports progressive JPEG and such.  
-
-Note that XV 3.10a is still shipped with version 5a of said library.  If 
-you'd like the newer library, it is available for anonymous ftp at this
-location:  ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz
-
-John Bradley
------------------------------------------------------------------------------
-
-
-*** xvjpeg.c.old	Thu Jan  5 03:17:13 1995
---- xvjpeg.c	Tue Jul 23 16:37:01 1996
-***************
-*** 51,61 ****
-  static    void         clickJD            PARM((int, int));
-  static    void         doCmd              PARM((int));
-  static    void         writeJPEG          PARM((void));
-! METHODDEF void         xv_error_exit      PARM((j_common_ptr));
-! METHODDEF void         xv_error_output    PARM((j_common_ptr));
-! METHODDEF void         xv_prog_meter      PARM((j_common_ptr));
-  static    unsigned int j_getc             PARM((j_decompress_ptr));
-! METHODDEF boolean      xv_process_comment PARM((j_decompress_ptr));
-  static    int          writeJFIF          PARM((FILE *, byte *, int,int,int));
-  
-  
---- 51,61 ----
-  static    void         clickJD            PARM((int, int));
-  static    void         doCmd              PARM((int));
-  static    void         writeJPEG          PARM((void));
-! METHODDEF(void)        xv_error_exit      PARM((j_common_ptr));
-! METHODDEF(void)        xv_error_output    PARM((j_common_ptr));
-! METHODDEF(void)        xv_prog_meter      PARM((j_common_ptr));
-  static    unsigned int j_getc             PARM((j_decompress_ptr));
-! METHODDEF(boolean)     xv_process_comment PARM((j_decompress_ptr));
-  static    int          writeJFIF          PARM((FILE *, byte *, int,int,int));
-  
-  
-***************
-*** 400,406 ****
-  
-  
-  /**************************************************/
-! METHODDEF void xv_error_exit(cinfo) 
-       j_common_ptr cinfo;
-  {
-    my_error_ptr myerr;
---- 400,406 ----
-  
-  
-  /**************************************************/
-! METHODDEF(void) xv_error_exit(cinfo) 
-       j_common_ptr cinfo;
-  {
-    my_error_ptr myerr;
-***************
-*** 412,418 ****
-  
-  
-  /**************************************************/
-! METHODDEF void xv_error_output(cinfo) 
-       j_common_ptr cinfo;
-  {
-    my_error_ptr myerr;
---- 412,418 ----
-  
-  
-  /**************************************************/
-! METHODDEF(void) xv_error_output(cinfo) 
-       j_common_ptr cinfo;
-  {
-    my_error_ptr myerr;
-***************
-*** 426,432 ****
-  
-  
-  /**************************************************/
-! METHODDEF void xv_prog_meter(cinfo)
-       j_common_ptr cinfo;
-  {
-    struct jpeg_progress_mgr *prog;
---- 426,432 ----
-  
-  
-  /**************************************************/
-! METHODDEF(void) xv_prog_meter(cinfo)
-       j_common_ptr cinfo;
-  {
-    struct jpeg_progress_mgr *prog;
-***************
-*** 671,677 ****
-  
-  
-  /**************************************************/
-! METHODDEF boolean xv_process_comment(cinfo)
-       j_decompress_ptr cinfo;
-  {
-    int          length, hasnull;
---- 671,677 ----
-  
-  
-  /**************************************************/
-! METHODDEF(boolean) xv_process_comment(cinfo)
-       j_decompress_ptr cinfo;
-  {
-    int          length, hasnull;
diff --git a/xv-PLD.patch b/xv-PLD.patch
deleted file mode 100644
index af5665b..0000000
--- a/xv-PLD.patch
+++ /dev/null
@@ -1,149 +0,0 @@
---- xv-3.10a/Makefile.orig	2010-01-15 17:46:37.795696149 +0100
-+++ xv-3.10a/Makefile	2010-01-15 17:45:30.765696388 +0100
-@@ -1,7 +1,7 @@
- # Makefile for xv
- 
- # your C compiler (and options) of choice
--CC = cc
-+CC = gcc
- #CC = gcc -ansi
- # note that -ansi kills __USE_MISC (gcc 2.95.3), which, at least on Linux,
- # determines whether stdlib.h includes prototypes for mktemp(), random(), etc.
-@@ -18,7 +18,7 @@
- #       -Wuninitialized -Wparentheses
- 
- 
--CCOPTS = -O
-+CCOPTS = $(RPM_OPT_FLAGS)
- #
- # these are the usual optimization and warning options for gcc; all such
- # warnings but one (mktemp() use) have been eliminated (at least on Linux):
-@@ -56,7 +56,7 @@
- ### NOTE: Users of old K&R compilers (i.e., any version not supporting C89
- ### string concatenation, such as "fub" "ar" => "fubar") should update
- ### xvtext.c:1831 (or thereabouts) if either PREFIX or DOCDIR changes:
--PREFIX = /usr/local
-+PREFIX = /usr
- BINDIR = $(PREFIX)/bin
- MANDIR = $(PREFIX)/share/man/man1
- MANSUF = 1
-@@ -87,17 +87,17 @@
- TIFF    = -DDOTIFF -DUSE_TILED_TIFF_BOTLEFT_FIX
- ###
- #TIFFDIR = tiff
--TIFFDIR = /usr
-+#TIFFDIR = /usr
- #TIFFDIR = /usr/local
- #TIFFDIR = ../../libtiff
- ###
--TIFFINC = -I$(TIFFDIR)/include
-+#TIFFINC = -I$(TIFFDIR)/include
- #TIFFINC = -I$(TIFFDIR)
- ###
- ### libtiff 3.5 and up may be compiled with zlib and libjpeg, but the
- ### dependency is properly handled in LIBS line ~247 lines below
- ###
--TIFFLIB = -L$(TIFFDIR)/lib -ltiff
-+TIFFLIB = -ltiff
- #TIFFLIB = $(TIFFDIR)/lib/libtiff.a
- #TIFFLIB = -L$(TIFFDIR) -ltiff
- #TIFFLIB = $(TIFFDIR)/libtiff.a
-@@ -117,25 +117,13 @@
- ###
- JPEG    = -DDOJPEG
- #JPEGDIR = jpeg
--JPEGDIR = /usr
--#JPEGDIR = /usr/local
--#JPEGDIR = ../../libjpeg
--#JPEGDIR = /usr/sfw
--###
--JPEGINC = -I$(JPEGDIR)/include
- #JPEGINC = -I$(JPEGDIR)
--###
--JPEGLIB = -L$(JPEGDIR)/lib -ljpeg
--#JPEGLIB = -L$(JPEGDIR) -ljpeg
- #JPEGLIB = $(JPEGDIR)/libjpeg.a
--###
--### this is intended to build the ancient version (5a) that's included in the
--### "jpeg" subdir of XV, not an arbitrary copy of libjpeg:
--###
- #$(JPEGDIR)/jconfig.h:
- #	cd $(JPEGDIR) ; ./configure CC='$(CC)'
- #$(JPEGLIB):  $(JPEGDIR)/jconfig.h
- #	cd $(JPEGDIR) ; make
-+JPEGLIB = -ljpeg
- 
- 
- ###
-@@ -143,14 +131,14 @@
- ### on your machine, *COMMENT OUT* the following lines
- ###
- PNG    = -DDOPNG
--PNGDIR = /usr
-+#PNGDIR = /usr
- #PNGDIR = /usr/local
- #PNGDIR = ../../libpng
- ###
--PNGINC = -I$(PNGDIR)/include
-+#PNGINC = -I$(PNGDIR)/include
- #PNGINC = -I$(PNGDIR)
- ###
--PNGLIB = -L$(PNGDIR)/lib -lpng
-+PNGLIB = -lpng
- #PNGLIB = -L$(PNGDIR) -lpng
- #PNGLIB = $(PNGDIR)/libpng.a
- 
-@@ -160,14 +148,14 @@
- ### (newer versions of) the TIFF library to compile on your machine, *COMMENT
- ### OUT* the following lines
- ###
--ZLIBDIR = /usr
-+#ZLIBDIR = /usr
- #ZLIBDIR = /usr/local
- #ZLIBDIR = ../../zlib
- ###
--ZLIBINC = -I$(ZLIBDIR)/include
-+#ZLIBINC = -I$(ZLIBDIR)/include
- #ZLIBINC = -I$(ZLIBDIR)
- ###
--ZLIBLIB = -L$(ZLIBDIR)/lib -lz
-+ZLIBLIB = -lz
- #ZLIBLIB = -L$(ZLIBDIR) -lz
- #ZLIBLIB = $(ZLIBDIR)/libz.a
- 
-@@ -179,13 +167,13 @@
- JP2K    = -DDOJP2K
- ###
- #JP2KDIR = ../../jasper
--JP2KDIR = /usr/local/lib
-+#JP2KDIR = /usr/local/lib
- ###
- #JP2KINC = -I$(JP2KDIR)
--JP2KINC = -I/usr/local/include
-+#JP2KINC = -I/usr/local/include
- ###
--#JP2KLIB = -L$(JP2KDIR) -ljasper
--JP2KLIB = $(JP2KDIR)/libjasper.a
-+JP2KLIB = -ljasper
-+#JP2KLIB = $(JP2KDIR)/libjasper.a
- 
- 
- ###
-@@ -236,7 +224,7 @@
- 
- 
- ### for Linux, uncomment one of the following lines:
--#MCHN = -DLINUX -L/usr/X11R6/lib
-+MCHN = -DLINUX
- #MCHN = -DLINUX -L/usr/X11R6/lib64
- 
- 
-@@ -342,7 +330,7 @@
- 	-DSYSCONFDIR=\"$(SYSCONFDIR)\" -DXVEXECPATH=\"$(LIBDIR)\"
- 
- ### remove -lm for BeOS:
--LIBS = $(TIFFLIB) $(JPEGLIB) $(PNGLIB) $(ZLIBLIB) $(JP2KLIB) -L/usr/X11R6/lib -lX11 -lm
-+LIBS = $(LDFLAGS) $(TIFFLIB) $(JPEGLIB) $(PNGLIB) $(ZLIBLIB) $(JP2KLIB) -lX11 -lm
- #LIBS = $(TIFFLIB) $(JPEGLIB) $(PNGLIB) $(ZLIBLIB) $(JP2KLIB) -lX11
- 
- OBJS = 	xv.o xvevent.o xvroot.o xvmisc.o xvimage.o xvcolor.o xvsmooth.o \
diff --git a/xv-TIFF.patch b/xv-TIFF.patch
deleted file mode 100644
index 935baa7..0000000
--- a/xv-TIFF.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-The following patch should allow you to compile XV 3.10a against the latest
-version of Sam Leffler's TIFF Library (libtiff 3.4).  
-
-You do *not* need to apply this patch to compile XV 3.10a against the
-older version of the TIFF library (3.3) that is included in the XV
-3.10a distribution.  This is only necessary if you wish to upgrade to 
-the newer version of the TIFF library.
-
-You can get the latest version of the TIFF library via anonymous ftp on
-ftp.sgi.com, in 'graphics/tiff'.
-
-Thanks to Dan McCoy (mccoy at pixar.com) for supplying this patch!
-
-John Bradley
------------------------------------------------------------------------
-
-
-*** xvtiff.c.orig	Fri Jan 13 14:53:34 1995
---- xvtiff.c	Thu Sep  5 16:55:46 1996
-***************
-*** 301,306 ****
---- 301,310 ----
-  static	byte **BWmap;
-  static	byte **PALmap;
-  
-+ /* XXXX Work around some collisions with the new library. */
-+ #define tileContigRoutine _tileContigRoutine
-+ #define tileSeparateRoutine _tileSeparateRoutine
-+ 
-  typedef void (*tileContigRoutine)   PARM((byte*, u_char*, RGBvalue*, 
-  					  uint32, uint32, int, int));
-  
-***************
-*** 340,346 ****
-  					     uint32, uint32, int, int));
-  static void   put4bitbwtile            PARM((byte *, u_char *, RGBvalue *,
-  					     uint32, uint32, int, int));
-! static void   put16bitbwtile           PARM((byte *, u_char *, RGBvalue *,
-  					     uint32, uint32, int, int));
-  
-  static void   putRGBcontig8bittile     PARM((byte *, u_char *, RGBvalue *,
---- 344,350 ----
-  					     uint32, uint32, int, int));
-  static void   put4bitbwtile            PARM((byte *, u_char *, RGBvalue *,
-  					     uint32, uint32, int, int));
-! static void   put16bitbwtile           PARM((byte *, u_short *, RGBvalue *,
-  					     uint32, uint32, int, int));
-  
-  static void   putRGBcontig8bittile     PARM((byte *, u_char *, RGBvalue *,
-***************
-*** 1218,1224 ****
-   */
-  static void put16bitbwtile(cp, pp, Map, w, h, fromskew, toskew)
-       byte  *cp;
-!      u_char *pp;
-       RGBvalue *Map;
-       uint32 w, h;
-       int fromskew, toskew;
---- 1222,1228 ----
-   */
-  static void put16bitbwtile(cp, pp, Map, w, h, fromskew, toskew)
-       byte  *cp;
-!      u_short *pp;
-       RGBvalue *Map;
-       uint32 w, h;
-       int fromskew, toskew;
-***************
-*** 1227,1234 ****
-    
-    while (h-- > 0) {
-      for (x=w; x>0; x--) {
-!       *cp++ = Map[(pp[0] << 8) + pp[1]];
-!       pp += 2;
-      }
-      cp += toskew;
-      pp += fromskew;
---- 1231,1237 ----
-    
-    while (h-- > 0) {
-      for (x=w; x>0; x--) {
-!       *cp++ = Map[*pp++];
-      }
-      cp += toskew;
-      pp += fromskew;
-***************
-*** 1514,1520 ****
-    case PHOTOMETRIC_MINISWHITE:
-    case PHOTOMETRIC_MINISBLACK:
-      switch (bitspersample) {
-!     case 16: put = put16bitbwtile; break;
-      case 8:  put = putgreytile;    break;
-      case 4:  put = put4bitbwtile;  break;
-      case 2:  put = put2bitbwtile;  break;
---- 1517,1523 ----
-    case PHOTOMETRIC_MINISWHITE:
-    case PHOTOMETRIC_MINISBLACK:
-      switch (bitspersample) {
-!     case 16: put = (tileContigRoutine) put16bitbwtile; break;
-      case 8:  put = putgreytile;    break;
-      case 4:  put = put4bitbwtile;  break;
-      case 2:  put = put2bitbwtile;  break;
diff --git a/xv-buffer_overflows.patch b/xv-buffer_overflows.patch
deleted file mode 100644
index 04fe1ad..0000000
--- a/xv-buffer_overflows.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff -ruNp xv-3.10a.orig/xvtext.c xv-3.10a/xvtext.c
---- xv-3.10a.orig/xvtext.c	2012-07-02 14:12:18.729232321 +0200
-+++ xv-3.10a/xvtext.c	2012-07-02 14:14:09.245684311 +0200
-@@ -53,7 +53,7 @@
- #  define TV_J_NBUTTS 8
- #endif
- 
--#define TITLELEN 128
-+#define TITLELEN 270
- 
- #ifdef TV_MULTILINGUAL
- struct coding_spec {
-@@ -385,7 +385,7 @@ int TextView(fname)
- 
-   int   filetype;
-   long  textlen;
--  char *text, buf[512], title[128], rfname[MAXPATHLEN+1];
-+  char *text, buf[512], title[TITLELEN], rfname[MAXPATHLEN+1];
-   char *basefname[128];  /* just current fname, no path */
-   FILE *fp;
-   char filename[MAXPATHLEN+1];
-@@ -453,7 +453,7 @@ int TextView(fname)
- 
-   fclose(fp);
- 
--  sprintf(title, "File: '%s'", BaseName(fname));
-+  snprintf(title, TITLELEN, "File: '%s'", BaseName(fname));
-   OpenTextView(text, (int) textlen, title, 1);
- 
-   /* note:  text gets freed when window gets closed */
-@@ -545,7 +545,7 @@ void ChangeCommentText()
-   tv->freeonclose = 0;
- 
-   if (strlen(fullfname))
--    sprintf(tv->title, "File: '%s'", BaseName(fullfname));
-+    snprintf(tv->title, TITLELEN, "File: '%s'", BaseName(fullfname));
-   else
-     sprintf(tv->title, "<no file loaded>");
- 
diff --git a/xv-c.patch b/xv-c.patch
deleted file mode 100644
index fe66c20..0000000
--- a/xv-c.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- xv-3.10a/xvimage.c.orig	2006-10-18 23:40:36.303520000 +0200
-+++ xv-3.10a/xvimage.c	2006-10-18 23:50:53.622100250 +0200
-@@ -1721,14 +1721,14 @@
-   case 12:
-   case 15:
-   case 16: {
--    unsigned short  *imagedata, *ip;
-+    unsigned char   *imagedata, *ip;
-     byte  *pp;
- 
--    imagedata = (unsigned short *) malloc((size_t) (2*wide*high));
-+    imagedata = (unsigned char *) malloc((size_t) (2*wide*high));
-     if (!imagedata) FatalError("couldn't malloc imagedata");
- 
-     xim = XCreateImage(theDisp,theVisual,dispDEEP,ZPixmap,0,
--		       (char *) imagedata,  wide,  high, 16, 0);
-+		       imagedata,  wide,  high, 16, 0);
-     if (!xim) FatalError("couldn't create xim!");
- 
-     if (dispDEEP == 12 && xim->bits_per_pixel != 16) {
-@@ -1747,8 +1747,8 @@
- 	if (dithpic) xcol = ((*pp) ? white : black) & 0xffff;
- 		else xcol = xcolors[*pp] & 0xffff;
- 
--	*((unsigned char *)ip)++ = (xcol>>8) & 0xff;
--	*((unsigned char *)ip)++ = (xcol) & 0xff;
-+	*ip++ = (xcol>>8) & 0xff;
-+	*ip++ = (xcol) & 0xff;
-       }
-     }
-     else {   /* LSBFirst */
-@@ -1758,8 +1758,8 @@
- 	if (dithpic) xcol = ((*pp) ? white : black) & 0xffff;
- 	        else xcol = xcolors[*pp];
- 
--	*((unsigned char *)ip)++ = (xcol) & 0xff;
--	*((unsigned char *)ip)++ = (xcol>>8) & 0xff;
-+	*ip++ = (xcol) & 0xff;
-+	*ip++ = (xcol>>8) & 0xff;
-       }
-     }
-   }
diff --git a/xv-croppad.patch b/xv-croppad.patch
deleted file mode 100644
index 85914c4..0000000
--- a/xv-croppad.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-As pointed out by long-time Friend-of-XV Rick Dyson, the XV 3.10a does an
-unexpected thing if you crop an image, and then 'pad' it.  3.10a would 
-effectively 'UnCrop' the image first, then pad it.  There is a workaround
-(save and reload the cropped image), but that's every bit as tedious as it
-sounds.
-
-This should do the trick, with any luck.
-
---jhb, 7/9/98
-
-
-
-
-*** xvimage.c.old	Fri Jul 10 01:18:07 1998
---- xvimage.c	Fri Jul 10 01:21:57 1998
-***************
-*** 2530,2536 ****
-  
-    rv = 1;
-  
-!   if ((mode != PAD_LOAD) && (wide == pWIDE && high == pHIGH && opaque==100)) {
-      ErrPopUp("Padding to same size as pic while fully opaque has no effect.", 
-  	     "\nI see");
-      return 0;
---- 2530,2536 ----
-  
-    rv = 1;
-  
-!   if ((mode != PAD_LOAD) && (wide == cWIDE && high == cHIGH && opaque==100)) {
-      ErrPopUp("Padding to same size as pic while fully opaque has no effect.", 
-  	     "\nI see");
-      return 0;
-***************
-*** 2806,2832 ****
-  
-    /* copy 'pic' centered onto pic24.  */
-  
-!   sx = (wide - pWIDE) / 2;
-!   sy = (high - pHIGH) / 2;
-    
-!   for (py = 0; py<pHIGH; py++) {
-!     ProgressMeter(0, pHIGH-1, py, "Pad");
-      if ((py & 0x1f)==0) WaitCursor();
-  
-      p24y = sy + py;
-      if (p24y >= 0 && p24y < high) {
-!       for (px=0; px<pWIDE; px++) {
-  	p24x = sx + px;
-  	if (p24x >= 0 && p24x < wide) {
-  	  p24 = pic24 + (p24y*wide  + p24x)*3;
-  	  
-  	  
-  	  if (picType == PIC24) {                       /* src is PIC24 */
-! 	    pp  = pic + (py * pWIDE + px)  *3;
-  	    r = pp[0];  g = pp[1];  b = pp[2];
-  	  }
-  	  else {                                        /* src is PIC8 */
-! 	    pp  = pic + (py*pWIDE + px);
-  	    r = rMap[*pp];  g = gMap[*pp];  b = bMap[*pp];
-  	  }
-  	  
---- 2806,2832 ----
-  
-    /* copy 'pic' centered onto pic24.  */
-  
-!   sx = (wide - cWIDE) / 2;
-!   sy = (high - cHIGH) / 2;
-    
-!   for (py = 0; py<cHIGH; py++) {
-!     ProgressMeter(0, cHIGH-1, py, "Pad");
-      if ((py & 0x1f)==0) WaitCursor();
-  
-      p24y = sy + py;
-      if (p24y >= 0 && p24y < high) {
-!       for (px=0; px<cWIDE; px++) {
-  	p24x = sx + px;
-  	if (p24x >= 0 && p24x < wide) {
-  	  p24 = pic24 + (p24y*wide  + p24x)*3;
-  	  
-  	  
-  	  if (picType == PIC24) {                       /* src is PIC24 */
-! 	    pp  = cpic + (py * cWIDE + px)  *3;
-  	    r = pp[0];  g = pp[1];  b = pp[2];
-  	  }
-  	  else {                                        /* src is PIC8 */
-! 	    pp  = cpic + (py*cWIDE + px);
-  	    r = rMap[*pp];  g = gMap[*pp];  b = bMap[*pp];
-  	  }
-  	  
diff --git a/xv-deepcolor.patch b/xv-deepcolor.patch
deleted file mode 100644
index 81aed78..0000000
--- a/xv-deepcolor.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-This fixes a byte-ordering problem when displaying 8-bit colormapped images
-on certain 12, 15, or 16-bit displays.
-
-Thanks to Mr. Ryo Shimizu for coming up with the patch, and to Yuuki Harano
-for sending it to me.
-
---jhb
-
-*** xvimage.c.old	Fri Jan 13 19:11:36 1995
---- xvimage.c	Fri Oct 16 12:34:11 1998
-***************
-*** 1736,1745 ****
-      if (xim->byte_order == MSBFirst) {
-        for (i=wide*high, ip=imagedata; i>0; i--,pp++) {
-  	if (((i+1)&0x1ffff) == 0) WaitCursor();
-! 	if (dithpic) {
-! 	  *ip++ = ((*pp) ? white : black) & 0xffff;
-! 	}
-! 	else *ip++ = xcolors[*pp] & 0xffff;
-        }
-      }
-      else {   /* LSBFirst */
---- 1736,1747 ----
-      if (xim->byte_order == MSBFirst) {
-        for (i=wide*high, ip=imagedata; i>0; i--,pp++) {
-  	if (((i+1)&0x1ffff) == 0) WaitCursor();
-! 
-! 	if (dithpic) xcol = ((*pp) ? white : black) & 0xffff;
-! 		else xcol = xcolors[*pp] & 0xffff;
-! 
-! 	*((unsigned char *)ip)++ = (xcol>>8) & 0xff;
-! 	*((unsigned char *)ip)++ = (xcol) & 0xff;
-        }
-      }
-      else {   /* LSBFirst */
-***************
-*** 1749,1756 ****
-  	if (dithpic) xcol = ((*pp) ? white : black) & 0xffff;
-  	        else xcol = xcolors[*pp];
-  
-! 	/*  WAS *ip++ = ((xcol>>8) & 0xff) | ((xcol&0xff) << 8);  */
-! 	*ip++ = (unsigned short) (xcol);
-        }
-      }
-    }
---- 1751,1758 ----
-  	if (dithpic) xcol = ((*pp) ? white : black) & 0xffff;
-  	        else xcol = xcolors[*pp];
-  
-! 	*((unsigned char *)ip)++ = (xcol) & 0xff;
-! 	*((unsigned char *)ip)++ = (xcol>>8) & 0xff;
-        }
-      }
-    }
diff --git a/xv-exceed_grab_patch.txt b/xv-exceed_grab_patch.txt
deleted file mode 100644
index 74a23d4..0000000
--- a/xv-exceed_grab_patch.txt
+++ /dev/null
@@ -1,108 +0,0 @@
-This patch fixes an inability to GRAB or display XWD files on the eXceed
-X server running in 24-bits.  It may also fix GRAB problems on other X 
-servers.  It shouldn't *break* anything, and as such, can and should be
-applied by everybody.
-
-The bits_per_item of the returned XImage is less than bits_per_pixel, which
-is wrong, as far as I can tell.  (Hard to really know, as the X11 docs aren't
-at *all* clear on the subject.)  I do know that it breaks my code, and the netpbm
-code, and god only knows what else.
-
-Maybe they're wrong, maybe I'm wrong - who knows.  In any event, this patch 
-fixes it, as far as XV is concerned.
-
-Thanks to Nadim Saeed (nadim at xlnt.com)!
-
---jhb
-
-
-
-*** xvgrab.c.orig	Thu Oct  7 10:41:15 1999
---- xvgrab.c	Thu Oct  7 12:03:36 1999
-***************
-*** 641,648 ****
-  
-  
-    bits_per_item = image->bitmap_unit;
--   bits_used = bits_per_item;
-    bits_per_pixel = image->bits_per_pixel;
-  
-    if (bits_per_pixel == 32) pixmask = 0xffffffff;
-    else pixmask = (((CARD32) 1) << bits_per_pixel) - 1;
---- 641,667 ----
-  
-  
-    bits_per_item = image->bitmap_unit;
-    bits_per_pixel = image->bits_per_pixel;
-+ 
-+ 
-+   /* add code for freako 'exceed' server, where bitmapunit = 8
-+      and bitsperpix = 32 (and depth=24)... */
-+ 
-+   if (bits_per_item < bits_per_pixel) {
-+     bits_per_item = bits_per_pixel;
-+   
-+     /* round bits_per_item up to next legal value, if necc */
-+     if      (bits_per_item <  8) bits_per_item = 8;
-+     else if (bits_per_item < 16) bits_per_item = 16;
-+     else                         bits_per_item = 32;
-+   }
-+ 
-+ 
-+   /* which raises the question:  how (can?) you ever have a 24 bits per pix,
-+      (ie, 3 bytes, no alpha/padding) */
-+ 
-+ 
-+   bits_used = bits_per_item;  /* so it will get a new item first time */
-  
-    if (bits_per_pixel == 32) pixmask = 0xffffffff;
-    else pixmask = (((CARD32) 1) << bits_per_pixel) - 1;
-
-
-
-*** xvxwd.c.orig	Thu Oct  7 12:13:09 1999
---- xvxwd.c	Thu Oct  7 12:13:13 1999
-***************
-*** 396,406 ****
-      h11P->pixmap_width;
-    
-    bits_per_item  = h11P->bitmap_unit;
--   bits_used      = bits_per_item;
-    bits_per_pixel = h11P->bits_per_pixel;
-    byte_order     = h11P->byte_order;
-    bit_order      = h11P->bitmap_bit_order;
-    
-    if (bits_per_pixel == sizeof(pixel_mask) * 8)  pixel_mask = (CARD32) -1;
-    else pixel_mask = (1 << bits_per_pixel) - 1;
-    
---- 396,425 ----
-      h11P->pixmap_width;
-    
-    bits_per_item  = h11P->bitmap_unit;
-    bits_per_pixel = h11P->bits_per_pixel;
-    byte_order     = h11P->byte_order;
-    bit_order      = h11P->bitmap_bit_order;
-    
-+  
-+   /* add sanity-code for freako 'exceed' server, where bitmapunit = 8
-+      and bitsperpix = 32 (and depth=24)... */
-+  
-+   if (bits_per_item < bits_per_pixel) {
-+     bits_per_item = bits_per_pixel;
-+    
-+     /* round bits_per_item up to next legal value, if necc */
-+     if      (bits_per_item <  8) bits_per_item = 8;
-+     else if (bits_per_item < 16) bits_per_item = 16;
-+     else                         bits_per_item = 32;
-+   }
-+  
-+  
-+   /* which raises the question:  how (can?) you ever have a 24 bits per pix,
-+      (ie, 3 bytes, no alpha/padding) */
-+  
-+  
-+   bits_used      = bits_per_item;
-+ 
-    if (bits_per_pixel == sizeof(pixel_mask) * 8)  pixel_mask = (CARD32) -1;
-    else pixel_mask = (1 << bits_per_pixel) - 1;
-    
diff --git a/xv-format.patch b/xv-format.patch
deleted file mode 100644
index 52ef320..0000000
--- a/xv-format.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- xv-3.10a/xvpbm.c~	2013-11-03 09:33:10.000000000 +0100
-+++ xv-3.10a/xvpbm.c	2013-11-03 09:33:59.806789183 +0100
-@@ -885,8 +885,8 @@
- 	  }
- 	}
- 	else {
--	  if (*pix) fprintf(fp,str1);
--	       else fprintf(fp,str0);
-+	  if (*pix) fprintf(fp,"%s", str1);
-+	       else fprintf(fp,"%s", str0);
- 	  len+=2;
- 	  if (len>68) { fprintf(fp,"\n"); len=0; }
- 	}
diff --git a/xv-gifpatch b/xv-gifpatch
deleted file mode 100644
index dd30a8a..0000000
--- a/xv-gifpatch
+++ /dev/null
@@ -1,49 +0,0 @@
-This patch fixes a bug in XVs gif-reading code.  The bug could conceivably
-hit when viewing a number of interlaced GIFs.  Thanks to Mark Hanson 
-<mbh at netcom.com> for spotting this one.  
-
---jhb, 10/29/98
-
-
-*** xvgif.c.old	Tue Jan 10 14:54:41 1995
---- xvgif.c	Thu Oct 29 17:43:30 1998
-***************
-*** 113,119 ****
-    int            aspect, gotimage;
-  
-    /* initialize variables */
-!   BitOffset = XC = YC = Pass = OutCount = gotimage = 0;
-    RawGIF = Raster = pic8 = NULL;
-    gif89 = 0;
-  
---- 113,120 ----
-    int            aspect, gotimage;
-  
-    /* initialize variables */
-!   BitOffset = XC = YC = OutCount = gotimage = 0;
-!   Pass = -1;
-    RawGIF = Raster = pic8 = NULL;
-    gif89 = 0;
-  
-***************
-*** 692,698 ****
-  {
-    static byte *ptr = NULL;
-    static int   oldYC = -1;
-!   
-    if (oldYC != YC) {  ptr = pic8 + YC * Width;  oldYC = YC; }
-    
-    if (YC<Height)
---- 693,704 ----
<Skipped 1815 lines>
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/xv.git/commitdiff/4e63c957af63ca0adef0636446654e14c9d1264f



More information about the pld-cvs-commit mailing list