diff -Nuar ../winesrc/wine/configure.ac wine/configure.ac
--- ../winesrc/wine/configure.ac	2005-02-26 09:43:50.000000000 -0800
+++ wine/configure.ac	2005-02-27 03:10:41.000000000 -0800
@@ -1518,6 +1518,7 @@
 dlls/avicap32/Makefile
 dlls/avifil32/Makefile
 dlls/cabinet/Makefile
+dlls/cabinet/tests/Makefile
 dlls/capi2032/Makefile
 dlls/cards/Makefile
 dlls/cfgmgr32/Makefile
diff -Nuar ../winesrc/wine/dlls/cabinet/Makefile.in wine/dlls/cabinet/Makefile.in
--- ../winesrc/wine/dlls/cabinet/Makefile.in	2003-12-31 10:56:07.000000000 -0800
+++ wine/dlls/cabinet/Makefile.in	2005-02-27 03:10:14.000000000 -0800
@@ -13,6 +13,7 @@
 
 RC_SRCS = cabinet.rc
 
+SUBDIRS = tests
 @MAKE_DLL_RULES@
 
 ### Dependencies:
diff -Nuar ../winesrc/wine/dlls/cabinet/tests/Makefile.in wine/dlls/cabinet/tests/Makefile.in
--- ../winesrc/wine/dlls/cabinet/tests/Makefile.in	1969-12-31 16:00:00.000000000 -0800
+++ wine/dlls/cabinet/tests/Makefile.in	2005-03-10 16:19:06.000000000 -0800
@@ -0,0 +1,15 @@
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+TESTDLL   = cabinet.dll
+IMPORTS   = kernel32 cabinet
+
+   
+CTESTS = \
+    tvfs.c \
+	cabinet_fdi.c
+
+@MAKE_TEST_RULES@
+
+### Dependencies:
diff -Nuar ../winesrc/wine/dlls/cabinet/tests/cabinet_fdi.c wine/dlls/cabinet/tests/cabinet_fdi.c
--- ../winesrc/wine/dlls/cabinet/tests/cabinet_fdi.c	1969-12-31 16:00:00.000000000 -0800
+++ wine/dlls/cabinet/tests/cabinet_fdi.c	2005-03-10 16:26:01.521750000 -0800
@@ -0,0 +1,357 @@
+/*
+ * Unit test suite for cabinet.dll - FDI functions
+ *
+ * Copyright 2004 Rizwan Kassim, Dan Kegel, Alexander Liber
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <stdarg.h>
+#include <malloc.h>
+ 
+#include <stdarg.h>
+#include <stdio.h>
+ 
+#include "windef.h"
+#include "winbase.h"
+#include "winerror.h"
+#include "fdi.h"
+ 
+#ifndef WIN_ENV
+#include <msvcrt/fcntl.h>
+#else
+#include <fcntl.h>
+#endif
+
+#include "tvfs.h"
+#include "data.h"
+
+#ifndef STANDALONE
+#include <wine/test.h>
+#define _S_IREAD  0x0100
+#define _S_IWRITE 0x0080
+#define ok2 ok
+#else
+/* To build outside Wine tree, compile with cl -DSTANDALONE -D_X86_ -DWIN_ENV tvfs.c cabinet_fdi.c FDI.lib 
+  These are only called if standalone are used, defining ok and START_TEST, which would normally be declared in winetree */
+#include <assert.h> 
+
+#define START_TEST(name) main(int argc, char **argv)
+#define ok(condition, msg)    \
+    do { if(!(condition)) {  \
+        fprintf(stderr,"failed at %d, msg:" msg "\n",__LINE__); \
+    exit(1);    \
+    } } while(0)
+#define ok2(condition, msg, arg) \
+    do { if(!(condition)) {  \
+        fprintf(stderr,"failed at %d, msg:" msg "\n",__LINE__, arg); \
+    exit(1);    \
+    } } while(0)
+#define todo_wine
+
+static void trace(const char *s, ...)
+{
+    va_list ellipsis;
+    va_start (ellipsis, s);
+    vprintf(s, ellipsis);
+    va_end(ellipsis);
+}
+
+#endif 
+
+/* Do malloc and free output debug messages? 
+#define DEBUG_ALLOC
+#define VERBOSE
+*/
+
+#ifndef DEBUG_ALLOC
+FNALLOC(final_alloc) {
+    return malloc(cb);
+}
+FNFREE(final_free) {
+    free(pv);
+    return;
+}
+#else
+FNALLOC(final_alloc) {
+    trace("   FNALLOC just called with %d\n",cb);
+    return malloc(cb);
+}
+FNFREE(final_free) {
+    trace("   FNFREE just called with %d\n",pv);
+    free(pv);
+    return;
+}
+#endif
+/*Possible non trivial addition:
+Notify receives some information about the cab file(see FDI documentation). 
+Since this info is different depending on the value of fdint, and Notify should
+be generic, it is not simple or nice to check this information.
+*/
+FNFDINOTIFY(notification_function)
+{
+#ifdef VERBOSE
+    trace("   FNFDINOTIFY real just called with %d, %d \n",fdint,pfdin);
+#endif
+    switch (fdint)
+    {
+        case fdintCABINET_INFO: 
+        {
+#ifdef VERBOSE
+            trace(
+                "fdintCABINET_INFO:\n"
+                "-next cab name: %s\n"
+                "-next disk: %s\n"
+                "-path name: %s\n"
+                "-set ID: %d\n"
+                "-number in set: %d\n",
+                pfdin->psz1,
+                pfdin->psz2,
+                pfdin->psz3,
+                pfdin->setID,
+                pfdin->iCabinet
+            );
+#endif
+            return 0;
+        }
+        case fdintPARTIAL_FILE: 
+        {
+#ifdef VERBOSE
+            trace("dintPARTIAL_FILE\n");    
+#endif
+            
+            return 0;
+        }
+        case fdintCOPY_FILE:
+        {
+            int fih = 0;
+            char target[256];
+#ifdef VERBOSE
+            trace(
+                "fdintCOPY_FILE:\n"
+                "-name: %s\n"
+                "-uncompressed size: %d\n"
+                "-date: %d\n"
+                "-time: %d\n"
+                "-attributes: %d\n"
+                "-file's folder index: %d\n",
+                pfdin->psz1,
+                pfdin->cb,
+                pfdin->date,
+                pfdin->time,
+                pfdin->attribs,
+                pfdin->iFolder
+            );
+#endif
+            sprintf(target, "./%s",pfdin->psz1);
+            fih = tvfs_open (target,
+                _O_BINARY | _O_CREAT | _O_WRONLY | _O_SEQUENTIAL,
+                _S_IREAD | _S_IWRITE 
+            );
+            return fih;    
+        }    
+        case fdintCLOSE_FILE_INFO:    
+        {
+#ifdef VERBOSE
+            trace(
+                "fdintCLOSE_FILE:\n"
+                "-name: %s\n"
+                "-handle: %d\n"
+                "-date: %d\n"
+                "-time: %d\n"
+                "-attributes: %d\n"
+                "-file's folder index: %d\n"
+                "-run: %d\n",
+                pfdin->psz1,
+                pfdin->hf,
+                pfdin->date,
+                pfdin->time,
+                pfdin->attribs,
+                pfdin->iFolder,
+                pfdin->cb
+            );
+#endif
+    
+            tvfs_close(pfdin->hf);
+            return TRUE;
+        }
+        case fdintNEXT_CABINET: 
+        {
+#ifdef VERBOSE
+            trace("fdintNEXT_CABINET\n");
+#endif
+            return 0;
+        }
+        case fdintENUMERATE:
+        {
+#ifdef VERBOSE
+            trace("fdintENUMERATE\n");
+#endif
+            return 0;
+        }
+    }
+    return 0;
+}
+
+static void printCabInfo(FDICABINETINFO  cabinfo){
+#ifdef VERBOSE
+    trace("   Cabinet Data : cbC %d cF %d cFi %d si %d iC %d fr %d hp %d hn %d\n",
+        cabinfo.cbCabinet,
+        cabinfo.cFolders ,
+        cabinfo.cFiles ,
+        cabinfo.setID,
+        cabinfo.iCabinet,
+        cabinfo.fReserve ,
+        cabinfo.hasprev ,
+        cabinfo.hasnext );
+#endif
+}
+
+static void CheckCabInfo(char *  cabname,
+    FDICABINETINFO cabinfo, 
+    long    TcbCabinet,
+    USHORT    TcFolders,    
+    USHORT    TcFiles,    
+    USHORT    TsetID,    
+    USHORT    TiCabinet,    
+    BOOL    TfReserve,    
+    BOOL    Thasprev,    
+    BOOL    Thasnext){
+    ok2 ( cabinfo.cbCabinet == TcbCabinet, "FDIIsCabinet,cabinfo %s data did not match! Failed!\n", cabname);
+    ok2 ( cabinfo.cFolders == TcFolders, "FDIIsCabinet,cabinfo %s data did not match! Failed!\n", cabname);
+    ok2 ( cabinfo.cFiles == TcFiles, "FDIIsCabinet,cabinfo %s data did not match! Failed!\n", cabname);
+    ok2 ( cabinfo.setID == TsetID, "FDIIsCabinet,cabinfo %s data did not match! Failed!\n", cabname);
+    ok2 ( cabinfo.iCabinet == TiCabinet, "FDIIsCabinet,cabinfo %s data did not match! Failed!\n", cabname);
+    ok2 ( cabinfo.fReserve == TfReserve, "FDIIsCabinet,cabinfo %s data did not match! Failed!\n", cabname);
+    ok2 ( cabinfo.hasprev == Thasprev, "FDIIsCabinet,cabinfo %s data did not match! Failed!\n", cabname);
+    ok2 ( cabinfo.hasnext == Thasnext, "FDIIsCabinet,cabinfo %s data did not match! Failed!\n", cabname);
+   }
+
+static HFDI hfdi_unknown;
+/* yes its global and ugly */
+
+/* Is CPU386 or Unknown more commonly used? */
+
+static void TestCreate(void) {
+    
+    ERF error_structure;
+    
+    trace("Starting TestCreate()\n");
+    
+    hfdi_unknown = FDICreate(
+        final_alloc,
+        final_free, 
+        tvfs_open, tvfs_read, tvfs_write, tvfs_close, tvfs_lseek,
+        cpuUNKNOWN,
+        &error_structure
+    );
+
+    ok(hfdi_unknown != NULL,"FDICreate (CPU = unknown) (functions=tvfs) failed!\n");    
+    
+    trace("Ending TestCreate()\n");    
+}
+
+static void TestInfo(void) {
+
+    int fd;
+    
+    FDICABINETINFO  fdi_cabinfo_simple, fdi_cabinfo_complex;
+    
+    trace("Starting TestInfo()\n");
+
+    tvfs_create( name_simple_cab, file_simple_cab, size_simple_cab);
+    fd = tvfs_open( name_simple_cab, _O_BINARY, 0 );
+
+    ok( FDIIsCabinet( hfdi_unknown, fd, &fdi_cabinfo_simple) == TRUE,
+    "FDIIsCabinet (Virtual File = Simple.cab) failed!\n");
+    
+    printCabInfo(fdi_cabinfo_simple);
+    CheckCabInfo("simple.cab",fdi_cabinfo_simple,121,1,1,0,0,0,0,0);    
+    
+    tvfs_close(fd); 
+
+    tvfs_create( name_complex_cab, file_complex_cab, size_complex_cab);
+    fd = tvfs_open( name_complex_cab, _O_BINARY, 0 );
+
+    ok( FDIIsCabinet( hfdi_unknown, fd, &fdi_cabinfo_complex) == TRUE,
+    "FDIIsCabinet (Virtual File = Complex.cab) failed!\n");
+    
+    printCabInfo(fdi_cabinfo_complex);
+    CheckCabInfo("complex.cab",fdi_cabinfo_complex,12918,1,2,0,0,0,0,0);    
+    
+    tvfs_close(fd);
+    tvfs_free();    
+    
+    trace("Ending TestInfo()\n");
+}
+
+static void TestCopy(void){
+    
+    char name_file_path[256];
+    int result;
+    
+    trace("Starting TestCopy()\n");
+    trace("---simple.cab\n");
+
+    tvfs_create( name_simple_cab, file_simple_cab, size_simple_cab);
+    FDICopy(hfdi_unknown,
+        "simple.cab",
+        "",
+        0,
+        notification_function,
+        NULL,
+        NULL);
+
+    /* Filename when extracted is ./<filename> */
+    sprintf(name_file_path, "./%s", name_simple_txt);
+    result = tvfs_compare(name_file_path, file_simple_txt, size_simple_txt);
+    if (result)
+        trace ("File %s compare failed!\n",name_file_path);    
+    tvfs_free();
+
+    trace("---complex.cab\n");
+    tvfs_create( name_complex_cab, file_complex_cab, size_complex_cab);
+    FDICopy(hfdi_unknown,
+        "complex.cab",
+        "",
+        0,
+        notification_function,
+        NULL,
+        NULL);
+
+   
+    tvfs_free();
+    
+    trace("Ending TestCopy()\n");   
+}
+
+static void TestDestroy(void) {
+    trace("Starting TestDestroy()\n");
+    ok(FDIDestroy(hfdi_unknown), "FDIDestroy (CPU = unknown) (functions=tvfs) failed!\n");  
+    trace("Ending TestDestroy()\n");
+}
+
+START_TEST(cabinet_fdi)
+{
+    TestCreate();
+    TestInfo();
+    TestCopy();
+    TestDestroy();
+    tvfs_free();
+}
diff -Nuar ../winesrc/wine/dlls/cabinet/tests/cabinet_fdi.c.bck wine/dlls/cabinet/tests/cabinet_fdi.c.bck
--- ../winesrc/wine/dlls/cabinet/tests/cabinet_fdi.c.bck	1969-12-31 16:00:00.000000000 -0800
+++ wine/dlls/cabinet/tests/cabinet_fdi.c.bck	2005-03-10 16:26:01.506125000 -0800
@@ -0,0 +1,357 @@
+/*
+ * Unit test suite for cabinet.dll - FDI functions
+ *
+ * Copyright 2004 Rizwan Kassim, Dan Kegel, Alexander Liber
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
+#include <stdarg.h>
+#include <malloc.h>
+ 
+#include <stdarg.h>
+#include <stdio.h>
+ 
+#include "windef.h"
+#include "winbase.h"
+#include "winerror.h"
+#include "fdi.h"
+ 
+#ifndef WIN_ENV
+#include <msvcrt/fcntl.h>
+#else
+#include <fcntl.h>
+#endif
+
+#include "tvfs.h"
+#include "data.h"
+
+#ifndef STANDALONE
+#include <wine/test.h>
+#define _S_IREAD  0x0100
+#define _S_IWRITE 0x0080
+#define ok2 ok
+#else
+/* To build outside Wine tree, compile with cl -DSTANDALONE -D_X86_ tvfs.c cabinet_fdi.c FDI.lib 
+  These are only called if standalone are used, defining ok and START_TEST, which would normally be declared in winetree */
+#include <assert.h> 
+
+#define START_TEST(name) main(int argc, char **argv)
+#define ok(condition, msg)    \
+    do { if(!(condition)) {  \
+        fprintf(stderr,"failed at %d, msg:" msg "\n",__LINE__); \
+    exit(1);    \
+    } } while(0)
+#define ok2(condition, msg, arg) \
+    do { if(!(condition)) {  \
+        fprintf(stderr,"failed at %d, msg:" msg "\n",__LINE__, arg); \
+    exit(1);    \
+    } } while(0)
+#define todo_wine
+
+static void trace(const char *s, ...)
+{
+    va_list ellipsis;
+    va_start (ellipsis, s);
+    vprintf(s, ellipsis);
+    va_end(ellipsis);
+}
+
+#endif 
+
+/* Do malloc and free output debug messages? 
+#define DEBUG_ALLOC
+#define VERBOSE
+*/
+
+#ifndef DEBUG_ALLOC
+FNALLOC(final_alloc) {
+    return malloc(cb);
+}
+FNFREE(final_free) {
+    free(pv);
+    return;
+}
+#else
+FNALLOC(final_alloc) {
+    trace("   FNALLOC just called with %d\n",cb);
+    return malloc(cb);
+}
+FNFREE(final_free) {
+    trace("   FNFREE just called with %d\n",pv);
+    free(pv);
+    return;
+}
+#endif
+/*Possible non trivial addition:
+Notify receives some information about the cab file(see FDI documentation). 
+Since this info is different depending on the value of fdint, and Notify should
+be generic, it is not simple or nice to check this information.
+*/
+FNFDINOTIFY(notification_function)
+{
+#ifdef VERBOSE
+    trace("   FNFDINOTIFY real just called with %d, %d \n",fdint,pfdin);
+#endif
+    switch (fdint)
+    {
+        case fdintCABINET_INFO: 
+        {
+#ifdef VERBOSE
+            trace(
+                "fdintCABINET_INFO:\n"
+                "-next cab name: %s\n"
+                "-next disk: %s\n"
+                "-path name: %s\n"
+                "-set ID: %d\n"
+                "-number in set: %d\n",
+                pfdin->psz1,
+                pfdin->psz2,
+                pfdin->psz3,
+                pfdin->setID,
+                pfdin->iCabinet
+            );
+#endif
+            return 0;
+        }
+        case fdintPARTIAL_FILE: 
+        {
+#ifdef VERBOSE
+            trace("dintPARTIAL_FILE\n");    
+#endif
+            
+            return 0;
+        }
+        case fdintCOPY_FILE:
+        {
+            int fih = 0;
+            char target[256];
+#ifdef VERBOSE
+            trace(
+                "fdintCOPY_FILE:\n"
+                "-name: %s\n"
+                "-uncompressed size: %d\n"
+                "-date: %d\n"
+                "-time: %d\n"
+                "-attributes: %d\n"
+                "-file's folder index: %d\n",
+                pfdin->psz1,
+                pfdin->cb,
+                pfdin->date,
+                pfdin->time,
+                pfdin->attribs,
+                pfdin->iFolder
+            );
+#endif
+            sprintf(target, "./%s",pfdin->psz1);
+            fih = tvfs_open (target,
+                _O_BINARY | _O_CREAT | _O_WRONLY | _O_SEQUENTIAL,
+                _S_IREAD | _S_IWRITE 
+            );
+            return fih;    
+        }    
+        case fdintCLOSE_FILE_INFO:    
+        {
+#ifdef VERBOSE
+            trace(
+                "fdintCLOSE_FILE:\n"
+                "-name: %s\n"
+                "-handle: %d\n"
+                "-date: %d\n"
+                "-time: %d\n"
+                "-attributes: %d\n"
+                "-file's folder index: %d\n"
+                "-run: %d\n",
+                pfdin->psz1,
+                pfdin->hf,
+                pfdin->date,
+                pfdin->time,
+                pfdin->attribs,
+                pfdin->iFolder,
+                pfdin->cb
+            );
+#endif
+    
+            tvfs_close(pfdin->hf);
+            return TRUE;
+        }
+        case fdintNEXT_CABINET: 
+        {
+#ifdef VERBOSE
+            trace("fdintNEXT_CABINET\n");
+#endif
+            return 0;
+        }
+        case fdintENUMERATE:
+        {
+#ifdef VERBOSE
+            trace("fdintENUMERATE\n");
+#endif
+            return 0;
+        }
+    }
+    return 0;
+}
+
+static void printCabInfo(FDICABINETINFO  cabinfo){
+#ifdef VERBOSE
+    trace("   Cabinet Data : cbC %d cF %d cFi %d si %d iC %d fr %d hp %d hn %d\n",
+        cabinfo.cbCabinet,
+        cabinfo.cFolders ,
+        cabinfo.cFiles ,
+        cabinfo.setID,
+        cabinfo.iCabinet,
+        cabinfo.fReserve ,
+        cabinfo.hasprev ,
+        cabinfo.hasnext );
+#endif
+}
+
+static void CheckCabInfo(char *  cabname,
+    FDICABINETINFO cabinfo, 
+    long    TcbCabinet,
+    USHORT    TcFolders,    
+    USHORT    TcFiles,    
+    USHORT    TsetID,    
+    USHORT    TiCabinet,    
+    BOOL    TfReserve,    
+    BOOL    Thasprev,    
+    BOOL    Thasnext){
+    ok2 ( cabinfo.cbCabinet == TcbCabinet, "FDIIsCabinet,cabinfo %s data did not match! Failed!\n", cabname);
+    ok2 ( cabinfo.cFolders == TcFolders, "FDIIsCabinet,cabinfo %s data did not match! Failed!\n", cabname);
+    ok2 ( cabinfo.cFiles == TcFiles, "FDIIsCabinet,cabinfo %s data did not match! Failed!\n", cabname);
+    ok2 ( cabinfo.setID == TsetID, "FDIIsCabinet,cabinfo %s data did not match! Failed!\n", cabname);
+    ok2 ( cabinfo.iCabinet == TiCabinet, "FDIIsCabinet,cabinfo %s data did not match! Failed!\n", cabname);
+    ok2 ( cabinfo.fReserve == TfReserve, "FDIIsCabinet,cabinfo %s data did not match! Failed!\n", cabname);
+    ok2 ( cabinfo.hasprev == Thasprev, "FDIIsCabinet,cabinfo %s data did not match! Failed!\n", cabname);
+    ok2 ( cabinfo.hasnext == Thasnext, "FDIIsCabinet,cabinfo %s data did not match! Failed!\n", cabname);
+   }
+
+static HFDI hfdi_unknown;
+/* yes its global and ugly */
+
+/* Is CPU386 or Unknown more commonly used? */
+
+static void TestCreate(void) {
+    
+    ERF error_structure;
+    
+    trace("Starting TestCreate()\n");
+    
+    hfdi_unknown = FDICreate(
+        final_alloc,
+        final_free, 
+        tvfs_open, tvfs_read, tvfs_write, tvfs_close, tvfs_lseek,
+        cpuUNKNOWN,
+        &error_structure
+    );
+
+    ok(hfdi_unknown != NULL,"FDICreate (CPU = unknown) (functions=tvfs) failed!\n");    
+    
+    trace("Ending TestCreate()\n");    
+}
+
+static void TestInfo(void) {
+
+    int fd;
+    
+    FDICABINETINFO  fdi_cabinfo_simple, fdi_cabinfo_complex;
+    
+    trace("Starting TestInfo()\n");
+
+    tvfs_create( name_simple_cab, file_simple_cab, size_simple_cab);
+    fd = tvfs_open( name_simple_cab, _O_BINARY, 0 );
+
+    ok( FDIIsCabinet( hfdi_unknown, fd, &fdi_cabinfo_simple) == TRUE,
+    "FDIIsCabinet (Virtual File = Simple.cab) failed!\n");
+    
+    printCabInfo(fdi_cabinfo_simple);
+    CheckCabInfo("simple.cab",fdi_cabinfo_simple,121,1,1,0,0,0,0,0);    
+    
+    tvfs_close(fd); 
+
+    tvfs_create( name_complex_cab, file_complex_cab, size_complex_cab);
+    fd = tvfs_open( name_complex_cab, _O_BINARY, 0 );
+
+    ok( FDIIsCabinet( hfdi_unknown, fd, &fdi_cabinfo_complex) == TRUE,
+    "FDIIsCabinet (Virtual File = Complex.cab) failed!\n");
+    
+    printCabInfo(fdi_cabinfo_complex);
+    CheckCabInfo("complex.cab",fdi_cabinfo_complex,12918,1,2,0,0,0,0,0);    
+    
+    tvfs_close(fd);
+    tvfs_free();    
+    
+    trace("Ending TestInfo()\n");
+}
+
+static void TestCopy(void){
+    
+    char name_file_path[256];
+    int result;
+    
+    trace("Starting TestCopy()\n");
+    trace("---simple.cab\n");
+
+    tvfs_create( name_simple_cab, file_simple_cab, size_simple_cab);
+    FDICopy(hfdi_unknown,
+        "simple.cab",
+        "",
+        0,
+        notification_function,
+        NULL,
+        NULL);
+
+    /* Filename when extracted is ./<filename> */
+    sprintf(name_file_path, "./%s", name_simple_txt);
+    result = tvfs_compare(name_file_path, file_simple_txt, size_simple_txt);
+    if (result)
+        trace ("File %s compare failed!\n",name_file_path);    
+    tvfs_free();
+
+    trace("---complex.cab\n");
+    tvfs_create( name_complex_cab, file_complex_cab, size_complex_cab);
+    FDICopy(hfdi_unknown,
+        "complex.cab",
+        "",
+        0,
+        notification_function,
+        NULL,
+        NULL);
+
+   
+    tvfs_free();
+    
+    trace("Ending TestCopy()\n");   
+}
+
+static void TestDestroy(void) {
+    trace("Starting TestDestroy()\n");
+    ok(FDIDestroy(hfdi_unknown), "FDIDestroy (CPU = unknown) (functions=tvfs) failed!\n");  
+    trace("Ending TestDestroy()\n");
+}
+
+START_TEST(cabinet_fdi)
+{
+    TestCreate();
+    TestInfo();
+    TestCopy();
+    TestDestroy();
+    tvfs_free();
+}
diff -Nuar ../winesrc/wine/dlls/cabinet/tests/data.h wine/dlls/cabinet/tests/data.h
--- ../winesrc/wine/dlls/cabinet/tests/data.h	1969-12-31 16:00:00.000000000 -0800
+++ wine/dlls/cabinet/tests/data.h	2005-03-10 16:20:35.000000000 -0800
@@ -0,0 +1,834 @@
+static char name_simple_txt[] = "simple.txt";
+static char file_simple_txt[] = {
+	0x53, 0x6f, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x61, 
+	0x6e, 0x6b, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x20, 
+	0x66, 0x69, 0x73, 0x68, 0x2e, 0x2e, 0x2e, 0x2e, 0x2e, 0x0a
+};
+static int size_simple_txt = sizeof(file_simple_txt);
+
+
+static char name_simple_cab[] = "simple.cab";
+static char file_simple_cab[] = {
+	0x4d, 0x53, 0x43, 0x46, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+	0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 
+	0x00, 0x00, 0x00, 0x00, 0x47, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x2a, 0x00, 0x00, 0x00, 
+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5b, 0x32, 0x0c, 0x0c, 0x20, 0x00, 0x73, 0x69, 0x6d, 0x70, 
+	0x6c, 0x65, 0x2e, 0x74, 0x78, 0x74, 0x00, 0x9e, 0x7f, 0x24, 0xf5, 0x2a, 0x00, 0x2a, 0x00, 0x43, 
+	0x4b, 0x0b, 0xce, 0x57, 0xc8, 0xc9, 0xcf, 0x4b, 0xd7, 0x51, 0x48, 0xcc, 0x4b, 0x51, 0x28, 0xc9, 
+	0x48, 0xcc, 0xcb, 0x2e, 0x56, 0x48, 0xcb, 0x2f, 0x52, 0x48, 0xcc, 0xc9, 0x01, 0x72, 0x53, 0x15, 
+	0xd2, 0x32, 0x8b, 0x33, 0xf4, 0x40, 0x80, 0x0b, 0x00
+};
+static int size_simple_cab = sizeof(file_simple_cab);
+
+static char name_complex_cab[] = "complex.cab";
+static char file_complex_cab[] = {
+	0x4d, 0x53, 0x43, 0x46, 0x00, 0x00, 0x00, 0x00, 0x76, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+	0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, 
+	0x00, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x21, 0x00, 0x00, 
+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5b, 0x32, 0x0c, 0x0c, 0x20, 0x00, 0x52, 0x45, 0x41, 0x44, 
+	0x4d, 0x45, 0x00, 0x3c, 0x67, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x5b, 0x32, 0x0c, 
+	0x0c, 0x20, 0x00, 0x6c, 0x67, 0x70, 0x6c, 0x2e, 0x74, 0x78, 0x74, 0x00, 0x10, 0xa7, 0xe2, 0x00, 
+	0x17, 0x2f, 0x00, 0x80, 0x43, 0x4b, 0x95, 0x7d, 0xfb, 0x73, 0x1b, 0xc9, 0x91, 0xe6, 0xcf, 0xaa, 
+	0xb8, 0x3f, 0xa2, 0x8e, 0x77, 0xb1, 0x43, 0x6e, 0x80, 0xe0, 0x48, 0xe3, 0x19, 0xdb, 0x9a, 0xbb, 
+	0x8d, 0x85, 0x48, 0x48, 0xc2, 0x99, 0x2f, 0x03, 0xe4, 0xc8, 0x8a, 0xf5, 0xc6, 0x46, 0x03, 0x5d, 
+	0x00, 0xda, 0x6a, 0x74, 0xc3, 0xfd, 0x20, 0x05, 0xc7, 0xc6, 0xfe, 0xed, 0x97, 0x5f, 0x66, 0x56, 
+	0x75, 0x35, 0x00, 0x6a, 0x66, 0xf7, 0x61, 0x8b, 0x40, 0x77, 0x55, 0x56, 0x56, 0x3e, 0xbe, 0x7c, 
+	0x54, 0xe1, 0xf5, 0xd0, 0x4e, 0x6e, 0x1f, 0xa6, 0x77, 0x57, 0x8f, 0x97, 0x0f, 0x93, 0xbb, 0x5b, 
+	0x63, 0x3e, 0x65, 0x85, 0xb3, 0x59, 0x6d, 0x13, 0xbb, 0xad, 0xca, 0x55, 0x95, 0x6c, 0xec, 0xf3, 
+	0x3a, 0x5b, 0xac, 0x6d, 0x92, 0xe7, 0xe5, 0x73, 0x6d, 0xab, 0xb6, 0x28, 0xb2, 0x62, 0x65, 0x6f, 
+	0xb2, 0x45, 0x55, 0xd6, 0xe5, 0xb2, 0xb1, 0xf4, 0x42, 0x8a, 0x6f, 0xf4, 0xf1, 0xda, 0x9c, 0x66, 
+	0xc5, 0x22, 0x6f, 0x53, 0x3c, 0x75, 0x75, 0x37, 0x1b, 0x84, 0x07, 0x7e, 0x18, 0x7e, 0xb5, 0x49, 
+	0x91, 0xe2, 0xef, 0x1f, 0xde, 0x58, 0xf7, 0xd5, 0x2d, 0xda, 0x26, 0x99, 0xe7, 0xae, 0x3e, 0xb3, 
+	0x65, 0x61, 0x1f, 0x8b, 0xec, 0xeb, 0xd0, 0xda, 0x49, 0x63, 0x16, 0x65, 0x51, 0x67, 0x75, 0x53, 
+	0xdb, 0x72, 0x19, 0x51, 0x91, 0x97, 0x49, 0xea, 0x2a, 0x25, 0x06, 0x7f, 0xd4, 0x3c, 0x98, 0x0c, 
+	0xe3, 0x40, 0x6f, 0x20, 0xc9, 0xf8, 0x19, 0xe7, 0x59, 0x91, 0x54, 0xbb, 0x01, 0x3f, 0x98, 0xd8, 
+	0x3c, 0x9b, 0x57, 0xf4, 0xa7, 0x3d, 0x5d, 0xd0, 0x5a, 0x1c, 0xd3, 0xe1, 0xe8, 0xb3, 0x33, 0xdb, 
+	0xac, 0x93, 0xc6, 0x66, 0x9b, 0x6d, 0xee, 0x36, 0xae, 0xa0, 0x79, 0xf5, 0x75, 0x33, 0xba, 0x9f, 
+	0x58, 0x3c, 0x5b, 0xdb, 0xb6, 0xc6, 0x6a, 0x9a, 0xb5, 0xcb, 0x2a, 0x26, 0xd4, 0x96, 0x95, 0xfd, 
+	0xcb, 0xeb, 0xd7, 0xd6, 0xfd, 0xbd, 0xcd, 0x9e, 0x92, 0x1c, 0x6f, 0x11, 0xed, 0x0f, 0x6b, 0x17, 
+	0x26, 0xd9, 0x24, 0x3b, 0x62, 0x59, 0x5d, 0x9a, 0xb9, 0xa3, 0xb7, 0x69, 0xb6, 0x25, 0xbd, 0xb2, 
+	0x2d, 0xab, 0x06, 0x03, 0x09, 0x07, 0x16, 0x65, 0x4a, 0x9c, 0x2e, 0x9a, 0xd2, 0x16, 0x49, 0x93, 
+	0x3d, 0x39, 0x19, 0x39, 0xe2, 0xcb, 0xb0, 0xdb, 0x8d, 0x65, 0xe5, 0x9c, 0xc5, 0xda, 0x9e, 0x93, 
+	0xca, 0x0d, 0x6c, 0xe5, 0x72, 0x97, 0x60, 0xd4, 0xb6, 0x00, 0x53, 0x88, 0x30, 0xfb, 0xe1, 0xf6, 
+	0xd1, 0x5e, 0x7f, 0xb8, 0xbf, 0xfe, 0xd9, 0xd6, 0xf4, 0x28, 0x3e, 0x59, 0x66, 0xb9, 0x33, 0xd7, 
+	0x93, 0xcb, 0xf1, 0xed, 0x6c, 0xcc, 0xd3, 0xe3, 0xc3, 0xd4, 0x35, 0x49, 0x96, 0x63, 0xe8, 0x37, 
+	0x43, 0xfb, 0xe7, 0xc7, 0xc9, 0xe5, 0x9f, 0xec, 0xec, 0x61, 0x34, 0x7d, 0xa0, 0xa9, 0xd6, 0xae, 
+	0x70, 0x4f, 0x34, 0xda, 0xae, 0x6c, 0x89, 0xb6, 0xcd, 0x96, 0x5e, 0xa7, 0x79, 0xcb, 0x0d, 0xcd, 
+	0xdb, 0x56, 0x0b, 0x9a, 0x35, 0x6b, 0x40, 0x4a, 0xe5, 0xe8, 0x4b, 0x62, 0x54, 0x4a, 0xd3, 0x13, 
+	0xed, 0xb4, 0x38, 0x1e, 0x18, 0x94, 0x9a, 0x49, 0x51, 0x37, 0x60, 0x6e, 0x85, 0x6f, 0xe6, 0x6d, 
+	0x96, 0xa7, 0xcc, 0xfb, 0x4c, 0x3e, 0xe6, 0x67, 0x88, 0x4f, 0xef, 0x31, 0x28, 0xde, 0x69, 0xca, 
+	0xed, 0x79, 0x4e, 0x73, 0xe6, 0x36, 0xcd, 0x68, 0xd8, 0xa6, 0xac, 0x76, 0x86, 0x36, 0xdd, 0x0f, 
+	0xa7, 0x13, 0xdb, 0x53, 0xd9, 0x74, 0x92, 0x0b, 0xa2, 0xbd, 0xa8, 0xe9, 0x7b, 0x70, 0x84, 0xc8, 
+	0x3b, 0x1b, 0x40, 0x1e, 0xdf, 0x1a, 0x33, 0xbc, 0x68, 0xca, 0x32, 0xaf, 0x2f, 0x9e, 0xe9, 0x2d, 
+	0x9d, 0xcc, 0x98, 0x69, 0x5b, 0x04, 0xa1, 0xb4, 0x49, 0x6d, 0x4f, 0xf0, 0xad, 0xfd, 0xb7, 0x72, 
+	0xdb, 0x64, 0x24, 0x61, 0xff, 0xee, 0xbf, 0x3b, 0x01, 0x45, 0xc4, 0x9d, 0x4d, 0x59, 0x61, 0x3b, 
+	0x88, 0x51, 0x9b, 0x04, 0x4f, 0x80, 0x72, 0x43, 0xcf, 0xd0, 0x4e, 0x6c, 0x68, 0xd1, 0x75, 0x99, 
+	0xb7, 0xf8, 0x18, 0xcc, 0x4f, 0x52, 0xa6, 0x91, 0x3e, 0x6c, 0x2c, 0xd3, 0xab, 0xf4, 0x0c, 0x3a, 
+	0xd2, 0x37, 0x09, 0x4d, 0x9e, 0xac, 0xdc, 0xc0, 0xf8, 0xad, 0xa8, 0x69, 0x70, 0xd9, 0x82, 0x72, 
+	0xd1, 0x42, 0xd0, 0x64, 0x96, 0xb0, 0x72, 0x7b, 0xb8, 0x72, 0x73, 0x8a, 0xbd, 0x3c, 0xb9, 0xba, 
+	0xbb, 0x7c, 0xbc, 0x19, 0xdf, 0x3e, 0x8c, 0xa0, 0xa1, 0x27, 0x67, 0x22, 0xcf, 0xae, 0xde, 0xba, 
+	0x45, 0x46, 0x0b, 0xdd, 0xf1, 0x5b, 0xcf, 0x2e, 0xc9, 0x9b, 0x35, 0xc6, 0x88, 0x96, 0x60, 0x96, 
+	0x65, 0x0b, 0xd1, 0x6f, 0xec, 0xba, 0x69, 0xb6, 0x6f, 0x2f, 0x2e, 0x9e, 0x9f, 0x9f, 0x87, 0xe0, 
+	0xc2, 0xfa, 0xef, 0xc3, 0xb2, 0x5a, 0x91, 0x10, 0xfc, 0x30, 0xb4, 0xd3, 0x31, 0x89, 0xc1, 0x74, 
+	0x8c, 0x09, 0x66, 0xc6, 0x3c, 0x94, 0x61, 0xef, 0x31, 0x0b, 0xb1, 0x97, 0x09, 0x1a, 0xb0, 0x54, 
+	0x6c, 0x5a, 0x5a, 0xf0, 0x3a, 0x21, 0x51, 0x2d, 0x89, 0x46, 0xa5, 0x77, 0x59, 0xc2, 0x32, 0x90, 
+	0x58, 0xd3, 0x3e, 0x58, 0x7b, 0x9d, 0x15, 0xed, 0x57, 0x4b, 0x62, 0x54, 0x63, 0x71, 0x6f, 0x86, 
+	0xdf, 0x0f, 0x7f, 0xf8, 0x09, 0xda, 0x92, 0xcc, 0xcb, 0x27, 0x67, 0xb0, 0xf7, 0xce, 0xbd, 0x9b, 
+	0x5d, 0xd9, 0x1f, 0x87, 0x3f, 0xe0, 0xe3, 0x3c, 0x69, 0x5c, 0x45, 0x1f, 0xcf, 0xca, 0x3c, 0xa9, 
+	0x88, 0x8b, 0x5f, 0xff, 0xf0, 0x13, 0xbd, 0xf4, 0x63, 0xfc, 0xd5, 0xad, 0x6b, 0xe8, 0x85, 0xf3, 
+	0x45, 0x5b, 0x55, 0xc4, 0x34, 0x63, 0x46, 0xb5, 0xb0, 0xa8, 0x82, 0xf2, 0xd1, 0x16, 0xd8, 0x2f, 
+	0xae, 0x22, 0x45, 0x56, 0x41, 0x6a, 0xd6, 0xbc, 0x3d, 0x75, 0xbb, 0x85, 0xb2, 0x41, 0x0c, 0x69, 
+	0x09, 0x03, 0xa2, 0x57, 0xf9, 0x54, 0x6e, 0x5d, 0x95, 0x40, 0x09, 0x4d, 0xbd, 0xab, 0x1b, 0x47, 
+	0x92, 0x81, 0xad, 0x20, 0x5a, 0x49, 0x9a, 0x99, 0x46, 0x4b, 0x0a, 0xe6, 0x5f, 0x77, 0xe9, 0xd0, 
+	0xdc, 0xd1, 0x5b, 0x55, 0xf7, 0x9a, 0xf5, 0xaf, 0x89, 0x4c, 0xfa, 0x79, 0x84, 0x06, 0x9d, 0xbd, 
+	0x66, 0xed, 0x9f, 0x47, 0xc3, 0x18, 0xdd, 0xfa, 0x65, 0xdb, 0xb4, 0x95, 0x23, 0xbe, 0x0b, 0x9b, 
+	0xb0, 0x55, 0x6f, 0x69, 0x89, 0x9f, 0xd6, 0xe0, 0xb7, 0x7c, 0xf6, 0x66, 0xf8, 0x86, 0xec, 0x64, 
+	0xbd, 0x2e, 0x5b, 0x52, 0x9e, 0xba, 0xc9, 0x48, 0x6d, 0x9e, 0xcb, 0xea, 0x0b, 0xef, 0x86, 0x7f, 
+	0xe2, 0x7b, 0x7a, 0x02, 0x53, 0x74, 0x5f, 0xd3, 0x20, 0xa7, 0x65, 0x0e, 0x5b, 0x20, 0xdf, 0xea, 
+	0x06, 0xd4, 0xb4, 0x5b, 0xa9, 0x52, 0x75, 0x4e, 0x46, 0x83, 0x58, 0x9a, 0xda, 0x45, 0x95, 0xd4, 
+	0x6b, 0xb2, 0xba, 0x03, 0x7a, 0x29, 0x6b, 0xbe, 0x23, 0x33, 0x09, 0x39, 0x26, 0x4e, 0xf1, 0xce, 
+	0x26, 0x56, 0x39, 0xed, 0xd7, 0x54, 0xb7, 0xb0, 0xfe, 0x35, 0x0d, 0xfc, 0xbb, 0xe1, 0x57, 0x22, 
+	0xdd, 0xef, 0x60, 0x20, 0x9e, 0xe5, 0x55, 0xe8, 0x15, 0x95, 0xa7, 0x8d, 0xf7, 0x0f, 0xfd, 0x4e, 
+	0x6d, 0x7e, 0xb7, 0xed, 0x5f, 0x07, 0xf4, 0x54, 0xd3, 0x11, 0x38, 0x77, 0x24, 0xae, 0xfb, 0x92, 
+	0xf1, 0x8c, 0x75, 0xad, 0xc8, 0x1e, 0x55, 0x2c, 0xe0, 0x45, 0xd9, 0x08, 0x13, 0x48, 0x1d, 0x69, 
+	0x23, 0xf2, 0xdd, 0xd0, 0x58, 0x7a, 0xe3, 0x66, 0x5f, 0x63, 0x17, 0xa4, 0x74, 0x73, 0x48, 0x64, 
+	0xcb, 0x46, 0x87, 0x59, 0xee, 0x87, 0xc5, 0x46, 0x90, 0xe9, 0x80, 0x1d, 0x4d, 0x1a, 0x7a, 0xf9, 
+	0xff, 0x2c, 0x59, 0x23, 0xe8, 0x3f, 0x87, 0x30, 0xae, 0xf3, 0x3a, 0x85, 0x4a, 0x5c, 0x6c, 0xdb, 
+	0xf9, 0x85, 0xbe, 0x72, 0xc1, 0xaf, 0xe8, 0x7f, 0xba, 0x4d, 0x4b, 0xdc, 0x2b, 0x2b, 0xb1, 0x31, 
+	0x17, 0xff, 0x42, 0x8c, 0xf0, 0x32, 0xeb, 0x19, 0xf1, 0x99, 0x34, 0x84, 0x09, 0xdf, 0x94, 0xc4, 
+	0xcf, 0x3c, 0xfb, 0xe2, 0x40, 0xba, 0x13, 0x33, 0x29, 0x9c, 0x61, 0x5e, 0x3d, 0x67, 0xa4, 0xa8, 
+	0xde, 0x64, 0xc3, 0x6e, 0x2d, 0xd6, 0x64, 0xd6, 0xb0, 0x83, 0xab, 0xc5, 0x62, 0x60, 0x57, 0x49, 
+	0x3d, 0xb0, 0xae, 0x59, 0x0c, 0xcf, 0x86, 0xf6, 0x53, 0x52, 0xb1, 0xb7, 0x7d, 0xeb, 0x4d, 0x28, 
+	0xfe, 0xa0, 0x07, 0xc8, 0x86, 0x90, 0xe0, 0xff, 0x33, 0xf1, 0xe5, 0x9f, 0xad, 0x2b, 0x6a, 0x92, 
+	0x29, 0x75, 0x62, 0x58, 0x19, 0xd3, 0xe0, 0xdd, 0xce, 0x7c, 0x67, 0x69, 0x54, 0xd2, 0x72, 0x27, 
+	0x6a, 0xcd, 0x03, 0x2c, 0x16, 0x36, 0x59, 0x92, 0x76, 0xed, 0x8f, 0x5a, 0x42, 0xdf, 0xea, 0xdd, 
+	0x86, 0x3e, 0xf8, 0x82, 0xcf, 0x40, 0x4e, 0x22, 0x7e, 0x36, 0xe7, 0x55, 0x80, 0xea, 0x55, 0xd1, 
+	0x32, 0xd5, 0x35, 0x9c, 0x41, 0x9d, 0x64, 0xb2, 0x3c, 0x47, 0x2b, 0x5d, 0xb8, 0xba, 0x26, 0xdf, 
+	0x47, 0xac, 0x11, 0x9d, 0x0d, 0x9c, 0xb9, 0x49, 0xbe, 0x40, 0x19, 0x88, 0x4a, 0x58, 0x11, 0x16, 
+	0x33, 0x8c, 0xf4, 0x38, 0x1b, 0x4f, 0xff, 0xe3, 0xfa, 0xea, 0x61, 0x60, 0x67, 0x9f, 0x67, 0xbf, 
+	0xcc, 0x3e, 0xde, 0xe8, 0x3f, 0xc6, 0x37, 0x62, 0xe2, 0xf0, 0xc7, 0xcd, 0xec, 0x83, 0x55, 0x8b, 
+	0x4d, 0x03, 0x91, 0xf6, 0x40, 0x51, 0x69, 0xab, 0x69, 0x77, 0x69, 0xac, 0x4a, 0x85, 0x94, 0xa6, 
+	0xa4, 0xfd, 0xf0, 0xda, 0xc6, 0xe6, 0xd6, 0x2b, 0xea, 0xbe, 0x88, 0xc2, 0xa2, 0xd1, 0xfb, 0xbc, 
+	0x47, 0xf1, 0x73, 0x43, 0xfb, 0xb1, 0x7c, 0x86, 0xff, 0x1b, 0xf8, 0x5d, 0x22, 0x2e, 0x2e, 0xc9, 
+	0x57, 0x62, 0x79, 0xc4, 0xa5, 0x0a, 0xac, 0xcd, 0x96, 0xb6, 0xdd, 0xd4, 0x69, 0xc9, 0x6b, 0x0f, 
+	0x6e, 0x1d, 0x6b, 0xb9, 0x68, 0x36, 0xdb, 0xce, 0x96, 0x0f, 0xed, 0xc8, 0x2e, 0xdd, 0x33, 0x9b, 
+	0x52, 0x12, 0xcd, 0x39, 0xf1, 0xbd, 0xd9, 0x59, 0x75, 0x26, 0x35, 0x73, 0x80, 0x46, 0x03, 0x3e, 
+	0x20, 0xce, 0xb9, 0x82, 0x6c, 0x99, 0x52, 0x2e, 0x40, 0x43, 0xdc, 0x45, 0xb2, 0x00, 0x43, 0x1d, 
+	0xeb, 0x6f, 0xd9, 0xae, 0xd6, 0x76, 0x96, 0x6c, 0xe6, 0x09, 0x0d, 0x4d, 0xaf, 0xf1, 0xbe, 0xdc, 
+	0x3e, 0xbc, 0x9f, 0xd1, 0x30, 0x90, 0x7a, 0xb6, 0x6f, 0x7e, 0xcf, 0xeb, 0x64, 0x09, 0xd1, 0x63, 
+	0x39, 0x83, 0xe6, 0xf3, 0x97, 0x32, 0x1a, 0xd3, 0x5b, 0x94, 0xcf, 0x03, 0x72, 0x18, 0x9d, 0x27, 
+	0xb7, 0xc9, 0x0a, 0x8e, 0x15, 0x2b, 0x14, 0x02, 0x30, 0x32, 0x4f, 0xb1, 0x0f, 0xee, 0x44, 0x9e, 
+	0x9f, 0xab, 0xac, 0x71, 0x7e, 0xc4, 0x24, 0x67, 0x5e, 0x82, 0x75, 0xbb, 0x67, 0xb2, 0x95, 0x64, 
+	0xde, 0x08, 0xc6, 0x41, 0x19, 0x6b, 0xf6, 0x11, 0x18, 0x4b, 0x56, 0x34, 0x20, 0x7e, 0x6c, 0xc9, 
+	0xcf, 0x3d, 0x09, 0x3e, 0x48, 0x78, 0x1c, 0x20, 0x1d, 0xc2, 0x73, 0x0b, 0xd6, 0x60, 0xda, 0xc7, 
+	0x77, 0x49, 0x9d, 0x2d, 0xbc, 0x71, 0x67, 0x3c, 0xe6, 0x75, 0xcb, 0xab, 0x52, 0x90, 0x1f, 0x20, 
+	0xb0, 0x14, 0x56, 0xbf, 0xdc, 0xe2, 0x41, 0x2b, 0xb8, 0xb3, 0xf3, 0xb6, 0x82, 0x45, 0x52, 0x68, 
+	0x96, 0x42, 0xbe, 0xaf, 0x04, 0xcf, 0x7e, 0x5a, 0x9d, 0xd3, 0x4b, 0x10, 0xa0, 0x2b, 0x37, 0xcf, 
+	0x12, 0xf6, 0xf3, 0xf6, 0x2f, 0xd0, 0xf9, 0x3f, 0xfc, 0x74, 0xce, 0xc3, 0xe1, 0xbb, 0xa9, 0x4b, 
+	0x3f, 0x26, 0xcd, 0x19, 0x08, 0x62, 0xcd, 0x85, 0xc4, 0x1f, 0x50, 0x75, 0x57, 0xb0, 0xc3, 0x9a, 
+	0xa9, 0x4b, 0x80, 0x5e, 0xfd, 0xcb, 0xff, 0x25, 0x43, 0xf9, 0xfb, 0xe1, 0x1b, 0x41, 0x4a, 0xfc, 
+	0x78, 0x0a, 0x86, 0xfc, 0xe2, 0xed, 0x9d, 0x4b, 0xaa, 0x3c, 0x63, 0xcc, 0x96, 0x14, 0xf2, 0x28, 
+	0xd9, 0x3b, 0x18, 0x73, 0x5e, 0x56, 0x10, 0x11, 0xe2, 0x24, 0xb1, 0xd0, 0x55, 0x40, 0x3c, 0xb2, 
+	0x20, 0x08, 0x0c, 0x69, 0x90, 0x7a, 0xe7, 0x54, 0xb6, 0x17, 0xaa, 0xb1, 0xc9, 0xfe, 0x91, 0x08, 
+	0x32, 0x21, 0x7c, 0x48, 0x6f, 0xa5, 0x2d, 0x90, 0x55, 0x34, 0x14, 0x1e, 0x5c, 0x3b, 0x86, 0xcf, 
+	0x8c, 0x09, 0x2d, 0xd0, 0x09, 0x61, 0x13, 0xac, 0x63, 0x68, 0xb7, 0x20, 0x5b, 0x6d, 0x3e, 0xc9, 
+	0x09, 0x2c, 0x4b, 0xf1, 0x9d, 0xda, 0x5b, 0x7e, 0x55, 0x50, 0x1b, 0xc0, 0xed, 0x22, 0x69, 0x6b, 
+	0x17, 0x10, 0x8f, 0x4e, 0x00, 0xb5, 0x20, 0x65, 0x28, 0xbe, 0x90, 0x58, 0x61, 0x03, 0x89, 0x2d, 
+	0x4b, 0xa2, 0xb2, 0xad, 0x6a, 0x51, 0x77, 0x96, 0x72, 0xde, 0xbb, 0x93, 0x0d, 0xd9, 0x81, 0x13, 
+	0x7b, 0x1a, 0xdb, 0x47, 0xd8, 0x40, 0x7c, 0x7c, 0xc6, 0x6f, 0x7e, 0xee, 0x3d, 0xbf, 0xcc, 0x5d, 
+	0x0c, 0x25, 0x3a, 0x54, 0xc0, 0x5b, 0x36, 0xcf, 0x6a, 0x12, 0x18, 0x12, 0xb5, 0xa5, 0x4c, 0xc3, 
+	0x4e, 0x44, 0xc4, 0x57, 0x36, 0x0f, 0x8f, 0xcb, 0x16, 0x0f, 0x02, 0x02, 0x65, 0x27, 0x8c, 0x61, 
+	0xc3, 0x08, 0x84, 0xd2, 0x16, 0x5f, 0x88, 0x19, 0x80, 0xc4, 0x77, 0x6c, 0x68, 0x92, 0x3c, 0xb8, 
+	0x75, 0x41, 0xf3, 0x99, 0xe3, 0xdd, 0xd6, 0x89, 0x9e, 0x13, 0x12, 0xb5, 0xcb, 0xc7, 0xfb, 0x19, 
+	0x31, 0x80, 0xd0, 0x3b, 0x63, 0x02, 0x79, 0x7c, 0x60, 0xb7, 0x0c, 0xcb, 0xc3, 0x6c, 0xf3, 0x92, 
+	0xd8, 0xb7, 0x68, 0xb7, 0x62, 0x42, 0xf1, 0x0f, 0x11, 0x30, 0x1a, 0x2c, 0x9a, 0x15, 0xe0, 0x33, 
+	0x96, 0x2c, 0x88, 0x1f, 0x2b, 0x0f, 0x66, 0xa3, 0x19, 0xa0, 0xa0, 0xc1, 0x83, 0x1c, 0x02, 0xc8, 
+	0x1d, 0xb3, 0x3a, 0x5f, 0x0e, 0xcc, 0x11, 0xb0, 0x48, 0xc1, 0xc0, 0x42, 0x15, 0xeb, 0x77, 0x43, 
+	0x7b, 0x79, 0x77, 0x73, 0x3f, 0xb9, 0x1e, 0x49, 0xa0, 0x37, 0x89, 0x66, 0x59, 0xac, 0xcb, 0x9a, 
+	0x85, 0x06, 0x9e, 0x16, 0x7b, 0x1c, 0x01, 0x69, 0xc6, 0xd8, 0x7d, 0xa4, 0x07, 0x21, 0x24, 0x11, 
+	0x4a, 0x6b, 0xd3, 0xf3, 0x6c, 0x0c, 0xc4, 0x09, 0xa5, 0x2f, 0xb3, 0x15, 0xd9, 0x7a, 0x83, 0x6d, 
+	0x25, 0xfd, 0xdc, 0x12, 0xfd, 0xfc, 0x6f, 0x02, 0x97, 0x10, 0x1b, 0x71, 0x4f, 0x61, 0x31, 0x3e, 
+	0xbe, 0x63, 0x74, 0x7e, 0xc2, 0x8c, 0x2a, 0x68, 0x75, 0x64, 0xf1, 0xea, 0xc3, 0x6d, 0xb8, 0xe0, 
+	0x88, 0x2e, 0x03, 0xdb, 0x1e, 0x0e, 0xdf, 0xe5, 0x91, 0x11, 0x1a, 0xc6, 0xd0, 0x95, 0xcd, 0x57, 
+	0x2f, 0xa8, 0x8a, 0xc3, 0xb4, 0x13, 0xfa, 0x87, 0xbc, 0x7c, 0x7a, 0xa2, 0xf1, 0xe0, 0xc9, 0x99, 
+	0xc7, 0x11, 0x6c, 0x4c, 0x9b, 0x3e, 0x20, 0x86, 0x6b, 0x0c, 0xf1, 0xa5, 0xc6, 0x27, 0x1c, 0xc8, 
+	0x49, 0x24, 0xc6, 0x51, 0x2c, 0xa3, 0x68, 0x6c, 0x86, 0x7f, 0xd1, 0xf3, 0x44, 0x36, 0x4c, 0xdd, 
+	0xd9, 0x80, 0xf6, 0xd1, 0x46, 0xfc, 0xb2, 0xe7, 0xe7, 0x6b, 0x97, 0x6f, 0xe5, 0xed, 0x76, 0x4b, 
+	0x0b, 0x4b, 0x9d, 0x98, 0xc9, 0x82, 0x3c, 0x89, 0x46, 0x7c, 0xf0, 0xe7, 0x22, 0xe3, 0x14, 0x19, 
+	0x27, 0x0d, 0x21, 0x33, 0x89, 0x3b, 0x96, 0x59, 0x45, 0x3a, 0xb5, 0xf0, 0x4e, 0xda, 0x1c, 0x89, 
+	0xac, 0x3c, 0x5e, 0xf7, 0x23, 0x9d, 0x32, 0x1c, 0x2e, 0x9c, 0x8f, 0xab, 0x24, 0xc2, 0xa5, 0x0d, 
+	0x9a, 0x8e, 0x47, 0x57, 0x37, 0x63, 0xc3, 0x01, 0x16, 0xeb, 0x7d, 0x01, 0x4a, 0x13, 0x51, 0x5f, 
+	0xbb, 0xa0, 0xb7, 0x8b, 0x13, 0x71, 0xd0, 0x42, 0x41, 0x3c, 0x28, 0x0c, 0x06, 0xc7, 0x01, 0xd6, 
+	0xae, 0xda, 0xe2, 0x1f, 0xd9, 0xd6, 0x9e, 0x2f, 0xe4, 0xb1, 0x73, 0x76, 0xb6, 0xff, 0xa9, 0xef, 
+	0x9c, 0x6f, 0x5f, 0x1b, 0xc3, 0xde, 0xc2, 0x9e, 0x74, 0x5f, 0x9f, 0xc0, 0x92, 0x60, 0xb8, 0x22, 
+	0xd9, 0x84, 0xf8, 0xa2, 0x5b, 0xa6, 0x3d, 0xad, 0xcb, 0x8d, 0x23, 0x1a, 0x89, 0x52, 0x98, 0x0f, 
+	0x8e, 0x8e, 0xcf, 0x77, 0xbb, 0xcd, 0x26, 0x4d, 0x87, 0x69, 0xb6, 0x5c, 0x0e, 0x57, 0xff, 0x20, 
+	0x8a, 0x61, 0x44, 0xb0, 0x83, 0xcd, 0x9a, 0x3d, 0xeb, 0x39, 0x04, 0xe1, 0x24, 0x62, 0xb4, 0x12, 
+	0x8f, 0xaf, 0x0d, 0x7f, 0x17, 0x09, 0xaa, 0xfd, 0xa7, 0x7f, 0x62, 0x73, 0x74, 0x42, 0xdb, 0xf0, 
+	0xe3, 0xd0, 0xce, 0xc6, 0x0f, 0x8f, 0xf7, 0x64, 0x17, 0x8a, 0x85, 0xc6, 0x65, 0xeb, 0xa4, 0x16, 
+	0x8f, 0x0d, 0x01, 0x26, 0x86, 0x97, 0x15, 0xb8, 0x9b, 0xef, 0x24, 0x3e, 0xc2, 0xac, 0xc4, 0x2a, 
+	0x19, 0x50, 0xd5, 0xe7, 0xe4, 0x67, 0xe6, 0xaa, 0x61, 0xe1, 0x8c, 0xcd, 0x10, 0x47, 0xa3, 0x9d, 
+	0x60, 0x1e, 0x8b, 0x1d, 0x35, 0x71, 0x01, 0x24, 0x51, 0x22, 0x0c, 0x31, 0x30, 0x8b, 0x8a, 0x6f, 
+	0x60, 0x39, 0xae, 0x4a, 0x58, 0x6a, 0x72, 0xe9, 0x2b, 0xc7, 0x00, 0xbe, 0x2d, 0xfc, 0x04, 0x49, 
+	0xb1, 0x63, 0xa9, 0xcb, 0xb3, 0x05, 0x5b, 0xa8, 0x6d, 0xe5, 0x9e, 0x32, 0xa8, 0x94, 0x24, 0x14, 
+	0xe4, 0x29, 0x8d, 0x11, 0x21, 0x3a, 0xc8, 0x5e, 0x90, 0x88, 0xb8, 0x8c, 0xa3, 0x9d, 0x93, 0x74, 
+	0xfb, 0x65, 0x65, 0xcf, 0x2b, 0x2b, 0xaa, 0x41, 0xf6, 0xe9, 0xa4, 0xda, 0x6e, 0xec, 0xb9, 0x8b, 
+	0x3e, 0xe0, 0x35, 0x86, 0x09, 0x4f, 0x8c, 0xe0, 0xf8, 0x08, 0x51, 0x12, 0x7d, 0xb1, 0xc5, 0x44, 
+	0x24, 0xe6, 0x03, 0xe7, 0xbe, 0x01, 0x83, 0x96, 0x93, 0x4b, 0x4c, 0x3b, 0x60, 0x1c, 0x85, 0xc0, 
+	0x62, 0xd5, 0xf0, 0xe1, 0xcb, 0x96, 0xad, 0x1f, 0x0e, 0x26, 0x7b, 0xea, 0xc6, 0x92, 0x03, 0x81, 
+	0x4a, 0xf5, 0x3f, 0x4f, 0xe4, 0xfb, 0x13, 0x8f, 0x21, 0xcd, 0x7f, 0x5d, 0x70, 0x50, 0x1c, 0xc3, 
+	0xb7, 0x07, 0x36, 0x77, 0x88, 0x2b, 0x7a, 0x01, 0x3e, 0xe4, 0xd3, 0x7d, 0xdd, 0xe6, 0xa4, 0x2e, 
+	0x2e, 0x44, 0x18, 0x32, 0x9c, 0xb8, 0x56, 0xbf, 0x75, 0xf6, 0xb4, 0xb7, 0x46, 0x0e, 0x1a, 0x86, 
+	0x78, 0x70, 0x48, 0x4f, 0x9c, 0x89, 0x0d, 0xe2, 0x01, 0xfb, 0x8f, 0xd5, 0x09, 0xb2, 0x50, 0xb5, 
+	0xca, 0x6a, 0x97, 0xf1, 0xa0, 0x51, 0xdd, 0x57, 0xfe, 0xee, 0xc8, 0xe2, 0x8c, 0x84, 0xa2, 0x10, 
+	0x4d, 0x41, 0xe2, 0x49, 0x9a, 0x6c, 0x01, 0x26, 0xd9, 0xe9, 0x94, 0xdb, 0xcc, 0x05, 0xec, 0xee, 
+	0x71, 0xd6, 0x7e, 0xd0, 0x8b, 0x68, 0x46, 0xd9, 0xac, 0x28, 0x1a, 0xfe, 0x34, 0x79, 0x31, 0x73, 
+	0x70, 0xc1, 0x38, 0x72, 0xd9, 0x56, 0x2c, 0x95, 0x7d, 0x92, 0x48, 0x3d, 0x1b, 0x08, 0x67, 0x04, 
+	0x01, 0xbd, 0xb5, 0x85, 0x6d, 0x86, 0x34, 0xba, 0xaa, 0xa2, 0x48, 0xca, 0x9c, 0xba, 0xe1, 0x6a, 
+	0x68, 0x4f, 0xc6, 0xf8, 0x0b, 0xf1, 0x34, 0x03, 0x41, 0x79, 0xa2, 0x5e, 0xd3, 0xfc, 0x69, 0xe4, 
+	0x7f, 0xf1, 0xcf, 0xa2, 0x49, 0xf3, 0x7c, 0x58, 0x97, 0x48, 0x81, 0x6c, 0x7c, 0x48, 0x01, 0x17, 
+	0x94, 0xa4, 0x22, 0x57, 0x7e, 0x1e, 0x32, 0x19, 0x6b, 0x2c, 0xf9, 0x82, 0xc2, 0xa8, 0x8b, 0x3c, 
+	0xa5, 0x57, 0x98, 0xf7, 0xc1, 0x2d, 0xe4, 0xa9, 0x32, 0x98, 0x58, 0x56, 0x95, 0x65, 0x43, 0xd4, 
+	0xfe, 0x44, 0x21, 0xd2, 0xe3, 0xed, 0xed, 0xe4, 0xf6, 0x83, 0xbd, 0x9f, 0xde, 0x7d, 0x98, 0x8e, 
+	0x6e, 0x66, 0x92, 0x12, 0xa3, 0x5d, 0x7e, 0x2a, 0xbf, 0x68, 0xd6, 0xce, 0xe7, 0x41, 0x10, 0x7b, 
+	0x23, 0xfd, 0xb2, 0x94, 0xa4, 0x02, 0x98, 0x59, 0xb9, 0x30, 0x2d, 0x7f, 0xd4, 0x29, 0xb6, 0x41, 
+	0xfa, 0x83, 0x77, 0x4a, 0xcc, 0x5a, 0x81, 0xf8, 0x95, 0xbd, 0xbe, 0xee, 0xe9, 0x5b, 0x4d, 0x53, 
+	0x20, 0x0b, 0x42, 0x80, 0x98, 0x86, 0x22, 0x13, 0xfa, 0xea, 0x59, 0x94, 0x20, 0x7f, 0xf5, 0x8a, 
+	0x8c, 0xe9, 0x69, 0xc8, 0x40, 0x92, 0xdc, 0x27, 0x15, 0x6d, 0xf7, 0x3d, 0x26, 0x23, 0xfa, 0x85, 
+	0x8e, 0x8c, 0xc5, 0xb1, 0x7b, 0x69, 0x48, 0xf3, 0xf3, 0x8b, 0xfb, 0x12, 0x8a, 0xa9, 0x58, 0x0a, 
+	0xba, 0x1c, 0xe1, 0x99, 0x9f, 0x6c, 0xf1, 0xf6, 0xaf, 0x7f, 0x7d, 0x16, 0xd7, 0xf6, 0xd7, 0xbf, 
+	0xea, 0x20, 0x61, 0xea, 0xab, 0xbb, 0x59, 0xb7, 0x86, 0x7a, 0x47, 0x82, 0xf9, 0x35, 0xbc, 0x78, 
+	0xd1, 0xd6, 0xd5, 0x85, 0xbe, 0x79, 0xb1, 0xff, 0x22, 0x67, 0x35, 0x0f, 0xdf, 0xb4, 0xfa, 0x3f, 
+	0x31, 0xc5, 0xf6, 0x62, 0x9b, 0x90, 0x3f, 0x77, 0x04, 0xf1, 0x5e, 0x93, 0x8b, 0xf0, 0xff, 0x7e, 
+	0x63, 0xc3, 0x3f, 0x7f, 0x30, 0xaf, 0x5e, 0x09, 0x43, 0x16, 0x1a, 0xb7, 0x86, 0x2c, 0x35, 0x8c, 
+	0x47, 0x78, 0xae, 0xa6, 0x19, 0x6e, 0xcb, 0x06, 0xac, 0x5d, 0xeb, 0xc6, 0xf8, 0x74, 0x15, 0x98, 
+	0xc0, 0xc6, 0x58, 0xc3, 0x2f, 0x48, 0x4f, 0xa7, 0x21, 0xfc, 0x28, 0xc0, 0xb7, 0x12, 0x48, 0x1b, 
+	0xd7, 0xd2, 0xb3, 0x4c, 0x7b, 0x56, 0x77, 0xb6, 0xaa, 0xf4, 0xba, 0xcf, 0x40, 0x28, 0x87, 0x7a, 
+	0x77, 0xd9, 0x5a, 0xa0, 0xa8, 0x9d, 0x6b, 0xd8, 0xff, 0xe7, 0x44, 0xce, 0x80, 0x16, 0x48, 0xfb, 
+	0xf6, 0x84, 0x74, 0x46, 0x17, 0x4a, 0x41, 0x8a, 0x38, 0x17, 0x33, 0xb4, 0xf7, 0x55, 0xf9, 0x94, 
+	0x81, 0x0a, 0x48, 0x57, 0x4d, 0x6f, 0xb6, 0x5b, 0x03, 0xc6, 0xa4, 0xf3, 0x55, 0xe7, 0x63, 0x10, 
+	0x70, 0x95, 0x15, 0xab, 0x07, 0x11, 0xdb, 0x37, 0x1c, 0xa9, 0x9b, 0xb7, 0xab, 0x95, 0xab, 0x86, 
+	0xf5, 0x6a, 0x93, 0x8b, 0x90, 0xfa, 0x34, 0x40, 0x5a, 0x95, 0xdb, 0x2d, 0xa7, 0xa0, 0x18, 0x4c, 
+	0xf8, 0x27, 0x41, 0x12, 0xe7, 0x0c, 0xbc, 0xe3, 0x22, 0x39, 0x77, 0x75, 0x93, 0xad, 0x20, 0x1a, 
+	0x50, 0x94, 0x25, 0x6d, 0x9b, 0x02, 0x34, 0xc0, 0xfc, 0xa1, 0x39, 0x9a, 0x24, 0x85, 0xc2, 0x97, 
+	0xcf, 0x42, 0x10, 0xdb, 0xc9, 0x00, 0x82, 0x83, 0xb5, 0x67, 0x1b, 0x75, 0x8c, 0x5c, 0x38, 0x09, 
+	0xd0, 0x4b, 0x9c, 0x83, 0xcf, 0xf6, 0x39, 0x24, 0x42, 0xc6, 0xed, 0x16, 0xf5, 0x06, 0x89, 0xf0, 
+	0xb3, 0x0d, 0xec, 0x11, 0x5c, 0x88, 0xc4, 0x75, 0x81, 0xe8, 0x15, 0x72, 0xe6, 0xcc, 0x72, 0x89, 
+	0x44, 0xc9, 0x12, 0x0c, 0xe0, 0x9a, 0x80, 0x5f, 0x13, 0xab, 0xe9, 0x51, 0x79, 0x40, 0xe2, 0x4e, 
+	0x16, 0x80, 0x0d, 0xc7, 0xb5, 0x0d, 0x43, 0x0f, 0x0e, 0xb9, 0xd8, 0x9d, 0x03, 0x58, 0xb0, 0xb9, 
+	0xaa, 0x91, 0x80, 0xa6, 0x11, 0xaa, 0x5a, 0x83, 0x72, 0x1f, 0x8f, 0xf3, 0x3e, 0xb4, 0x0c, 0xdd, 
+	0x86, 0xf6, 0xaa, 0xb4, 0xb7, 0x77, 0x0f, 0xac, 0xb3, 0x63, 0x72, 0x07, 0xc4, 0x94, 0x6a, 0xc0, 
+	0x26, 0x91, 0xdd, 0x5f, 0x01, 0xb7, 0x95, 0x89, 0xef, 0x4b, 0xd9, 0x45, 0x6b, 0x66, 0x4d, 0xd2, 
+	0x57, 0xba, 0x42, 0xa6, 0x23, 0x6b, 0x68, 0x1a, 0x08, 0x17, 0xd9, 0xfc, 0x2a, 0xdb, 0xc2, 0xf8, 
+	0x7b, 0x41, 0x31, 0xde, 0x1d, 0x65, 0xf8, 0x0c, 0xc0, 0x27, 0xa3, 0xc7, 0x86, 0x96, 0xc4, 0x1a, 
+	0xc1, 0x76, 0x21, 0x90, 0xc0, 0xde, 0xcc, 0x6c, 0xb2, 0xdd, 0xd6, 0x21, 0x4d, 0xc7, 0x36, 0xf5, 
+	0x06, 0x89, 0x83, 0x02, 0xbb, 0xcc, 0xd9, 0xcc, 0x64, 0x49, 0x04, 0xc9, 0xaa, 0xc9, 0x08, 0x27, 
+	0x6d, 0x41, 0x8f, 0x7a, 0xba, 0x79, 0x68, 0xda, 0x42, 0xf8, 0x3c, 0x04, 0x75, 0x09, 0x2d, 0x79, 
+	0xd1, 0xe6, 0x49, 0x15, 0x2d, 0xd8, 0x9e, 0xfe, 0xcf, 0xff, 0x2d, 0xff, 0x3b, 0xdc, 0x2e, 0xab, 
+	0x33, 0x03, 0x71, 0xa1, 0x4d, 0xc0, 0x3e, 0x37, 0xf2, 0x06, 0xa7, 0xe9, 0x90, 0x7a, 0xcb, 0xbe, 
+	0x4a, 0xd2, 0x89, 0x75, 0xdf, 0xa8, 0xf3, 0x58, 0xd3, 0x14, 0xc3, 0xc2, 0x7d, 0x5d, 0x95, 0xc3, 
+	0xd4, 0x5d, 0x90, 0x70, 0x65, 0xc3, 0x4d, 0xb9, 0xae, 0x2e, 0xc8, 0x5e, 0x14, 0xb0, 0xf8, 0x24, 
+	0x0f, 0x3a, 0xd9, 0x7f, 0x38, 0x25, 0xcb, 0x98, 0xdf, 0x13, 0x9b, 0x63, 0x8f, 0x8f, 0x84, 0xdb, 
+	0x66, 0x1f, 0x3b, 0x9c, 0x3e, 0x91, 0x7b, 0x08, 0xb8, 0xe6, 0x43, 0x4b, 0x4a, 0x54, 0x4b, 0xf2, 
+	0xec, 0x58, 0x32, 0x70, 0x4f, 0x0a, 0x23, 0x6c, 0x7c, 0x9a, 0x60, 0x19, 0x52, 0xee, 0x50, 0xbb, 
+	0xc0, 0x20, 0xfb, 0x29, 0xc9, 0x72, 0xce, 0x50, 0x94, 0x92, 0x07, 0xff, 0xf8, 0xe7, 0xb3, 0x43, 
+	0x5c, 0x43, 0xdb, 0xca, 0x99, 0x10, 0x76, 0x9f, 0x1f, 0x6e, 0xae, 0x7b, 0xe9, 0xfe, 0x4a, 0x90, 
+	0x5d, 0x11, 0xf4, 0x2c, 0x82, 0x9c, 0xe5, 0xe2, 0xc4, 0x1c, 0x2b, 0x0a, 0x44, 0x94, 0x0d, 0x09, 
+	0xe4, 0xb1, 0x43, 0x2c, 0x3b, 0x84, 0xc3, 0x5e, 0x80, 0xf4, 0x46, 0xd3, 0x70, 0x1a, 0x4a, 0xda, 
+	0x53, 0x08, 0x60, 0x3a, 0x7f, 0xb3, 0x6e, 0x60, 0x02, 0xe8, 0x1f, 0xdb, 0x5a, 0xfe, 0x2b, 0x5d, 
+	0x9e, 0x09, 0xf4, 0x79, 0x6b, 0x24, 0x1e, 0x7e, 0xfb, 0xea, 0x15, 0xcd, 0x37, 0x2f, 0xcb, 0x2f, 
+	0xe7, 0x6d, 0x93, 0xe5, 0xb5, 0xb9, 0xa1, 0x3d, 0xa9, 0x88, 0xa4, 0xb7, 0xaf, 0x30, 0xee, 0x39, 
+	0x8f, 0x7b, 0x3e, 0x1a, 0xbe, 0x1b, 0x5e, 0x9e, 0x5f, 0x5d, 0x6d, 0xd2, 0x2f, 0x66, 0xd6, 0xce, 
+	0xc6, 0xfa, 0xd6, 0x97, 0x46, 0xbe, 0x93, 0x2f, 0x8d, 0xf9, 0xc3, 0xd0, 0x7e, 0x18, 0x3f, 0x3c, 
+	0xc0, 0x73, 0xde, 0xdc, 0x4d, 0xc7, 0x76, 0x72, 0xfb, 0xfe, 0x6e, 0x7a, 0xa3, 0x5b, 0xf6, 0xe9, 
+	0xd3, 0xa7, 0xb7, 0xaf, 0x46, 0x76, 0x45, 0xc6, 0xa0, 0x21, 0xd3, 0x43, 0xfa, 0xd8, 0xaf, 0x50, 
+	0x00, 0x7e, 0xb4, 0x8d, 0x0d, 0x45, 0xc7, 0xc0, 0x6f, 0xde, 0x09, 0xe1, 0x38, 0xf2, 0xb5, 0xaf, 
+	0x5e, 0x80, 0x21, 0x6f, 0xed, 0x11, 0x01, 0x18, 0x40, 0x23, 0x08, 0xf9, 0x6a, 0x81, 0x25, 0x21, 
+	0x37, 0x4c, 0x9a, 0x3d, 0x30, 0xaf, 0xc8, 0xe8, 0xd8, 0xa6, 0x22, 0x76, 0xc1, 0xf2, 0x88, 0xbc, 
+	0x6b, 0x1e, 0x83, 0xe6, 0x14, 0x57, 0xce, 0xb9, 0x70, 0x4e, 0xf7, 0xb1, 0x73, 0x21, 0xde, 0x03, 
+	0x1d, 0xbc, 0x1f, 0xfd, 0xf9, 0xed, 0xab, 0x07, 0x8f, 0x4c, 0xe9, 0x2f, 0xbc, 0x27, 0x6e, 0xf4, 
+	0xe5, 0xf2, 0xca, 0x05, 0x3d, 0x67, 0xcc, 0x23, 0x29, 0xa2, 0x6b, 0xde, 0xbe, 0xf2, 0x51, 0x49, 
+	0x9a, 0xd5, 0x8b, 0xb6, 0x16, 0x7a, 0x43, 0x4a, 0x3e, 0xab, 0xeb, 0xd6, 0x49, 0x96, 0x00, 0x50, 
+	0x1e, 0x71, 0xa0, 0x79, 0x85, 0x84, 0x36, 0x39, 0x90, 0x61, 0x48, 0x3d, 0x0f, 0x37, 0xf5, 0xb9, 
+	0x7a, 0x59, 0x9e, 0x86, 0x93, 0x53, 0xab, 0xfa, 0xed, 0xab, 0x29, 0x5b, 0x2a, 0x8a, 0x49, 0x56, 
+	0x0c, 0x01, 0x99, 0x48, 0xfa, 0xe6, 0x1f, 0xe4, 0x01, 0x62, 0x0c, 0x87, 0xef, 0x23, 0xfa, 0xcc, 
+	0xab, 0x7b, 0xb1, 0xd4, 0x8a, 0x28, 0x78, 0xf9, 0xfe, 0x2d, 0xcf, 0x35, 0x8e, 0x7f, 0xd7, 0x6e, 
+	0xf1, 0x05, 0x4e, 0x91, 0x0d, 0x0e, 0x43, 0xe6, 0x57, 0xbe, 0x30, 0x86, 0x4d, 0xcb, 0x61, 0xea, 
+	0x77, 0xaa, 0x69, 0x1a, 0x07, 0x6c, 0xcb, 0xba, 0x91, 0x30, 0x15, 0x4c, 0x17, 0x53, 0x3a, 0xb4, 
+	0x3e, 0x36, 0x33, 0xaf, 0x58, 0xc9, 0xf0, 0x50, 0xf4, 0x7d, 0xed, 0x83, 0xed, 0x6f, 0x2d, 0xd9, 
+	0x13, 0xdd, 0x73, 0x2f, 0x7b, 0xea, 0xc3, 0x0b, 0x55, 0x0d, 0xe1, 0x40, 0xfc, 0x79, 0x0d, 0x19, 
+	0x8a, 0xe5, 0xae, 0x97, 0x9e, 0x33, 0x93, 0xe9, 0xe5, 0xdb, 0x57, 0x77, 0x45, 0xce, 0x21, 0x1e, 
+	0x31, 0xbf, 0x2f, 0x8b, 0xc4, 0xc1, 0xc5, 0x3a, 0x29, 0x50, 0x0c, 0xf9, 0x5f, 0x2a, 0x92, 0x18, 
+	0xa1, 0x5a, 0x70, 0xe5, 0xa0, 0xa0, 0xe8, 0x9f, 0x8c, 0x1b, 0xc4, 0xe4, 0xf2, 0x97, 0x99, 0x88, 
+	0x89, 0x2f, 0xa1, 0xf0, 0x4e, 0xc4, 0x29, 0x4a, 0xae, 0x3f, 0xf4, 0x06, 0xf7, 0xc9, 0x5d, 0x7a, 
+	0x97, 0x16, 0xf7, 0xa1, 0xe4, 0x0c, 0xe7, 0x51, 0x71, 0x5a, 0x3c, 0x49, 0xfa, 0x76, 0xdf, 0x07, 
+	0xd3, 0xc4, 0x37, 0x89, 0x64, 0xf6, 0x73, 0xd4, 0xcd, 0xdf, 0x1a, 0xd0, 0x50, 0x69, 0x25, 0x4b, 
+	0x51, 0xc7, 0x26, 0x7e, 0x82, 0x87, 0x89, 0x69, 0x23, 0x77, 0xc7, 0x75, 0xe3, 0x97, 0xf4, 0x8c, 
+	0x9e, 0x6f, 0x37, 0x2f, 0xce, 0xee, 0x33, 0x70, 0x84, 0xc2, 0x43, 0x80, 0xce, 0x9e, 0x18, 0x10, 
+	0x82, 0x05, 0x20, 0x80, 0x82, 0x9a, 0xb3, 0xcd, 0x1a, 0xd3, 0x9f, 0x92, 0xed, 0xfb, 0x0e, 0x71, 
+	0xbb, 0x3d, 0x6f, 0xbf, 0x33, 0x32, 0xe2, 0x19, 0xd6, 0x8f, 0x99, 0xcf, 0xf9, 0x19, 0x57, 0xff, 
+	0x6b, 0x47, 0x06, 0x13, 0xaf, 0x6e, 0x76, 0x91, 0xb7, 0x9c, 0x16, 0x54, 0xf3, 0x49, 0xce, 0xa5, 
+	0x31, 0x9a, 0x84, 0x20, 0x8a, 0xce, 0xcf, 0xcd, 0x28, 0x27, 0x74, 0x4d, 0x56, 0xcd, 0xd9, 0xff, 
+	0x47, 0x00, 0x2e, 0x4b, 0xaa, 0xd4, 0xfc, 0x4d, 0xff, 0xf1, 0xaf, 0xb1, 0x0e, 0x10, 0x98, 0xe4, 
+	0xd2, 0xf9, 0x78, 0x36, 0x1b, 0x4f, 0xc9, 0x92, 0xdd, 0x8e, 0xa7, 0xa3, 0x6b, 0x7b, 0xff, 0xf8, 
+	0xee, 0x7a, 0x72, 0x69, 0xb5, 0x7a, 0x6e, 0x04, 0x4a, 0xdb, 0x90, 0xc6, 0xb5, 0x6f, 0x86, 0xaf, 
+	0x07, 0xf6, 0xbd, 0x9b, 0x57, 0x2d, 0xe2, 0x8d, 0xd7, 0x7f, 0xfc, 0xe3, 0x1f, 0x09, 0xd1, 0x5e, 
+	0x12, 0xca, 0xa8, 0xb2, 0xd5, 0xba, 0xb1, 0xa7, 0x97, 0x67, 0xf8, 0x90, 0x9e, 0xc1, 0x57, 0x5c, 
+	0x83, 0x22, 0x70, 0x2f, 0xd5, 0x7b, 0xfb, 0x1e, 0x7a, 0xa2, 0x19, 0xdb, 0x49, 0xb1, 0x18, 0x0a, 
+	0xd2, 0xfc, 0xf1, 0x8f, 0xf6, 0xc1, 0x71, 0x84, 0x77, 0x9f, 0x27, 0xa8, 0xb6, 0xcf, 0x5a, 0x24, 
+	0xd9, 0x7f, 0xf8, 0xe1, 0xfb, 0x81, 0x7d, 0x47, 0x7a, 0x82, 0xa7, 0x6f, 0x46, 0xd6, 0x7e, 0xff, 
+	0xe6, 0xf5, 0xeb, 0xd7, 0xe7, 0xaf, 0x7f, 0xf8, 0xfe, 0xf7, 0xd6, 0x3e, 0xce, 0x46, 0xc6, 0x8e, 
+	0x91, 0x78, 0x2f, 0xc5, 0x7e, 0xd2, 0x46, 0x6e, 0xb2, 0xa6, 0xf1, 0x69, 0x2b, 0x02, 0x3d, 0x30, 
+	0x29, 0x64, 0x72, 0x9a, 0x2a, 0x9b, 0xb7, 0x34, 0x1c, 0x3d, 0x3b, 0xa7, 0xa9, 0x37, 0x12, 0x17, 
+	0xd6, 0x26, 0x44, 0xb7, 0x64, 0x2e, 0x5d, 0x51, 0x77, 0x8a, 0x24, 0x55, 0x3a, 0x88, 0x3d, 0x60, 
+	0x9a, 0x96, 0xfe, 0x81, 0x6b, 0xb9, 0x0f, 0x84, 0x95, 0xe6, 0xdf, 0xbc, 0x01, 0x15, 0x2d, 0x44, 
+	0x02, 0x2a, 0xf4, 0x25, 0xf8, 0xac, 0xad, 0x82, 0xee, 0x6b, 0xe0, 0x91, 0xca, 0x7e, 0xb8, 0xbf, 
+	0xe6, 0x16, 0x0f, 0x71, 0xb1, 0x0b, 0xe2, 0x43, 0x43, 0x24, 0x24, 0xea, 0xd1, 0x5a, 0x46, 0x71, 
+	0xb4, 0xbb, 0xfa, 0x12, 0x6f, 0x8b, 0x46, 0x74, 0xf7, 0xed, 0x9c, 0x28, 0xa4, 0x3f, 0x99, 0xca, 
+	0x41, 0x97, 0x15, 0x1e, 0x90, 0xbe, 0x12, 0xde, 0x32, 0xfc, 0x86, 0xff, 0xb4, 0x68, 0x37, 0x73, 
+	0x2e, 0x85, 0xbe, 0x1e, 0xfe, 0xbb, 0x31, 0x12, 0x30, 0x10, 0xc6, 0x76, 0xc9, 0x86, 0x34, 0x0e, 
+	0xa1, 0x87, 0xa4, 0x00, 0x79, 0x2c, 0x2f, 0xd5, 0x30, 0xfb, 0x7e, 0x87, 0xf0, 0xff, 0xe4, 0x47, 
+	0xb2, 0x55, 0xa1, 0x81, 0x01, 0xbc, 0x75, 0xf2, 0x4c, 0x78, 0x9d, 0x8d, 0x1f, 0xb4, 0x3e, 0x45, 
+	0x0b, 0x43, 0x29, 0x71, 0xaa, 0x04, 0xda, 0x60, 0x15, 0x6d, 0x02, 0xac, 0xdc, 0x3b, 0x4e, 0xbe, 
+	0x90, 0xa7, 0xa9, 0x9b, 0x41, 0x58, 0xca, 0x07, 0x29, 0x67, 0xea, 0x52, 0xcc, 0xb5, 0x9f, 0x3e, 
+	0x61, 0x7d, 0x6a, 0x42, 0x43, 0xc5, 0x8a, 0x44, 0x8a, 0x80, 0x85, 0x73, 0x02, 0x7f, 0xbf, 0x31, 
+	0x99, 0xe9, 0x75, 0x85, 0x9c, 0x93, 0xdb, 0xee, 0xc2, 0x62, 0x61, 0xa9, 0x5f, 0x90, 0xef, 0x20, 
+	0xc1, 0x52, 0x01, 0xac, 0xb3, 0xa6, 0x16, 0x90, 0x3b, 0x14, 0x6e, 0x74, 0x02, 0x30, 0xe8, 0xed, 
+	0x57, 0x8f, 0xe4, 0x8e, 0xfb, 0xec, 0x5e, 0x1d, 0x9b, 0x6b, 0x28, 0xbc, 0xe9, 0x5a, 0x11, 0x84, 
+	0x6b, 0xec, 0xd3, 0xc2, 0xe4, 0x3e, 0xd5, 0x4d, 0x04, 0xee, 0xb6, 0xd9, 0x82, 0x9f, 0x0b, 0x81, 
+	0xfd, 0xf9, 0xb9, 0xec, 0xb6, 0x79, 0x49, 0x47, 0x78, 0xbd, 0x02, 0x75, 0x93, 0xb6, 0x59, 0x93, 
+	0x4f, 0x20, 0x6b, 0x4e, 0xd1, 0x06, 0xcd, 0x28, 0xf9, 0x51, 0xc0, 0xfd, 0x4c, 0x7d, 0x0b, 0x23, 
+	0x53, 0xf9, 0x00, 0xe0, 0x48, 0x84, 0xf8, 0x19, 0x1c, 0xa1, 0x90, 0xa7, 0x96, 0xb0, 0x41, 0x24, 
+	0x15, 0x46, 0xea, 0x0b, 0xb9, 0xa2, 0xca, 0x21, 0xbe, 0xdb, 0x29, 0x0e, 0x51, 0x1f, 0x67, 0x7a, 
+	0x2a, 0xa1, 0x15, 0x3e, 0x0e, 0xbd, 0x20, 0x8b, 0xc7, 0xb9, 0xe2, 0x15, 0x61, 0xee, 0x1a, 0xf4, 
+	0x2d, 0x90, 0xc6, 0x11, 0x17, 0x56, 0xbb, 0x40, 0x61, 0xc1, 0x39, 0xb9, 0x18, 0x5e, 0x03, 0x93, 
+	0xd8, 0x39, 0xab, 0x8b, 0x46, 0x93, 0x9c, 0x5a, 0x2a, 0x78, 0xd9, 0x48, 0x33, 0x92, 0xa2, 0xf1, 
+	0xfe, 0x70, 0x1a, 0x02, 0xab, 0xd8, 0xba, 0xe4, 0x0b, 0xb4, 0x63, 0xaf, 0x1b, 0xe8, 0x59, 0x24, 
+	0x96, 0x96, 0xe2, 0xaa, 0x4a, 0xc3, 0x43, 0x2f, 0x36, 0x12, 0xcd, 0x0c, 0x0c, 0x54, 0x77, 0x5b, 
+	0x11, 0xa9, 0xc4, 0xa8, 0xbb, 0xf6, 0xa5, 0xad, 0xad, 0x0f, 0x44, 0x3f, 0x16, 0x28, 0xf2, 0xa1, 
+	0xbd, 0xfa, 0x6d, 0x24, 0x9a, 0x91, 0x89, 0x11, 0xcb, 0x72, 0x40, 0x26, 0x41, 0x6c, 0x11, 0xdc, 
+	0x0a, 0x82, 0xcb, 0x3c, 0x45, 0x3c, 0xed, 0xaa, 0x27, 0x9a, 0xda, 0x6a, 0xb4, 0xf4, 0x9c, 0xd5, 
+	0xeb, 0xb3, 0x9f, 0xbb, 0x10, 0x8f, 0x40, 0xb0, 0x43, 0x94, 0x17, 0x27, 0xda, 0xcb, 0x8a, 0x71, 
+	0x14, 0xe1, 0x24, 0x03, 0xab, 0x14, 0x41, 0xf1, 0xac, 0xf9, 0xb9, 0x1f, 0xd2, 0xaa, 0x4e, 0xf6, 
+	0x54, 0x01, 0x54, 0x60, 0x43, 0x88, 0xc8, 0x05, 0x93, 0xc9, 0xa3, 0x14, 0x9c, 0x64, 0x67, 0x82, 
+	0x7d, 0x7c, 0xfe, 0xb3, 0x66, 0x89, 0x75, 0xbc, 0x24, 0xb8, 0x3d, 0x97, 0xf6, 0x67, 0x49, 0x4b, 
+	0xf4, 0xf8, 0x70, 0x1b, 0x14, 0x31, 0x5f, 0x55, 0x8a, 0xa3, 0x82, 0x86, 0x30, 0xbc, 0x68, 0x31, 
+	0xbb, 0x85, 0x9a, 0xb7, 0xca, 0x97, 0x31, 0x99, 0xb3, 0x68, 0x21, 0xaa, 0xb2, 0x85, 0xec, 0x38, 
+	0x8f, 0x4a, 0x33, 0xcc, 0xb3, 0xd4, 0x04, 0x86, 0x42, 0xe0, 0xc1, 0x60, 0x57, 0xb0, 0xf5, 0xb1, 
+	0x32, 0x95, 0x8c, 0xc7, 0xa2, 0x49, 0x41, 0x7d, 0xfd, 0x45, 0xbe, 0x2a, 0xb1, 0x53, 0x95, 0xf3, 
+	0x3d, 0x61, 0xb5, 0x33, 0xf2, 0x9c, 0xf4, 0xa6, 0xd5, 0xfb, 0xd3, 0x91, 0x99, 0xa9, 0x73, 0xce, 
+	0x04, 0x95, 0xa1, 0xd4, 0x48, 0x4f, 0x6c, 0xd1, 0x7f, 0xc7, 0x25, 0xeb, 0x4c, 0xac, 0x23, 0xef, 
+	0xba, 0x8f, 0x67, 0x8f, 0x6d, 0x74, 0x9c, 0x7b, 0x83, 0x77, 0x96, 0x47, 0x37, 0x65, 0x8a, 0x04, 
+	0x59, 0xd6, 0x30, 0x47, 0xa2, 0x7c, 0xd7, 0xe0, 0xb7, 0x0e, 0x36, 0x08, 0xa0, 0x73, 0x85, 0xe4, 
+	0x62, 0x8d, 0x4c, 0xda, 0x52, 0xb2, 0x69, 0x2e, 0x6e, 0x49, 0xe2, 0x4c, 0x80, 0x94, 0x21, 0x16, 
+	0x19, 0x8d, 0x83, 0x22, 0x9a, 0x4f, 0xb3, 0x2b, 0xa7, 0x98, 0xb7, 0xc4, 0xfd, 0x15, 0x4a, 0xef, 
+	0xf4, 0xa2, 0x62, 0x51, 0x7e, 0xbd, 0x2f, 0xe3, 0x1c, 0x25, 0x0f, 0xc4, 0x7c, 0x78, 0xf9, 0xeb, 
+	0x64, 0x4e, 0x85, 0x89, 0xbb, 0xb3, 0x20, 0x8e, 0x5d, 0x01, 0x12, 0x95, 0x21, 0x35, 0x54, 0x2c, 
+	0xa7, 0x21, 0x9b, 0x1d, 0x16, 0x13, 0xe8, 0xdd, 0x4a, 0xba, 0xc7, 0xf8, 0xfc, 0x90, 0x2d, 0xe7, 
+	0x7f, 0x83, 0xa8, 0x68, 0x82, 0xa3, 0xdc, 0x5b, 0xcb, 0x20, 0xe4, 0x6a, 0x38, 0x80, 0xe7, 0x20, 
+	0xd2, 0xf1, 0x74, 0xc8, 0x67, 0x98, 0xfd, 0x89, 0xb4, 0xb7, 0x83, 0x56, 0xc5, 0xa5, 0x3a, 0xd6, 
+	0x81, 0x30, 0x6a, 0x78, 0x06, 0xa9, 0xd0, 0xae, 0x27, 0xc4, 0xb0, 0x05, 0x1d, 0x15, 0x69, 0x47, 
+	0x64, 0xcd, 0x79, 0x1d, 0x9a, 0x40, 0x45, 0x8e, 0xc6, 0xdc, 0xd4, 0x42, 0x09, 0x11, 0x81, 0x6a, 
+	0xaf, 0x36, 0x44, 0xaa, 0x8c, 0xb1, 0xa5, 0x72, 0xc7, 0xc4, 0x5e, 0x58, 0x91, 0xd8, 0xe6, 0xb9, 
+	0x3c, 0xaf, 0x1b, 0xb7, 0xb5, 0xc0, 0x88, 0x65, 0xfa, 0xd6, 0x9e, 0xbe, 0x3e, 0xc3, 0x9e, 0x2c, 
+	0x02, 0x6e, 0x82, 0x23, 0x08, 0xec, 0x02, 0x89, 0xa7, 0x6f, 0xf8, 0x89, 0x72, 0xb9, 0xd4, 0xc6, 
+	0xc4, 0xa6, 0xe7, 0xab, 0x24, 0xf3, 0x8d, 0xed, 0xaf, 0x65, 0x0f, 0xdc, 0x2a, 0xc9, 0x0d, 0xa3, 
+	0xa0, 0x9a, 0x91, 0x80, 0xc2, 0xa0, 0x41, 0x2c, 0x6a, 0x34, 0xee, 0x05, 0xbb, 0xfc, 0xd4, 0xe7, 
+	0x6f, 0x75, 0xca, 0x7d, 0xcd, 0x75, 0x09, 0x0d, 0x1e, 0x29, 0x22, 0xab, 0xaf, 0x0f, 0xfa, 0xa5, 
+	0xc6, 0xc3, 0x8d, 0x4c, 0x3b, 0x2e, 0x8a, 0x55, 0x62, 0x21, 0x25, 0xb3, 0xc4, 0x60, 0x89, 0x9e, 
+	0xad, 0xe0, 0xca, 0x77, 0xa1, 0x4b, 0x84, 0x0d, 0x8c, 0x9f, 0xcd, 0x6a, 0x27, 0x47, 0xd6, 0x57, 
+	0x20, 0x12, 0x73, 0x26, 0x2d, 0x93, 0x44, 0x0a, 0x1c, 0x2c, 0xd0, 0x9d, 0xcb, 0x6b, 0xa7, 0x45, 
+	0xb7, 0x5a, 0x5c, 0xc6, 0x60, 0x5f, 0xe4, 0x35, 0x81, 0x86, 0xad, 0x31, 0x22, 0xef, 0x41, 0x66, 
+	0xd8, 0x66, 0x2b, 0x82, 0x13, 0x67, 0x96, 0x11, 0xae, 0x23, 0xfb, 0xaf, 0x90, 0xa9, 0x27, 0x62, 
+	0xe1, 0x5b, 0x23, 0x1e, 0xf7, 0x3b, 0xce, 0x85, 0xb5, 0x9a, 0x72, 0xe1, 0xbc, 0x22, 0xc6, 0x41, 
+	0xea, 0x94, 0xf6, 0x65, 0xd1, 0x08, 0xa1, 0xa1, 0xdf, 0x80, 0x87, 0xd9, 0xf0, 0x7e, 0xce, 0x1d, 
+	0xd2, 0x8e, 0x55, 0x99, 0xb6, 0x0b, 0x79, 0x88, 0xf5, 0x83, 0x64, 0xe5, 0x7f, 0xc0, 0x22, 0x60, 
+	0x0a, 0x94, 0xce, 0x22, 0xa4, 0xd0, 0xf0, 0x42, 0xb6, 0x25, 0xa7, 0xf0, 0xd0, 0x08, 0xcc, 0x89, 
+	0x3f, 0x6e, 0x60, 0x6b, 0xba, 0xd4, 0x3a, 0x6d, 0x09, 0x40, 0x1f, 0x8c, 0x37, 0x9c, 0x6a, 0x6c, 
+	0xb6, 0x87, 0x2c, 0x84, 0xf0, 0x23, 0x87, 0xde, 0x8b, 0x87, 0xdc, 0x6c, 0xb9, 0x36, 0x46, 0xe1, 
+	0x5c, 0xd9, 0x18, 0xc7, 0xf4, 0x93, 0xf8, 0x10, 0x02, 0xf0, 0xb6, 0x91, 0xe7, 0x90, 0x0c, 0x20, 
+	0x37, 0x20, 0xc7, 0xa3, 0xf3, 0x12, 0xe6, 0xbe, 0x5a, 0x9a, 0x98, 0x60, 0x4f, 0x9f, 0x02, 0x9e, 
+	0xd4, 0x1c, 0x92, 0xae, 0xc5, 0xae, 0xb9, 0x2b, 0x4f, 0x0c, 0x70, 0xc5, 0xa1, 0x31, 0x4b, 0x51, 
+	0xc6, 0x2d, 0xce, 0x22, 0x31, 0x82, 0x0b, 0xf8, 0xe9, 0x00, 0x39, 0x78, 0x0e, 0x6d, 0x2f, 0x4a, 
+	0xf6, 0xd1, 0x74, 0xe8, 0x31, 0x86, 0x9a, 0xce, 0x9d, 0x6f, 0x98, 0xc6, 0x00, 0xc1, 0x16, 0x70, 
+	0xd6, 0xba, 0x0f, 0x02, 0x7a, 0xa5, 0x82, 0x9e, 0x22, 0xb1, 0xe0, 0xdf, 0x00, 0x02, 0x03, 0xa8, 
+	0x76, 0xc0, 0xa2, 0x6b, 0xe4, 0xe6, 0xfc, 0x68, 0x00, 0x6d, 0x03, 0x88, 0xd2, 0x02, 0x7d, 0x3c, 
+	0xb2, 0xab, 0x50, 0xdb, 0x0e, 0x1e, 0x1d, 0x60, 0x5d, 0x8f, 0x2e, 0x86, 0xc7, 0xa0, 0x26, 0xa3, 
+	0x7c, 0x86, 0x9b, 0xe6, 0x37, 0xc0, 0x4d, 0xef, 0xa6, 0x22, 0x9c, 0x19, 0x51, 0x85, 0x8e, 0x5d, 
+	0x1a, 0xff, 0xef, 0x1c, 0x39, 0x21, 0xb0, 0x74, 0x1c, 0x85, 0x2f, 0x7d, 0xbf, 0xf1, 0xaf, 0x40, 
+	0x38, 0x91, 0x1d, 0xe2, 0x54, 0x1f, 0xff, 0x61, 0x0f, 0xfc, 0xbc, 0x61, 0x32, 0xb0, 0x90, 0x86, 
+	0x93, 0x4e, 0x26, 0x09, 0xbb, 0xac, 0x6f, 0x9b, 0x6b, 0xd0, 0x4d, 0x61, 0xe2, 0x47, 0xb9, 0xb3, 
+	0xa2, 0x38, 0xef, 0xe1, 0x8b, 0x0e, 0xda, 0x75, 0x4d, 0xee, 0x3c, 0x6b, 0xf1, 0xc5, 0xd7, 0x42, 
+	0x93, 0x43, 0x47, 0x58, 0x43, 0x0b, 0x05, 0x43, 0x73, 0xaa, 0x1b, 0xb6, 0x3b, 0xe9, 0x97, 0xcb, 
+	0x76, 0x03, 0x5f, 0x9a, 0x40, 0xb7, 0x44, 0x13, 0x09, 0x0e, 0x19, 0x60, 0x9e, 0x02, 0x56, 0x32, 
+	0xdf, 0x09, 0x9e, 0x14, 0x41, 0x96, 0x87, 0x31, 0x6f, 0x59, 0x7d, 0x19, 0x70, 0x99, 0xa0, 0xca, 
+	0x9e, 0xa4, 0x2d, 0x5d, 0x5f, 0x0e, 0x26, 0xa3, 0xb3, 0x5f, 0x0f, 0x11, 0x4f, 0x5f, 0xd8, 0x3d, 
+	0x49, 0x81, 0x4a, 0x4a, 0x88, 0xb9, 0xa4, 0x99, 0x6a, 0xcf, 0x2b, 0xee, 0x4d, 0x13, 0x0b, 0x68, 
+	0xb4, 0x8c, 0x16, 0x13, 0xbe, 0xc4, 0x0b, 0xf8, 0xff, 0x05, 0x5a, 0xce, 0xaa, 0x2c, 0xf1, 0xb8, 
+	0x92, 0xc4, 0x5a, 0x09, 0xe8, 0xc7, 0x2a, 0x66, 0x6f, 0x7a, 0x3f, 0x29, 0xa7, 0x2d, 0xf2, 0xe4, 
+	0x6b, 0x37, 0x10, 0xb6, 0x35, 0x50, 0xd1, 0x77, 0xdb, 0x66, 0xdf, 0x29, 0x7c, 0x72, 0x7c, 0x10, 
+	0xa0, 0x1f, 0x2a, 0x73, 0x51, 0x5a, 0x66, 0x3f, 0x79, 0x29, 0x28, 0x98, 0x3b, 0xe9, 0x99, 0xca, 
+	0x1a, 0xc3, 0x2d, 0x9b, 0xd7, 0x9c, 0x27, 0xee, 0x5c, 0x8c, 0xb7, 0x35, 0xdf, 0xd5, 0x1d, 0x9a, 
+	0x5e, 0x4b, 0xef, 0xc2, 0x81, 0xb4, 0x9a, 0x03, 0x69, 0xf5, 0x91, 0xb4, 0xe2, 0x89, 0x5a, 0xd7, 
+	0xd1, 0xc7, 0xdd, 0x5d, 0x8a, 0x87, 0x67, 0x47, 0x7d, 0x03, 0xe9, 0xfb, 0xf4, 0x89, 0x2c, 0x2b, 
+	0xd2, 0xc6, 0xdc, 0x8e, 0x07, 0xbb, 0xe8, 0x38, 0x61, 0x77, 0x28, 0xa7, 0x1e, 0x3c, 0x92, 0x27, 
+	0x0c, 0x6f, 0xd5, 0x26, 0xa9, 0x3c, 0xe4, 0x4a, 0xd0, 0x45, 0xf5, 0xec, 0xc2, 0x49, 0x80, 0x5f, 
+	0x0b, 0x94, 0x38, 0xde, 0x26, 0xa3, 0xd7, 0x69, 0x08, 0x4d, 0x11, 0x9a, 0x2f, 0xa3, 0xf0, 0xd3, 
+	0x33, 0x3a, 0x2c, 0xaf, 0x9b, 0x9e, 0x7b, 0xa4, 0x44, 0x27, 0x7d, 0xf4, 0x69, 0x17, 0x59, 0xb5, 
+	0x68, 0x37, 0x52, 0x7f, 0xa9, 0x0f, 0x31, 0x27, 0x11, 0x59, 0x81, 0xe8, 0x72, 0x41, 0x91, 0x97, 
+	0x34, 0xe0, 0x88, 0xaf, 0xd6, 0x66, 0xed, 0xae, 0x64, 0xa4, 0x08, 0x9d, 0xe4, 0x11, 0x6d, 0x6c, 
+	0x89, 0x46, 0x10, 0xcf, 0x20, 0xa1, 0x81, 0x6f, 0x22, 0x74, 0x9c, 0xcb, 0x72, 0xd9, 0x41, 0xf4, 
+	0x6d, 0xc3, 0xae, 0x73, 0xa5, 0x19, 0xac, 0x33, 0x71, 0x16, 0xdc, 0xa2, 0x6d, 0x38, 0x5f, 0x26, 
+	0x0b, 0xe9, 0x25, 0xa5, 0xd0, 0xb6, 0x4a, 0x87, 0x8c, 0x35, 0x08, 0x62, 0x64, 0x8e, 0xd1, 0x2b, 
+	0x4a, 0x67, 0x07, 0xcc, 0x0f, 0x36, 0x5e, 0xd3, 0x2e, 0xf1, 0x89, 0x8b, 0x08, 0x47, 0x88, 0x78, 
+	0x2f, 0x91, 0xd1, 0x84, 0xc1, 0xe3, 0xba, 0x7b, 0x56, 0x7b, 0xa7, 0x87, 0x11, 0x3d, 0xac, 0x92, 
+	0xce, 0x61, 0x06, 0xb1, 0x28, 0x69, 0xfe, 0xad, 0x9c, 0x23, 0xff, 0x82, 0xb5, 0xe5, 0x3b, 0x69, 
+	0x78, 0x0a, 0x34, 0xc4, 0xdb, 0x33, 0x11, 0x87, 0x61, 0x24, 0x68, 0x0d, 0x18, 0x87, 0x62, 0x84, 
+	0x46, 0x6a, 0xca, 0x68, 0x20, 0x85, 0x2b, 0xc8, 0x33, 0x52, 0x37, 0x5f, 0xaa, 0x8e, 0xe1, 0x8e, 
+	0x0f, 0x4a, 0x4d, 0x10, 0x4c, 0xa8, 0x3e, 0x33, 0x2b, 0x92, 0x9d, 0x6f, 0x26, 0x1e, 0x78, 0x4f, 
+	0x27, 0xbe, 0xf0, 0xc5, 0xd5, 0xba, 0x81, 0xed, 0x83, 0x3d, 0xa9, 0xfd, 0x45, 0x51, 0x76, 0x40, 
+	0x55, 0x45, 0x58, 0x98, 0x09, 0xcc, 0x75, 0x05, 0xb7, 0x84, 0xd1, 0x1b, 0x5c, 0xa0, 0xa0, 0x41, 
+	0x35, 0x73, 0x44, 0xfb, 0xba, 0x75, 0xe5, 0x36, 0x77, 0xdd, 0x98, 0x39, 0x02, 0x57, 0x3b, 0x2f, 
+	0x53, 0x14, 0x12, 0xfb, 0x99, 0x97, 0xe1, 0x9e, 0xa4, 0x1d, 0x92, 0xe4, 0x1d, 0xdd, 0x65, 0x48, 
+	0x68, 0x91, 0xdc, 0x1e, 0x6e, 0xb6, 0xa7, 0x07, 0xda, 0x21, 0x5b, 0xda, 0xa7, 0x82, 0xc5, 0x90, 
+	0x10, 0x05, 0x0f, 0x66, 0xf6, 0xcf, 0x24, 0x70, 0x41, 0xf1, 0xd9, 0xa1, 0xb2, 0x2d, 0x36, 0x13, 
+	0xa5, 0x91, 0xa4, 0xe8, 0x52, 0x50, 0x17, 0x72, 0x7e, 0x60, 0xff, 0x08, 0x04, 0xb3, 0x75, 0x94, 
+	0x93, 0xd7, 0x42, 0x1e, 0xfa, 0x57, 0x77, 0x01, 0xfb, 0xce, 0x66, 0x4c, 0x6d, 0x58, 0xe7, 0x22, 
+	0x0c, 0xa3, 0xa6, 0xef, 0xbc, 0x25, 0xe3, 0x03, 0x43, 0x2c, 0x6e, 0x71, 0x8b, 0xba, 0xb7, 0x78, 
+	0xfd, 0xd3, 0x5d, 0xa2, 0x2f, 0xb5, 0x89, 0xbd, 0x1f, 0x53, 0xa2, 0xec, 0x5a, 0x6b, 0x92, 0xd0, 
+	0x1b, 0x49, 0x6d, 0xe0, 0xb2, 0xdc, 0x42, 0x86, 0xa7, 0x93, 0x5c, 0x9b, 0x28, 0x04, 0xf9, 0xfa, 
+	0x71, 0x7d, 0xaf, 0x5c, 0x40, 0xd4, 0xfb, 0x89, 0xc9, 0x18, 0xf9, 0x73, 0xb1, 0x9b, 0x4c, 0x40, 
+	0x08, 0x76, 0xa4, 0x81, 0xa6, 0x48, 0x33, 0x09, 0x98, 0x19, 0x08, 0x50, 0x34, 0xc1, 0xe9, 0xed, 
+	0x10, 0x17, 0xf8, 0xa3, 0x42, 0x32, 0x85, 0x16, 0x9d, 0xa4, 0x55, 0x92, 0x04, 0xe3, 0x1e, 0x45, 
+	0xfe, 0x9c, 0xf1, 0x6c, 0xd3, 0x48, 0xd3, 0x8d, 0xc7, 0xb1, 0x1e, 0xa0, 0x2c, 0x38, 0x69, 0xf4, 
+	0x8c, 0x32, 0x74, 0x62, 0x4e, 0xb8, 0xef, 0xb6, 0x97, 0x15, 0x52, 0x11, 0x3e, 0xd1, 0x6e, 0x30, 
+	0x79, 0x82, 0x57, 0xd9, 0xd6, 0xaa, 0xcb, 0xfe, 0x11, 0xb1, 0xd5, 0x9c, 0x4a, 0x67, 0xa3, 0xae, 
+	0xed, 0x43, 0xec, 0xd8, 0xd8, 0xa3, 0x03, 0x52, 0x7a, 0x34, 0x14, 0x63, 0x0b, 0x58, 0x71, 0xf9, 
+	0x10, 0x64, 0x56, 0x6c, 0x76, 0x70, 0x74, 0xad, 0xc3, 0x05, 0xfb, 0x41, 0x66, 0x8c, 0x7f, 0x88, 
+	0xed, 0x80, 0xf4, 0xbf, 0x2d, 0x97, 0x6e, 0x89, 0xc6, 0xf1, 0xf4, 0x66, 0x66, 0x47, 0xb7, 0x57, 
+	0xf6, 0xf2, 0xee, 0xf6, 0x6a, 0x82, 0x52, 0xe1, 0xcc, 0xbe, 0xbf, 0x9b, 0xd2, 0x9f, 0xf7, 0x9f, 
+	0x27, 0xb7, 0x1f, 0x06, 0xf6, 0x6a, 0x32, 0x7b, 0x98, 0x4e, 0xde, 0x3d, 0xe2, 0x2b, 0x7e, 0xf0, 
+	0xe6, 0xee, 0x6a, 0xf2, 0x7e, 0x72, 0xa9, 0x65, 0x45, 0x6b, 0xbf, 0xd7, 0xfa, 0x9d, 0x17, 0xca, 
+	0x11, 0x69, 0x30, 0xb7, 0xcf, 0xc6, 0x68, 0x11, 0x6a, 0x14, 0xcc, 0x4d, 0x94, 0xa0, 0x90, 0x66, 
+	0xba, 0xfe, 0xf9, 0xc6, 0xae, 0xd7, 0x0a, 0xc1, 0x0d, 0x72, 0x52, 0x5b, 0xe4, 0xe1, 0x3d, 0xbe, 
+	0x8d, 0x82, 0x54, 0x81, 0xf4, 0x38, 0x2c, 0x11, 0xa7, 0x25, 0xb3, 0x7f, 0xb8, 0x94, 0x0d, 0x0f, 
+	0x4d, 0x99, 0xec, 0x34, 0x67, 0xae, 0xae, 0xa5, 0x0b, 0x3e, 0xe3, 0x13, 0x7b, 0x22, 0x63, 0x64, 
+	0x4c, 0x18, 0x55, 0x7c, 0x5b, 0xe7, 0x4e, 0x25, 0x63, 0x2e, 0x5d, 0xec, 0x27, 0x4d, 0xb4, 0xf2, 
+	0x93, 0xb3, 0xa1, 0x19, 0x27, 0x8c, 0xa8, 0xf8, 0x6f, 0x29, 0x2f, 0xa5, 0x69, 0x25, 0x67, 0x07, 
+	0x70, 0xee, 0x8d, 0x22, 0xe3, 0x13, 0x51, 0x72, 0xee, 0x77, 0x15, 0x61, 0xda, 0xb8, 0xa4, 0x90, 
+	0x66, 0x39, 0x1a, 0x73, 0xe1, 0x51, 0x62, 0xe0, 0xd6, 0xb2, 0x2d, 0x34, 0x4d, 0xa4, 0xe1, 0x32, 
+	0x0a, 0x82, 0xc4, 0x32, 0xb7, 0x65, 0xa4, 0x59, 0x97, 0x36, 0xb4, 0x9b, 0x11, 0xe7, 0x9e, 0x5c, 
+	0x91, 0x49, 0xfb, 0x78, 0x0f, 0xbe, 0x46, 0x55, 0xd8, 0xee, 0x74, 0xa8, 0xb0, 0x9b, 0xe3, 0x91, 
+	0xd2, 0x77, 0x79, 0x42, 0x3f, 0x7a, 0x33, 0xf2, 0x74, 0x5c, 0x0b, 0x82, 0x2c, 0xef, 0x1d, 0x8a, 
+	0x14, 0x55, 0x3d, 0x51, 0xdd, 0x3d, 0x19, 0x48, 0xaa, 0x74, 0x20, 0x09, 0xd0, 0x6e, 0xe3, 0x01, 
+	0x33, 0x8f, 0xed, 0x3e, 0x9f, 0x97, 0xea, 0x7a, 0xe6, 0xb8, 0xff, 0xe3, 0xe8, 0x0e, 0x79, 0x3b, 
+	0xc0, 0x1e, 0xf6, 0x50, 0x31, 0xcd, 0x75, 0x9f, 0x97, 0xda, 0x3c, 0x19, 0x9b, 0x2d, 0x44, 0x6f, 
+	0xc5, 0x2e, 0x06, 0xd3, 0x3c, 0x0a, 0xcf, 0x60, 0x3a, 0x89, 0xca, 0x93, 0xe7, 0xb7, 0xde, 0x04, 
+	0x72, 0x16, 0x2f, 0x41, 0xfa, 0x43, 0x9e, 0xed, 0x75, 0xe7, 0xf6, 0x47, 0x36, 0xdc, 0x9f, 0x22, 
+	0x1b, 0x97, 0x91, 0x99, 0x57, 0x02, 0x42, 0x8d, 0x07, 0x6b, 0xc5, 0x3e, 0xc4, 0x96, 0x29, 0xec, 
+	0x67, 0xc8, 0xfe, 0xa5, 0x9c, 0xab, 0x06, 0x1d, 0xc4, 0x6a, 0xe2, 0x55, 0x0a, 0x40, 0xce, 0xbd, 
+	0x42, 0x85, 0xc8, 0x77, 0x9e, 0x14, 0xab, 0x96, 0x50, 0x10, 0xb1, 0xe1, 0xf4, 0x23, 0x59, 0x0a, 
+	0x02, 0x77, 0x48, 0x30, 0x0d, 0xc2, 0x10, 0x52, 0x4f, 0x35, 0x7a, 0xfc, 0x42, 0x36, 0x1f, 0xd9, 
+	0x74, 0xc6, 0x02, 0xfa, 0x75, 0x11, 0x44, 0xde, 0x9e, 0xc4, 0xf4, 0x9c, 0x0c, 0xb9, 0x17, 0xec, 
+	0x64, 0xd6, 0x65, 0x78, 0x4f, 0x34, 0xea, 0xe5, 0xe5, 0x0b, 0x6b, 0xa5, 0x0f, 0x89, 0xf3, 0xdb, 
+	0x12, 0x14, 0x6f, 0xbc, 0x01, 0xe7, 0x87, 0x90, 0xa3, 0xd4, 0x74, 0x57, 0x7f, 0xad, 0xb4, 0x0a, 
+	0x4e, 0x6c, 0xbd, 0xe7, 0x01, 0x83, 0xc1, 0x0b, 0x79, 0xb7, 0x38, 0xaf, 0xcc, 0x33, 0x19, 0x9f, 
+	0x36, 0x8c, 0xbf, 0xf1, 0x55, 0x13, 0x1a, 0xbb, 0xe5, 0xc6, 0x8e, 0x26, 0x58, 0x0b, 0x14, 0x36, 
+	0xdb, 0x9a, 0x37, 0x39, 0xa9, 0xeb, 0x92, 0xe0, 0xa3, 0x9c, 0xf6, 0xa3, 0x85, 0x12, 0xda, 0x83, 
+	0xd1, 0x5d, 0xd2, 0xde, 0x85, 0x56, 0x4d, 0xff, 0x3c, 0xcf, 0x80, 0x86, 0x9f, 0xa6, 0x8e, 0xba, 
+	0xcc, 0x91, 0x29, 0xc9, 0xb5, 0x69, 0x5c, 0x7a, 0x73, 0xa3, 0xc3, 0xb3, 0xbd, 0x40, 0x2e, 0x8e, 
+	0x4d, 0x46, 0x70, 0xc1, 0x92, 0xab, 0x2d, 0x55, 0x00, 0x91, 0xfa, 0x7e, 0xc9, 0x4f, 0xf5, 0x38, 
+	0xc4, 0x59, 0x6d, 0x24, 0x42, 0x7a, 0xc1, 0x7c, 0x67, 0x5c, 0x7e, 0x96, 0xec, 0x11, 0xa3, 0xb5, 
+	0xb6, 0xa9, 0x51, 0x71, 0xe1, 0x08, 0x8e, 0x46, 0x77, 0x1a, 0x7e, 0x11, 0xa6, 0x85, 0x0d, 0xf3, 
+	0xe7, 0xc2, 0x93, 0x3d, 0xd7, 0x1b, 0xcb, 0xac, 0xe6, 0x9f, 0x7c, 0xd2, 0xc4, 0xa5, 0x92, 0xe3, 
+	0xa3, 0x91, 0xb7, 0xad, 0x44, 0xe9, 0x46, 0xba, 0x98, 0xe2, 0x78, 0xd8, 0x53, 0xe6, 0x03, 0x45, 
+	0x0e, 0x06, 0xcb, 0x42, 0x12, 0x45, 0x9c, 0x21, 0xca, 0x1a, 0xce, 0xea, 0xd9, 0x4e, 0x41, 0x8d, 
+	0x7a, 0x4e, 0x3f, 0xf1, 0x69, 0x56, 0x48, 0x7b, 0x37, 0xfc, 0x83, 0xb2, 0x30, 0x9c, 0x64, 0x89, 
+	0xe8, 0x43, 0x28, 0xce, 0x07, 0x7d, 0x20, 0x50, 0x38, 0x9c, 0x24, 0x66, 0xfc, 0x6c, 0xc8, 0x81, 
+	0xba, 0x67, 0xae, 0x68, 0x69, 0xd5, 0xfa, 0x9e, 0xf1, 0x1a, 0xf6, 0xc0, 0xa7, 0xda, 0xc2, 0x60, 
+	0x00, 0x3e, 0xbc, 0x7f, 0xe1, 0x9b, 0x1e, 0xd6, 0x09, 0xae, 0x3b, 0x7e, 0x1e, 0xa5, 0x60, 0xfa, 
+	0xbf, 0xd7, 0xd2, 0xc3, 0xce, 0xfd, 0x81, 0xbf, 0x5e, 0xc3, 0xdd, 0x5b, 0xc5, 0x77, 0xb5, 0x39, 
+	0x2a, 0xde, 0x49, 0xdd, 0xab, 0xa8, 0xc0, 0x5e, 0x68, 0x4d, 0x6a, 0xe3, 0xd2, 0xac, 0x25, 0xb4, 
+	0xb6, 0xf5, 0x4d, 0x88, 0xa1, 0xd2, 0x03, 0xf6, 0x6e, 0x09, 0x48, 0x97, 0x6d, 0x9d, 0x0b, 0x19, 
+	0x64, 0xd2, 0xab, 0x72, 0x5b, 0x41, 0xcc, 0xe9, 0x93, 0x2d, 0x9c, 0x54, 0xbd, 0xc6, 0xfa, 0x39, 
+	0x57, 0xaa, 0xd4, 0x9a, 0xe8, 0xa9, 0xc8, 0x6f, 0xaa, 0x5b, 0xd5, 0xd5, 0x2c, 0xf2, 0x24, 0xdb, 
+	0x08, 0x0c, 0xf4, 0x69, 0xd2, 0x9f, 0xed, 0x17, 0xe7, 0xb6, 0x30, 0x3e, 0x24, 0x54, 0x41, 0x13, 
+	0xe5, 0x35, 0x0d, 0x66, 0xd8, 0x06, 0x08, 0x80, 0x8a, 0x9c, 0x7f, 0x52, 0x84, 0xfe, 0xcd, 0x64, 
+	0x5e, 0x6b, 0x6a, 0x10, 0x6b, 0x33, 0xdd, 0xd0, 0x7b, 0x4c, 0x4c, 0xa2, 0x9e, 0xc0, 0x78, 0xa4, 
+	0xbc, 0xa4, 0x2d, 0xf7, 0x60, 0xc7, 0xc4, 0xf0, 0x30, 0x6c, 0x09, 0x97, 0xb0, 0xa4, 0x06, 0x11, 
+	0x12, 0xbb, 0xdb, 0xf5, 0xae, 0x46, 0x5a, 0x46, 0xd5, 0x41, 0x4c, 0xa3, 0x2f, 0xc7, 0xc9, 0x5c, 
+	0x03, 0x96, 0x06, 0xdf, 0x3e, 0x9c, 0x68, 0x86, 0x5c, 0x0e, 0x83, 0x68, 0x82, 0x3b, 0xe4, 0x8b, 
+	0x3d, 0xb4, 0x16, 0xcb, 0xe9, 0xbe, 0x6a, 0x21, 0x8b, 0x0d, 0x91, 0xa1, 0x79, 0x25, 0x81, 0xfa, 
+	0xa6, 0x93, 0x13, 0x4d, 0x66, 0xf3, 0x90, 0xb2, 0xb0, 0xea, 0xb8, 0x78, 0x78, 0x97, 0xa4, 0xae, 
+	0xc3, 0xa8, 0xeb, 0x68, 0xd6, 0x2d, 0xe3, 0xdb, 0x8d, 0xd0, 0x7b, 0x08, 0x42, 0xaf, 0xe3, 0xac, 
+	0xbc, 0x97, 0x4a, 0x13, 0x31, 0x94, 0x35, 0xb7, 0x6f, 0x7d, 0xd5, 0xd7, 0x1e, 0x81, 0x3c, 0x76, 
+	0xa6, 0xab, 0x7b, 0x6d, 0xb8, 0xff, 0x7c, 0x4f, 0xf8, 0xba, 0x73, 0x63, 0x1b, 0xe7, 0xb8, 0xe5, 
+	0x40, 0x57, 0x51, 0xbb, 0x08, 0x8f, 0xeb, 0x39, 0x13, 0x82, 0x09, 0xb0, 0x43, 0x01, 0xe1, 0x8b, 
+	0xdb, 0x40, 0xd8, 0x4c, 0xa6, 0xc2, 0xe5, 0x4b, 0x8d, 0xed, 0xf7, 0x80, 0xc0, 0x50, 0x5e, 0x9e, 
+	0x9f, 0x75, 0x65, 0x20, 0xc9, 0xd4, 0x74, 0xc7, 0xf5, 0xc3, 0x88, 0x30, 0xce, 0xb4, 0x33, 0xbc, 
+	0x2d, 0xc4, 0x20, 0x18, 0x11, 0x15, 0x4a, 0x1e, 0x83, 0x53, 0x72, 0x6c, 0xea, 0x7c, 0x51, 0x90, 
+	0x77, 0x2b, 0x8d, 0x86, 0xf2, 0xe1, 0x4a, 0x0a, 0x8d, 0x10, 0xd1, 0xd4, 0xa7, 0x94, 0x8e, 0xc5, 
+	0x51, 0x3a, 0x24, 0xd6, 0x8b, 0x3d, 0x9d, 0x20, 0x2e, 0x85, 0x7a, 0xdc, 0x7a, 0x56, 0x94, 0x32, 
+	0x80, 0x48, 0x25, 0xdc, 0xb6, 0xe4, 0xa9, 0x2a, 0x41, 0xa3, 0x90, 0x80, 0x23, 0xfc, 0x8f, 0x85, 
+	0x5e, 0x49, 0x48, 0xcf, 0x50, 0xc9, 0x22, 0xb1, 0x4e, 0x16, 0x72, 0x5c, 0x55, 0x7d, 0x76, 0x60, 
+	0x83, 0x97, 0xa0, 0x08, 0x66, 0x05, 0xd0, 0x26, 0x78, 0x84, 0xfb, 0xcd, 0xa5, 0x5d, 0x72, 0xc9, 
+	0x08, 0x4e, 0xe9, 0x0d, 0x5d, 0xd3, 0xf3, 0x1d, 0xe7, 0x9e, 0x0e, 0x71, 0x61, 0x67, 0x14, 0x8d, 
+	0x6f, 0x5a, 0xf7, 0x74, 0x0c, 0x62, 0xb7, 0xc6, 0xa7, 0x91, 0xc9, 0x1f, 0xad, 0xb8, 0x49, 0xc5, 
+	0xd7, 0x42, 0xf8, 0xb0, 0x64, 0xfc, 0x0e, 0x0f, 0xc2, 0x47, 0xb3, 0x9f, 0xca, 0x2f, 0xf0, 0x33, 
+	0xa1, 0x03, 0xb3, 0x2b, 0xf8, 0x51, 0xd0, 0x5f, 0x96, 0x29, 0x8e, 0xf8, 0x92, 0xb2, 0xbb, 0xe5, 
+	0x52, 0xaf, 0x0b, 0x88, 0x62, 0xd5, 0x81, 0x0c, 0xa3, 0xb5, 0xf9, 0x27, 0x0e, 0x2e, 0xfa, 0xd4, 
+	0x73, 0x74, 0x0b, 0x9f, 0xc6, 0x2b, 0x54, 0xcc, 0x19, 0xf1, 0xa4, 0xe3, 0xc8, 0xa0, 0x47, 0x9f, 
+	0x9e, 0xdc, 0x97, 0x48, 0x5c, 0x33, 0xd7, 0x48, 0x1b, 0x40, 0x03, 0x6b, 0xf6, 0x18, 0x7c, 0x13, 
+	0x07, 0xf7, 0xa4, 0x92, 0x73, 0x65, 0x32, 0x50, 0x17, 0x69, 0x2b, 0x2e, 0x8d, 0x54, 0x6e, 0xc3, 
+	0xa1, 0x0a, 0x20, 0x0b, 0x49, 0xde, 0xb2, 0xcd, 0x75, 0x0f, 0x4f, 0x7b, 0x79, 0x88, 0x68, 0x7b, 
+	0xd8, 0xb5, 0x45, 0x99, 0x18, 0xb8, 0x08, 0xd6, 0xda, 0xbf, 0xb7, 0xdc, 0x3a, 0x50, 0x96, 0x0d, 
+	0x8e, 0x25, 0x0b, 0xf7, 0x93, 0x30, 0x91, 0xf7, 0x76, 0x92, 0x99, 0xc5, 0x99, 0x62, 0x97, 0xe7, 
+	0xe7, 0x0c, 0x6a, 0xb8, 0x8a, 0xb0, 0xef, 0x55, 0xe5, 0xf5, 0x8e, 0x41, 0xfd, 0xba, 0xc7, 0xac, 
+	0x9d, 0xeb, 0xa1, 0x1d, 0xfb, 0x26, 0x8d, 0xdb, 0x59, 0x91, 0xa5, 0x2a, 0x76, 0xfb, 0x2f, 0x9f, 
+	0x07, 0xb1, 0x89, 0xa5, 0x4c, 0xe4, 0xcb, 0x9f, 0x6d, 0x97, 0x93, 0x39, 0xfe, 0x6b, 0x8e, 0x5a, 
+	0x59, 0xad, 0x9d, 0x1a, 0xd6, 0x24, 0x7f, 0xeb, 0xeb, 0x6b, 0xdf, 0xda, 0xb7, 0x4c, 0x93, 0x24, 
+	0xc2, 0x0e, 0x1e, 0x02, 0x2c, 0xe9, 0x8f, 0xac, 0x9b, 0x76, 0x8c, 0x75, 0x00, 0xb1, 0xbe, 0xc2, 
+	0x1e, 0x1d, 0xe4, 0x4c, 0x78, 0x70, 0xf5, 0x4c, 0x7d, 0x03, 0x05, 0x41, 0x16, 0xfd, 0xe6, 0x0a, 
+	0xb2, 0xc9, 0xc0, 0x45, 0xfa, 0x9e, 0x57, 0xa7, 0x5c, 0x52, 0x4d, 0x4d, 0xf4, 0x30, 0xae, 0x62, 
+	0xb5, 0xc3, 0x40, 0xde, 0xdb, 0x66, 0x76, 0x30, 0xda, 0xf6, 0x2c, 0x69, 0x59, 0x6e, 0x6b, 0xe5, 
+	0xf2, 0x50, 0xca, 0x20, 0x2a, 0xde, 0x31, 0x3c, 0x5c, 0x23, 0x9c, 0x83, 0x4d, 0xc2, 0x04, 0x50, 
+	0x17, 0x64, 0xbe, 0x37, 0x64, 0x35, 0x9f, 0x5c, 0xad, 0x4a, 0x13, 0x5b, 0x0a, 0x91, 0x53, 0x48, 
+	0x22, 0x1b, 0x12, 0x3e, 0xc1, 0xc8, 0x3d, 0x61, 0xdd, 0x3a, 0x51, 0xf9, 0x08, 0xe4, 0x3f, 0x7b, 
+	0xad, 0x8b, 0xfc, 0x04, 0x57, 0x94, 0x71, 0x6e, 0xa5, 0x37, 0x35, 0x9a, 0xa6, 0xa4, 0xff, 0x86, 
+	0x5f, 0x30, 0xfd, 0x17, 0x24, 0x57, 0x19, 0x86, 0x4d, 0x6a, 0xaf, 0x19, 0x9e, 0x87, 0x1a, 0xc3, 
+	0xf3, 0xb5, 0x45, 0x2f, 0xc2, 0xc0, 0x81, 0x66, 0x5d, 0x22, 0x3c, 0xec, 0x4d, 0x2b, 0x8f, 0xa1, 
+	0xa9, 0x56, 0xef, 0xf1, 0xf6, 0xc2, 0xf3, 0xae, 0xe4, 0x5c, 0xfa, 0xb2, 0x42, 0x5d, 0x87, 0xb4, 
+	0x90, 0x46, 0x4a, 0x1a, 0x82, 0xe3, 0x90, 0x98, 0x3f, 0xb6, 0x1b, 0x15, 0x36, 0x78, 0x1a, 0x7f, 
+	0xf8, 0xb0, 0x65, 0x0b, 0xca, 0xb0, 0x89, 0xaf, 0x73, 0xe1, 0x3a, 0x32, 0x2f, 0xab, 0x72, 0x2b, 
+	0x44, 0x61, 0x48, 0xb1, 0x01, 0x1c, 0xad, 0x4b, 0xfb, 0x0c, 0x38, 0x60, 0xb8, 0x91, 0xe2, 0x81, 
+	0x5e, 0x1c, 0x44, 0xed, 0x78, 0xa0, 0x94, 0xbb, 0xc7, 0xba, 0x83, 0x6a, 0x5e, 0xc7, 0xa0, 0xe6, 
+	0x00, 0x59, 0x51, 0xb3, 0x08, 0x03, 0xe7, 0x9a, 0xc1, 0x5d, 0x28, 0xce, 0xa3, 0xdf, 0x92, 0xcf, 
+	0x7a, 0x57, 0xe8, 0x1c, 0x2c, 0x3a, 0x5d, 0x9f, 0x33, 0x9e, 0xf8, 0xd9, 0xd2, 0x2e, 0xad, 0x7d, 
+	0x66, 0x5e, 0xa7, 0xe2, 0x30, 0xd5, 0x50, 0x54, 0x5e, 0x49, 0xb6, 0xcc, 0xf7, 0x59, 0xc4, 0x71, 
+	0xcc, 0x31, 0x66, 0xc7, 0x55, 0x25, 0x04, 0xc0, 0x92, 0x7a, 0x78, 0xf2, 0xf2, 0x77, 0x0c, 0x71, 
+	0xc8, 0x49, 0xb2, 0x24, 0x15, 0xa7, 0x3f, 0x20, 0x9b, 0x87, 0x26, 0x9e, 0xd5, 0x0a, 0x5c, 0xf2, 
+	0xc3, 0xfa, 0x48, 0x95, 0xd7, 0xc1, 0xa5, 0xe9, 0x23, 0x03, 0x99, 0x83, 0xa4, 0xe2, 0xa9, 0x0f, 
+	0x90, 0xbf, 0x01, 0x78, 0xf8, 0x6e, 0xaa, 0xc4, 0x3e, 0x95, 0x79, 0xbb, 0x91, 0x82, 0x33, 0x99, 
+	0x81, 0x92, 0x8b, 0x02, 0x48, 0x8a, 0xc4, 0xeb, 0x13, 0x1c, 0xdd, 0xd9, 0x96, 0x79, 0xe5, 0x03, 
+	0xa0, 0x88, 0x3a, 0x09, 0xfd, 0x25, 0xfe, 0x23, 0xf3, 0x7f, 0xd4, 0x17, 0xff, 0xd0, 0xe1, 0x3a, 
+	0xb2, 0x62, 0xec, 0x68, 0x45, 0xc1, 0xfa, 0x1e, 0x3c, 0xae, 0xb4, 0xbc, 0xd8, 0x5f, 0xc8, 0xe1, 
+	0x23, 0x5a, 0xa5, 0xf7, 0x91, 0x2e, 0xbb, 0x6f, 0x74, 0x4e, 0x14, 0xf1, 0xe9, 0x98, 0xc0, 0x75, 
+	0x2e, 0x4e, 0x70, 0x67, 0x13, 0xea, 0x12, 0xc1, 0x73, 0x26, 0x39, 0x1f, 0xbf, 0xff, 0xcd, 0xd0, 
+	0x1c, 0xf9, 0x7d, 0xd3, 0xb5, 0xae, 0x44, 0xcf, 0x7c, 0x93, 0xfa, 0x63, 0x8d, 0x9e, 0x26, 0x5e, 
+	0x49, 0x7f, 0x16, 0x64, 0x26, 0x18, 0xbb, 0x14, 0xee, 0x59, 0x12, 0x20, 0x92, 0x7c, 0x07, 0x62, 
+	0x08, 0x03, 0x78, 0x17, 0xf5, 0x1b, 0xa6, 0xe5, 0xbc, 0x10, 0xf1, 0xdc, 0x21, 0xd7, 0xb5, 0x77, 
+	0x7c, 0x43, 0xcf, 0xfd, 0xc9, 0xa2, 0xfc, 0xe0, 0x9e, 0xb4, 0xa8, 0x8d, 0x6d, 0x78, 0x66, 0x71, 
+	0x4c, 0x08, 0x82, 0x20, 0x70, 0xa3, 0xd8, 0xf9, 0xc2, 0x85, 0x76, 0x8a, 0x16, 0xda, 0x36, 0xa6, 
+	0x5c, 0x14, 0x4c, 0xcf, 0x47, 0x8d, 0x79, 0x6d, 0xfe, 0x31, 0x94, 0x03, 0x52, 0x69, 0x20, 0x8c, 
+	0xf6, 0xcb, 0xdb, 0x80, 0xac, 0xaa, 0x1c, 0x53, 0xc1, 0x87, 0x26, 0xca, 0x4a, 0xe8, 0x92, 0x27, 
+	0xea, 0xdf, 0xcc, 0xe7, 0x5e, 0xd2, 0x34, 0xcf, 0x29, 0x0c, 0x27, 0x4f, 0xad, 0xb5, 0x24, 0x89, 
+	0x22, 0x38, 0x7c, 0xea, 0xa7, 0xb1, 0x94, 0x30, 0x75, 0x43, 0x3a, 0x6b, 0xd7, 0x50, 0xaa, 0x91, 
+	0x8d, 0x5c, 0x94, 0x42, 0x10, 0xa5, 0xf3, 0x06, 0xbe, 0x3b, 0x83, 0xe5, 0xce, 0x5b, 0x72, 0xc9, 
+	0xb1, 0xa6, 0x4e, 0x2c, 0x6e, 0x1c, 0x94, 0xb3, 0xa4, 0xee, 0x15, 0x0a, 0xc4, 0xed, 0xf4, 0xc0, 
+	0xfc, 0xef, 0xbe, 0x1d, 0x35, 0xef, 0x2b, 0x7e, 0x62, 0x43, 0xf6, 0xac, 0x32, 0xfd, 0x6a, 0x37, 
+	0xd0, 0x80, 0x60, 0x66, 0x1f, 0xa6, 0xbc, 0x39, 0xe3, 0x7c, 0xb7, 0x74, 0x69, 0xf9, 0x2e, 0xc4, 
+	0x2e, 0x29, 0xc9, 0x91, 0x93, 0x79, 0x39, 0xcc, 0xa9, 0xed, 0x6b, 0x26, 0xe7, 0x8d, 0x5e, 0x31, 
+	0x75, 0x24, 0xd8, 0x59, 0x68, 0x67, 0x0a, 0xba, 0x11, 0x83, 0xa1, 0x0a, 0x81, 0x3c, 0x9f, 0x01, 
+	0x44, 0x63, 0x1e, 0x37, 0x63, 0x6c, 0x50, 0x34, 0xe4, 0xd3, 0x23, 0x49, 0x2a, 0x78, 0xa1, 0x8b, 
+	0xf3, 0xb5, 0x27, 0xca, 0x78, 0x67, 0xf6, 0xed, 0xd4, 0xf3, 0x4b, 0x04, 0xc2, 0xe6, 0x19, 0xb5, 
+	0x67, 0x0b, 0x1a, 0xa9, 0xdc, 0x24, 0x55, 0xe6, 0x0b, 0x84, 0xf0, 0x77, 0x5d, 0x67, 0x31, 0x52, 
+	0x5d, 0x51, 0x28, 0x43, 0x6a, 0xb8, 0x6f, 0xf4, 0x63, 0xb6, 0x79, 0x69, 0x46, 0x1f, 0x0d, 0x42, 
+	0x5e, 0x0e, 0x37, 0xe5, 0x1e, 0x19, 0x15, 0x08, 0xa3, 0xfd, 0x33, 0x51, 0x87, 0xc7, 0x56, 0x1a, 
+	0xe2, 0x59, 0x0d, 0xc3, 0x5b, 0xdd, 0xd5, 0x7b, 0x7b, 0x03, 0xb0, 0x92, 0xf7, 0xd2, 0x77, 0x1e, 
+	0x27, 0x31, 0x8a, 0xe0, 0xc1, 0xe8, 0x9f, 0x4d, 0x56, 0x2f, 0x33, 0xcd, 0xc1, 0x44, 0xa0, 0x0d, 
+	0x7e, 0x6d, 0x1f, 0x7c, 0xc4, 0xdc, 0xe5, 0x93, 0x77, 0xa1, 0x54, 0x16, 0x47, 0x59, 0x5d, 0x2a, 
+	0x6d, 0xb3, 0x75, 0x9c, 0xa7, 0x8f, 0x08, 0xf2, 0x83, 0xf4, 0xf3, 0x0b, 0x31, 0x6b, 0x98, 0x7b, 
+	0x3f, 0xe2, 0xe2, 0xa0, 0x9e, 0xa8, 0x87, 0xb2, 0x44, 0x51, 0xee, 0xf5, 0x64, 0x44, 0x51, 0xbc, 
+	0x37, 0x6d, 0x01, 0xe8, 0xa0, 0xed, 0x99, 0x58, 0x1d, 0x37, 0xf2, 0x76, 0xf7, 0xb9, 0xc4, 0x9a, 
+	0x30, 0xdf, 0xe9, 0x49, 0xb7, 0x70, 0xad, 0x0c, 0x69, 0x43, 0x9c, 0xc3, 0xe7, 0x3c, 0x51, 0xed, 
+	0x2b, 0x0f, 0xc7, 0xab, 0x4f, 0xd7, 0x5d, 0xf5, 0x69, 0xc6, 0xf9, 0x3b, 0x23, 0x5d, 0x24, 0x19, 
+	0xb4, 0xbf, 0xcc, 0xf5, 0xa8, 0x43, 0x50, 0xda, 0xfd, 0x6c, 0x78, 0xdf, 0xf3, 0x48, 0x17, 0x4f, 
+	0xd7, 0x35, 0xb2, 0xe4, 0x0b, 0x18, 0x7d, 0xf6, 0xf1, 0xdb, 0x8e, 0x33, 0x34, 0x11, 0xf8, 0xbe, 
+	0x8e, 0x6f, 0xd3, 0x7b, 0xc0, 0x0e, 0xb3, 0xe0, 0x32, 0xb0, 0x9e, 0xb7, 0x0f, 0xda, 0xed, 0x6d, 
+	0xce, 0xb1, 0xae, 0x98, 0x60, 0x52, 0xa2, 0x4e, 0x8f, 0xb0, 0x67, 0xba, 0x3d, 0xfb, 0x39, 0x18, 
+	0x5c, 0x5b, 0x98, 0x44, 0x31, 0xed, 0x31, 0x22, 0x4d, 0xbf, 0xa4, 0x17, 0x93, 0x93, 0xd5, 0x51, 
+	0x53, 0xcd, 0x0b, 0x89, 0xdb, 0xa1, 0xf1, 0xa6, 0xeb, 0x27, 0xce, 0x4f, 0x38, 0x85, 0xec, 0xac, 
+	0xbc, 0xfb, 0x0a, 0xca, 0x51, 0xeb, 0x7e, 0x89, 0x45, 0x3b, 0x93, 0xbe, 0xc9, 0x3f, 0xfe, 0x64, 
+	0x93, 0x70, 0x3f, 0x4d, 0xee, 0x1b, 0xdf, 0xe2, 0x9b, 0x86, 0x3c, 0xe7, 0x62, 0x23, 0xdf, 0x43, 
+	0xe3, 0xb1, 0x6d, 0xf0, 0xb9, 0x34, 0x49, 0xe0, 0x68, 0x53, 0x86, 0xf9, 0xb6, 0xb4, 0xec, 0xe9, 
+	0x63, 0x3f, 0xe5, 0x29, 0x12, 0x37, 0x34, 0x5d, 0xee, 0x56, 0xcf, 0xab, 0x20, 0x77, 0x8b, 0xa8, 
+	0xb6, 0x3b, 0xb7, 0x00, 0x3d, 0xe1, 0xcc, 0x55, 0xd1, 0xf8, 0x78, 0x51, 0xaa, 0x2f, 0x1c, 0x4d, 
+	0xc5, 0x1a, 0x81, 0xc2, 0x46, 0x6f, 0x19, 0xd2, 0xf0, 0x1c, 0xde, 0xc8, 0x6a, 0x9f, 0x77, 0x4a, 
+	0xfa, 0x9d, 0x52, 0x06, 0x5d, 0x8c, 0x35, 0x8a, 0x87, 0x36, 0xb4, 0xbf, 0x4b, 0x7a, 0xc4, 0xd3, 
+	0x23, 0x3d, 0xfa, 0x5c, 0x80, 0xe6, 0xa3, 0x14, 0x12, 0x65, 0xa3, 0xa9, 0x22, 0x79, 0xf6, 0xc6, 
+	0x55, 0x12, 0xe4, 0x45, 0xdc, 0x31, 0x2c, 0xdb, 0xc0, 0xf9, 0x71, 0xbe, 0x39, 0x87, 0xf3, 0x90, 
+	0xdd, 0x49, 0xf8, 0x81, 0x94, 0xee, 0x68, 0xcb, 0xdb, 0x05, 0x6e, 0x1f, 0xa4, 0xd1, 0x76, 0x50, 
+	0x27, 0xc9, 0xe7, 0xea, 0x99, 0x1b, 0x4d, 0x41, 0xd4, 0x1b, 0xae, 0x73, 0x24, 0xb8, 0x48, 0x35, 
+	0xfa, 0x20, 0xe3, 0x93, 0x71, 0xa6, 0xab, 0xd0, 0x9d, 0x22, 0x50, 0xc0, 0x67, 0x1c, 0x55, 0x70, 
+	0xa8, 0x82, 0x06, 0x18, 0x57, 0xac, 0x9a, 0xf5, 0x59, 0x08, 0x1c, 0x7b, 0x49, 0x76, 0x21, 0xd8, 
+	0xf8, 0x5b, 0x34, 0xda, 0x22, 0x2e, 0x03, 0xec, 0x87, 0x3c, 0xb2, 0x5f, 0x82, 0x70, 0x7c, 0xb7, 
+	0x5a, 0xac, 0x7d, 0x6c, 0x60, 0x80, 0xfa, 0xc6, 0x9d, 0xd4, 0x1e, 0xdc, 0x63, 0x13, 0xcb, 0x16, 
+	0x57, 0x5d, 0xf6, 0xd4, 0xd1, 0x9b, 0x4b, 0xe9, 0x68, 0x95, 0xe0, 0x1e, 0xd6, 0x66, 0xcf, 0xf7, 
+	0xff, 0x24, 0x15, 0x2a, 0xbe, 0x07, 0x92, 0x90, 0x8b, 0x1b, 0xec, 0x6f, 0xf7, 0x37, 0xcc, 0x42, 
+	0xb8, 0x2e, 0x62, 0xdf, 0xa7, 0xbc, 0x28, 0xf7, 0xdf, 0xc8, 0x95, 0xfe, 0x34, 0x34, 0x23, 0xb2, 
+	0xf9, 0xee, 0xa5, 0x25, 0x87, 0x3c, 0x01, 0x12, 0xa7, 0xc7, 0x16, 0x32, 0x30, 0x9e, 0xb3, 0x7c, 
+	0x09, 0x5c, 0xd3, 0x15, 0x77, 0x54, 0xbe, 0xe5, 0xd4, 0xb1, 0xbf, 0x3a, 0xae, 0x87, 0xc2, 0x58, 
+	0xa4, 0x05, 0xa2, 0xfe, 0x44, 0x4e, 0x4a, 0x4d, 0xe4, 0xc2, 0x6d, 0xe3, 0x8e, 0x86, 0x80, 0x26, 
+	0x34, 0xa9, 0x1b, 0x92, 0xdd, 0x72, 0xdc, 0x8b, 0x5b, 0x09, 0xbc, 0x83, 0xf9, 0xef, 0xda, 0x66, 
+	0xed, 0x9a, 0x43, 0x27, 0xb1, 0x3a, 0x98, 0x78, 0xf5, 0x2f, 0x58, 0xda, 0xc1, 0x21, 0x0a, 0x54, 
+	0x2e, 0x79, 0xb4, 0xe6, 0x99, 0x2c, 0x99, 0xf3, 0x75, 0x99, 0x2d, 0x0e, 0x92, 0xd1, 0xdd, 0x66, 
+	0x48, 0x33, 0x61, 0xbf, 0xd3, 0x63, 0xaf, 0x0e, 0x29, 0xb8, 0x8d, 0x21, 0x13, 0x77, 0xf5, 0x95, 
+	0xcf, 0x72, 0x20, 0x49, 0xfa, 0xed, 0x81, 0xd4, 0x91, 0x0e, 0x58, 0x11, 0x23, 0x04, 0xc6, 0xb0, 
+	0x3d, 0xf6, 0xb7, 0x21, 0x1c, 0x49, 0xa2, 0x77, 0xa5, 0x87, 0x70, 0xd0, 0x61, 0x3f, 0x0b, 0x2d, 
+	0xac, 0xea, 0x0a, 0x30, 0xbd, 0x7c, 0xb1, 0x2e, 0xc0, 0x44, 0x35, 0x38, 0x06, 0x71, 0xf0, 0xcd, 
+	0x4d, 0x77, 0xc2, 0x25, 0x66, 0xb4, 0xcf, 0xf1, 0x30, 0xd9, 0x3d, 0x17, 0x63, 0xf6, 0x82, 0xae, 
+	0x40, 0x97, 0xa6, 0xd1, 0x8e, 0x17, 0x55, 0xe4, 0x88, 0x84, 0x27, 0xc9, 0xa4, 0xad, 0xe0, 0x37, 
+	0x16, 0x63, 0xb9, 0x01, 0xb7, 0x26, 0x50, 0xb6, 0xab, 0x0f, 0x4a, 0x45, 0x71, 0xe0, 0xe9, 0xef, 
+	0xf6, 0xc3, 0x5a, 0x0e, 0x4a, 0x4a, 0x9e, 0xef, 0x61, 0x05, 0x9b, 0x52, 0x22, 0xef, 0x7e, 0x4f, 
+	0x54, 0x22, 0xf1, 0x27, 0x9f, 0x17, 0x14, 0x51, 0xf7, 0x01, 0x3a, 0x37, 0x24, 0xa9, 0x10, 0xbf, 
+	0xb0, 0x04, 0xe9, 0xd5, 0x0f, 0xf4, 0xa4, 0x25, 0xee, 0xce, 0x32, 0xa1, 0x2c, 0x21, 0x67, 0x7f, 
+	0xba, 0x92, 0xc4, 0xc8, 0x03, 0xfa, 0x6e, 0x2f, 0x7e, 0x05, 0xd6, 0xf3, 0x9b, 0xdf, 0x82, 0xf6, 
+	0x07, 0xcb, 0xec, 0xda, 0xb3, 0x7d, 0xc6, 0xd8, 0x97, 0x02, 0xf8, 0xc4, 0xc7, 0x33, 0x32, 0x25, 
+	0x7e, 0xb3, 0x03, 0x15, 0xda, 0x7f, 0xf1, 0x62, 0x7c, 0xc0, 0x43, 0x1c, 0x0f, 0x0b, 0xce, 0xb8, 
+	0x8a, 0x76, 0x68, 0xff, 0x7a, 0x60, 0x49, 0x4c, 0x89, 0x91, 0xab, 0x5d, 0xfa, 0x2a, 0x3c, 0x38, 
+	0xc2, 0x82, 0x83, 0x05, 0x77, 0x46, 0x81, 0xc7, 0x38, 0x30, 0x0c, 0xbc, 0xa3, 0xb1, 0xf9, 0xd4, 
+	0x7e, 0x86, 0x1e, 0x4a, 0x8f, 0x0e, 0x33, 0xf8, 0x51, 0xe4, 0x04, 0x4f, 0x74, 0xe8, 0x23, 0x16, 
+	0x77, 0xbd, 0x2a, 0x4c, 0xce, 0xd4, 0x44, 0x76, 0x26, 0x24, 0x6d, 0x79, 0x94, 0x68, 0x95, 0x7b, 
+	0x5d, 0x19, 0xfb, 0x35, 0x12, 0x4e, 0x48, 0x34, 0xe2, 0xe7, 0x88, 0xa7, 0x64, 0x0d, 0xca, 0x54, 
+	0x0b, 0x1b, 0x71, 0x0b, 0x1c, 0x72, 0x7b, 0xe1, 0x7c, 0x8e, 0xdc, 0xd3, 0x23, 0x75, 0x6d, 0x4e, 
+	0x95, 0xf9, 0xce, 0x81, 0xba, 0x77, 0x9f, 0x04, 0x0f, 0xd3, 0xf3, 0x5c, 0xb0, 0xe4, 0xfe, 0xf2, 
+	0xd5, 0x4c, 0xae, 0xe1, 0x10, 0xd8, 0x5a, 0x86, 0x13, 0x3e, 0x6e, 0x3f, 0x03, 0x2e, 0xc4, 0x74, 
+	0x5d, 0x85, 0x61, 0x01, 0xd1, 0xb4, 0xc3, 0xb3, 0x50, 0x23, 0x7b, 0x94, 0x2b, 0x55, 0x5a, 0xbd, 
+	0xae, 0xb3, 0xdf, 0x6e, 0x6e, 0x37, 0x0e, 0x8b, 0xc8, 0xea, 0x4d, 0xaf, 0xa7, 0x3a, 0x14, 0x51, 
+	0x23, 0x82, 0xb9, 0x93, 0x26, 0x0c, 0xd3, 0xbd, 0x07, 0x6f, 0x5d, 0xa8, 0x75, 0xc6, 0xa1, 0x20, 
+	0xde, 0x75, 0xe4, 0x94, 0x70, 0xf3, 0x60, 0xb6, 0x71, 0x5a, 0x5b, 0x8a, 0xcd, 0x5b, 0x38, 0xc8, 
+	0xa4, 0xb7, 0x0f, 0x10, 0x70, 0xaa, 0x39, 0x0b, 0x5a, 0xc4, 0x4d, 0xd5, 0x9a, 0xac, 0xaf, 0x7c, 
+	0x8b, 0xa4, 0xa4, 0xf6, 0x93, 0x83, 0x3e, 0x89, 0x30, 0x5c, 0x87, 0x71, 0x38, 0xf1, 0xb0, 0x77, 
+	0x95, 0x93, 0x3f, 0x93, 0xa4, 0xe2, 0xdd, 0x95, 0x70, 0xc2, 0xcd, 0xc4, 0x3e, 0xa1, 0xf8, 0x52, 
+	0xc3, 0x61, 0xe8, 0x41, 0xc9, 0x96, 0xa1, 0xd2, 0xc5, 0xb2, 0xa0, 0x6d, 0x1e, 0xcc, 0x08, 0x96, 
+	0x71, 0x8e, 0x14, 0xb5, 0x2b, 0xef, 0x60, 0xb4, 0xac, 0xd6, 0xda, 0x94, 0x36, 0x9a, 0x9c, 0xfb, 
+	0x9b, 0x66, 0xf3, 0xe8, 0xe0, 0x59, 0x94, 0x07, 0x6b, 0x22, 0x33, 0x94, 0x68, 0x0c, 0x8e, 0xe7, 
+	0xba, 0xf2, 0xe3, 0x4b, 0x06, 0x2b, 0x09, 0x89, 0x61, 0x0e, 0xbd, 0x07, 0x96, 0x82, 0xee, 0x4c, 
+	0x0f, 0xa6, 0x88, 0x8a, 0xca, 0x35, 0x30, 0x40, 0xb7, 0xce, 0xee, 0x5c, 0x02, 0x2c, 0x89, 0x86, 
+	0x60, 0x7f, 0x26, 0x8f, 0xa3, 0x6e, 0x31, 0xb0, 0x58, 0x89, 0x46, 0x0b, 0x5a, 0x3a, 0x8d, 0x4f, 
+	0xa4, 0x44, 0xe5, 0xa1, 0x9f, 0x92, 0x81, 0xc7, 0x10, 0xd2, 0x0b, 0xa4, 0xe5, 0x4d, 0x0a, 0x82, 
+	0x37, 0xa5, 0x16, 0x68, 0x42, 0x9f, 0xfc, 0xa2, 0x94, 0x6b, 0xd8, 0xb5, 0x7e, 0x16, 0xf0, 0x5f, 
+	0x1c, 0xe6, 0xf4, 0x6a, 0x9c, 0x47, 0x4b, 0x00, 0x6a, 0xcc, 0x7e, 0x2d, 0x3b, 0x81, 0x51, 0x5e, 
+	0xcc, 0x50, 0x48, 0x15, 0xff, 0x9b, 0x99, 0x89, 0x70, 0x11, 0x7a, 0xbc, 0xf8, 0xc0, 0x94, 0x63, 
+	0xb9, 0x0a, 0x25, 0xdd, 0x9d, 0xe1, 0xf2, 0x01, 0x31, 0x5e, 0xb1, 0x0d, 0xe1, 0x54, 0xa5, 0xea, 
+	0x80, 0x36, 0x77, 0xa4, 0x3d, 0x47, 0x8c, 0x63, 0xa0, 0xe2, 0x5a, 0xfc, 0x24, 0x65, 0xd5, 0x25, 
+	0x9e, 0xe4, 0x66, 0x22, 0x7d, 0x9f, 0x15, 0x88, 0x79, 0xc7, 0x43, 0x27, 0x5d, 0x46, 0x8f, 0x1b, 
+	0xa8, 0x8a, 0x83, 0xeb, 0x0a, 0xfd, 0x15, 0x1a, 0xbd, 0x96, 0xac, 0x63, 0xd1, 0x6c, 0xd7, 0x2a, 
+	0x17, 0x3b, 0x73, 0xee, 0x8d, 0x43, 0x99, 0x98, 0x0f, 0xe5, 0x36, 0xe1, 0x96, 0xe4, 0xee, 0xaa, 
+	0x61, 0x19, 0xda, 0x54, 0x4e, 0x4c, 0xb2, 0xb7, 0xb7, 0x71, 0xea, 0x0d, 0x1c, 0xe3, 0x26, 0xaf, 
+	0x10, 0xfd, 0xb3, 0xab, 0xf7, 0xcd, 0xfc, 0x01, 0xa4, 0xca, 0x4d, 0xfc, 0x1d, 0x17, 0x24, 0xf6, 
+	0x8a, 0xfd, 0x1f, 0xf7, 0xfd, 0xc3, 0x9a, 0x46, 0xf4, 0xc9, 0x6d, 0x93, 0xbe, 0x3d, 0xb9, 0xc0, 
+	0x1d, 0x15, 0x7c, 0xce, 0x3d, 0x7a, 0x0d, 0xd7, 0x58, 0x68, 0xeb, 0x9d, 0x3a, 0x21, 0x62, 0x96, 
+	0xfc, 0xf4, 0x04, 0xf3, 0xe5, 0xac, 0xd3, 0xc8, 0x4d, 0xf2, 0x37, 0xae, 0x7b, 0x6c, 0xc8, 0xe7, 
+	0xb3, 0xa1, 0x3f, 0x55, 0xfb, 0x4c, 0x54, 0xcb, 0x4d, 0xd6, 0x1a, 0x87, 0x01, 0x5d, 0x9c, 0x85, 
+	0xd0, 0x69, 0xaf, 0xd1, 0x9b, 0xbe, 0xd3, 0xfe, 0xc5, 0x3d, 0x5e, 0x90, 0xb9, 0xac, 0x91, 0xba, 
+	0xcc, 0xe5, 0x36, 0xa2, 0x44, 0x6e, 0x20, 0xe3, 0xa9, 0x42, 0x50, 0xaa, 0x6a, 0x8e, 0xcb, 0x1f, 
+	0xfa, 0x6f, 0x4b, 0x84, 0xd9, 0xe8, 0x5d, 0xc4, 0xdb, 0xad, 0x0b, 0x86, 0xa3, 0xbb, 0x2b, 0x65, 
+	0x23, 0x19, 0x61, 0x5c, 0x6d, 0x90, 0x52, 0xe8, 0xe6, 0x9b, 0x8f, 0x19, 0x23, 0x99, 0xde, 0xe1, 
+	0x62, 0xe4, 0xfd, 0x98, 0x25, 0xd2, 0x09, 0xe4, 0x1a, 0xbe, 0xff, 0x2f, 0x1c, 0x89, 0xe2, 0x91, 
+	0xb5, 0x7a, 0xe8, 0x99, 0x6a, 0x92, 0x9e, 0x09, 0xda, 0x5f, 0x75, 0xc8, 0x2e, 0x45, 0x04, 0x48, 
+	0xd9, 0x05, 0x1d, 0x82, 0x9a, 0x9e, 0x47, 0x02, 0x0e, 0x3e, 0x8d, 0x6f, 0xde, 0x95, 0x52, 0xa3, 
+	0xb6, 0x5e, 0x74, 0x61, 0xc4, 0x4a, 0xa3, 0xcb, 0xe2, 0x58, 0x9a, 0xa7, 0x5f, 0x7c, 0x94, 0x80, 
+	0xe7, 0xf7, 0x5d, 0x66, 0x59, 0xb2, 0x87, 0xc1, 0x59, 0x48, 0x39, 0x3f, 0x2c, 0x88, 0xcf, 0x97, 
+	0xdb, 0x17, 0x1b, 0x45, 0x2d, 0x52, 0x58, 0xe7, 0xf3, 0xdd, 0xb9, 0x34, 0xd2, 0x21, 0xbd, 0x82, 
+	0x1e, 0xb9, 0x3c, 0x3e, 0x23, 0xa1, 0xc4, 0xc9, 0xe5, 0xce, 0x5a, 0x54, 0x94, 0xdc, 0x54, 0x34, 
+	0x19, 0xb8, 0xf6, 0x42, 0xe2, 0xe7, 0x20, 0xe2, 0xa9, 0x3d, 0xcf, 0xa4, 0x91, 0xbb, 0x3b, 0x5e, 
+	0x7b, 0x18, 0xe4, 0x84, 0x92, 0xec, 0x8b, 0x06, 0xd2, 0xaf, 0xca, 0xec, 0x03, 0x28, 0x2f, 0xa9, 
+	0x31, 0xc5, 0x31, 0x7b, 0x32, 0x6d, 0x4e, 0x44, 0x00, 0x6d, 0xc2, 0x2d, 0x25, 0xda, 0xf7, 0x70, 
+	0x90, 0x0d, 0xe7, 0xab, 0xe4, 0x18, 0x55, 0x3f, 0x97, 0xbf, 0x82, 0xac, 0x43, 0x83, 0x7a, 0x1e, 
+	0x20, 0x51, 0xb3, 0xee, 0xdb, 0x3f, 0xb1, 0xa5, 0xfa, 0x2b, 0x09, 0xf6, 0x85, 0xb6, 0x26, 0x72, 
+	0xfb, 0xbd, 0x56, 0xf7, 0xae, 0x5c, 0xe3, 0xf9, 0xcf, 0x96, 0x3f, 0xac, 0xc8, 0x9f, 0x65, 0xfc, 
+	0x8d, 0x79, 0x76, 0x8f, 0x83, 0xfa, 0x11, 0x72, 0xd7, 0x84, 0xf4, 0xe1, 0xe5, 0xc0, 0xee, 0xe8, 
+	0x2a, 0xfd, 0x65, 0x86, 0x68, 0x94, 0x0b, 0xb8, 0xd2, 0x67, 0xd9, 0xb2, 0x66, 0xbf, 0x12, 0x7e, 
+	0xb4, 0x8b, 0x4b, 0x2f, 0x32, 0xf5, 0xa1, 0x87, 0xdc, 0xc6, 0x8b, 0x8e, 0xeb, 0x4c, 0x55, 0x26, 
+	0xe8, 0x23, 0x94, 0x30, 0x62, 0x50, 0x6c, 0xec, 0x03, 0x6f, 0x79, 0x2d, 0x7f, 0xe8, 0x34, 0x45, 
+	0x64, 0x14, 0x65, 0x28, 0xc1, 0xdc, 0x04, 0xca, 0xb9, 0xe4, 0x24, 0x42, 0xca, 0x48, 0x1b, 0xcb, 
+	0x1b, 0xf4, 0xca, 0xa8, 0xae, 0x27, 0x58, 0x62, 0xba, 0xf9, 0x52, 0xbb, 0xaf, 0x80, 0x77, 0x68, 
+	0x42, 0x0c, 0xc2, 0xe2, 0x99, 0xdc, 0x0f, 0xd2, 0x0a, 0xb2, 0x22, 0x24, 0x59, 0x1b, 0x7a, 0x2d, 
+	0xc8, 0x5b, 0x77, 0x08, 0xfc, 0x57, 0x29, 0x31, 0x2f, 0x14, 0x8c, 0x68, 0x92, 0xa7, 0x32, 0x53, 
+	0x79, 0x95, 0xcb, 0x23, 0x5b, 0x14, 0x45, 0xfc, 0x51, 0x4c, 0xec, 0x33, 0x8e, 0x2c, 0xca, 0x9d, 
+	0x2d, 0x7a, 0xeb, 0xc2, 0x71, 0x12, 0x83, 0x97, 0xf2, 0x75, 0x03, 0x04, 0x01, 0xec, 0x85, 0x83, 
+	0xf7, 0x96, 0x92, 0x1b, 0xdf, 0x1b, 0xea, 0xef, 0x8d, 0x60, 0x2f, 0x07, 0xd5, 0x38, 0x1c, 0xb3, 
+	0x0b, 0x02, 0xfc, 0xc5, 0x1c, 0x59, 0xe8, 0x44, 0x20, 0x1b, 0xef, 0x29, 0x63, 0xa7, 0xe2, 0x31, 
+	0x25, 0x1b, 0x05, 0x4f, 0x80, 0x74, 0x13, 0xc1, 0x1e, 0xf1, 0xa1, 0x61, 0x0e, 0xcd, 0x32, 0x1c, 
+	0xa2, 0xe3, 0x2d, 0xfd, 0xa3, 0x6c, 0xa9, 0x6f, 0x3e, 0x09, 0x1e, 0x1f, 0x55, 0xb9, 0x05, 0xef, 
+	0xcf, 0x5e, 0xbd, 0x37, 0x43, 0x05, 0x33, 0x40, 0x0b, 0x18, 0x64, 0x2d, 0x42, 0xf4, 0x9d, 0x34, 
+	0x4a, 0xf6, 0x9c, 0x07, 0xc0, 0xb9, 0xf6, 0x15, 0xda, 0x1e, 0xc5, 0x88, 0xf7, 0x0f, 0x4f, 0x69, 
+	0xbc, 0xf6, 0xf2, 0xce, 0x20, 0xfb, 0xda, 0xd4, 0x07, 0xa5, 0xc9, 0x70, 0x68, 0x31, 0xf1, 0xfa, 
+	0x56, 0xf1, 0xb9, 0xaf, 0x75, 0x36, 0xcf, 0x9a, 0x90, 0x54, 0x0d, 0xf7, 0x50, 0x68, 0x1b, 0xcb, 
+	0xe1, 0x7a, 0xfa, 0x0d, 0x4c, 0xf3, 0x9d, 0xe4, 0x7e, 0x58, 0x21, 0x7a, 0x89, 0xf4, 0xbd, 0x4e, 
+	0xe7, 0x53, 0xed, 0xb2, 0x7c, 0xd1, 0x15, 0x9c, 0x0d, 0xf4, 0x76, 0xf7, 0x34, 0x5b, 0x78, 0xb1, 
+	0xd1, 0xf9, 0x13, 0x6d, 0x5f, 0xdd, 0xaf, 0xd6, 0xa7, 0xb8, 0x6c, 0x47, 0xaa, 0x23, 0xfe, 0x0a, 
+	0x9f, 0xff, 0xce, 0x29, 0x25, 0xa1, 0x38, 0x90, 0x6f, 0xf6, 0x98, 0xb8, 0xd7, 0x80, 0xa1, 0x97, 
+	0x76, 0xbc, 0xfe, 0x7e, 0x68, 0xf9, 0x70, 0x09, 0x07, 0x61, 0xd2, 0x3f, 0xfc, 0xad, 0x9a, 0xea, 
+	0xaf, 0x2c, 0xb9, 0x77, 0x5f, 0xc1, 0x9e, 0x0a, 0xa9, 0xf4, 0xd7, 0x9c, 0x36, 0x8f, 0x4e, 0xd2, 
+	0x4b, 0xc9, 0x3e, 0x1c, 0x3d, 0xc6, 0x37, 0x72, 0xeb, 0xc9, 0xfe, 0xbd, 0x0e, 0x91, 0x2a, 0xdb, 
+	0xfe, 0xf5, 0x0e, 0xbe, 0xba, 0x43, 0x6a, 0xcf, 0x69, 0x83, 0xa6, 0xec, 0x5d, 0x69, 0xd1, 0xe7, 
+	0xdf, 0xd0, 0xf6, 0x4c, 0x18, 0x6e, 0x1f, 0xad, 0x05, 0xa9, 0xfa, 0xeb, 0x8e, 0xfb, 0x38, 0xa7, 
+	0xd8, 0xbb, 0x85, 0xe1, 0x3b, 0x1b, 0xda, 0x62, 0xfc, 0x85, 0xeb, 0x62, 0x0d, 0x58, 0xc6, 0x89, 
+	0x2b, 0x6b, 0x3e, 0x42, 0x31, 0x34, 0x7d, 0xad, 0xd2, 0x5b, 0x57, 0xa4, 0x96, 0x6c, 0x1d, 0x2e, 
+	0x9a, 0x59, 0xf8, 0xba, 0x9c, 0x68, 0xa3, 0x7a, 0xfa, 0xa8, 0xe2, 0xa8, 0x47, 0x95, 0xe3, 0xaa, 
+	0x0f, 0xe0, 0xca, 0x6b, 0xfc, 0xa6, 0xdb, 0x52, 0x61, 0x30, 0x9a, 0xbf, 0xb8, 0x92, 0xbf, 0xf0, 
+	0xa7, 0x55, 0x49, 0xd2, 0x1a, 0xfb, 0xb7, 0x36, 0x5d, 0x31, 0x98, 0x93, 0xa3, 0x0d, 0x51, 0x2f, 
+	0x8d, 0xdc, 0x44, 0x60, 0xb2, 0x62, 0x89, 0xf0, 0xc7, 0xf9, 0x87, 0x96, 0xba, 0xbd, 0xe2, 0x13, 
+	0xf5, 0xd0, 0xef, 0x29, 0x68, 0xe7, 0x53, 0x1e, 0x62, 0x10, 0xf4, 0x16, 0x03, 0xb9, 0xcd, 0xf0, 
+	0x6c, 0x60, 0x22, 0xa9, 0xe4, 0x5a, 0x31, 0xf3, 0x92, 0xe5, 0x02, 0xa2, 0x74, 0xea, 0xb3, 0xd1, 
+	0xf3, 0x9d, 0x52, 0xc5, 0x07, 0xca, 0x88, 0xf0, 0x70, 0x96, 0xcb, 0x9f, 0xb1, 0x82, 0x19, 0x3f, 
+	0xeb, 0x0a, 0xa2, 0x02, 0xfe, 0x7c, 0xca, 0xc4, 0x4f, 0xb1, 0xa7, 0x33, 0x03, 0x49, 0x6f, 0x8b, 
+	0x6e, 0x1b, 0xf2, 0x25, 0xad, 0xfe, 0xd8, 0x41, 0x88, 0xb1, 0x5e, 0x7e, 0xb7, 0xbb, 0xd5, 0x45, 
+	0x31, 0x65, 0x0c, 0xa8, 0xfc, 0xd1, 0x27, 0xa9, 0x21, 0x03, 0xd5, 0x6d, 0xda, 0x9c, 0xd4, 0xd6, 
+	0x49, 0x9b, 0xbc, 0xb4, 0x75, 0x93, 0x83, 0x59, 0x69, 0x1b, 0x74, 0x67, 0xb2, 0x4d, 0xdc, 0xb0, 
+	0xde, 0x71, 0x93, 0x4c, 0x5e, 0x23, 0x7e, 0x3f, 0x7a, 0x4d, 0xab, 0x28, 0x07, 0x9b, 0x08, 0x80, 
+	0xea, 0x85, 0xf3, 0x05, 0x55, 0x4c, 0xb8, 0x65, 0x7a, 0x78, 0x78, 0xe7, 0x8e, 0xbf, 0x95, 0xc2, 
+	0x78, 0x0d, 0x7b, 0xe6, 0x0b, 0x43, 0xb8, 0xee, 0x24, 0x57, 0x18, 0x54, 0xe5, 0x2e, 0xc9, 0x9b, 
+	0x9d, 0x9c, 0x4b, 0x8d, 0x74, 0xfd, 0xf0, 0xc8, 0x24, 0x8c, 0xa1, 0xf4, 0x01, 0x41, 0x3f, 0xe0, 
+	0xc4, 0xfc, 0xd1, 0x02, 0xed, 0x18, 0x09, 0xc5, 0x04, 0xbe, 0xaf, 0x2f, 0xfc, 0xe5, 0xef, 0x3b, 
+	0xa4, 0x75, 0xc8, 0x12, 0x8d, 0xfc, 0x0e, 0x01, 0x52, 0x27, 0x72, 0xc1, 0x1a, 0x84, 0x01, 0xbf, 
+	0x7d, 0xa5, 0xec, 0x65, 0x28, 0x1f, 0x72, 0xd5, 0xb1, 0xdf, 0x93, 0xeb, 0x82, 0x61, 0x1c, 0x49, 
+	0x27, 0x97, 0x15, 0x9c, 0x58, 0x68, 0x5e, 0xe3, 0x4d, 0xfe, 0x06, 0xf9, 0x72, 0x6d, 0xe1, 0x41, 
+	0x0d, 0x3d, 0x6a, 0x9f, 0xa3, 0x7f, 0xae, 0x5d, 0x8e, 0xcc, 0x84, 0x64, 0x3c, 0x70, 0xdd, 0x42, 
+	0x21, 0x8a, 0xe9, 0xa4, 0x07, 0x95, 0xf7, 0x15, 0x3d, 0x1b, 0xf1, 0xad, 0x5e, 0xd1, 0x21, 0x74, 
+	0x31, 0x78, 0xf3, 0x24, 0xef, 0x4c, 0xba, 0x8b, 0x87, 0x8f, 0x6f, 0x7d, 0xe3, 0x0e, 0x2f, 0xe9, 
+	0xe0, 0x8c, 0x9f, 0xea, 0xda, 0x44, 0x8f, 0xbe, 0xc0, 0x5d, 0x29, 0xd2, 0x54, 0xb4, 0x77, 0xf8, 
+	0x7d, 0xd2, 0xeb, 0x10, 0xf4, 0xfd, 0xbc, 0x47, 0x5a, 0x04, 0x69, 0x6b, 0x5a, 0x75, 0xd8, 0xfc, 
+	0x97, 0xa8, 0xbd, 0x2e, 0x4b, 0xb3, 0x91, 0x55, 0x14, 0xcb, 0x39, 0x9c, 0x70, 0x94, 0xec, 0x3b, 
+	0x77, 0x17, 0xfa, 0x4b, 0xa8, 0xb4, 0xb5, 0x50, 0xd2, 0x43, 0x88, 0xe3, 0xf5, 0x04, 0x06, 0x43, 
+	0x0d, 0x79, 0xf2, 0xe7, 0xfe, 0xe4, 0xfe, 0x4c, 0x6f, 0x8d, 0xd5, 0x45, 0x14, 0xfa, 0xc3, 0x0f, 
+	0xe2, 0x53, 0xf9, 0x30, 0xd5, 0xaa, 0xd2, 0x11, 0xc3, 0xa9, 0xf2, 0xee, 0x7a, 0x83, 0x78, 0x8f, 
+	0x35, 0x3e, 0xf6, 0xdd, 0xa0, 0x26, 0xfc, 0xa8, 0xa3, 0x5e, 0x51, 0x23, 0x4d, 0x4f, 0xdd, 0xbd, 
+	0x02, 0x40, 0x07, 0x0b, 0x06, 0xf3, 0x37, 0x2c, 0x0a, 0x72, 0xda, 0x9a, 0x81, 0x0b, 0x12, 0x41, 
+	0x86, 0x7f, 0x82, 0x0c, 0xb7, 0xcb, 0xb2, 0xd5, 0xd1, 0x59, 0xc2, 0x5d, 0x4a, 0x38, 0x35, 0x6f, 
+	0x2b, 0xee, 0xd2, 0x8a, 0x8f, 0x4e, 0x46, 0xa1, 0x80, 0xf1, 0xd2, 0xce, 0xa6, 0x4b, 0xa9, 0xcb, 
+	0x24, 0xd5, 0x2c, 0x42, 0x51, 0xd8, 0xe8, 0xf6, 0x96, 0xb8, 0x45, 0x59, 0x5b, 0x7f, 0xf5, 0x8c, 
+	0xf6, 0xcf, 0x0a, 0xea, 0xdb, 0x6d, 0x38, 0xe8, 0xc2, 0xa7, 0x4e, 0x2f, 0xd2, 0xb2, 0x10, 0xfe, 
+	0xeb, 0x85, 0x78, 0xa4, 0xe5, 0xdc, 0xf2, 0x65, 0xeb, 0x35, 0x8b, 0x0c, 0xc0, 0x21, 0xbb, 0xfb, 
+	0xde, 0x1d, 0x6d, 0x81, 0x56, 0x4f, 0x5f, 0x67, 0x8c, 0x94, 0x48, 0xff, 0x93, 0x99, 0x7a, 0xa6, 
+	0x54, 0xcd, 0xa0, 0x7a, 0x43, 0x31, 0xc4, 0x5c, 0x2c, 0x1b, 0xea, 0xaf, 0xba, 0xbc, 0x20, 0xd6, 
+	0xdc, 0xfa, 0x06, 0x42, 0x31, 0x4b, 0xee, 0x2f, 0x4a, 0x7a, 0xd6, 0xb6, 0x80, 0x39, 0xb1, 0xc1, 
+	0x3d, 0xc9, 0x65, 0x0b, 0x73, 0x77, 0xe8, 0xad, 0x0e, 0x7e, 0x64, 0x31, 0x6e, 0xf6, 0x78, 0xfd, 
+	0x66, 0xe8, 0xeb, 0x4a, 0xfb, 0x67, 0xdc, 0x2e, 0xf4, 0x16, 0xf0, 0xfd, 0xf3, 0x5d, 0x75, 0x74, 
+	0xf6, 0x0c, 0xfd, 0x77, 0xfe, 0xe6, 0x06, 0xbe, 0x89, 0x92, 0xf3, 0x12, 0x9a, 0xc7, 0x99, 0xef, 
+	0x6c, 0x24, 0xfc, 0xf3, 0x5d, 0x57, 0x9a, 0xe2, 0x17, 0x35, 0xe9, 0x2a, 0x36, 0xba, 0x43, 0x27, 
+	0x07, 0x47, 0x84, 0x61, 0x15, 0x39, 0x63, 0xd0, 0x3f, 0xea, 0x75, 0x04, 0xc3, 0x73, 0x95, 0x34, 
+	0x25, 0x64, 0x57, 0x70, 0x58, 0x96, 0x2d, 0x68, 0xbb, 0x57, 0x0e, 0x89, 0xb0, 0xed, 0x9a, 0xeb, 
+	0xf9, 0xbd, 0x25, 0x46, 0x07, 0x2b, 0xc9, 0xaf, 0x69, 0x0d, 0x48, 0x0c, 0x71, 0x58, 0xca, 0xc0, 
+	0xf8, 0x22, 0x48, 0xef, 0xd5, 0xde, 0x25, 0xa1, 0x72, 0xa6, 0x4e, 0x0e, 0x6f, 0x70, 0xc9, 0xac, 
+	0x63, 0x84, 0x58, 0x8e, 0xb6, 0x36, 0x32, 0x81, 0x4b, 0xe5, 0x12, 0x08, 0xd1, 0x66, 0xbd, 0x04, 
+	0x22, 0xa2, 0x9f, 0x40, 0x7f, 0x49, 0x0a, 0x5c, 0x49, 0xa7, 0x09, 0x27, 0x85, 0x02, 0x89, 0xb8, 
+	0x8d, 0x60, 0x69, 0x7c, 0x16, 0x59, 0x6b, 0x51, 0x7a, 0x91, 0xc2, 0x91, 0x6d, 0xfd, 0x41, 0x7e, 
+	0x7d, 0xe3, 0xc5, 0xfb, 0x20, 0x39, 0x0d, 0xa3, 0x07, 0xcf, 0xf0, 0xab, 0x26, 0xb5, 0xfc, 0xd2, 
+	0x05, 0xf6, 0xbc, 0x70, 0xcf, 0x26, 0xfc, 0xb0, 0xe0, 0xde, 0xd5, 0xa3, 0x2f, 0xdc, 0x45, 0xc2, 
+	0x58, 0x00, 0xe0, 0x16, 0x6a, 0x45, 0xff, 0x3d, 0x34, 0x9c, 0x64, 0xc2, 0x6d, 0x80, 0x61, 0x24, 
+	0x7f, 0x93, 0x3e, 0x39, 0xfa, 0x0c, 0x36, 0x3e, 0x43, 0x17, 0x68, 0x56, 0x65, 0xe1, 0x46, 0x2a, 
+	0x5f, 0x7b, 0xf0, 0x97, 0x69, 0x19, 0xf4, 0x5f, 0x81, 0x4e, 0x39, 0xe2, 0x6f, 0xf9, 0xc2, 0xa2, 
+	0x46, 0x7f, 0x4b, 0x4e, 0xcf, 0x66, 0xf3, 0x14, 0xe1, 0xce, 0x2c, 0xe9, 0xcd, 0x26, 0x79, 0xe4, 
+	0x8a, 0x2f, 0x43, 0xee, 0x2e, 0xd5, 0xaf, 0x6d, 0x9f, 0x09, 0xef, 0x24, 0x6d, 0x75, 0x4b, 0x4b, 
+	0xc7, 0x8e, 0xf7, 0xaf, 0x3b, 0xed, 0xca, 0xac, 0x01, 0xef, 0x6a, 0x82, 0xb9, 0x8e, 0xae, 0x90, 
+	0xea, 0x2e, 0xb8, 0xe8, 0xfb, 0x52, 0xf9, 0x8d, 0xdf, 0xae, 0x0b, 0x54, 0x1c, 0xae, 0x39, 0x81, 
+	0x61, 0x90, 0xdf, 0xdc, 0xd2, 0x11, 0x4e, 0x06, 0xfd, 0x1f, 0xf1, 0x0b, 0x07, 0xd8, 0xa2, 0x9f, 
+	0x87, 0xea, 0x52, 0x1f, 0x18, 0x23, 0x82, 0x59, 0xaa, 0x5e, 0xfe, 0x58, 0x43, 0xa8, 0x8d, 0x54, 
+	0xbe, 0xa1, 0xad, 0x37, 0x95, 0xdf, 0x66, 0x5f, 0x7b, 0x7e, 0x59, 0x28, 0x0e, 0xd6, 0x1e, 0x9d, 
+	0xf0, 0xd0, 0xdf, 0xe9, 0x48, 0x02, 0xe8, 0xe9, 0xb3, 0xa2, 0xeb, 0x52, 0x20, 0x83, 0xe6, 0xa1, 
+	0xbe, 0x7f, 0x44, 0x4e, 0xe1, 0xfc, 0x66, 0x2a, 0x04, 0x7e, 0xff, 0x6e, 0x18, 0x7e, 0x2a, 0x4c, 
+	0x1b, 0x5d, 0x23, 0xed, 0x60, 0xf0, 0x5e, 0x1f, 0x9e, 0x3c, 0xa5, 0xa7, 0xba, 0xcb, 0x7b, 0xba, 
+	0x1b, 0x4a, 0xe4, 0xb4, 0x41, 0x4f, 0x83, 0xf7, 0x41, 0x75, 0x71, 0xa4, 0xf4, 0x83, 0x1b, 0x3f, 
+	0xe5, 0x47, 0xfa, 0x7a, 0xde, 0xc2, 0x5f, 0x16, 0xc9, 0xbf, 0x45, 0x1c, 0xe2, 0x6c, 0x05, 0x8a, 
+	0xc1, 0x27, 0x04, 0xef, 0x19, 0x1b, 0x3d, 0xbd, 0x05, 0xe1, 0xe5, 0x9b, 0x8c, 0x7b, 0xd3, 0xe1, 
+	0x31, 0x73, 0xe4, 0xb1, 0x9f, 0xf9, 0x1a, 0x53, 0xff, 0x5b, 0x06, 0xe2, 0x1d, 0x42, 0x82, 0xbe, 
+	0x0e, 0x7d, 0x51, 0x72, 0x47, 0xa9, 0x81, 0x4b, 0xab, 0xc3, 0x95, 0x73, 0xa4, 0x80, 0xab, 0x96, 
+	0x53, 0x3f, 0x4a, 0x0b, 0x92, 0x83, 0xab, 0x92, 0x0b, 0x1a, 0x4b, 0x51, 0xc1, 0xea, 0xa9, 0x77, 
+	0xf3, 0x0c, 0x1a, 0xdf, 0x5a, 0xb9, 0xf0, 0x88, 0xde, 0xef, 0x52, 0x04, 0x92, 0x9d, 0x6e, 0xf7, 
+	0x2f, 0x4a, 0xd2, 0x3c, 0x26, 0xb2, 0x70, 0x65, 0x88, 0xe8, 0x51, 0xea, 0xe4, 0x3b, 0xb6, 0xb8, 
+	0x7f, 0x43, 0x9d, 0x4a, 0x78, 0x25, 0xfc, 0x44, 0xe9, 0x30, 0x5c, 0x33, 0x7c, 0x7b, 0x67, 0x3f, 
+	0x8d, 0xa6, 0xd3, 0xd1, 0xed, 0xc3, 0x67, 0x36, 0x67, 0x3f, 0x0e, 0xed, 0xbb, 0xf1, 0xe5, 0xe8, 
+	0x71, 0x36, 0xb6, 0x0f, 0x1f, 0xc7, 0xf6, 0x7a, 0xf2, 0x6e, 0x3a, 0x9a, 0x7e, 0xb6, 0x93, 0x99, 
+	0xbf, 0x10, 0xe3, 0xca, 0xbe, 0x9f, 0x8e, 0xc7, 0xf6, 0xee, 0xbd, 0xbd, 0xfc, 0x38, 0x9a, 0x7e, 
+	0x18, 0x0f, 0xf0, 0x1c, 0xee, 0xd1, 0x9f, 0xd1, 0x58, 0xc6, 0x8f, 0xc5, 0xd7, 0x63, 0x44, 0x03, 
+	0xd0, 0x53, 0x77, 0xfc, 0xf7, 0xf8, 0x2f, 0x0f, 0xe3, 0xdb, 0x07, 0x7b, 0x3f, 0x9e, 0xde, 0x4c, 
+	0x1e, 0x1e, 0x68, 0xb4, 0x77, 0x9f, 0xed, 0xe8, 0xfe, 0x9e, 0x06, 0x1f, 0xbd, 0xbb, 0xa6, 0xc7, 
+	0x47, 0x9f, 0x86, 0x66, 0xfc, 0x97, 0xcb, 0xf1, 0xfd, 0x83, 0xfd, 0xf4, 0x71, 0x7c, 0x6b, 0xef, 
+	0x30, 0xfa, 0xa7, 0x09, 0x91, 0x33, 0x7b, 0x18, 0xe1, 0xf9, 0xc9, 0xad, 0xfd, 0x34, 0x9d, 0xf0, 
+	0xfd, 0xfd, 0x18, 0x0f, 0x57, 0x70, 0x4c, 0x27, 0x1f, 0x3e, 0x3e, 0xd8, 0x8f, 0x77, 0xd7, 0x57, 
+	0xe3, 0x29, 0xdf, 0xd3, 0x71, 0x71, 0x37, 0x35, 0xfc, 0xa2, 0xbd, 0x1f, 0x4d, 0x1f, 0x26, 0xe3, 
+	0x19, 0x7e, 0x24, 0xe7, 0x97, 0xc9, 0x55, 0x7f, 0x4d, 0x27, 0xa3, 0x19, 0x51, 0x7d, 0x62, 0x3f, 
+	0x4d, 0x1e, 0x3e, 0xde, 0x3d, 0x3e, 0x04, 0x3e, 0x60, 0x6d, 0xa3, 0xdb, 0xcf, 0xe6, 0x4f, 0x93, 
+	0xdb, 0xab, 0x81, 0x1d, 0x4f, 0x78, 0xa0, 0xf1, 0x5f, 0xee, 0xa7, 0xb8, 0x27, 0xe4, 0xca, 0xd2, 
+	0xc2, 0x26, 0x37, 0x44, 0xf0, 0x98, 0xbe, 0x9c, 0xdc, 0x5e, 0x5e, 0x3f, 0x5e, 0xf1, 0x15, 0x20, 
+	0xef, 0x68, 0x04, 0xfc, 0xc8, 0xc6, 0xf5, 0x84, 0x16, 0x46, 0x8f, 0x3d, 0xdc, 0x31, 0x67, 0x8c, 
+	0x3e, 0xeb, 0x47, 0x07, 0x31, 0x34, 0xfe, 0xcd, 0x78, 0x4a, 0xec, 0xbb, 0x7d, 0x18, 0xbd, 0x9b, 
+	0x5c, 0x4f, 0x68, 0x4a, 0xdc, 0x19, 0xf2, 0x7e, 0xf2, 0x70, 0x4b, 0x53, 0x30, 0xeb, 0x46, 0x42, 
+	0xf9, 0xe5, 0xe3, 0xf5, 0x68, 0x6a, 0xee, 0x1f, 0xa7, 0xf7, 0x77, 0xb3, 0x31, 0x92, 0x3b, 0xe0, 
+	0x20, 0x0d, 0x42, 0xfc, 0x9e, 0x4e, 0x66, 0x7f, 0xb2, 0xb4, 0x02, 0xe5, 0xeb, 0x9f, 0x1f, 0x47, 
+	0x61, 0x20, 0x62, 0x2e, 0xff, 0xa6, 0xc1, 0xed, 0x25, 0xef, 0x13, 0xa8, 0x88, 0xf6, 0x11, 0xcb, 
+	0xb5, 0x9f, 0xef, 0x1e, 0x51, 0xa0, 0xa0, 0x75, 0x5f, 0x5f, 0xf5, 0x98, 0x02, 0x46, 0x8d, 0xed, 
+	0xd5, 0xf8, 0xfd, 0xf8, 0xf2, 0x61, 0xf2, 0x0b, 0xed, 0x2e, 0x3d, 0x49, 0xd3, 0xcc, 0x1e, 0x6f, 
+	0xc6, 0x46, 0xf8, 0x3d, 0x7b, 0x60, 0x06, 0x5d, 0x5f, 0xdb, 0xdb, 0xf1, 0x25, 0xd1, 0x8b, 0xb7, 
+	0x66, 0xe3, 0xe9, 0x2f, 0x93, 0x4b, 0xe6, 0xc3, 0x74, 0x7c, 0x3f, 0x9a, 0x4c, 0x2d, 0xdf, 0x8e, 
+	0x32, 0x9d, 0x8e, 0xf9, 0x67, 0xda, 0xc5, 0x53, 0xfe, 0x84, 0xdf, 0x6e, 0x87, 0xc0, 0x8d, 0x7f, 
+	0x81, 0x08, 0x3c, 0xde, 0xe2, 0xe2, 0x15, 0xff, 0x7b, 0xce, 0x47, 0x04, 0x01, 0x63, 0x8c, 0x3e, 
+	0x90, 0xb0, 0x81, 0x99, 0xf4, 0xaa, 0xf1, 0xfb, 0xfe, 0x69, 0x42, 0x93, 0xd3, 0x0e, 0x1d, 0x6c, 
+	0xfe, 0x80, 0x5f, 0xa1, 0x2f, 0xba, 0xcd, 0xff, 0x4c, 0x62, 0x74, 0x67, 0x6f, 0x46, 0x9f, 0xe5, 
+	0x4a, 0x96, 0xcf, 0x46, 0xc4, 0x83, 0xa6, 0x0d, 0x77, 0xb6, 0xf4, 0xa5, 0x82, 0x58, 0xda, 0x09, 
+	0xe7, 0xe8, 0xdd, 0x1d, 0x78, 0xf0, 0x0e, 0x5f, 0x33, 0x59, 0x44, 0x08, 0x31, 0xc4, 0x60, 0x8b, 
+	0xae, 0x46, 0x37, 0xa3, 0x0f, 0xe3, 0x59, 0x24, 0x04, 0x3c, 0xb5, 0x5e, 0x23, 0x33, 0xb0, 0xb3, 
+	0xfb, 0xf1, 0xe5, 0x04, 0xff, 0xa0, 0xef, 0x49, 0xf4, 0x68, 0xaf, 0xaf, 0x89, 0x3c, 0x73, 0x79, 
+	0x47, 0x4a, 0xf4, 0xe7, 0x47, 0xec, 0x22, 0x7d, 0xa0, 0x83, 0xd8, 0x11, 0x6d, 0x27, 0x46, 0x80, 
+	0x1c, 0xca, 0x96, 0xe1, 0xe7, 0x66, 0x59, 0xd6, 0x6e, 0xbd, 0x8c, 0xd0, 0xdc, 0xaa, 0x96, 0x61, 
+	0x3b, 0x4f, 0xbb, 0xb9, 0x0f, 0xe5, 0xcf, 0x5e, 0xdf, 0xcd, 0x58, 0xd8, 0xae, 0x46, 0x0f, 0x23, 
+	0xcb, 0x14, 0xd3, 0x7f, 0xbf, 0x1b, 0xd3, 0xd3, 0x66, 0x3a, 0xbe, 0x25, 0x7e, 0xb1, 0x3a, 0x8d, 
+	0x2e, 0x2f, 0x1f, 0xa7, 0xa4, 0x5a, 0x78, 0x02, 0x6f, 0x10, 0x35, 0xb3, 0x47, 0x52, 0xb6, 0xc9, 
+	0xad, 0x6c, 0x0a, 0x04, 0x80, 0x95, 0x79, 0x32, 0xbd, 0x0a, 0xfa, 0x04, 0x3e, 0x9b, 0xf7, 0xa3, 
+	0xc9, 0xf5, 0xe3, 0xd4, 0xcb, 0x58, 0xe0, 0x20, 0xcd, 0x7c, 0x47, 0x2c, 0xc4, 0x90, 0x2c, 0x6b, 
+	0xdd, 0x86, 0xcc, 0xee, 0xde, 0x3f, 0x90, 0x1e, 0x8c, 0xcf, 0x06, 0x2c, 0x03, 0x76, 0xf2, 0xde, 
+	0xcc, 0x1e, 0x2f, 0x3f, 0xea, 0xee, 0x61, 0xd0, 0x78, 0xe3, 0x3e, 0xd2, 0x56, 0xbc, 0x1b, 0xd3, 
+	0x63, 0xa3, 0xab, 0x5f, 0x26, 0xac, 0x79, 0xef, 0xed, 0xff, 0x07, 0xce, 0xfb, 0x7d, 0x75, 0xf3, 
+	0x02, 0x3c, 0x08, 0x43, 0x4b, 0x9d, 0x5d, 0xcb, 0x8e, 0xd3, 0x40, 0x10, 0xbc, 0xfb, 0x2b, 0x4c, 
+	0x2e, 0xbb, 0x91, 0x2c, 0x60, 0xcf, 0x8e, 0x22, 0x71, 0x41, 0x0b, 0x42, 0x1c, 0x60, 0x85, 0xb4, 
+	0x37, 0x1c, 0xd6, 0x88, 0x68, 0x13, 0x0f, 0xb2, 0x23, 0x81, 0xff, 0x9e, 0xae, 0xea, 0xee, 0x79, 
+	0x78, 0x93, 0x05, 0x91, 0x63, 0x1e, 0x9e, 0xc9, 0x78, 0x3c, 0x53, 0xd3, 0x5d, 0x5d, 0x85, 0x76, 
+	0xe4, 0x59, 0xf8, 0xfc, 0xce, 0xc6, 0x44, 0x9a, 0xc6, 0x15, 0x2a, 0x1b, 0x47, 0xae, 0x6b, 0xd4, 
+	0xa7, 0x97, 0xff, 0xc7, 0x7e, 0x9d, 0x91, 0xee, 0xe1, 0xb6, 0x17, 0x5f, 0xb7, 0x6a, 0x07, 0xf4, 
+	0x86, 0xe7, 0x53, 0x0d, 0xc2, 0xde, 0x11, 0x0b, 0xc8, 0x9b, 0xf7, 0x58, 0x75, 0x3f, 0x0a, 0xf0, 
+	0xf9, 0xe0, 0x99, 0xc0, 0x2a, 0x19, 0x6b, 0x9a, 0x50, 0x9d, 0x19, 0x1e, 0x16, 0x32, 0xb0, 0x99, 
+	0xc4, 0xb3, 0xe5, 0x6d, 0x6d, 0x03, 0x55, 0xdd, 0xae, 0xe9, 0x54, 0x15, 0xb2, 0x6c, 0x0e, 0xcb, 
+	0x88, 0xf5, 0x16, 0x56, 0xb7, 0xa6, 0x13, 0xb2, 0x3f, 0x2d, 0x56, 0x7f, 0x1e, 0xb6, 0x7a, 0xd7, 
+	0xd2, 0x57, 0x8d, 0xdd, 0x52, 0x34, 0xd6, 0x2b, 0xb6, 0xa3, 0x8b, 0x85, 0x86, 0x64, 0x79, 0x58, 
+	0x50, 0x48, 0x8d, 0x8d, 0x62, 0x11, 0x34, 0x79, 0x22, 0x26, 0x83, 0x40, 0x69, 0xa3, 0x75, 0x54, 
+	0x43, 0xa7, 0xd2, 0xa3, 0xcd, 0xa5, 0x8c, 0xd1, 0x5f, 0x94, 0xf4, 0xd6, 0x2e, 0x58, 0x1b, 0xcb, 
+	0xc3, 0xbc, 0x91, 0x06, 0x6a, 0x53, 0x9d, 0x25, 0x88, 0x13, 0x2e, 0x8b, 0xf5, 0x5a, 0x61, 0x21, 
+	0x20, 0xc7, 0x68, 0x41, 0x05, 0x9f, 0x20, 0x75, 0x02, 0x4f, 0xbf, 0x3e, 0xfa, 0x97, 0xe9, 0x89, 
+	0x82, 0x8e, 0x91, 0x68, 0x68, 0x89, 0x6e, 0x77, 0x14, 0x53, 0x07, 0xe0, 0x24, 0xa6, 0x5a, 0x51, 
+	0x13, 0xc8, 0xcc, 0xd1, 0x7e, 0xbb, 0x57, 0x43, 0x21, 0xf5, 0xc0, 0x0c, 0x54, 0xe7, 0xce, 0x8e, 
+	0x26, 0x5d, 0xab, 0x6c, 0x84, 0x53, 0xa4, 0x94, 0xf4, 0xd5, 0x2a, 0x82, 0x90, 0x15, 0x09, 0xc7, 
+	0x76, 0x30, 0xa5, 0x31, 0x8b, 0x72, 0xf6, 0x2c, 0x6f, 0xe5, 0x9a, 0xa7, 0x96, 0x3a, 0x43, 0x59, 
+	0x30, 0x60, 0x87, 0xa5, 0xd8, 0x36, 0xb8, 0xa9, 0xfc, 0x7d, 0x4e, 0x4d, 0x39, 0xb8, 0x64, 0x86, 
+	0xfa, 0x7b, 0xe9, 0xa5, 0x77, 0x32, 0x2d, 0xbf, 0xd7, 0x02, 0x34, 0x3a, 0xe5, 0x22, 0xab, 0x90, 
+	0x1f, 0xe5, 0x39, 0xb6, 0xbc, 0x56, 0x69, 0xf3, 0xb0, 0x01, 0xe5, 0x65, 0x2b, 0x2d, 0xb8, 0x67, 
+	0xa5, 0x42, 0xad, 0xad, 0xb6, 0x6b, 0x7a, 0xa7, 0xf1, 0xfc, 0x59, 0xcc, 0xb9, 0x36, 0x79, 0x02, 
+	0xe5, 0x53, 0x4d, 0xa1, 0xf7, 0x2b, 0xab, 0x1e, 0x8f, 0x2a, 0xda, 0x17, 0x26, 0x49, 0x26, 0xa0, 
+	0xba, 0x2c, 0x01, 0x54, 0xe2, 0x95, 0x45, 0x1c, 0xa7, 0x02, 0xc7, 0x3e, 0x0b, 0xe6, 0x5a, 0xc3, 
+	0xe9, 0xbc, 0x40, 0xf2, 0xdf, 0xbd, 0x49, 0xa8, 0xd5, 0x02, 0xac, 0x02, 0xd7, 0xae, 0x4b, 0x21, 
+	0x8b, 0xf5, 0x53, 0x14, 0xff, 0xf2, 0xfc, 0x48, 0xe4, 0x09, 0x53, 0x3b, 0x13, 0xfe, 0x40, 0x5d, 
+	0x87, 0x2b, 0x27, 0x66, 0x2e, 0xe6, 0x72, 0x5f, 0x95, 0xb8, 0x85, 0x63, 0x95, 0x83, 0x0b, 0x2c, 
+	0x82, 0x0e, 0x30, 0xda, 0xc8, 0xcc, 0xb7, 0x72, 0x00, 0xc6, 0x9a, 0xd5, 0x53, 0xd2, 0x25, 0x35, 
+	0xac, 0x8c, 0x7e, 0x89, 0x13, 0xe4, 0x2f, 0x5c, 0x82, 0x09, 0x75, 0x82, 0x09, 0x6e, 0x8e, 0x08, 
+	0xd9, 0x3d, 0x8e, 0xea, 0xf3, 0x87, 0x4a, 0xb7, 0x49, 0xd1, 0x43, 0xdf, 0x64, 0x23, 0x90, 0x79, 
+	0x9c, 0x95, 0xf9, 0xbe, 0x32, 0x5b, 0xfd, 0x8f, 0xf7, 0x33, 0x2f, 0x24, 0x4a, 0x23, 0xdb, 0x22, 
+	0x00, 0x24, 0x8f, 0xc0, 0x19, 0x3c, 0x1e, 0xef, 0x34, 0xaf, 0xb3, 0x34, 0x21, 0x69, 0xfe, 0xdb, 
+	0x80, 0xa4, 0x02, 0x33, 0x96, 0xe6, 0x2f, 0xe7, 0x7d, 0xe1, 0x48, 0x95, 0x54, 0x41, 0x70, 0x4c, 
+	0xbc, 0x1e, 0x25, 0xbf, 0x63, 0x18, 0x64, 0xbc, 0x54, 0xcd, 0xfa, 0x27, 0xb5, 0xca, 0xf7, 0x0b, 
+	0x17, 0x38, 0x52, 0xc6, 0xa1, 0xb7, 0xce, 0xc9, 0x85, 0x7e, 0x85, 0x59, 0xbe, 0x78, 0xed, 0x15, 
+	0x96, 0xb1, 0x86, 0xde, 0x8e, 0x4a, 0xc7, 0x7e, 0x5c, 0xe3, 0x66, 0x32, 0xff, 0x3a, 0xe1, 0x28, 
+	0x77, 0xd0, 0x90, 0xf7, 0x40, 0x2d, 0x77, 0x16, 0x78, 0x80, 0x72, 0x9e, 0x62, 0x34, 0x49, 0x83, 
+	0x66, 0x15, 0x99, 0xb5, 0x39, 0x3b, 0x2f, 0xf9, 0xd9, 0xcb, 0x9e, 0x66, 0x7a, 0x97, 0x5d, 0xad, 
+	0x0e, 0x9d, 0xad, 0x15, 0xc2, 0xba, 0x57, 0xad, 0xd2, 0x13, 0xee, 0xc3, 0x1c, 0x1e, 0x66, 0xd0, 
+	0xf7, 0x74, 0x44, 0xb1, 0x30, 0xed, 0xe6, 0xd8, 0x90, 0x6a, 0xd2, 0xa7, 0x0e, 0x70, 0x05, 0xeb, 
+	0x49, 0x87, 0x32, 0x7e, 0x80, 0x3f, 0x1e, 0x5f, 0xdf, 0x8e, 0x61, 0x77, 0x25, 0xcf, 0x56, 0xa2, 
+	0x52, 0xa0, 0x83, 0xbf, 0x4c, 0xae, 0xf7, 0x71, 0x08, 0xbb, 0x69, 0x1d, 0x79, 0x79, 0xd2, 0xc4, 
+	0x7b, 0xf4, 0xa1, 0xfe, 0x24, 0x03, 0x1a, 0x8e, 0xf5, 0x6d, 0xf7, 0xed, 0xb1, 0x1f, 0x39, 0xe9, 
+	0x36, 0xca, 0x50, 0x43, 0xd5, 0x87, 0xcc, 0xae, 0xbb, 0x59, 0xd6, 0xae, 0x30, 0x6c, 0x9b, 0xfa, 
+	0x46, 0xb6, 0xe7, 0x71, 0x7f, 0x80, 0x3b, 0xcd, 0x6b, 0x6c, 0x21, 0xfa, 0x41, 0x03, 0x8f, 0x94, 
+	0x69, 0xef, 0x7a, 0x0e, 0x5f, 0x64, 0xaa, 0x21, 0xba, 0xd7, 0x9d, 0xae, 0xa2, 0x9c, 0xbe, 0x0e, 
+	0x03, 0xe3, 0x03, 0x2f, 0xaa, 0x3f
+};
+static int size_complex_cab = sizeof(file_complex_cab);
diff -Nuar ../winesrc/wine/dlls/cabinet/tests/genfiles.sh wine/dlls/cabinet/tests/genfiles.sh
--- ../winesrc/wine/dlls/cabinet/tests/genfiles.sh	1969-12-31 16:00:00.000000000 -0800
+++ wine/dlls/cabinet/tests/genfiles.sh	2005-03-09 03:40:58.000000000 -0800
@@ -0,0 +1,38 @@
+#!/bin/sh
+# Generate test archives using cabarc.exe (Windows Cabinet SDK/bin)
+# This is run just once, and generates the file cabinet_files.h,
+# which is then checked into CVS forever.
+# It is here just in case we want to add more test files later.
+# Copyright 2005 Dan Kegel, Rizwan Kassim; LGPL
+
+# remove "wine" before command calls if you're running on Windows
+
+set -ex
+
+# First, get cabinet SDK
+# You might need to download it by hand from ttp://support.microsoft.com/?id=310618
+test -f cabsdk.exe || wget -c http://download.microsoft.com/download/platformsdk/cab/2.0/w98nt42kmexp/en-us/cabsdk.exe
+
+# unpack it (handily, it's a zip file)
+mkdir cabsdk
+cd cabsdk
+unzip ../cabsdk.exe
+cd ..
+chmod 744 cabsdk/BIN/CABARC.EXE
+
+# Simple archive, just one 42 byte file
+echo 'So long, and thanks for all the fish.....' > simple.txt
+wine cabsdk/BIN/CABARC.EXE N simple.cab simple.txt
+
+# More complicated archive, with two files
+cp ../../../README README
+cp ../../../COPYING.LIB lgpl.txt
+wine cabsdk/BIN/CABARC.EXE N complex.cab README lgpl.txt
+
+# Blow away cabinet SDK
+rm -rf cabsdk 
+
+# Pack source files and archives into hex arrays
+perl ../../../tools/chexify.pl simple.txt README lgpl.txt simple.cab complex.cab > data.h
+
+rm -fr README lgpl.txt simple.cab complex.cab
diff -Nuar ../winesrc/wine/dlls/cabinet/tests/tvfs.c wine/dlls/cabinet/tests/tvfs.c
--- ../winesrc/wine/dlls/cabinet/tests/tvfs.c	1969-12-31 16:00:00.000000000 -0800
+++ wine/dlls/cabinet/tests/tvfs.c	2005-03-10 16:20:35.000000000 -0800
@@ -0,0 +1,361 @@
+/*--------------------------------------------------------------------------
+Trivial virtual file system for cabinet conformance test.
+(C) 2005 Dan Kegel and Rizwan Kassim
+LGPL License
+--------------------------------------------------------------------------*/
+
+#include "tvfs.h"
+#include <string.h>
+
+#define MAXFILES 20
+#define MAXHANDLES 20
+#define MAXFNAME 255
+#define MAXFLEN 65536*2
+
+#include <fcntl.h>
+#include <stdlib.h> 
+#include <stdio.h>
+#include <malloc.h>
+#include <stdio.h>
+#include <stdarg.h>
+
+/*
+#define TVFS_MAIN 
+#define TVFS_DEBUG
+*/
+
+#define SEEK_SET 0
+#define SEEK_CUR 1
+#define SEEK_END 2
+
+#ifndef _O_BINARY
+#define _O_BINARY 0
+#endif
+
+#ifndef STANDALONE
+#include "wine/test.h"
+#define ok2 ok
+#else
+static void trace(const char *s, ...)
+{
+    va_list ellipsis;
+    va_start (ellipsis, s);
+    vprintf(s, ellipsis);
+    va_end(ellipsis);
+}
+#endif 
+
+struct tvfs_file {
+    char fname[MAXFNAME];
+    int bytes_used;
+    char buf[MAXFLEN];
+};
+static struct tvfs_file *files[MAXFILES];
+
+struct tvfs_fcb {
+    int pos;
+    int inode;
+};
+static struct tvfs_fcb *handles[MAXHANDLES];
+
+int nhandles = 0;
+int nfiles = 0;
+
+/* tvfs_create does NOT correspond to _creat - it is an internal function
+use to put a file directly into our virtual file system. */
+
+int tvfs_create(const char *fname, const char *buf, int len)
+{
+    int inode;
+    struct tvfs_file *f;
+
+#ifdef TVFS_DEBUG
+    trace("tvfs_create called with %s, %d, %d\n", fname, buf, len);
+#endif 
+    
+    if (nfiles >= MAXFILES)
+        return -1;
+    inode = nfiles++;
+
+    f = malloc(sizeof(struct tvfs_file));
+    strcpy(f->fname, fname);
+    f->bytes_used = len;
+
+    if (buf)
+        memcpy(f->buf, buf, len);
+    
+    files[inode] = f;
+    return inode;
+}
+
+int tvfs_open(char *fname, int flags, int mode)
+{
+
+    /* mode and flags are not handled */
+    int h;
+    int inode;
+    struct tvfs_fcb *handler;
+    
+#ifdef TVFS_DEBUG
+    trace("tvfs_open called with %s, %d, %d\n", fname, flags, mode);
+#endif 
+
+    /* Existing file? */
+    for (inode=0; inode<nfiles; inode++) {
+        if (!files[inode])
+            continue;
+        if (!strcmp(files[inode]->fname, fname))
+            break;    
+    }
+    
+    if (inode == nfiles) {
+        /* File did not exist */
+        if ((flags & O_CREAT) == 0) {
+            /* ENOENT */
+#ifdef TVFS_DEBUG
+            trace("tvfs_open returning -1\n");
+#endif 
+        return -1;
+        }
+
+        inode = tvfs_create(fname, 0, 0);
+    }
+
+    handler = malloc(sizeof(struct tvfs_fcb));
+    handler->inode = inode;
+    handler->pos=0;
+    h = nhandles++;
+    handles[h] = handler;
+    
+#ifdef TVFS_DEBUG
+    trace("tvfs_open returning with %d\n", h);
+#endif 
+    
+    return h;
+}
+   
+unsigned int tvfs_read(int h, void *buf, unsigned int len)
+{
+    int inode = handles[h]->inode;
+    int pos = handles[h]->pos;
+    int size = files[inode]->bytes_used;
+
+#ifdef TVFS_DEBUG
+    trace("tvfs_read called with %d, %d, %d\n", h, buf, len);
+#endif  
+    
+    /* Edge Case 1 : Request beyond boundary of file */
+    if (pos + len > size) {
+        len = size-pos;
+    }
+    
+    memcpy(buf, files[inode]->buf+pos, len);
+    handles[h]->pos += len;
+
+    return len;
+}
+
+void tvfs_free()
+{
+    int inode;
+    int handle;
+
+#ifdef TVFS_DEBUG
+    trace("tvfs_free\n");
+#endif 
+    
+    nfiles=0;
+    nhandles=0;
+
+    for (inode=0; inode<nfiles; inode++) {
+        if (!files[inode])
+            continue;
+        free(files[inode]);
+        }
+
+    for (handle=0; handle<nhandles; handle++) {
+        if (!handles[handle])
+            continue;
+        free(handles[handle]);
+    }
+    
+}
+
+/* Compare given file with given contents, return 0 on equal, else nonzero */
+int tvfs_compare(const char *fname, const char *buf, int len)
+{
+    
+    int inode;
+
+#ifdef TVFS_DEBUG
+    trace("tvfs_compare called with %s, %d, %d\n", fname, buf, len);
+#endif 
+    
+    for (inode=0; inode<nfiles; inode++) {
+        if (!files[inode])
+            continue;
+        if (!strcmp(files[inode]->fname, fname))
+        break;
+    }    
+    
+    if (inode == nfiles) {
+        /* File did not exist */
+#ifdef TVFS_DEBUG
+        trace("tvfs_compare returning -1 (FAILURE)\n");
+#endif 
+        return -1;
+    }
+
+    return (memcmp(files[inode]->buf,buf,len));
+    /* does not check for out of bound */
+}
+
+long tvfs_lseek(int h, long whence, int whither )
+{
+
+    int inode = handles[h]->inode;
+    int size = files[inode]->bytes_used;  
+#ifdef TVFS_DEBUG
+    trace("tvfs_lseek called with %d, %d, %d\n", h, whither, whence);
+#endif   
+    
+/*  if (whence > size) 
+    whence = size;*/
+/*  Legit lseek does NOT do boundary checking */    
+    
+    switch(whither) {
+    case SEEK_SET: {
+    handles[h]->pos = whence;
+    break;
+    }
+    case SEEK_CUR: {
+    handles[h]->pos += whence;
+    break;
+    }
+    case SEEK_END: {
+    handles[h]->pos = size+whence;
+    break;
+    }
+    case 5: {
+    handles[h]->pos = size+whence;
+    break;
+    }    
+    case 44: {
+    handles[h]->pos = size+whence;
+    break;
+    }    
+    default:
+    {
+    trace("lseek was called with an invalid whither %d\n",whither);
+    return -1;
+    }
+    }
+    return handles[h]->pos;
+  }
+
+int tvfs_close(int h){
+    int inode = handles[h]->inode;
+#ifdef TVFS_DEBUG
+    trace("tvfs_close called with %d\n", h);
+#endif 
+    if (!files[inode]){
+    return -1;
+    }
+    free(handles[h]);
+    /* Currently does NOT enabled open to reuse this handle */
+    return 0;
+ }
+ 
+unsigned int tvfs_write(int h, void *buf, unsigned int len)
+{
+    
+    int inode = handles[h]->inode;
+    int pos = handles[h]->pos;
+#ifdef TVFS_DEBUG
+    trace("tvfs_write called with %d, %d, %d\n", h, buf, len);
+#endif    
+    memcpy(files[inode]->buf+pos, buf, len);
+    files[inode]->bytes_used += len;
+    handles[h]->pos += len;
+ 
+    return len;
+    /* return -1 to simulate diskfull or some other error */
+}
+    
+    
+START_TEST(tvfs){
+   printf("dummy!");
+}
+  
+
+#ifdef TVFS_MAIN
+
+const static char name_test_txt[] = "test.txt";
+const static char file_test_txt[] = "This is a test. Don't Panic!";
+const static int size_test_txt = sizeof(file_test_txt);
+
+main(){
+    int result;
+    int active_handler;
+
+    char *filebuf;
+    
+    char dummy_filename[] = "dummy.txt";
+    char bad_filename[] = "chicken.txt";
+
+    filebuf = malloc(MAXFLEN);
+    
+    trace("Testing TVFS implementation, creating %s\n",name_test_txt);
+    result = tvfs_create( dummy_filename, file_test_txt, size_test_txt);
+    result = tvfs_create( name_test_txt, file_test_txt,size_test_txt); 
+    trace("Created virtual file with inode %d\n",result);
+    
+    trace("Attempting to open non-existent file\n");
+    result = tvfs_open(bad_filename, _O_BINARY, 0 ); 
+    trace("Result code %d\n",result); 
+    trace("Attempting to open existent file\n");    
+    result = tvfs_open(name_test_txt, _O_BINARY, 0 );
+    trace("Result code %d\n",result); 
+
+    active_handler = result;
+
+    memset (filebuf,0,MAXFLEN);
+
+    trace("Testing reading from file %s\n",name_test_txt);
+    result = tvfs_read(active_handler, filebuf, 9);
+    trace("Read _%s_\n", filebuf);
+    if ( strcmp(filebuf,"This is a")) 
+    trace("File read check failed!\n");    
+
+    trace("Testing sequential reading from file %s\n",name_test_txt);
+    result = tvfs_read(active_handler, filebuf, 12);
+    trace("Read _%s_\n", filebuf);
+    if ( strcmp(filebuf," test. Don't")) 
+    trace("File read check failed!\n");
+    
+    trace("Testing edge reading from file %s\n",name_test_txt);
+    result = tvfs_read(active_handler, filebuf, 42);
+    trace("Read %d bytes - _%s_\n", result, filebuf);
+    if ( result != 8 ) 
+    trace("File read check failed!\n");
+    
+    trace("Testing direct file compare and lseek of %s\n", name_test_txt);
+    trace("Seeking to 0 (not needed) - ");
+    tvfs_lseek( active_handler, SEEK_SET, 0);
+    trace("Comparing file\n");
+    result = tvfs_compare( name_test_txt , file_test_txt, size_test_txt);
+    if (result)
+    trace ("File compare failed!\n"); 
+
+    
+    trace("Closing %s\n",name_test_txt);
+    tvfs_close(active_handler);
+    if (result)
+    trace ("File close failed!\n");
+    
+    tvfs_free();
+    free(filebuf);
+    
+}
+
+#endif
diff -Nuar ../winesrc/wine/dlls/cabinet/tests/tvfs.h wine/dlls/cabinet/tests/tvfs.h
--- ../winesrc/wine/dlls/cabinet/tests/tvfs.h	1969-12-31 16:00:00.000000000 -0800
+++ wine/dlls/cabinet/tests/tvfs.h	2005-03-10 16:20:36.000000000 -0800
@@ -0,0 +1,34 @@
+/*--------------------------------------------------------------------------
+Trivial virtual file system for cabinet conformance test.
+
+Provides versions of the filesystem calls needed by cabinet:
+open, read, write, lseek, close.  Each returns the same
+return values as the corresponding _open, _read, _write, _lseek, _close
+calls in Win32, i.e. on error, they return -1,
+and on success, open returns a file handle,
+read and write return # of bytes transferred,
+seek returns the position,
+and close returns 0.
+
+Also provides functions for creating whole files from binary arrays,
+and comparing whole files to binary arrays.
+
+--------------------------------------------------------------------------*/
+
+#ifndef tvfs_h
+#define tvfs_h
+
+int tvfs_open(char *fname, int flags, int mode);
+unsigned int tvfs_read(int h, void *buf, unsigned int len);
+unsigned int tvfs_write(int h, void *buf, unsigned int len);
+int tvfs_close(int h);
+long tvfs_lseek(int h,  long whence, int whither);
+
+/* Create given file with given contents, return inode number or -1 on fail */
+int tvfs_create(const char *fname, const char *buf, int len);
+
+/* Compare given file with given contents, return 0 on equal, else nonzero */
+int tvfs_compare(const char *fname, const char *buf, int len);
+
+void tvfs_free();
+#endif
diff -Nuar ../winesrc/wine/tools/chexify.pl wine/tools/chexify.pl
--- ../winesrc/wine/tools/chexify.pl	1969-12-31 16:00:00.000000000 -0800
+++ wine/tools/chexify.pl	2005-02-25 18:10:50.000000000 -0800
@@ -0,0 +1,49 @@
+#!/usr/bin/perl
+# chexify.pl
+# Takes a list of filenames on stdin and create a C data array for each one.
+# Copyright Dan Kegel, Rizwan Kassim 2005
+# Licensed under LGPL
+
+
+use English;
+use strict; 
+
+
+my $file;       #each of the files we are working on
+my $varname;    #file name converted to variable name
+my $buffer;     #buffer to store the hexified contents of a file till output
+my $readcount;   #number of chars actually read
+
+
+# no input record separator to just slurp everything
+undef $INPUT_RECORD_SEPARATOR;
+
+foreach $file (@ARGV) {
+       open(FILE, $file) or die("Can't open $file : $OS_ERROR");
+       binmode FILE;
+
+       # munge filename into C variable name
+       $varname = $file;
+       $varname =~ s/\./_/;
+
+	   #name of the file
+       print "const static char name_$varname"."[] = \"$file\";\n";
+       #hex contents of the file
+	   #BUG:have to get rid of the last comma
+	   print "const static char file_$varname"."[] = {\n";
+		   
+	   
+	    	   
+       while ( $readcount=read(FILE, $buffer, 16) ) {
+
+		   	   die("Read error in $file:$OS_ERROR") unless defined($readcount);
+               $buffer =~ s/(.|\n)/'0x' . unpack('H2', $1).', '/ge;
+			   $buffer =~ s/(, )$//g if($readcount < 16);
+			   print "\t$buffer\n";
+			   
+       }
+       print "};\n";
+	   close FILE;
+	   #size of the file
+       print "const static int size_$varname"." = sizeof(file_$varname);\n\n";
+}
